geer-builder 1.2.531 → 1.2.534
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/GCashOut.vue +8 -10
- package/GCheckout.vue +69 -5
- package/GInvestment.vue +16 -7
- package/GInvestmentLeads.vue +103 -0
- package/GInvestmentLogin.vue +6 -6
- package/GInvestmentLogs.vue +23 -24
- package/GLogin.vue +2 -1
- package/GRegistration.vue +2 -2
- package/components/Checkout/Printable.vue +8 -0
- package/components/Checkout/ProcessCheckoutConfirmDialog.vue +1 -1
- package/components/Investment/InvestmentAddWallet.vue +12 -12
- package/components/Investment/InvestmentBreakdownDialog.vue +9 -1
- package/components/Investment/InvestmentListDialog.vue +1 -1
- package/components/Investment/InvestmentStatusDialog.vue +2 -2
- package/components/Investment/InvestmentView.vue +7 -6
- package/components/MyPurchases/tabs/ToReceiveTab.vue +2 -2
- package/components/genealogy/GenealogyBinary.vue +2 -2
- package/components/genealogy/GenealogyChildren.vue +2 -2
- package/dialogs/AddInvestment.vue +41 -20
- package/dialogs/CashoutStatusDialog.vue +1 -1
- package/dialogs/InvestmentBreakdown.vue +83 -0
- package/dialogs/InvestmentLogs.vue +2 -2
- package/package.json +1 -1
package/GCashOut.vue
CHANGED
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
</g-card>
|
|
12
12
|
<g-card :nomargin="true" class="cashout__box cashout__amount">
|
|
13
13
|
<div class="cash__amount-balance">
|
|
14
|
-
<div class="cashout__content-label cashout_title">Your Wallet Balance</div>
|
|
14
|
+
<div class="cashout__content-label cashout_title">{{metamask ? 'Available Balance' : 'Your Wallet Balance?'}}</div>
|
|
15
15
|
<div class="cash__balance-value text-primary">{{ main_currency }} {{ $_formatNumber(this.walletBal, { decimal: 2 }) }}</div>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
<div class="cash__amount-container">
|
|
19
|
-
<div class="cashout__content-label q-mt-md">How much would you like to cashout
|
|
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>
|
|
20
20
|
<div class="cash__amount-textbox cashout_body">
|
|
21
21
|
<q-input stack-label type="text" v-model.number="cashout_amount" dense style="width:88%" borderless class="input"/>
|
|
22
22
|
<!-- <label >{{main_currency}}</label> -->
|
|
@@ -35,15 +35,14 @@
|
|
|
35
35
|
</div>
|
|
36
36
|
<div class="cashout__content-right">
|
|
37
37
|
<g-card :nomargin="true" class="cashout__box cashout__summary">
|
|
38
|
-
<div class="cashout__content-label cashout_title">Cash out Summary</div>
|
|
38
|
+
<div class="cashout__content-label cashout_title">{{metamask ? 'Withdrawal Summary': 'Cash out Summary'}}</div>
|
|
39
39
|
<div class="cashout_body">
|
|
40
|
-
<div class="summary__content">
|
|
41
|
-
<div class="summary__content-label"
|
|
42
|
-
<div class="summary__content-label" v-else>Cashout Method</div>
|
|
40
|
+
<div class="summary__content" v-if="!metamask">
|
|
41
|
+
<div class="summary__content-label">Cashout Method</div>
|
|
43
42
|
<div class="summary__content-info">{{cashout_choice.method_label}}</div>
|
|
44
43
|
</div>
|
|
45
44
|
<div class="summary__content">
|
|
46
|
-
<div class="summary__content-label">Cashout Amount</div>
|
|
45
|
+
<div class="summary__content-label">{{metamask ? 'Withdrawal Amount': 'Cashout Amount'}}</div>
|
|
47
46
|
<div class="summary__content-info">{{ main_currency }} {{ $_formatNumber(xfield.cashout_amount, { decimal: 2}) }}</div>
|
|
48
47
|
</div>
|
|
49
48
|
|
|
@@ -79,8 +78,8 @@
|
|
|
79
78
|
</div>
|
|
80
79
|
</g-card>
|
|
81
80
|
<div class="button-cashout">
|
|
82
|
-
<q-btn @click="viewStatus" color="primary" class="full-width q-pa-sm status_button" outline>View Cash Out Status</q-btn>
|
|
83
|
-
<q-btn type="submit" :disable="dontsubmit" color="primary" class="full-width q-pa-sm q-mt-sm cashout_button">Proceed on Cash out »</q-btn>
|
|
81
|
+
<q-btn @click="viewStatus" color="primary" class="full-width q-pa-sm status_button" outline v-if="!metamask">View Cash Out Status</q-btn>
|
|
82
|
+
<q-btn type="submit" :disable="dontsubmit" color="primary" class="full-width q-pa-sm q-mt-sm cashout_button">{{metamask? 'CONFIRM ':'Proceed on Cash out '}}»</q-btn>
|
|
84
83
|
</div>
|
|
85
84
|
</div>
|
|
86
85
|
</div>
|
|
@@ -143,7 +142,6 @@ export default {
|
|
|
143
142
|
props:['cashout_choice_hide', 'metamask'],
|
|
144
143
|
async mounted()
|
|
145
144
|
{
|
|
146
|
-
|
|
147
145
|
await this.$_getSlotInfo();
|
|
148
146
|
await this.getCashoutMethod();
|
|
149
147
|
await this.getpayoutmethod();
|
package/GCheckout.vue
CHANGED
|
@@ -56,7 +56,8 @@
|
|
|
56
56
|
<div>Courier: {{merch.courier_chosen ? merch.courier_chosen : ''}}</div>
|
|
57
57
|
<div v-if="(merch.voucher_deductions*-1) > 0">Voucher: {{payment_method.payment_method_id =='gc_points' ? 'GC' : main_currency}} -{{$_formatNumber(merch.voucher_deductions, { decimal: 2})}}</div>
|
|
58
58
|
<div>Shipping Fee: {{payment_method.payment_method_id =='gc_points' ? 'GC' : main_currency}} {{$_formatNumber(merch.shipping_fee, { decimal: 2})}}</div>
|
|
59
|
-
<div class="
|
|
59
|
+
<div class="g-cash-lable" v-if="show_gcash_fee">GCash Fee: PHP {{$_formatNumber(gcash_fee, { decimal: 2})}}</div>
|
|
60
|
+
<div class="text-bold">Order Total ({{merch.total_quantity}} Item): {{payment_method.payment_method_id =='gc_points' ? 'GC' : main_currency}} {{show_gcash_fee ? $_formatNumber(merch.order_total + gcash_fee, { decimal: 2}) : $_formatNumber(merch.order_total, { decimal: 2}) }}</div>
|
|
60
61
|
</div>
|
|
61
62
|
</div>
|
|
62
63
|
</div>
|
|
@@ -92,7 +93,17 @@
|
|
|
92
93
|
</div>
|
|
93
94
|
<div class="manual-pay-method" v-if="payment_method.payment_method_id == 'dragon_pay'" >
|
|
94
95
|
<div v-for="(onlines, ind) in available_payment_channel" class="dragon-pay-list" :key="ind">
|
|
95
|
-
|
|
96
|
+
<q-item tag="label" v-ripple>
|
|
97
|
+
<q-item-section avatar>
|
|
98
|
+
<!-- <q-radio v-model="color" val="orange" color="orange" /> -->
|
|
99
|
+
<q-radio v-model="dragon_pay_choice" :val="onlines" :label="onlines.shortName" />
|
|
100
|
+
</q-item-section>
|
|
101
|
+
<q-item-section>
|
|
102
|
+
<!-- <q-item-label>Orange</q-item-label> -->
|
|
103
|
+
<q-item-label caption>{{`${onlines.longName}`}}</q-item-label>
|
|
104
|
+
</q-item-section>
|
|
105
|
+
</q-item>
|
|
106
|
+
<!-- <q-radio checked-icon="task_alt" unchecked-icon="panorama_fish_eye" dense v-model="dragon_pay_choice" :val="onlines" :label="onlines.shortName" /> -->
|
|
96
107
|
</div>
|
|
97
108
|
</div>
|
|
98
109
|
</div>
|
|
@@ -256,7 +267,8 @@
|
|
|
256
267
|
<div class="order-total">
|
|
257
268
|
<!-- <div>Order Total ({{product_list[i].quantity}} Item): {{main_currency}} {{order_total}}</div> -->
|
|
258
269
|
<div class="shipping">Shipping Fee:<span> {{payment_method.payment_method_id =='gc_points' ? 'GC' : main_currency}} {{$_formatNumber(merch.shipping_fee, { decimal: 2})}}</span></div>
|
|
259
|
-
<div class="
|
|
270
|
+
<div class="g-cash-lable" v-if="show_gcash_fee">GCash Fee: PHP {{$_formatNumber(gcash_fee, { decimal: 2})}}</div>
|
|
271
|
+
<div class="total">Order Total ({{merch.total_quantity}} Item): <span> {{payment_method.payment_method_id =='gc_points' ? 'GC' : main_currency}} {{show_gcash_fee ? $_formatNumber(merch.order_total + gcash_fee, { decimal: 2}) : $_formatNumber(merch.order_total, { decimal: 2}) }}</span></div>
|
|
260
272
|
</div>
|
|
261
273
|
</div>
|
|
262
274
|
</div>
|
|
@@ -421,6 +433,9 @@ export default {
|
|
|
421
433
|
dragon_pay_choice:"",
|
|
422
434
|
check:{},
|
|
423
435
|
dragon_pay_amount:[],
|
|
436
|
+
filtered_payment_channel:[],
|
|
437
|
+
gcash_fee:0,
|
|
438
|
+
show_gcash_fee:false
|
|
424
439
|
}),
|
|
425
440
|
async mounted()
|
|
426
441
|
{
|
|
@@ -529,6 +544,17 @@ export default {
|
|
|
529
544
|
},
|
|
530
545
|
watch:
|
|
531
546
|
{
|
|
547
|
+
async dragon_pay_choice()
|
|
548
|
+
{
|
|
549
|
+
console.log(this.dragon_pay_choice.shortName);
|
|
550
|
+
this.gcash_fee = 0;
|
|
551
|
+
this.show_gcash_fee = false;
|
|
552
|
+
if(this.dragon_pay_choice.shortName == 'GCash' || this.dragon_pay_choice.shortName == 'GCash App')
|
|
553
|
+
{
|
|
554
|
+
this.show_gcash_fee = true;
|
|
555
|
+
this.addGcashFee(this.groupedProducts);
|
|
556
|
+
}
|
|
557
|
+
},
|
|
532
558
|
async payment_method()
|
|
533
559
|
{
|
|
534
560
|
this.setDefaultCourier();
|
|
@@ -556,15 +582,44 @@ export default {
|
|
|
556
582
|
},
|
|
557
583
|
methods:
|
|
558
584
|
{
|
|
585
|
+
async addGcashFee(product_list)
|
|
586
|
+
{
|
|
587
|
+
this.gcash_fee = 0;
|
|
588
|
+
if(this.dragon_pay_choice.shortName == 'GCash App')
|
|
589
|
+
{
|
|
590
|
+
this.gcash_fee = 20;
|
|
591
|
+
}
|
|
592
|
+
else if(this.dragon_pay_choice.shortName == 'GCash')
|
|
593
|
+
{
|
|
594
|
+
for (let i = 0; i < product_list.length; i++)
|
|
595
|
+
{
|
|
596
|
+
this.gcash_fee = (product_list[i].order_sub_total / 100 * 2) + 10;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
},
|
|
559
600
|
async getPaymentChannel()
|
|
560
601
|
{
|
|
561
602
|
if(this.public_settings.hasOwnProperty('dragonpay_details') && this.public_settings.dragonpay_details.active)
|
|
562
603
|
{
|
|
563
|
-
|
|
604
|
+
this.filtered_payment_channel = this.public_settings.dragonpay_details.hasOwnProperty('active_payment') ? this.public_settings.dragonpay_details.active_payment : [];
|
|
564
605
|
try
|
|
565
606
|
{
|
|
566
607
|
let ret = await this.$_fbCall('memberGetPaymentChannel', {amount:this.dragon_pay_amount});
|
|
567
|
-
|
|
608
|
+
let return_payment = ret.data;
|
|
609
|
+
console.log(return_payment, 'All Dragonpay channel');
|
|
610
|
+
let x = 0;
|
|
611
|
+
let filtered_payment = [];
|
|
612
|
+
for (const element of return_payment)
|
|
613
|
+
{
|
|
614
|
+
if(this.filtered_payment_channel.includes(element.shortName))
|
|
615
|
+
{
|
|
616
|
+
filtered_payment.push(element);
|
|
617
|
+
}
|
|
618
|
+
x++;
|
|
619
|
+
}
|
|
620
|
+
this.available_payment_channel = filtered_payment;
|
|
621
|
+
|
|
622
|
+
|
|
568
623
|
}
|
|
569
624
|
catch (error)
|
|
570
625
|
{
|
|
@@ -1536,6 +1591,15 @@ export default {
|
|
|
1536
1591
|
},
|
|
1537
1592
|
async proceedCheckout()
|
|
1538
1593
|
{
|
|
1594
|
+
if(this.show_gcash_fee && this.gcash_fee > 0)
|
|
1595
|
+
{
|
|
1596
|
+
this.checkout_info.grand_total + this.gcash_fee;
|
|
1597
|
+
this.checkout_info.gcash_fee = this.gcash_fee;
|
|
1598
|
+
}
|
|
1599
|
+
else
|
|
1600
|
+
{
|
|
1601
|
+
this.checkout_info.gcash_fee = 0;
|
|
1602
|
+
}
|
|
1539
1603
|
this.checkout_info.payment_method = this.payment_method;
|
|
1540
1604
|
try
|
|
1541
1605
|
{
|
package/GInvestment.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div class="investment-page">
|
|
3
3
|
<div class="plan-grid">
|
|
4
4
|
<!-- <div class="plan-item" v-for="(item, i) in investment_packages" :key="i" @click="choosePlan(item)" v-bind:class="{active : chosen_plan.key === item.key}">
|
|
5
5
|
<div class="plan-title">
|
|
@@ -32,12 +32,9 @@
|
|
|
32
32
|
</q-dialog>
|
|
33
33
|
|
|
34
34
|
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="view_plan_dialog">
|
|
35
|
-
<investment-view-dialog :investment_details="plan"></investment-view-dialog>
|
|
35
|
+
<investment-view-dialog :investment_details="plan" @closeDialog="view_plan_dialog = false"></investment-view-dialog>
|
|
36
36
|
</q-dialog>
|
|
37
37
|
</div>
|
|
38
|
-
<div v-else>
|
|
39
|
-
<span>You need to login to view this component.</span>
|
|
40
|
-
</div>
|
|
41
38
|
</template>
|
|
42
39
|
|
|
43
40
|
<script>
|
|
@@ -48,6 +45,7 @@ export default
|
|
|
48
45
|
{
|
|
49
46
|
components: {AddInvestment, InvestmentViewDialog},
|
|
50
47
|
mixins: [GlobalMixins],
|
|
48
|
+
props: ['profit_calculator'],
|
|
51
49
|
filters: { },
|
|
52
50
|
data:() =>(
|
|
53
51
|
{
|
|
@@ -85,8 +83,19 @@ export default
|
|
|
85
83
|
},
|
|
86
84
|
choosePlan(plan)
|
|
87
85
|
{
|
|
88
|
-
this.
|
|
89
|
-
|
|
86
|
+
if(this.profit_calculator)
|
|
87
|
+
{
|
|
88
|
+
this.plan = plan;
|
|
89
|
+
this.view_plan_dialog = true;
|
|
90
|
+
}
|
|
91
|
+
else
|
|
92
|
+
{
|
|
93
|
+
if(this.user_info)
|
|
94
|
+
{
|
|
95
|
+
this.plan = plan;
|
|
96
|
+
this.is_investment_dialog_open = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
90
99
|
},
|
|
91
100
|
},
|
|
92
101
|
computed: { }
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="leads-table">
|
|
3
|
+
<q-card class="full-width full-height form member-lead-list">
|
|
4
|
+
<div v-if="lead_list.length > 0" class="list">
|
|
5
|
+
<q-table :loading="loading_table" :pagination.sync="pagination" flat bordered :data="!loading_table ? lead_list : []" :columns="table_column">
|
|
6
|
+
</q-table>
|
|
7
|
+
</div>
|
|
8
|
+
<div v-else class="list">
|
|
9
|
+
<div class="icon" style="text-align: center">
|
|
10
|
+
<q-icon class="q-mr-sm" name="fas fa-exclamation-circle" style="font-size: 100px; color: #3887d1;"></q-icon>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="no-leads" style="height: 50%; width: 100% !important; text-align: center; font-size: 40px; color: gray">
|
|
13
|
+
No Affiliate Yet
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</q-card>
|
|
17
|
+
<q-dialog v-model="is_slot_create_dialog_open">
|
|
18
|
+
<g-code-vault @closePopup="is_slot_create_dialog_open = false;" :lead_info="lead_info"></g-code-vault>
|
|
19
|
+
</q-dialog>
|
|
20
|
+
<q-dialog v-model="is_profile_dialog_open">
|
|
21
|
+
<g-profile @closePopup="is_profile_dialog_open = false" :mode="'dialog'" :create_slot="true" :prop_user_info="lead_info.lead"></g-profile>
|
|
22
|
+
</q-dialog>
|
|
23
|
+
</div>
|
|
24
|
+
</template>
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
import DB_USER from './models/DB_USER';
|
|
28
|
+
import GlobalMixins from './mixins/global_mixins';
|
|
29
|
+
import {formatDate} from './utilities/DateUtils';
|
|
30
|
+
import GCodeVault from './GCodeVault';
|
|
31
|
+
import GProfile from './components/GProfile';
|
|
32
|
+
export default
|
|
33
|
+
{
|
|
34
|
+
name: "GLeadsComponent",
|
|
35
|
+
components: { GCodeVault, GProfile},
|
|
36
|
+
mixins: [GlobalMixins],
|
|
37
|
+
filters: { },
|
|
38
|
+
data:() =>(
|
|
39
|
+
{
|
|
40
|
+
pagination: { rowsPerPage: 10 },
|
|
41
|
+
loading_table:false,
|
|
42
|
+
is_profile_dialog_open: false,
|
|
43
|
+
db_user: new DB_USER(),
|
|
44
|
+
lead_list: [],
|
|
45
|
+
is_dialog_open : false,
|
|
46
|
+
is_slot_create_dialog_open:false,
|
|
47
|
+
lead_info:{},
|
|
48
|
+
table_column:
|
|
49
|
+
[
|
|
50
|
+
{
|
|
51
|
+
name : 'email',
|
|
52
|
+
label : 'Email',
|
|
53
|
+
field : row => row.email,
|
|
54
|
+
align : 'left',
|
|
55
|
+
required: true,
|
|
56
|
+
sortable: true,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name : 'full_name',
|
|
60
|
+
label : 'Name',
|
|
61
|
+
field : row => row.full_name,
|
|
62
|
+
align : 'left',
|
|
63
|
+
required: true,
|
|
64
|
+
sortable: true,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name : 'created_date',
|
|
68
|
+
label : 'Date Joined',
|
|
69
|
+
field : row => row.created_date,
|
|
70
|
+
format : val => formatDate(val, 'MM/DD/YY (hh:mm A)'),
|
|
71
|
+
align : 'left',
|
|
72
|
+
required: true,
|
|
73
|
+
sortable: true,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name : 'contact_number',
|
|
77
|
+
label : 'Contact Number',
|
|
78
|
+
field : row => row.contact_number,
|
|
79
|
+
align : 'center',
|
|
80
|
+
required: true,
|
|
81
|
+
sortable: true,
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
}),
|
|
85
|
+
async mounted() {
|
|
86
|
+
await this.$_getSlotInfo();
|
|
87
|
+
await this.$bind('lead_list', this.db_user.collection().where('sponsor', '==', this.current_slot_info.slot_code));
|
|
88
|
+
console.log(this.lead_list);
|
|
89
|
+
},
|
|
90
|
+
methods: {
|
|
91
|
+
createSlot(lead)
|
|
92
|
+
{
|
|
93
|
+
this.lead_info.lead = lead;
|
|
94
|
+
this.is_profile_dialog_open = true;
|
|
95
|
+
},
|
|
96
|
+
open_dialog()
|
|
97
|
+
{
|
|
98
|
+
this.is_dialog_open=true;
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
computed: { }
|
|
102
|
+
}
|
|
103
|
+
</script>
|
package/GInvestmentLogin.vue
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import GlobalMixins from './mixins/global_mixins';
|
|
10
10
|
import PaymentProcessor from './contracts/PaymentProcessor.json';
|
|
11
11
|
import USDT from './contracts/USDT.json';
|
|
12
|
-
import settings from './settings';
|
|
13
12
|
import { ethers, Contract } from 'ethers';
|
|
14
13
|
export default
|
|
15
14
|
{
|
|
@@ -24,10 +23,11 @@ export default
|
|
|
24
23
|
usdt: null
|
|
25
24
|
},
|
|
26
25
|
hide_button:false,
|
|
26
|
+
public_settings:{}
|
|
27
27
|
}),
|
|
28
|
-
mounted()
|
|
28
|
+
async mounted()
|
|
29
29
|
{
|
|
30
|
-
|
|
30
|
+
this.public_settings = await this.$_getData('public_settings');
|
|
31
31
|
if(sessionStorage.metamask_login)
|
|
32
32
|
{
|
|
33
33
|
this.hide_button = true;
|
|
@@ -43,13 +43,13 @@ export default
|
|
|
43
43
|
this.metamask.signer = provider.getSigner();
|
|
44
44
|
|
|
45
45
|
this.metamask.payment_processor = new Contract(
|
|
46
|
-
|
|
46
|
+
this.public_settings.payment_processor,
|
|
47
47
|
PaymentProcessor.abi,
|
|
48
48
|
this.metamask.signer
|
|
49
49
|
);
|
|
50
50
|
|
|
51
51
|
this.metamask.usdt = new Contract(
|
|
52
|
-
|
|
52
|
+
this.public_settings.usdt,
|
|
53
53
|
USDT.abi,
|
|
54
54
|
this.metamask.signer
|
|
55
55
|
);
|
|
@@ -66,7 +66,7 @@ export default
|
|
|
66
66
|
console.log(error);
|
|
67
67
|
}
|
|
68
68
|
// console.log(await this.metamask.usdt.balanceOf(await this.metamask.signer.getAddress()).then(result => ethers.utils.formatEther(result.toString())));
|
|
69
|
-
// this.merchant_balance = await this.usdt.balanceOf(this.
|
|
69
|
+
// this.merchant_balance = await this.usdt.balanceOf(this.public_settings.merchant).then(result => ethers.utils.formatEther(result.toString()));
|
|
70
70
|
}
|
|
71
71
|
else
|
|
72
72
|
{
|
package/GInvestmentLogs.vue
CHANGED
|
@@ -178,7 +178,6 @@ export default
|
|
|
178
178
|
}),
|
|
179
179
|
async mounted() {
|
|
180
180
|
await this.getTableData();
|
|
181
|
-
this.mbot = true;
|
|
182
181
|
if(this.mbot)
|
|
183
182
|
{
|
|
184
183
|
await this.mbotLog();
|
|
@@ -188,29 +187,29 @@ export default
|
|
|
188
187
|
{
|
|
189
188
|
async mbotLog()
|
|
190
189
|
{
|
|
191
|
-
this.table_data.forEach(element =>
|
|
192
|
-
{
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
});
|
|
190
|
+
// this.table_data.forEach(element =>
|
|
191
|
+
// {
|
|
192
|
+
// if(element.type == 'direct_invest')
|
|
193
|
+
// {
|
|
194
|
+
// element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>${element.amount} USDT</b> from invest a package ${element.cause_info.owner_info.email}`;
|
|
195
|
+
// }
|
|
196
|
+
// else if(element.type == 'unilevel_invest')
|
|
197
|
+
// {
|
|
198
|
+
// element.message = `Your account <b>${element.current_owner_info.email}</b> earned unilevel amounting to <b>${element.amount} USDT</b> from ${element.cause_info.owner_info.email}`;
|
|
199
|
+
// }
|
|
200
|
+
// else if(element.type == 'receive_interest')
|
|
201
|
+
// {
|
|
202
|
+
// // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
|
|
203
|
+
// }
|
|
204
|
+
// else if(element.type == 'capital_investment')
|
|
205
|
+
// {
|
|
206
|
+
// // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
|
|
207
|
+
// }
|
|
208
|
+
// else if(element.type == 'create_investment')
|
|
209
|
+
// {
|
|
210
|
+
// // element.message = `Your account <b>${element.current_owner_info.email}</b> earned direct referral amounting to <b>USD 100.00</b> from invest a package IVABASNKNVL-PH`;
|
|
211
|
+
// }
|
|
212
|
+
// });
|
|
214
213
|
console.log(this.table_data);
|
|
215
214
|
},
|
|
216
215
|
async getTableData()
|
package/GLogin.vue
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="g-login">
|
|
3
3
|
<q-form @submit="submitLogin()">
|
|
4
4
|
<div class="g-login__fields">
|
|
5
|
-
<div class="label">Emails Address / Slot Code</div>
|
|
5
|
+
<div class="label"> {{mbot ? 'Emails Address':'Emails Address / Slot Code'}}</div>
|
|
6
6
|
<div class="input">
|
|
7
7
|
<q-input :disable="is_submitting" v-model="form_data.email" dense placeholder="Enter Email" class="input input-email" outlined stack-label/>
|
|
8
8
|
</div>
|
|
@@ -83,6 +83,7 @@ export default
|
|
|
83
83
|
terms: String,
|
|
84
84
|
val: Boolean,
|
|
85
85
|
hide_registration: Boolean,
|
|
86
|
+
mbot:Boolean
|
|
86
87
|
|
|
87
88
|
},
|
|
88
89
|
components: { GRegistration,GForgotPassword },
|
package/GRegistration.vue
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
<!-- create account -->
|
|
64
64
|
<div class="g-registration__fields q-mt-md">
|
|
65
|
-
<q-btn :loading="is_submitting" unelevated class="full-width" color="primary" type="submit">Sign Up</q-btn>
|
|
65
|
+
<q-btn :loading="is_submitting" unelevated class="full-width" color="primary" type="submit"> {{mbot ? 'Register' : 'Sign Up'}}</q-btn>
|
|
66
66
|
</div>
|
|
67
67
|
<div v-if="!mbot" class="term"><q-checkbox v-model="val" /> <span @click="is_term_and_condition_open =true" class="term_span"> By clicking sign-up, I have read and I agree to the Company Policies, Terms and Conditions, Rules and Regulation, Code of Conduct And Ethical Standards and the Privacy Policy</span></div>
|
|
68
68
|
<!--
|
|
@@ -211,7 +211,7 @@ export default
|
|
|
211
211
|
|
|
212
212
|
this.$q.dialog(
|
|
213
213
|
{
|
|
214
|
-
title: 'An Error Has Occured',
|
|
214
|
+
title: this.mbot ? 'Error': 'An Error Has Occured' ,
|
|
215
215
|
message: error.message
|
|
216
216
|
});
|
|
217
217
|
}
|
|
@@ -83,6 +83,10 @@
|
|
|
83
83
|
<div class="col-7 label">{{settings.custom_ecommerce_fee.label}}</div>
|
|
84
84
|
<div class="col-5 value">{{ $_formatNumber(sale_info[settings.custom_ecommerce_fee.id], { decimal: 2}) }}<template v-if="settings.hasOwnProperty('custom_ecommerce_fee') && settings.custom_ecommerce_fee.percentage">(<b>{{settings.custom_ecommerce_fee.value}}%</b>)</template></div>
|
|
85
85
|
</div>
|
|
86
|
+
<div class="row bordered" v-if="sale_info.gcash_fee > 0">
|
|
87
|
+
<div class="col-7 label">GCash Fee</div>
|
|
88
|
+
<div class="col-5 value text-right">{{ $_formatNumber(sale_info.gcash_fee, { decimal: 2}) }}</div>
|
|
89
|
+
</div>
|
|
86
90
|
<div class="row">
|
|
87
91
|
<div class="col-7 label">Grand Total</div>
|
|
88
92
|
<div class="col-5 value text-primary text-bold">{{payment_method.payment_method_id =='gc_points' ? 'GC' : settings.main_currency }} {{ $_formatNumber(grand_total, { decimal: 2}) }}</div>
|
|
@@ -172,6 +176,10 @@
|
|
|
172
176
|
<div class="col-7 label">Sub Total</div>
|
|
173
177
|
<div class="col-5 value text-right">{{ $_formatNumber(sub_total, { decimal: 2}) }}</div>
|
|
174
178
|
</div>
|
|
179
|
+
<div class="row bordered">
|
|
180
|
+
<div class="col-7 label">GCash Fee</div>
|
|
181
|
+
<div class="col-5 value text-right">{{ $_formatNumber(sale_info.gcash_fee, { decimal: 2}) }}</div>
|
|
182
|
+
</div>
|
|
175
183
|
<div class="row bordered">
|
|
176
184
|
<div class="col-7 label">Shipping Total</div>
|
|
177
185
|
<div class="col-5 value text-right">{{ $_formatNumber(shipping_total, { decimal: 2}) }}</div>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<input type="hidden" name="ResponseURL" :value="ipay88_response_url">
|
|
32
32
|
<input type="hidden" name="BackendURL" :value="ipay88_backend_url">
|
|
33
33
|
</form>
|
|
34
|
-
<form v-if="sale.payment_method.payment_method_id == 'dragon_pay'" method="get" id="dragon_pay_form" name="ePayment" :action="public_settings.dragonpay_details.
|
|
34
|
+
<form v-if="sale.payment_method.payment_method_id == 'dragon_pay'" method="get" id="dragon_pay_form" name="ePayment" :action="public_settings.dragonpay_details.payment_request_url">
|
|
35
35
|
<input type="hidden" name="merchantid" :value="merchant_id">
|
|
36
36
|
<input type="hidden" name="txnid" :value="txnid">
|
|
37
37
|
<input type="hidden" name="amount" :value="amount">
|
|
@@ -51,11 +51,10 @@
|
|
|
51
51
|
</template>
|
|
52
52
|
|
|
53
53
|
<script>
|
|
54
|
-
import GlobalMixins
|
|
55
|
-
import PaymentProcessor
|
|
56
|
-
import USDT
|
|
57
|
-
import
|
|
58
|
-
import { ethers, Contract } from 'ethers';
|
|
54
|
+
import GlobalMixins from '../../mixins/global_mixins';
|
|
55
|
+
import PaymentProcessor from '../../contracts/PaymentProcessor.json';
|
|
56
|
+
import USDT from '../../contracts/USDT.json';
|
|
57
|
+
import { ethers, Contract } from 'ethers';
|
|
59
58
|
import {QSpinnerFacebook } from 'quasar'
|
|
60
59
|
|
|
61
60
|
|
|
@@ -82,8 +81,8 @@ export default
|
|
|
82
81
|
signer: null,
|
|
83
82
|
payment_processor: null,
|
|
84
83
|
usdt: null
|
|
85
|
-
}
|
|
86
|
-
|
|
84
|
+
},
|
|
85
|
+
public_settings:{}
|
|
87
86
|
}),
|
|
88
87
|
components: { },
|
|
89
88
|
props:
|
|
@@ -92,6 +91,7 @@ export default
|
|
|
92
91
|
},
|
|
93
92
|
async mounted()
|
|
94
93
|
{
|
|
94
|
+
this.public_settings = await this.$_getData('public_settings');
|
|
95
95
|
await this.$_getSlotInfo();
|
|
96
96
|
// if (window.ethereum)
|
|
97
97
|
// {
|
|
@@ -175,27 +175,27 @@ export default
|
|
|
175
175
|
this.metamask.signer = provider.getSigner();
|
|
176
176
|
|
|
177
177
|
this.metamask.payment_processor = new Contract(
|
|
178
|
-
|
|
178
|
+
this.public_settings.payment_processor,
|
|
179
179
|
PaymentProcessor.abi,
|
|
180
180
|
this.metamask.signer
|
|
181
181
|
);
|
|
182
182
|
|
|
183
183
|
this.metamask.usdt = new Contract(
|
|
184
|
-
|
|
184
|
+
this.public_settings.usdt,
|
|
185
185
|
USDT.abi,
|
|
186
186
|
this.metamask.signer
|
|
187
187
|
);
|
|
188
188
|
|
|
189
189
|
console.log(await this.metamask.usdt.balanceOf(await this.metamask.signer.getAddress()).then(result => ethers.utils.formatEther(result.toString())));
|
|
190
|
-
// this.merchant_balance = await this.usdt.balanceOf(this.
|
|
190
|
+
// this.merchant_balance = await this.usdt.balanceOf(this.this.public_settings.merchant).then(result => ethers.utils.formatEther(result.toString()));
|
|
191
191
|
}
|
|
192
192
|
const amount = Number(this.wallet_details.amount);
|
|
193
193
|
|
|
194
194
|
|
|
195
|
-
const tx1 = await this.metamask.usdt.approve(
|
|
195
|
+
const tx1 = await this.metamask.usdt.approve(this.public_settings.payment_processor, amount);
|
|
196
196
|
await tx1.wait();
|
|
197
197
|
|
|
198
|
-
const tx2 = await this.metamask.payment_processor.pay(
|
|
198
|
+
const tx2 = await this.metamask.payment_processor.pay(this.public_settings.usdt, amount, this.wallet_details.transaction_id);
|
|
199
199
|
await tx2.wait();
|
|
200
200
|
}
|
|
201
201
|
catch (e)
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '400px' };`" class="
|
|
2
|
+
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '400px' };`" class="investment-breakdown-dialog">
|
|
3
|
+
<q-bar class="bg-primary text-white q-pa-lg">
|
|
4
|
+
<q-icon class="q-mr-sm" name="trending_up"></q-icon>
|
|
5
|
+
<b>Profit Breakdown</b>
|
|
6
|
+
<q-space />
|
|
7
|
+
<q-btn dense flat icon="close" v-close-popup>
|
|
8
|
+
<q-tooltip content-class="bg-white text-primary">Close</q-tooltip>
|
|
9
|
+
</q-btn>
|
|
10
|
+
</q-bar>
|
|
3
11
|
<q-card-section class='content text-center bg-primary my-card'>
|
|
4
12
|
<q-card class="my-card" v-if="table_loading">
|
|
5
13
|
<!-- <q-table flat :data="investment_preview" :columns="table_column"></q-table> -->
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '600px' };`" class="form add-slot">
|
|
3
3
|
<q-bar class='bg-primary text-white q-pa-lg'>
|
|
4
|
-
<q-icon class='q-mr-sm' name='
|
|
5
|
-
<b>
|
|
4
|
+
<q-icon class='q-mr-sm' name='stacked_line_chart'></q-icon>
|
|
5
|
+
<b>Trade Status</b>
|
|
6
6
|
<q-space />
|
|
7
7
|
<q-btn dense flat icon='close' v-close-popup><q-tooltip content-class='bg-white text-primary'>Close</q-tooltip></q-btn>
|
|
8
8
|
</q-bar>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '300px' };`" class="
|
|
3
|
-
<q-card-section class='content text-center bg-primary my-card'>
|
|
2
|
+
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '300px' };`" class="profit-view">
|
|
3
|
+
<!-- <q-card-section class='content text-center bg-primary my-card'>
|
|
4
4
|
<q-card class="my-card" v-if="investment_details">
|
|
5
5
|
<q-card-section>
|
|
6
6
|
<div class="text-h6 text-bold">{{investment_details.investment_name}}</div>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<q-btn @click="showSample" flat>Sample Computation</q-btn>
|
|
21
21
|
</q-card-actions>
|
|
22
22
|
</q-card>
|
|
23
|
-
</q-card-section>
|
|
23
|
+
</q-card-section> -->
|
|
24
24
|
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_sample_computation_open">
|
|
25
25
|
<investment-breakdown-dialog :investment_details="investment_details" @closeDialog="is_sample_computation_open = false"></investment-breakdown-dialog>
|
|
26
26
|
</q-dialog>
|
|
@@ -50,14 +50,15 @@ export default
|
|
|
50
50
|
async mounted()
|
|
51
51
|
{
|
|
52
52
|
await this.$_getSlotInfo()
|
|
53
|
+
this.showSample();
|
|
53
54
|
},
|
|
54
55
|
methods:
|
|
55
56
|
{
|
|
56
57
|
showSample()
|
|
57
58
|
{
|
|
58
59
|
this.$q.dialog({
|
|
59
|
-
title: '
|
|
60
|
-
message: '
|
|
60
|
+
title: 'Profit Calculator',
|
|
61
|
+
message: 'Enter Amount',
|
|
61
62
|
prompt: {
|
|
62
63
|
model: this.amount,
|
|
63
64
|
type: 'number' // optional
|
|
@@ -67,7 +68,7 @@ export default
|
|
|
67
68
|
}).onOk(data => {
|
|
68
69
|
this.computeSample(data);
|
|
69
70
|
}).onCancel(() => {
|
|
70
|
-
|
|
71
|
+
this.$emit('closeDialog');
|
|
71
72
|
}).onDismiss(() => {
|
|
72
73
|
// console.log('I am triggered on both OK and Cancel')
|
|
73
74
|
})
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</div>
|
|
91
91
|
<div v-if="list.status =='delivered' || list.status =='shipping'" style="background:white;text-align:right;padding:0px 20px 10px 0px;">
|
|
92
92
|
<q-btn dense color="primary" no-caps @click="openTrackingDialog(i)" label="Trace Order" style="margin: 0 10px"></q-btn>
|
|
93
|
-
<q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod' || list.status =='delivered' && list.payment_method.payment_method_id =='dragon_pay'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
|
|
93
|
+
<q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod' || list.status =='delivered' && list.payment_method.payment_method_id =='dragon_pay' || list.status =='delivered' && list.payment_method.payment_method_id =='manual_pay'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
</div>
|
|
161
161
|
<div v-if="list.status =='delivered' || list.status =='shipping'" style="background:white;text-align:right;padding:10px">
|
|
162
162
|
<q-btn dense color="primary" no-caps @click="openTrackingDialog(i)" label="Trace Order" style="margin: 0 10px"></q-btn>
|
|
163
|
-
<q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
|
|
163
|
+
<q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod' || list.status =='delivered' && list.payment_method.payment_method_id =='dragon_pay' || list.status =='delivered' && list.payment_method.payment_method_id =='manual_pay'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
|
|
164
164
|
</div>
|
|
165
165
|
</div>
|
|
166
166
|
</div>
|
|
@@ -109,10 +109,10 @@
|
|
|
109
109
|
<div class="slot-title">Direct: </div>
|
|
110
110
|
<div class="slot-value">{{slot_info.personal_count}}</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div class="items">
|
|
112
|
+
<!-- <div class="items">
|
|
113
113
|
<div class="slot-title">Maintenance: </div>
|
|
114
114
|
<div class="slot-value">{{slot_info.points.personal_pv - (slot_info.points.spent_ppv ? slot_info.points.spent_ppv : 0) - (slot_info.points.extra_spent_ppv ? slot_info.points.extra_spent_ppv : 0) }}</div>
|
|
115
|
-
</div>
|
|
115
|
+
</div> -->
|
|
116
116
|
<div class="items">
|
|
117
117
|
<div class="slot-title">Sponsor: </div>
|
|
118
118
|
<div class="slot-value">{{slot_info.sponsor}}</div>
|
|
@@ -131,10 +131,10 @@
|
|
|
131
131
|
<div class="slot-title">Direct: </div>
|
|
132
132
|
<div class="slot-value">{{slot_info.personal_count}}</div>
|
|
133
133
|
</div>
|
|
134
|
-
<div class="items">
|
|
134
|
+
<!-- <div class="items">
|
|
135
135
|
<div class="slot-title">Maintenance: </div>
|
|
136
136
|
<div class="slot-value">{{slot_info.points.personal_pv - (slot_info.points.spent_ppv ? slot_info.points.spent_ppv : 0) - (slot_info.points.extra_spent_ppv ? slot_info.points.extra_spent_ppv : 0) }}</div>
|
|
137
|
-
</div>
|
|
137
|
+
</div> -->
|
|
138
138
|
<div class="items">
|
|
139
139
|
<div class="slot-title">Sponsor: </div>
|
|
140
140
|
<div class="slot-value">{{slot_info.sponsor}}</div>
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '400px' };`" class="form add-slot">
|
|
3
3
|
<!-- HEADER -->
|
|
4
4
|
<q-bar class="bg-primary text-white q-pa-lg">
|
|
5
|
-
<q-icon class="q-mr-sm" name="
|
|
6
|
-
<b>
|
|
5
|
+
<q-icon class="q-mr-sm" name="credit_card"></q-icon>
|
|
6
|
+
<b>DEPOSIT</b>
|
|
7
7
|
<q-space />
|
|
8
|
-
|
|
9
8
|
<q-btn dense flat icon="close" v-close-popup>
|
|
10
9
|
<q-tooltip content-class="bg-white text-primary">Close</q-tooltip>
|
|
11
10
|
</q-btn>
|
|
@@ -13,11 +12,10 @@
|
|
|
13
12
|
<div class="desktop-only">
|
|
14
13
|
<q-card-section class="content">
|
|
15
14
|
<q-stepper flat v-model="step" vertical color="primary" animated>
|
|
16
|
-
<q-step :name="1" title="Create your plan" icon="settings" :done="step > 1">
|
|
17
15
|
<q-form @submit.prevent="confirmPlan()">
|
|
18
16
|
<div class="row justify-center">
|
|
19
17
|
<div class="q-py-md col-12 plan-amount-text text-center">
|
|
20
|
-
<b>
|
|
18
|
+
<b>Available Balance</b> :
|
|
21
19
|
<div class="text-primary" v-if="current_slot_info">
|
|
22
20
|
{{ $_formatNumber(current_slot_info.wallet ? current_slot_info.wallet : 0, { decimal: 2 }) }} USDT
|
|
23
21
|
</div>
|
|
@@ -30,9 +28,8 @@
|
|
|
30
28
|
</div>
|
|
31
29
|
<q-btn type="submit" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Confirm</q-btn>
|
|
32
30
|
</q-form>
|
|
33
|
-
</q-step>
|
|
34
31
|
|
|
35
|
-
<q-step :name="2" title="Verify All Details" icon="assignment" :done="step > 2">
|
|
32
|
+
<!-- <q-step :name="2" title="Verify All Details" icon="assignment" :done="step > 2">
|
|
36
33
|
<div class="add-slot__verify-details">
|
|
37
34
|
<q-table flat :data="investment_preview" :columns="table_column"></q-table>
|
|
38
35
|
</div>
|
|
@@ -48,18 +45,21 @@
|
|
|
48
45
|
<div class="q-pt-sm q-mr-lg q-ml-lg">Your investment has been successfully created!</div>
|
|
49
46
|
</div>
|
|
50
47
|
<q-btn @click="emitClose" v-close-popup type="button" :loading="submit_loading" unelevated class="full-width q-mt-md" color="primary"><q-icon name="fa fa-check q-mr-sm" size="14px"></q-icon> Transaction Complete</q-btn>
|
|
51
|
-
</q-step>
|
|
48
|
+
</q-step> -->
|
|
52
49
|
</q-stepper>
|
|
53
50
|
</q-card-section>
|
|
54
51
|
</div>
|
|
52
|
+
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_breakdown_open">
|
|
53
|
+
<investment-breakdown :breakdown_details="investment_info" @closeDialog="confirmDetails"></investment-breakdown>
|
|
54
|
+
</q-dialog>
|
|
55
55
|
</q-card>
|
|
56
56
|
</template>
|
|
57
57
|
|
|
58
58
|
<script>
|
|
59
59
|
import GlobalMixins from '../mixins/global_mixins';
|
|
60
60
|
import GRegistration from './../GRegistration';
|
|
61
|
-
import
|
|
62
|
-
import {
|
|
61
|
+
import InvestmentBreakdown from './InvestmentBreakdown.vue';
|
|
62
|
+
import {QSpinnerFacebook } from 'quasar'
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
export default
|
|
@@ -67,6 +67,7 @@ export default
|
|
|
67
67
|
mixins: [GlobalMixins],
|
|
68
68
|
data: () =>
|
|
69
69
|
({
|
|
70
|
+
is_investment_breakdown_open:false,
|
|
70
71
|
investment_packages:'',
|
|
71
72
|
submit_loading : false,
|
|
72
73
|
step : 1,
|
|
@@ -108,9 +109,12 @@ export default
|
|
|
108
109
|
format: val => `${val.toFixed(2)}`,
|
|
109
110
|
sortable: true,
|
|
110
111
|
}
|
|
111
|
-
]
|
|
112
|
+
],
|
|
113
|
+
investment_info:{
|
|
114
|
+
investment_preview:[]
|
|
115
|
+
}
|
|
112
116
|
}),
|
|
113
|
-
components: { GRegistration },
|
|
117
|
+
components: { GRegistration, InvestmentBreakdown },
|
|
114
118
|
props:
|
|
115
119
|
{
|
|
116
120
|
is_show: Boolean,
|
|
@@ -136,13 +140,17 @@ export default
|
|
|
136
140
|
{
|
|
137
141
|
this.$q.dialog({ title: "Something's not quite right", message: "Please choose a plan." });
|
|
138
142
|
}
|
|
139
|
-
else if(this.investment_amount <
|
|
143
|
+
else if(this.investment_amount < 1)
|
|
144
|
+
{
|
|
145
|
+
this.$q.dialog({ title: "Something's not quite right", message: "Please enter a valid amount" });
|
|
146
|
+
}
|
|
147
|
+
else if(this.investment_amount < this.plan.investment_minimum)
|
|
140
148
|
{
|
|
141
149
|
this.$q.dialog({ title: "Something's not quite right", message: "Investment amount is below the minimum required." });
|
|
142
150
|
}
|
|
143
151
|
else
|
|
144
152
|
{
|
|
145
|
-
this.step++;
|
|
153
|
+
// this.step++;
|
|
146
154
|
let days_left = this.plan.investment_duration
|
|
147
155
|
let ctr = 0;
|
|
148
156
|
let start_date = new Date();
|
|
@@ -163,10 +171,13 @@ export default
|
|
|
163
171
|
ctr++;
|
|
164
172
|
}
|
|
165
173
|
while(days_left > 0)
|
|
166
|
-
}
|
|
167
174
|
|
|
175
|
+
this.investment_info.investment_preview = this.investment_preview;
|
|
176
|
+
this.investment_info.plan = this.plan;
|
|
177
|
+
this.investment_info.amount = this.investment_amount;
|
|
178
|
+
this.is_investment_breakdown_open = true;
|
|
179
|
+
}
|
|
168
180
|
this.submit_loading = false;
|
|
169
|
-
|
|
170
181
|
},
|
|
171
182
|
addDaysToDate(days)
|
|
172
183
|
{
|
|
@@ -174,12 +185,13 @@ export default
|
|
|
174
185
|
res.setDate(res.getDate() + days);
|
|
175
186
|
return res;
|
|
176
187
|
},
|
|
177
|
-
async confirmDetails()
|
|
188
|
+
async confirmDetails(details)
|
|
178
189
|
{
|
|
190
|
+
this.is_investment_breakdown_open = false
|
|
179
191
|
this.submit_loading = true;
|
|
180
192
|
let fields = {}
|
|
181
|
-
fields.plan =
|
|
182
|
-
fields.amount =
|
|
193
|
+
fields.plan = details.plan;
|
|
194
|
+
fields.amount = Number(details.amount);
|
|
183
195
|
fields.slot_id = this.current_slot_info.id;
|
|
184
196
|
|
|
185
197
|
if(fields.amount < this.plan.invesment_minimum)
|
|
@@ -194,6 +206,14 @@ export default
|
|
|
194
206
|
}
|
|
195
207
|
else
|
|
196
208
|
{
|
|
209
|
+
this.$q.loading.show({
|
|
210
|
+
spinner: QSpinnerFacebook,
|
|
211
|
+
spinnerColor: 'white',
|
|
212
|
+
spinnerSize: 140,
|
|
213
|
+
backgroundColor: 'primary',
|
|
214
|
+
message: 'Some important process is in progress. Hang on...',
|
|
215
|
+
messageColor: 'black'
|
|
216
|
+
})
|
|
197
217
|
try
|
|
198
218
|
{
|
|
199
219
|
let res = await this.$_fbCall('memberCreateInvestment', { data: fields});
|
|
@@ -204,8 +224,9 @@ export default
|
|
|
204
224
|
this.submit_loading = false;
|
|
205
225
|
this.step --;
|
|
206
226
|
}
|
|
207
|
-
this.step++
|
|
208
227
|
this.submit_loading = false;
|
|
228
|
+
this.$q.loading.hide();
|
|
229
|
+
this.$emit('closeDialog');
|
|
209
230
|
}
|
|
210
231
|
}
|
|
211
232
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-card class="direct-downline" style="width: 1300px; height: 700px;max-width: 1700px;">
|
|
3
3
|
<div class="downline-container">
|
|
4
|
-
<div class="title text-primary">Cashout List</div>
|
|
4
|
+
<div class="title text-primary"> {{metamask ? 'Withdrawal List': 'Cashout List'}}</div>
|
|
5
5
|
<q-table :loading="table_loading"
|
|
6
6
|
separator="cell"
|
|
7
7
|
flat
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-card class="investment-breakdown">
|
|
3
|
+
<div class="table-holder">
|
|
4
|
+
<q-table :pagination.sync="pagination" flat :data="investment_breakdown" :columns="table_column"></q-table>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="button-holder">
|
|
7
|
+
<q-btn color="primary" @click="emitFields" icon="check" label="confirm" class="confirm-button q-mr-sm"/>
|
|
8
|
+
<q-btn color="primary" icon="arrow_back" label="back" v-close-popup class="cancel-button"/>
|
|
9
|
+
</div>
|
|
10
|
+
</q-card>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default
|
|
15
|
+
{
|
|
16
|
+
props: {
|
|
17
|
+
breakdown_details: Object,
|
|
18
|
+
},
|
|
19
|
+
filters: { },
|
|
20
|
+
data:() =>(
|
|
21
|
+
{
|
|
22
|
+
pagination:
|
|
23
|
+
{
|
|
24
|
+
rowsPerPage: 10 // current rows per page being displayed
|
|
25
|
+
},
|
|
26
|
+
investment_breakdown:[],
|
|
27
|
+
table_column :
|
|
28
|
+
[
|
|
29
|
+
{
|
|
30
|
+
name : 'interest_date',
|
|
31
|
+
label : 'Date of Interest',
|
|
32
|
+
field : row => row.interest_date,
|
|
33
|
+
align : 'center',
|
|
34
|
+
required: true,
|
|
35
|
+
format: val => `${val.toLocaleDateString()}`,
|
|
36
|
+
sortable: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name : 'projection',
|
|
40
|
+
label : 'Projected Interest',
|
|
41
|
+
field : row => row.projection,
|
|
42
|
+
align : 'center',
|
|
43
|
+
required: true,
|
|
44
|
+
format: val => `${val}`,
|
|
45
|
+
sortable: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name : 'projected_income',
|
|
49
|
+
label : 'Projected Income',
|
|
50
|
+
field : row => row.projected_income,
|
|
51
|
+
align : 'center',
|
|
52
|
+
required: true,
|
|
53
|
+
format: val => `${val.toFixed(2)}`,
|
|
54
|
+
sortable: true,
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}),
|
|
58
|
+
mounted()
|
|
59
|
+
{
|
|
60
|
+
this.investment_breakdown = this.breakdown_details.investment_preview ? this.breakdown_details.investment_preview : [] ;
|
|
61
|
+
},
|
|
62
|
+
methods:
|
|
63
|
+
{
|
|
64
|
+
emitFields()
|
|
65
|
+
{
|
|
66
|
+
this.$emit('closeDialog', this.breakdown_details);
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
computed: { }
|
|
70
|
+
}
|
|
71
|
+
</script>
|
|
72
|
+
|
|
73
|
+
<style lang="scss">
|
|
74
|
+
.investment-breakdown
|
|
75
|
+
{
|
|
76
|
+
padding: 20px;
|
|
77
|
+
.table-holder{
|
|
78
|
+
}
|
|
79
|
+
.button-holder{
|
|
80
|
+
text-align: end;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
</style>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-card class="investment-logs">
|
|
3
3
|
<q-bar class='bg-primary text-white q-pa-lg'>
|
|
4
|
-
<q-icon class='q-mr-sm' name='
|
|
5
|
-
<b>{{investment_info.plan.investment_name}}
|
|
4
|
+
<q-icon class='q-mr-sm' name='stacked_line_chart'></q-icon>
|
|
5
|
+
<b>{{investment_info.plan.investment_name}} History</b>
|
|
6
6
|
<q-space />
|
|
7
7
|
<q-btn dense flat icon='close' v-close-popup><q-tooltip content-class='bg-white text-primary'>Close</q-tooltip></q-btn>
|
|
8
8
|
</q-bar>
|