geer-builder 1.2.643 → 1.2.644

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/GRegistration.vue CHANGED
@@ -194,6 +194,7 @@ export default
194
194
  },
195
195
  async submitCreateAccount()
196
196
  {
197
+ // console.log('account_data: ', this.form_data);
197
198
  if(!this.international_country)
198
199
  {
199
200
  delete this.form_data.international_country;
@@ -243,7 +244,6 @@ export default
243
244
  {
244
245
  let name = await axios.get('https://randomuser.me/api/?nat=us');
245
246
  let info = name.data.results[0];
246
-
247
247
  this.form_data.full_name = info.name.first + ' ' + info.name.last;
248
248
  this.form_data.gender = info.gender == 'male' ? 'Male' : 'Female';
249
249
  this.form_data.email = info.email;
package/GSlotWallet.vue CHANGED
@@ -43,14 +43,25 @@
43
43
  <div class="label" v-else>Slot Limit</div>
44
44
  <div class="value">{{user_info.hasOwnProperty('slot_owned') ? user_info.slot_owned : 0}}/{{ slot_limit }}</div>
45
45
  </div>
46
- <div v-if="current_slot_info.points.reactivation_fee || is_reactivation_fee_avail == true" class="q-pt-sm q-pb-md section-holder">
46
+ <div v-if="( current_slot_info.points.binary_two_group_pv || current_slot_info.points.binary_two_personal_pv ) || is_binary_pv_combination == true" class="q-pt-sm q-pb-md section-holder">
47
+ <div>
48
+ <div class="label">Binary Personal PV</div>
49
+ <div class="value">{{current_slot_info.points.binary_two_personal_pv ? current_slot_info.points.binary_two_personal_pv : 0 }}</div>
50
+ </div>
51
+ <div>
52
+ <div class="label">Binary Group PV</div>
53
+ <div class="value">{{current_slot_info.points.binary_two_group_pv ? current_slot_info.points.binary_two_group_pv : 0 }}</div>
54
+ </div>
55
+ </div>
56
+ <div v-else-if=" (current_slot_info.points.reactivation_fee || is_reactivation_fee_avail == true) && is_binary_pv_combination == false " class="q-pt-sm q-pb-md section-holder">
47
57
  <div v-if="!hide_reactivation">
48
58
  <div class="label" v-if="is_company_success">Higher Income Status</div>
49
59
  <div class="label" v-else>Reactivation Fee</div>
50
60
  <div class="value">{{$_formatNumber(current_slot_info.points.hasOwnProperty("reactivation_fee") ? current_slot_info.points.reactivation_fee : 0 , { decimal: 2 }) }}</div>
51
61
  </div>
52
-
53
62
  </div>
63
+
64
+
54
65
  </div>
55
66
  <div class="wallet-grid" :style="is_company_ultrapro? 'display:block': temp_wallet ? 'grid-template-columns: 1fr 1fr 1fr' : 'grid-template-columns:1fr 1fr' && current_slot_info.points.hasOwnProperty('gc')">
56
67
  <div class="section-holder">
@@ -95,6 +106,7 @@
95
106
  </q-btn>
96
107
  </div>
97
108
  </div>
109
+
98
110
 
99
111
  <div class="section-holder" v-if="current_slot_info.points.hasOwnProperty('gc')">
100
112
  <div class="label" v-if="vortex">Vortex</div>
@@ -209,6 +221,7 @@
209
221
  <q-dialog v-model="is_points_logs_dialog_open" :maximized="true">
210
222
  <points-logs-dialog/>
211
223
  </q-dialog>
224
+
212
225
  <q-dialog v-model="is_rc_logs_dialog_open" :maximized="true">
213
226
  <r-c-logs-dialog/>
214
227
  </q-dialog>
@@ -253,10 +266,11 @@ export default
253
266
  show_binary_history:Boolean,
254
267
  hide_reactivation:Boolean,
255
268
  show_product_voucher:Boolean,
256
- show_rc_history:Boolean,
269
+ show_rc_history:Boolean
257
270
  },
258
271
  data: () =>
259
272
  ({
273
+ is_binary_pv_combination: false,
260
274
  is_rc_logs_dialog_open: false,
261
275
  is_binary_history_dialog_open: false,
262
276
  is_open_add_slot_dialog: false,
@@ -303,7 +317,6 @@ export default
303
317
  await this.getGlobalPool();
304
318
  await this.getDamayan();
305
319
  await this.getReactivation();
306
-
307
320
  if(this.is_company_success == true)
308
321
  {
309
322
  await this.computeWallet();
@@ -318,6 +331,10 @@ export default
318
331
  {
319
332
  this.is_reactivation_fee_avail = true;
320
333
  }
334
+ if(this.settings.active_complan[13] && this.settings.active_complan[13].hasOwnProperty("active") && this.settings.active_complan[13].active && this.settings.active_complan[13].hasOwnProperty("use_binary_pv_combination") && this.settings.active_complan[13].use_binary_pv_combination == true)
335
+ {
336
+ this.is_binary_pv_combination = true;
337
+ }
321
338
  },
322
339
  async getDamayan()
323
340
  {
@@ -427,6 +444,10 @@ export default
427
444
  grid-template-columns: 1fr !important;
428
445
  }
429
446
  }
447
+ .rc-holder
448
+ {
449
+ width: 100%;
450
+ }
430
451
  .label {
431
452
  font-size: 14px;
432
453
  // color: $text-color;
package/GTransaction.vue CHANGED
@@ -157,6 +157,15 @@ export default
157
157
  format: val => `${val}`,
158
158
  sortable: true,
159
159
  },
160
+ {
161
+ name : 'slot_reference',
162
+ label : 'Slot Reference',
163
+ field : row => row.slot_reference,
164
+ align : 'left',
165
+ required: true,
166
+ format: val => `${val}`,
167
+ sortable: true,
168
+ },
160
169
  {
161
170
  name : 'date',
162
171
  label : 'Date',
@@ -239,6 +248,7 @@ export default
239
248
  async getTransactionHistory()
240
249
  {
241
250
  await this.$bind('transaction_history', this.db_sale.collection().where("stockist", "==", this.user_info.branch_slot).where("status", "in", ["for pick up", "pending","completed","void", "transaction refill"]).orderBy('created_date', 'desc'));
251
+ console.log(this.transaction_history)
242
252
  },
243
253
  open_dialog()
244
254
  {
@@ -115,20 +115,25 @@
115
115
  <div v-else>
116
116
  <span>You need to login to view this component.</span>
117
117
  </div>
118
+ <q-dialog persistent v-model="is_add_address_dialog_open" max-width="1000px">
119
+ <add-new-address-form @done="updateAddress"></add-new-address-form>
120
+ </q-dialog>
118
121
  </div>
119
122
  </template>
120
123
 
121
124
  <script>
122
125
  import GlobalMixins from './mixins/global_mixins';
123
126
  import KUploader from './components/KUploader';
127
+ import AddNewAddressForm from './components/AddNewAddressForm';
124
128
 
125
129
  export default
126
130
  {
127
- components: { KUploader },
131
+ components: { KUploader, AddNewAddressForm },
128
132
  mixins: [GlobalMixins],
129
133
  filters: { },
130
134
  data:() =>(
131
135
  {
136
+ is_add_address_dialog_open: false,
132
137
  is_verify_open: false,
133
138
  is_dialog_verify_open : false,
134
139
  field: {
@@ -152,7 +157,7 @@ export default
152
157
  {
153
158
  open_dialog()
154
159
  {
155
- this.is_dialog_verify_open=true;
160
+ this.is_dialog_verify_open = true;
156
161
  },
157
162
  check_dialog()
158
163
  {
@@ -169,22 +174,33 @@ export default
169
174
  this.is_dialog_verify_open = true;
170
175
  }
171
176
  },
177
+ updateAddress()
178
+ {
179
+ this.is_add_address_dialog_open = false;
180
+ },
172
181
  async submitVerification()
173
182
  {
174
183
  this.is_submitting = true;
175
184
  this.$q.loading.show();
176
- try
185
+ if (this.user_info && this.user_info.hasOwnProperty('updated_address') && this.user_info.updated_address === true)
177
186
  {
178
- this.code_info = await this.$_fbCall('memberUpdateVerification', this.form_data);
179
- this.$q.dialog({ title: `Success!`, message: 'Verification details has been succesfully submitted.', html: true });
180
- this.is_submitting = false;
181
- this.is_dialog_verify_open = false;
182
- this.$emit('success');
187
+ try
188
+ {
189
+ this.code_info = await this.$_fbCall('memberUpdateVerification', this.form_data);
190
+ this.$q.dialog({ title: `Success!`, message: 'Verification details has been succesfully submitted.', html: true });
191
+ this.is_submitting = false;
192
+ this.is_dialog_verify_open = false;
193
+ this.$emit('success');
194
+ }
195
+ catch (error)
196
+ {
197
+ this.is_submitting = false;
198
+ this.$q.dialog({ title: `Something's not quite right`, message: error.message });
199
+ }
183
200
  }
184
- catch (error)
201
+ else
185
202
  {
186
- this.is_submitting = false;
187
- this.$q.dialog({ title: `Something's not quite right`, message: error.message });
203
+ this.is_add_address_dialog_open = true;
188
204
  }
189
205
  this.$q.loading.hide();
190
206
  },
@@ -0,0 +1,281 @@
1
+ <template>
2
+ <div class="bills-payment">
3
+ <div align="right" class="q-mb-md filters">
4
+ <q-input style="width: 300px;" label="Search Here" outlined="" v-model="filterr"></q-input>
5
+ <q-select outlined style="min-width: 200px; width: fit-content" v-model="filter" :options="['All', 'For Collection', 'For Processing', 'Collected', 'Processed']" label="Filter" />
6
+ </div>
7
+ <q-table
8
+ :title="table_title"
9
+ :loading="table_loading"
10
+ @row-click= "viewRequest"
11
+ separator="cell"
12
+ bordered
13
+ flat
14
+ :data="!table_loading ? bills_payment : []"
15
+ :columns="table_column"
16
+ :pagination.sync="pagination"
17
+ :filter="filterr" >
18
+ </q-table>
19
+ <q-dialog v-model="dialog_bills_payment_data">
20
+ <q-card style="max-width: 350px: width: 100%;" v-if="dialog_bills_payment_data">
21
+ <q-card-section>
22
+ <q-card-section>
23
+ <div class="text-h6 text-bold text-primary">Request Information</div>
24
+ </q-card-section>
25
+ <q-card-section class="row-details">
26
+ <table>
27
+ <tbody>
28
+ <tr>
29
+ <td class="label text-bold">Load Amount</td>
30
+ <td> : </td>
31
+ <td>{{bills_payment_data.amount_to_pay}}</td>
32
+ </tr>
33
+ <tr>
34
+ <td class="label text-bold">Full Name</td>
35
+ <td> : </td>
36
+ <td>{{bills_payment_data.details.full_name}}</td>
37
+ </tr>
38
+ <tr>
39
+ <td class="label text-bold">Address</td>
40
+ <td> : </td>
41
+ <td>{{bills_payment_data._address_combined}}</td>
42
+ </tr>
43
+ <tr>
44
+ <td class="label text-bold">Contact Number</td>
45
+ <td> : </td>
46
+ <td>{{bills_payment_data.details.contact_number}}</td>
47
+ </tr>
48
+ <tr>
49
+ <td class="label text-bold">Status</td>
50
+ <td> : </td>
51
+ <td>{{bills_payment_data.status}}</td>
52
+ </tr>
53
+ </tbody>
54
+ </table>
55
+ </q-card-section>
56
+ <q-card-actions align="right" class="bg-white" v-if="!(bills_payment_data && bills_payment_data.hasOwnProperty('status') && (bills_payment_data.status === 'rejected' || bills_payment_data.status === 'for_processing' || bills_payment_data.status === 'processed'))">
57
+ <q-btn v-if="bills_payment_data.status =='for_collection'" color="primary" label="Collect" @click="collectPayment(bills_payment_data)" v-close-popup />
58
+ </q-card-actions>
59
+ </q-card-section>
60
+ </q-card>
61
+ </q-dialog>
62
+ </div>
63
+ </template>
64
+ <script>
65
+ import GlobalMixins from '../../mixins/global_mixins.js';
66
+ import DB_BILLS_PAYMENT from '../../models/DB_BILLS_PAYMENT';
67
+ import DB_USER from '../../models/DB_USER';
68
+ import {formatDate} from '../../utilities/DateUtils';
69
+ import {formatNumber} from '../../utilities/NumberUtils';
70
+
71
+ export default {
72
+
73
+ props:
74
+ {
75
+ },
76
+ components: { },
77
+ data: () =>
78
+ ({
79
+ pending_request: [],
80
+ accepted_request: [],
81
+ collected_request: [],
82
+ filter_request: "All",
83
+ bills_payment: [],
84
+ filterr: '',
85
+ filter: "For Collection",
86
+ table_title: 'All Request',
87
+ pagination : { rowsPerPage: 5},
88
+ table_loading: false,
89
+ dialog_bills_payment_data: false,
90
+ bills_payment_data: {},
91
+ table_column:
92
+ [
93
+ {
94
+ name : 'status',
95
+ label : 'STATUS',
96
+ field : "status",
97
+ align : 'left',
98
+ },
99
+ {
100
+ name : 'full_name',
101
+ label : 'Full Name',
102
+ field : row => row.details.full_name,
103
+ align : 'left',
104
+ format: val => `${val}`,
105
+ sortable: true,
106
+ },
107
+ {
108
+ name : 'address',
109
+ label : 'ADDRESS',
110
+ field : "_address_combined",
111
+ align : 'center',
112
+ sortable: true,
113
+ },
114
+ {
115
+ name : 'contact_number',
116
+ label : 'Contact Number',
117
+ field : row => row.details.contact_number,
118
+ align : 'left',
119
+ format: val => `${val}`,
120
+ sortable: true,
121
+ },
122
+ {
123
+ name : 'amount_to_pay',
124
+ label : 'AMOUNT REQUEST',
125
+ field : row => `Php${formatNumber(row.amount_to_pay, { decimal: 2 })}`,
126
+ format: val => `${val}`,
127
+ align : 'left',
128
+ },
129
+ {
130
+ name : 'created_date',
131
+ label : 'Time & Date',
132
+ field : row => formatDate(row.created_date, 'MM/DD/YY (hh:mm A)'),
133
+ format: val => `${val}`,
134
+ align : 'left',
135
+ },
136
+ {
137
+ name : 'response_message',
138
+ label : 'Response Message',
139
+ field : row => row.response_message,
140
+ format : val => `${val ? val:'-----'}`,
141
+ align : 'left',
142
+ }
143
+
144
+ ],
145
+ decline_message_dialog: false,
146
+ reject_message: '',
147
+ to_be_reject: null,
148
+ }),
149
+ watch:
150
+ {
151
+ filter()
152
+ {
153
+ this.getAllBillsPaymentRequest();
154
+ },
155
+ },
156
+ async mounted()
157
+ {
158
+ await this.getAllBillsPaymentRequest();
159
+ await this.$_getSlotInfo();
160
+ },
161
+ methods:
162
+ {
163
+ async getAllBillsPaymentRequest()
164
+ {
165
+ this.$q.loading.show();
166
+ this.table_loading = true;
167
+ this.table_title = `${this.filter} Request`;
168
+
169
+ let filter;
170
+ if(this.filter == 'For Collection') filter = 'for_collection';
171
+ else if(this.filter == 'For Processing') filter = 'for_processing';
172
+ else filter = this.filter.toLowerCase();
173
+
174
+ if (filter === 'all') await this.$bind('bills_payment', new DB_BILLS_PAYMENT().collection()
175
+ .where('assigned_collector', '==', `${this.user_info.uid}`).where("status", "in", ['for_collection', 'for_processing', 'processed']).orderBy('created_date', 'desc'));
176
+ else if (filter == "collected") await this.$bind('bills_payment', new DB_BILLS_PAYMENT().collection()
177
+ .where('assigned_collector', '==', `${this.user_info.uid}`).where('collected', '==', true).orderBy('created_date', 'desc'));
178
+ else await this.$bind('bills_payment', new DB_BILLS_PAYMENT().collection()
179
+ .where('assigned_collector', '==', `${this.user_info.uid}`).where('status', '==', `${filter}`).orderBy('created_date', 'desc'));
180
+
181
+ if(filter == 'collected')
182
+ {
183
+ let new_data = [];
184
+ this.bills_payment.forEach(element => {
185
+ if (element.collected === true)
186
+ {
187
+ element.status = 'collected';
188
+ }
189
+ new_data.push(element)
190
+ });
191
+
192
+ this.bills_payment = new_data;
193
+ }
194
+
195
+ this.table_loading = false;
196
+ this.$q.loading.hide();
197
+ },
198
+ viewRequest(evt, row)
199
+ {
200
+ this.dialog_bills_payment_data = true;
201
+ this.bills_payment_data = row;
202
+ },
203
+ async collectPayment(request_data)
204
+ {
205
+ this.$q.loading.show();
206
+ if (this.user_info)
207
+ {
208
+ let collector_response = {};
209
+ collector_response.collectors_response = 'collected';
210
+ collector_response.req_id = request_data.id;
211
+ collector_response.request_data = request_data;
212
+ collector_response.bills_payment = true;
213
+ try
214
+ {
215
+ await this.$_fbCall('collectGcashRequestResponse', collector_response);
216
+ this.$q.dialog({ title: `Success`, message: `You've collected a payment.`, html: true });
217
+ }
218
+ catch (error)
219
+ {
220
+ this.$q.dialog({ title: `Something's not quite right`, message: error.message });
221
+ }
222
+ }
223
+ await this.getAllBillsPaymentRequest();
224
+ this.dialog_bills_payment_data = false;
225
+ this.$q.loading.hide();
226
+ },
227
+ }
228
+ }
229
+ </script>
230
+
231
+ <style lang="scss">
232
+ .bills-payment
233
+ {
234
+ .filters
235
+ {
236
+ display: flex;
237
+ grid-gap: 10px;
238
+ width: 100%;
239
+ justify-content: flex-end;
240
+ }
241
+ }
242
+ .q-dialog
243
+ {
244
+ .reject-message-dialog
245
+ {
246
+ max-width: 400px;
247
+ width: 100%;
248
+ }
249
+ .user-verification-dialog-holder
250
+ {
251
+ display: grid;
252
+ place-items: center;
253
+ justify-content: center;
254
+ .full-width
255
+ {
256
+ max-width: 95vw;
257
+ width: 100% ;
258
+ // overflow: scroll;
259
+ }
260
+ }
261
+ .row-details
262
+ {
263
+ .label
264
+ {
265
+ min-width: 150px;
266
+ }
267
+ table
268
+ {
269
+ max-width: 400px;
270
+ tbody
271
+ {
272
+ tr
273
+ {
274
+ display: flex;
275
+ align-items: flex-start;
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ </style>