geer-builder 1.2.541 → 1.2.544

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/GBinaryWidget.vue CHANGED
@@ -2,9 +2,11 @@
2
2
  <g-card v-if="this.user_info">
3
3
  <template v-if="slot_info">
4
4
  <div class="q-pt-sm">
5
- <div class="label">Unplaced Slot</div>
5
+ <div class="label" v-if="is_company_ultrapro">Downline Unplaced Slot</div>
6
+ <div class="label" v-else>Unplaced Slot</div>
6
7
  <div class="value">{{ unplaced_slot_count }}</div>
7
8
  <div class="label" v-if="is_company_success">Sales Matches Today</div>
9
+ <div class="label" v-if="is_company_ultrapro">Cycle Pair Count</div>
8
10
  <div class="label" v-else>Pairs Today</div>
9
11
  <div class="value text-primary">{{pairs_loading == false ? pairs_today : 0}} / {{binary_settings.pairs_per_day}}</div>
10
12
  <div class="label">Left Points</div>
@@ -117,7 +119,7 @@ export default
117
119
  public_settings:{},
118
120
  unplaced_slot_count:0,
119
121
  }),
120
- props:['genealogy', 'history', 'binary_history' , 'manual_place','binary_history_two', 'binary_log','is_company_success'],
122
+ props:['genealogy', 'history', 'binary_history' , 'manual_place','binary_history_two', 'binary_log','is_company_success', 'is_company_ultrapro'],
121
123
  components: { GCard, Genealogy, PairingHistory, BinaryHistory, PointHistory,ManualPlaceDialog },
122
124
  async mounted()
