geer-builder 1.2.643 → 1.2.645
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/GGcashCollectorPage.vue +66 -0
- package/GGcashRequest.vue +551 -0
- package/GHubPage.vue +54 -0
- package/GPayBills.vue +756 -0
- package/GRegistration.vue +1 -1
- package/GSlotWallet.vue +25 -4
- package/GTransaction.vue +10 -0
- package/GUserVerification.vue +27 -11
- package/components/CollectorPages/BillsPaymentRequest.vue +281 -0
- package/components/CollectorPages/GcashWalletRequest.vue +289 -0
- package/components/HubPage/AddCollectorForm.vue +282 -0
- package/components/HubPage/BillsPayment.vue +345 -0
- package/components/HubPage/GcashAndWallet.vue +357 -0
- package/components/HubPage/ManageCollectors.vue +131 -0
- package/components/HubPage/ManageWallet.vue +266 -0
- package/components/HubPage/MemberRequest.vue +64 -0
- package/components/Points/RCLogs.vue +1 -1
- package/components/SaleInvoice.vue +2 -1
- package/components/SalesInvoicePrintable.vue +3 -1
- package/dialogs/BillDetailsDialog.vue +62 -0
- package/models/DB_BILLS_PAYMENT.js +9 -0
- package/models/DB_GCASH_REQUEST.js +9 -0
- package/models/DB_HUB_REQUEST.js +9 -0
- package/models/DB_RESELLER_LOGS.js +2 -1
- package/models/DB_USER.js +1 -0
- package/models/DB_USER_SHIPPING_ADDRESS.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="manage-wallet">
|
|
3
|
+
<!-- Table -->
|
|
4
|
+
<div align="right" class="q-mb-md top-container">
|
|
5
|
+
<div class="wallet-holder">
|
|
6
|
+
<span class="label">Wallet Balance : </span>
|
|
7
|
+
<span v-if="this.current_slot_info && this.current_slot_info.wallet" class="value">Php {{number(this.current_slot_info.wallet)}}</span>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="actions">
|
|
10
|
+
<q-btn flat label="Open Request Form" @click="is_open_wallet_request_form=true"/>
|
|
11
|
+
<div class="filters">
|
|
12
|
+
<q-input dense style="width: 300px;" label="Search Here" outlined="" v-model="filterr"></q-input>
|
|
13
|
+
<q-select dense outlined style="min-width: 200px; width: fit-content" v-model="filter" :options="['All', 'Pending', 'Rejected', 'Completed']" label="Filter" />
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<q-table
|
|
18
|
+
:title="table_title"
|
|
19
|
+
:loading="table_loading"
|
|
20
|
+
@row-click= "viewRequest"
|
|
21
|
+
separator="cell"
|
|
22
|
+
bordered
|
|
23
|
+
flat
|
|
24
|
+
:data="!table_loading ? table_data : []"
|
|
25
|
+
:columns="table_column"
|
|
26
|
+
:pagination.sync="pagination"
|
|
27
|
+
:filter="filterr" >
|
|
28
|
+
</q-table>
|
|
29
|
+
|
|
30
|
+
<!-- Request Form -->
|
|
31
|
+
<q-dialog v-model="is_open_wallet_request_form">
|
|
32
|
+
<q-card>
|
|
33
|
+
<q-card-section>
|
|
34
|
+
<q-form @submit.prevent="submitRequest">
|
|
35
|
+
<div class="form-label">Request Wallet</div>
|
|
36
|
+
<div class="wallet-form-container">
|
|
37
|
+
<q-input filled v-model="form.first_name" label="First name" required/>
|
|
38
|
+
<q-input filled v-model="form.middle_name" label="Middle name" required/>
|
|
39
|
+
<q-input filled v-model="form.last_name" label="Last name" required/>
|
|
40
|
+
<q-input filled v-model="form.contact_number" label="Contact Number" type="number" required/>
|
|
41
|
+
<q-input filled v-model="form.amount" label="Amount" required/>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="button-holder" align="right">
|
|
44
|
+
<q-btn class="submit-btn" flat :loading="is_submitting" type="submit" label="Submit Request"/>
|
|
45
|
+
</div>
|
|
46
|
+
</q-form>
|
|
47
|
+
</q-card-section>
|
|
48
|
+
</q-card>
|
|
49
|
+
</q-dialog>
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
52
|
+
|
|
53
|
+
<script>
|
|
54
|
+
import GlobalMixins from '../../mixins/global_mixins.js';
|
|
55
|
+
import DB_BILLS_PAYMENT from '../../models/DB_HUB_REQUEST';
|
|
56
|
+
import {formatNumber} from '../../utilities/NumberUtils';
|
|
57
|
+
import {formatDate} from '../../utilities/DateUtils';
|
|
58
|
+
import DB_HUB_REQUEST from '../../models/DB_HUB_REQUEST';
|
|
59
|
+
export default
|
|
60
|
+
{
|
|
61
|
+
filters: { },
|
|
62
|
+
data:() =>(
|
|
63
|
+
{
|
|
64
|
+
table_data: [],
|
|
65
|
+
table_title: 'All Request',
|
|
66
|
+
is_open_wallet_request_form: false,
|
|
67
|
+
table_loading: true,
|
|
68
|
+
filterr: '',
|
|
69
|
+
filter: 'All',
|
|
70
|
+
is_submitting: false,
|
|
71
|
+
pagination : { rowsPerPage: 5},
|
|
72
|
+
form: {
|
|
73
|
+
first_name: null,
|
|
74
|
+
middle_name: null,
|
|
75
|
+
last_name: null,
|
|
76
|
+
contact_number: null,
|
|
77
|
+
amount: null,
|
|
78
|
+
},
|
|
79
|
+
table_column:
|
|
80
|
+
[
|
|
81
|
+
{
|
|
82
|
+
name : 'full_name',
|
|
83
|
+
label : 'FULL NAME',
|
|
84
|
+
field : row => row.hubs_info.full_name,
|
|
85
|
+
format : val => `${val}`,
|
|
86
|
+
align : 'left',
|
|
87
|
+
sortable: true,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name : 'contact_number',
|
|
91
|
+
label : 'CONTACT NUMBER',
|
|
92
|
+
field : "contact_number",
|
|
93
|
+
align : 'left',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name : 'amount',
|
|
97
|
+
label : 'REQUESTED AMOUNT',
|
|
98
|
+
field : row => formatNumber(row.amount, { decimal: 2 }),
|
|
99
|
+
format : val => `${val}`,
|
|
100
|
+
align : 'left',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name : 'created_date',
|
|
104
|
+
label : 'DATE & TIME',
|
|
105
|
+
field : row => formatDate(row.created_date, 'MM/DD/YY (hh:mm A)'),
|
|
106
|
+
format: val => `${val}`,
|
|
107
|
+
align : 'left',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name : 'status',
|
|
111
|
+
label : 'STATUS',
|
|
112
|
+
field : "status",
|
|
113
|
+
align : 'left',
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
],
|
|
117
|
+
}),
|
|
118
|
+
watch:
|
|
119
|
+
{
|
|
120
|
+
filter()
|
|
121
|
+
{
|
|
122
|
+
this.getAllRequest();
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
async mounted()
|
|
126
|
+
{
|
|
127
|
+
await this.$_getSlotInfo(); // GET THE CURRENTLY USED SLOT VARIABLE SAVED ON = this.current_slot_info;
|
|
128
|
+
await this.getAllRequest();
|
|
129
|
+
this.dataAutoFill();
|
|
130
|
+
},
|
|
131
|
+
methods:
|
|
132
|
+
{
|
|
133
|
+
async submitRequest()
|
|
134
|
+
{
|
|
135
|
+
this.is_submitting = true;
|
|
136
|
+
if(this.current_slot_info)
|
|
137
|
+
{
|
|
138
|
+
try
|
|
139
|
+
{
|
|
140
|
+
this.form.slot_code = this.current_slot_info.slot_code;
|
|
141
|
+
let res = await this.$_fbCall('memberHubRequest', this.form);
|
|
142
|
+
this.$q.dialog({ title: `Success!`, message: `Your has been succesfully submitted.`, html: true });
|
|
143
|
+
await this.resetForm();
|
|
144
|
+
await this.getAllRequest();
|
|
145
|
+
|
|
146
|
+
}
|
|
147
|
+
catch (error)
|
|
148
|
+
{
|
|
149
|
+
this.$q.dialog({ title: `Something's not quite right`, message: error.message });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
this.is_open_wallet_request_form = false;
|
|
153
|
+
this.is_submitting = false;
|
|
154
|
+
},
|
|
155
|
+
resetForm()
|
|
156
|
+
{
|
|
157
|
+
this.form =
|
|
158
|
+
{
|
|
159
|
+
first_name: null,
|
|
160
|
+
middle_name: null,
|
|
161
|
+
last_name: null,
|
|
162
|
+
contact_number: null,
|
|
163
|
+
amount: null,
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
async getAllRequest()
|
|
167
|
+
{
|
|
168
|
+
this.table_loading = true;
|
|
169
|
+
this.table_title = `${this.filter} Request`;
|
|
170
|
+
let filter = this.filter.toLowerCase();
|
|
171
|
+
if (filter === 'all') await this.$bind('table_data', new DB_HUB_REQUEST().collection()
|
|
172
|
+
.where('hubs_uid', '==', `${this.user_info.uid}`).orderBy('created_date', 'desc'));
|
|
173
|
+
else await this.$bind('table_data', new DB_HUB_REQUEST().collection()
|
|
174
|
+
.where('hubs_uid', '==', `${this.user_info.uid}`).where("status", "==", `${filter}`).orderBy('created_date', 'desc'));
|
|
175
|
+
this.table_loading = false;
|
|
176
|
+
},
|
|
177
|
+
dataAutoFill()
|
|
178
|
+
{
|
|
179
|
+
if (this.user_info)
|
|
180
|
+
{
|
|
181
|
+
if(this.user_info.hasOwnProperty('full_name'))
|
|
182
|
+
{
|
|
183
|
+
let full_name = '';
|
|
184
|
+
full_name = this.user_info.full_name;
|
|
185
|
+
this.form.first_name = full_name.split(' ')[0];
|
|
186
|
+
this.form.middle_name = full_name.split(' ').reverse()[1];
|
|
187
|
+
this.form.last_name = full_name.split(' ').pop();
|
|
188
|
+
this.form.contact_number = this.user_info.contact_number
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
viewRequest()
|
|
193
|
+
{
|
|
194
|
+
|
|
195
|
+
},
|
|
196
|
+
number(amount)
|
|
197
|
+
{
|
|
198
|
+
return formatNumber(amount, { decimal: 2 });
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
computed: { }
|
|
202
|
+
}
|
|
203
|
+
</script>
|
|
204
|
+
<style lang="scss">
|
|
205
|
+
.manage-wallet
|
|
206
|
+
{
|
|
207
|
+
display: grid;
|
|
208
|
+
row-gap: 20px;
|
|
209
|
+
.actions
|
|
210
|
+
{
|
|
211
|
+
display: flex;
|
|
212
|
+
margin-top: 20px;
|
|
213
|
+
justify-content: space-between;
|
|
214
|
+
align-items: center;
|
|
215
|
+
.q-btn
|
|
216
|
+
{
|
|
217
|
+
background-color: #3887d1;
|
|
218
|
+
color: white;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
.wallet-holder
|
|
222
|
+
{
|
|
223
|
+
margin-top: 20px;
|
|
224
|
+
.value
|
|
225
|
+
{
|
|
226
|
+
font-size: 20px;
|
|
227
|
+
font-weight: 500;
|
|
228
|
+
}
|
|
229
|
+
.label
|
|
230
|
+
{
|
|
231
|
+
// font-weight: bold;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
.filters
|
|
235
|
+
{
|
|
236
|
+
display: flex;
|
|
237
|
+
column-gap: 10px;
|
|
238
|
+
justify-content: flex-end;
|
|
239
|
+
align-items: center;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
.q-dialog
|
|
243
|
+
{
|
|
244
|
+
.wallet-form-container
|
|
245
|
+
{
|
|
246
|
+
display: grid;
|
|
247
|
+
grid-template-columns: repeat(2, 1fr);
|
|
248
|
+
grid-gap: 20px;
|
|
249
|
+
margin-bottom: 20px;
|
|
250
|
+
}
|
|
251
|
+
.form-label
|
|
252
|
+
{
|
|
253
|
+
display: grid;
|
|
254
|
+
justify-content: flex-start;
|
|
255
|
+
color: #3887d1;
|
|
256
|
+
font-size: 20px;
|
|
257
|
+
font-weight: 500;
|
|
258
|
+
margin-bottom: 20px;
|
|
259
|
+
}
|
|
260
|
+
.submit-btn
|
|
261
|
+
{
|
|
262
|
+
background: #3887d1;
|
|
263
|
+
color: white;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
</style>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="member-request">
|
|
3
|
+
<div class="gcash-wallet">
|
|
4
|
+
<div class="section-title">Gcash & Wallet Request</div>
|
|
5
|
+
<gcash-and-wallet/>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="bills-payment">
|
|
8
|
+
<div class="section-title">Bills Payment Request</div>
|
|
9
|
+
<bills-payment/>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import GcashAndWallet from './GcashAndWallet.vue'
|
|
16
|
+
import BillsPayment from './BillsPayment.vue'
|
|
17
|
+
export default
|
|
18
|
+
{
|
|
19
|
+
components: { GcashAndWallet, BillsPayment },
|
|
20
|
+
filters: { },
|
|
21
|
+
data:() =>(
|
|
22
|
+
{
|
|
23
|
+
}),
|
|
24
|
+
mounted() { },
|
|
25
|
+
methods: { },
|
|
26
|
+
computed: { }
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
<style lang="scss">
|
|
30
|
+
.member-request
|
|
31
|
+
{
|
|
32
|
+
.gcash-wallet
|
|
33
|
+
{
|
|
34
|
+
background: rgb(243, 243, 243);
|
|
35
|
+
padding: 10px;
|
|
36
|
+
border-radius: 5px;
|
|
37
|
+
margin-bottom: 20px;
|
|
38
|
+
.section-title
|
|
39
|
+
{
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
width: max-width;
|
|
42
|
+
font-size: 17px;
|
|
43
|
+
display: grid;
|
|
44
|
+
justify-items: flex-start;
|
|
45
|
+
margin-bottom: 10px;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
.bills-payment
|
|
49
|
+
{
|
|
50
|
+
background: rgb(243, 243, 243);
|
|
51
|
+
padding: 10px;
|
|
52
|
+
border-radius: 5px;
|
|
53
|
+
.section-title
|
|
54
|
+
{
|
|
55
|
+
font-weight: bold;
|
|
56
|
+
width: max-width;
|
|
57
|
+
font-size: 17px;
|
|
58
|
+
display: grid;
|
|
59
|
+
justify-items: flex-start;
|
|
60
|
+
margin-bottom: 10px;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
:manager_discount="sale.manager_discount.total"
|
|
16
16
|
:discount_type="sale.manager_discount.discount_type"
|
|
17
17
|
:status="sale.status"
|
|
18
|
+
:slot_reference="sale.slot_reference"
|
|
18
19
|
:cashier="sale.cashier"
|
|
19
20
|
:company_name="company_name"
|
|
20
21
|
:stockist_info="sale.cashier.stockist_info"
|
|
@@ -26,7 +27,7 @@
|
|
|
26
27
|
<div v-else style="min-height: 300px;" class="product-list text-center q-pt-lg">
|
|
27
28
|
<q-spinner-ball style="margin-top: 50px" class="q-mt-lg" color="primary" size="60px"/>
|
|
28
29
|
</div>
|
|
29
|
-
<div class="noprint">
|
|
30
|
+
<div class="noprint q-mt-md q-mb-md">
|
|
30
31
|
<div v-if="!hide_bottom" class="buttons text-right">
|
|
31
32
|
<q-btn @click="close()" color="primary" class="q-mr-sm" outline>
|
|
32
33
|
<q-icon name="fa fa-trash" size="14px" class="q-mr-sm"></q-icon>
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
<div>EMAIL : {{customer.email}}</div>
|
|
15
15
|
<div v-if="show_customer_details">CONTACT : {{customer.contact_number}}</div>
|
|
16
16
|
<div v-if="show_customer_details">ADDRESS : {{customer.address}}</div>
|
|
17
|
+
<div v-if="show_customer_details">Slot Reference : {{slot_reference}}</div>
|
|
17
18
|
</div>
|
|
18
19
|
<div class="col-5 label" style="margin-top:15px;">Order No. Receipt No. : {{ number }}</div>
|
|
19
20
|
</div>
|
|
@@ -102,7 +103,7 @@ import MemoHistory from './MemoHistory';
|
|
|
102
103
|
|
|
103
104
|
|
|
104
105
|
export default {
|
|
105
|
-
props: ['refill','cashier', 'title', 'product_list', 'memo', 'batch_number', 'lot_number','number', 'customer', 'transaction_date','sub_total', 'grand_total', 'manager_discount','discount_type','total_discount','status','claim_code', 'company_name', 'stockist_info', 'payment_method'],
|
|
106
|
+
props: ['refill','cashier', 'slot_reference', 'title', 'product_list', 'memo', 'batch_number', 'lot_number','number', 'customer', 'transaction_date','sub_total', 'grand_total', 'manager_discount','discount_type','total_discount','status','claim_code', 'company_name', 'stockist_info', 'payment_method'],
|
|
106
107
|
mixins: [GlobalMixins],
|
|
107
108
|
components: { MemoHistory },
|
|
108
109
|
data: () =>
|
|
@@ -128,6 +129,7 @@ export default {
|
|
|
128
129
|
{
|
|
129
130
|
// this.address_1 = this.stockist_info.stockist_details.street+" "+this.stockist_info.stockist_details.barangay.name+", "+this.stockist_info.stockist_details.city.name+", "+this.stockist_info.stockist_details.province.name+", "+this.stockist_info.stockist_details.region.name;
|
|
130
131
|
// this.contact = this.stockist_info.stockist_details.phone_number;
|
|
132
|
+
console.log(this.stockiest_info)
|
|
131
133
|
|
|
132
134
|
this.settings = await this.$_getData('public_settings');
|
|
133
135
|
if(this.settings.hasOwnProperty("qdy") && this.settings.qdy)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-card >
|
|
3
|
+
<q-bar class='bg-primary text-white q-pa-lg'>
|
|
4
|
+
<b>Details</b>
|
|
5
|
+
<q-space />
|
|
6
|
+
<q-btn dense flat icon='close' v-close-popup><q-tooltip content-class='bg-white text-primary'>Close</q-tooltip></q-btn>
|
|
7
|
+
</q-bar>
|
|
8
|
+
<q-card-section class='content'>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<!-- TABLE -->
|
|
11
|
+
<div class="col-12 text-right q-mb-md">
|
|
12
|
+
<div class="q-mt-sm text-left">
|
|
13
|
+
<table style="width: 500px; min-width: 500px;">
|
|
14
|
+
<tr>
|
|
15
|
+
<th></th>
|
|
16
|
+
<th></th>
|
|
17
|
+
<th style="min-width: 30px;"></th>
|
|
18
|
+
<th></th>
|
|
19
|
+
</tr>
|
|
20
|
+
<tr v-for="(details, i) in row.bills.fields" :key="i">
|
|
21
|
+
<td><b>{{details.field_name}}:</b></td>
|
|
22
|
+
<td>{{details.value}}</td>
|
|
23
|
+
<td></td>
|
|
24
|
+
</tr>
|
|
25
|
+
</table>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</q-card-section>
|
|
30
|
+
</q-card>
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<script>
|
|
34
|
+
|
|
35
|
+
export default
|
|
36
|
+
{
|
|
37
|
+
data: () =>
|
|
38
|
+
({
|
|
39
|
+
tab: 'qualified',
|
|
40
|
+
enable_close:true,
|
|
41
|
+
}),
|
|
42
|
+
components: {},
|
|
43
|
+
props: {
|
|
44
|
+
row: Object,
|
|
45
|
+
},
|
|
46
|
+
mounted()
|
|
47
|
+
{
|
|
48
|
+
},
|
|
49
|
+
methods:
|
|
50
|
+
{
|
|
51
|
+
closePopup()
|
|
52
|
+
{
|
|
53
|
+
console.log('close popup');
|
|
54
|
+
this.$emit('closePopup');
|
|
55
|
+
},
|
|
56
|
+
formatDate(d)
|
|
57
|
+
{
|
|
58
|
+
return formatDate(d)
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
</script>
|
package/models/DB_USER.js
CHANGED