123
125
  {
package/GCashOut.vue CHANGED
@@ -4,19 +4,26 @@
4
4
  <div class="cashout__content" v-if="!is_initializing">
5
5
  <div class="cashout__content-left">
6
6
  <g-card :nomargin="true" class="cashout__box cashout__choice" v-if="!cashout_choice_hide">
7
- <div class="cashout__content-label cashout_title">How should we send the money?</div>
7
+ <div class="cashout__content-label cashout_title" v-if="is_company_ultrapro">Please select mode of payout</div>
8
+ <div class="cashout__content-label cashout_title" v-else>How should we send the money?</div>
8
9
  <div class="cashout__content-label cashout_body q-mt-md">
9
10
  <q-select v-model="cashout_choice" outlined dense :options="payoutmethodlist" option-label="method_label" option-value="method_key"/>
10
11
  </div>
11
12
  </g-card>
12
13
  <g-card :nomargin="true" class="cashout__box cashout__amount">
13
14
  <div class="cash__amount-balance">
14
- <div class="cashout__content-label cashout_title">{{metamask ? 'Available Balance' : 'Your Wallet Balance?'}}</div>
15
+ <div class="cashout__content-label cashout_title" v-if="is_company_ultrapro">Current Available Balance</div>
16
+ <div class="cashout__content-label cashout_title" v-else>Your Wallet Balance</div>
15
17
  <div class="cash__balance-value text-primary">{{ main_currency }} {{ $_formatNumber(this.walletBal, { decimal: 2 }) }}</div>
16
18
  </div>
17
19
 
18
20
  <div class="cash__amount-container">
19
- <div class="cashout__content-label q-mt-md"> {{metamask ? 'How much would you like to withdraw?' : 'How much would you like to cashout?'}} </div>
21
+ <div class="cashout__content-label q-mt-md" v-if="is_company_ultrapro">
22
+ Enter amount of cashout
23
+ </div>
24
+ <div class="cashout__content-label q-mt-md" v-else>
25
+ How much would you like to cashout?
26
+ </div>
20
27
  <div class="cash__amount-textbox cashout_body">
21
28
  <q-input stack-label type="text" v-model.number="cashout_amount" dense style="width:88%" borderless class="input"/>
22
29
  <!-- <label >{{main_currency}}</label> -->
@@ -24,7 +31,8 @@
24
31
  </div>
25
32
  </g-card>
26
33
  <g-card :nomargin="true" class="cashout__box cashout__info">
27
- <div class="cashout__content-label cashout_title">Recipient Information</div>
34
+ <div class="cashout__content-label cashout_title" v-if="is_company_ultrapro">Receiver Details</div>
35
+ <div class="cashout__content-label cashout_title" v-else>Recipient Information</div>
28
36
  <div class="cashout__info-bottom cashout_body">
29
37
  <div v-for="(field, i) in cashout_choice.fields" :key="i" class="setspan" :style="field.size == 2 ? 'width: 100%;' : 'width: 50%;'">
30
38
  <div class="cashout__info-label ">{{field.label}}</div>
@@ -35,10 +43,12 @@
35
43
  </div>
36
44
  <div class="cashout__content-right">
37
45
  <g-card :nomargin="true" class="cashout__box cashout__summary">
38
- <div class="cashout__content-label cashout_title">{{metamask ? 'Withdrawal Summary': 'Cash out Summary'}}</div>
46
+ <div class="cashout__content-label cashout_title" v-if="is_company_ultrapro">Payout Details</div>
47
+ <div class="cashout__content-label cashout_title" v-else>Cash out Summary</div>
39
48
  <div class="cashout_body">
40
49
  <div class="summary__content" v-if="!metamask">
41
- <div class="summary__content-label">Cashout Method</div>
50
+ <div class="summary__content-label" v-if="is_company_ultrapro">Mode of payout</div>
51
+ <div class="summary__content-label" v-else>Cashout Method</div>
42
52
  <div class="summary__content-info">{{cashout_choice.method_label}}</div>
43
53
  </div>
44
54
  <div class="summary__content">
@@ -62,12 +72,14 @@
62
72
  <div class="summary__content-info">{{ main_currency }} {{ $_formatNumber(xfield.witholding_tax, { decimal: 2}) }}</div>
63
73
  </div>
64
74
  <div class="summary__content" v-if="!metamask">
65
- <div class="summary__content-label">Total Charge</div>
75
+ <div class="summary__content-label" v-if="is_company_ultrapro">Total Trans Fee</div>
76
+ <div class="summary__content-label" v-else>Total Charge</div>
66
77
  <div class="summary__content-info" v-if="merchant_cashout">{{ main_currency }} {{ $_formatNumber(total_charge, { decimal: 2}) }}</div>
67
78
  <div class="summary__content-info" v-else>{{ main_currency }} {{ $_formatNumber(total_charge, { decimal: 2}) }}</div>
68
79
  </div>
69
80
  <div class="summary__content">
70
- <div class="summary__content-label">You will receive</div>
81
+ <div class="summary__content-label" v-if="is_company_ultrapro">Net Amount</div>
82
+ <div class="summary__content-label" v-else>You will receive</div>
71
83
  <div v-if="convert_cashout == true" class="summary__content-info">{{ convert_currency }} {{ $_formatNumber((convert_rate * xfield.net_amount), { decimal: 2}) }}</div>
72
84
  <div v-else class="summary__content-info">{{ main_currency }} {{ $_formatNumber(xfield.net_amount, { decimal: 2}) }}</div>
73
85
  </div>
@@ -139,7 +151,7 @@ export default {
139
151
  }),
140
152
  mixins:[GlobalMixins],
141
153
  components: { GCard , CashoutStatusDialog, TinRegistrationDialog},
142
- props:['cashout_choice_hide', 'metamask'],
154
+ props:['cashout_choice_hide', 'metamask', 'is_company_ultrapro'],
143
155
  async mounted()
144
156
  {
145
157
  await this.$_getSlotInfo();
package/GCodeVault.vue CHANGED
@@ -3,8 +3,8 @@
3
3
  <div class="q-mt-md">
4
4
  <g-card>
5
5
  <div class="codevault-tabs">
6
- <div class="tab" @click="tab_active = 'unused'" :class="tab_active == 'unused' ? 'active' : ''">Ready For Use ({{ unused_count }})</div>
7
- <div class="tab" @click="tab_active = 'used'" :class="tab_active == 'used' ? 'active' : ''">Used Codes ({{ used_count }})</div>
6
+ <div class="tab" @click="tab_active = 'unused'" :class="tab_active == 'unused' ? 'active' : ''">{{is_company_ultrapro ? `Available Codes`:`Ready For Use`}} ({{ unused_count }})</div>
7
+ <div class="tab" @click="tab_active = 'used'" :class="tab_active == 'used' ? 'active' : ''">{{is_company_ultrapro ? `Code History`:`Used Codes`}}({{ used_count }})</div>
8
8
  </div>
9
9
 
10
10
  <div>
@@ -133,13 +133,13 @@ export default
133
133
  props:
134
134
  {
135
135
  lead_info:Object,
136
+ is_company_ultrapro:Boolean
136
137
  },
137
138
  async mounted()
138
139
  {
139
140
  this.loadCodes();
140
141
  await this.$_getSlotInfo();
141
142
  this.settings = await this.$_getData('public_settings');
142
-
143
143
  },
144
144
  methods:
145
145
  {
@@ -165,7 +165,7 @@ export default
165
165
  if(code.used == true)
166
166
  {
167
167
  this.$q.loading.show();
168
-
168
+ console.log('asd');
169
169
 
170
170
  let slot_info = await this.db_slot.get(code.used_by);
171
171
  let user_info = await this.db_user.get(slot_info.owner);
@@ -14,6 +14,7 @@
14
14
 
15
15
  <div class="q-pt-sm" v-if="!pv_filter">
16
16
  <div class="label" v-if="is_company_success">Monthly sales participation</div>
17
+ <div class="label" v-if="is_company_ultrapro">Monthly PV</div>
17
18
  <div class="label" v-else>Period PV</div>
18
19
  <div class="value text-primary">{{ period_pv}}</div>
19
20
  </div>
@@ -36,7 +37,8 @@
36
37
  <div class="buttons text-center">
37
38
  <q-btn color="primary" unelevated @click="openFilter()" style="margin:2px auto; width:75%;">
38
39
  <q-icon name="fa fa-calendar" size="14px" class="q-mr-sm" ></q-icon>
39
- <div>Period PV</div>
40
+ <div v-if="is_company_ultrapro">Monthly PV</div>
41
+ <div v-else>Period PV</div>
40
42
  </q-btn>
41
43
  <q-btn color="primary" unelevated v-if="show_unilevel_breakdown" @click="is_repeat_sale_dialog_open = true" style="margin:2px auto; width:75%;">
42
44
  <q-icon name="fa fa-calendar" size="14px" class="q-mr-sm" ></q-icon>
@@ -45,16 +47,19 @@
45
47
  <q-btn v-close-popup color="primary" @click="direct()" style="margin:2px auto; width:75%;">
46
48
  <q-icon name="fa fa-user" size="14px" class="q-mr-sm"></q-icon>
47
49
  <div v-if="is_company_success">Direct Enrollees List</div>
50
+ <div v-if="is_company_ultrapro">Direct Downlines</div>
48
51
  <div v-else>Direct Downline list</div>
49
52
  </q-btn>
50
53
  <q-btn color="primary" v-if="!hide_unilevel" unelevated @click="unilevel()" style="margin:2px auto; width:75%;">
51
54
  <q-icon name="fa fa-store" size="14px" class="q-mr-sm" ></q-icon>
52
55
  <div v-if="is_company_success">Product Purchases</div>
56
+ <div v-if="is_company_ultrapro">Product PV History</div>
53
57
  <div v-else>Unilevel Purchases</div>
54
58
  </q-btn>
55
59
  <q-btn color="primary" unelevated @click="showDownlineMaintaint()" style="margin:2px auto 10px auto; width:75%;">
56
60
  <q-icon name="fa fa-calendar" size="14px" class="q-mr-sm" ></q-icon>
57
61
  <div v-if="is_company_success">Product Purchases</div>
62
+ <div v-if="is_company_ultrapro">Downline PV Status</div>
58
63
  <div v-else>Show downline maintaning status</div>
59
64
  </q-btn>
60
65
  </div>
@@ -221,6 +226,7 @@ export default
221
226
  mixins: [GlobalMixins],
222
227
  props:{
223
228
  is_company_success: Boolean,
229
+ is_company_ultrapro: Boolean,
224
230
  hide_unilevel: Boolean
225
231
  },
226
232
  data: () =>
package/GEcomChat.vue CHANGED
@@ -111,8 +111,8 @@
111
111
  <div class='code'>
112
112
  Code: <b>{{getActivation(message.message)}}<br></b>
113
113
  Pin: <b>{{getPin(message.message)}}<br></b>
114
- <template v-if="message.code_details">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
115
- <template v-if="message.code_details">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
114
+ <template v-if="message.code_details && message.code_details.kit_for_upgrade ">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
115
+ <template v-if="message.code_details && message.code_details.membership ">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
116
116
  </div>
117
117
  </div>
118
118
  <div v-else>{{message.message}}</div>
@@ -126,8 +126,8 @@
126
126
  <div class='code'>
127
127
  Code: <b>{{getActivation(message.message)}}<br></b>
128
128
  Pin: <b>{{getPin(message.message)}}<br></b>
129
- <template v-if="message.code_details">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
130
- <template v-if="message.code_details">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
129
+ <template v-if="message.code_details && message.code_details.kit_for_upgrade">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
130
+ <template v-if="message.code_details && message.code_details.membership">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
131
131
  </div>
132
132
  </div>
133
133
  <div v-else>{{message.message}}</div>
@@ -145,8 +145,8 @@
145
145
  <div class='code'>
146
146
  Code: <b>{{getActivation(que.message)}}<br></b>
147
147
  Pin: <b>{{getPin(que.message)}}<br></b>
148
- <template v-if="message.code_details">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
149
- <template v-if="message.code_details">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
148
+ <template v-if="message.code_details && message.code_details.kit_for_upgrade">Type: <b>{{ message.code_details.kit_for_upgrade=="Don't use for Upgrade" ? 'Activation Only' : message.code_details.kit_for_upgrade == "Only For Upgrade" ? 'Upgrade Only' : message.code_details.kit_for_upgrade == "All (Upgrade and New Kit)" ? 'All (Upgrade and Activation)' : '' }}<br></b></template>
149
+ <template v-if="message.code_details && message.code_details.membership">Membership: <b>{{ message.code_details.membership.membership_name }}</b></template>
150
150
  </div>
151
151
  </div>
152
152
  <div v-else>{{que.message}}</div>
@@ -213,15 +213,30 @@
213
213
  <q-item @click="is_open_choose_code = true" v-close-popup clickable>
214
214
  <q-item-section>Send Code & Pin</q-item-section>
215
215
  </q-item>
216
+
217
+ <q-item @click="is_choose_product_code = true" v-close-popup clickable>
218
+ <q-item-section>Send Product Code</q-item-section>
219
+ </q-item>
216
220
  </q-list>
217
221
  </q-card>
218
222
  </q-dialog>
223
+
224
+ <q-dialog v-model="is_choose_product_code">
225
+ <use-batch-product-code-dialog :code="product_code_list" :send_code="true" @sendCode="sendCode"></use-batch-product-code-dialog>
226
+ </q-dialog>
227
+
228
+ <q-dialog v-model="is_open_use_product_code">
229
+ <use-product-code-dialog :code='this.product_code' @closed_popup="is_open_use_product_code=false"></use-product-code-dialog>
230
+ </q-dialog>
231
+
219
232
  <q-dialog v-model="is_open_choose_code">
220
233
  <chat-attach-code @sendCode="sendCode"></chat-attach-code>
221
234
  </q-dialog>
235
+
222
236
  <q-dialog v-model="is_confirm_password_open">
223
237
  <confirm-password-dialog @closePopup="is_confirm_password_open=false" @success="confirmedPassword"></confirm-password-dialog>
224
238
  </q-dialog>
239
+
225
240
  <q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_open_add_slot_dialog">
226
241
  <div><q-bar class="bg-primary text-white q-pa-lg">
227
242
  <q-icon class="q-mr-sm" name="fa fa-splotch"></q-icon>
@@ -269,6 +284,7 @@
269
284
  <script>
270
285
  import DB_SLOT from './models/DB_SLOT';
271
286
  import DB_CODE from './models/DB_CODE';
287
+ import DB_PRODUCT_CODE from './models/DB_PRODUCT_CODE';
272
288
  import DB_ECOM_CHAT from './models/DB_ECOM_CHAT';
273
289
  import DB_ECOM_CHAT_CONVERSATION from './models/DB_ECOM_CHAT_CONVERSATION';
274
290
  import GlobalMixins from './mixins/global_mixins.js';
@@ -280,14 +296,16 @@ import GLoader from './components/GlobalLoader';
280
296
  import ChatAttachCode from './components/Chat/ChatAttachCode';
281
297
  import ConfirmPasswordDialog from './components/Chat/ConfirmPasswordDialog';
282
298
  import AddChatFloat from './components/Chat/AddChatFloat';
283
- import GSlotCreation from './GSlotCreation';
299
+ import GSlotCreation from './GSlotCreation';
284
300
  const validator = require('validator');
285
301
  import GCard from './components/GCard';
286
302
  import UpgradeSlotDialog from './dialogs/UpgradeSlotDialog';
303
+ import useBatchProductCodeDialog from './dialogs/UseBatchProductCodeDialog';
304
+ import UseProductCodeDialog from './dialogs/UseProductCodeDialog';
287
305
 
288
306
  export default {
289
307
  mixins: [GlobalMixins],
290
- components:{ GCard, GLoader, ChatAttachCode, ConfirmPasswordDialog, GSlotCreation, AddChatFloat, UpgradeSlotDialog},
308
+ components:{ GCard, GLoader, ChatAttachCode, ConfirmPasswordDialog, GSlotCreation, AddChatFloat, UpgradeSlotDialog, useBatchProductCodeDialog, UseProductCodeDialog},
291
309
  props:
292
310
  {
293
311
  user_id: String,
@@ -307,6 +325,9 @@ export default {
307
325
  },
308
326
  data: () =>
309
327
  ({
328
+ product_code:null,
329
+ is_open_use_product_code:false,
330
+ is_choose_product_code:false,
310
331
  is_open_upgrade_slot_dialog:false,
311
332
  is_select_action_dialog_open:false,
312
333
  inputed_email:'',
@@ -339,6 +360,8 @@ export default {
339
360
  searchValue: "",
340
361
  code: {},
341
362
  received_code:[],
363
+ product_code_list:[],
364
+ db_product_code: new DB_PRODUCT_CODE(),
342
365
  }),
343
366
  watch:
344
367
  {
@@ -439,7 +462,8 @@ export default {
439
462
  this.bindConvos();
440
463
  // await this.bindMessages(this.default_message_display);
441
464
  this.is_convos_loading_done = true;
442
- if(this.user_id){
465
+ if(this.user_id)
466
+ {
443
467
  let merchant_details = await new DB_USER().get(this.user_id);
444
468
  if(merchant_details)
445
469
  {
@@ -452,9 +476,17 @@ export default {
452
476
  setTimeout(() => this.updateScroll(), .1);
453
477
  this.is_loading_message_done = true;
454
478
  }
479
+ if(this.user_info.hasOwnProperty('active_slot'))
480
+ {
481
+ await this.loadCode();
482
+ }
455
483
  },
456
484
  methods:
457
485
  {
486
+ async loadCode()
487
+ {
488
+ await this.$bind('product_code_list', this.db_product_code.collection().where('slot_code', '==', this.user_info.active_slot).where('used', '==', false));
489
+ },
458
490
  async sendCodeToEmail()
459
491
  {
460
492
  if(!validator.isEmail(this.inputed_email))
@@ -530,7 +562,12 @@ export default {
530
562
  {
531
563
  if(code_details)
532
564
  {
533
- if(code_details.kit_for_upgrade == "Don't use for Upgrade")
565
+ if(code_details.product_code == true)
566
+ {
567
+ this.product_code = code_details;
568
+ this.is_open_use_product_code = true;
569
+ }
570
+ else if(code_details.kit_for_upgrade == "Don't use for Upgrade")
534
571
  {
535
572
  //activate only
536
573
  this.is_open_add_slot_dialog = true;
package/GLogin.vue CHANGED
@@ -17,7 +17,7 @@
17
17
  <div class="col-1">
18
18
  <div @click="toggleShowPass" class="text-center" style="height:100%">
19
19
  <span class="icon is-small is-right">
20
- <q-icon :class="{ 'fa-eye-slash': showPassword, 'fa-eye': !showPassword }" name="fas fa-eye" size="20px" style="margin-top:10px;"></q-icon>
20
+ <q-icon :class="{ 'fa-eye': showPassword, 'fa-eye-slash': !showPassword }" name="fas fa-eye" size="20px" style="margin-top:10px;"></q-icon>
21
21
  </span>
22
22
  </div>
23
23
  </div>