geer-builder 1.2.516 → 1.2.520
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 +1 -1
- package/GDirectDownlineWidget.vue +19 -13
- package/GInvestment.vue +138 -0
- package/GInvestmentWidget.vue +24 -40
- package/GInvestmentWidgetOld.vue +180 -0
- package/GReplicatedLink.vue +3 -2
- package/components/Investment/InvestmentAddDialog.vue +44 -0
- package/components/Investment/InvestmentBreakdownDialog.vue +99 -0
- package/components/Investment/InvestmentLinkDialog.vue +44 -0
- package/components/Investment/InvestmentListDialog.vue +173 -0
- package/components/Investment/InvestmentStatusDialog.vue +109 -0
- package/components/Investment/InvestmentVIewDialog.vue +97 -0
- package/dialogs/AddInvestment.vue +344 -0
- package/dialogs/ClaimInvestmentDialog.vue +76 -0
- package/dialogs/InvestmentHistoryDialog.vue +4 -12
- package/dialogs/InvestmentLogs.vue +159 -60
- package/package.json +1 -1
package/GCashOut.vue
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<div class="cashout__info-bottom cashout_body">
|
|
29
29
|
<div v-for="(field, i) in cashout_choice.fields" :key="i" class="setspan" :style="field.size == 2 ? 'width: 100%;' : 'width: 50%;'">
|
|
30
30
|
<div class="cashout__info-label ">{{field.label}}</div>
|
|
31
|
-
<q-input :rules="[val => !!val || 'Field is required']" v-model="inputed[i]" :placeholder="field.key =='gcash_number' ? 'e.g. 09363769451' : field.key == 'account_number' ? 'Account Number' : field.key =='full_name' ? 'e.g. Juan Dela Cruz':field.key =='address' ? 'e.g. Pandi, Bulacan':field.key =='email' ? 'e.g. juandelacruz@yahoo.com':field.key =='contact_number' ? 'e.g. 09363769451':''" outlined dense/>
|
|
31
|
+
<q-input :rules="[val => !!val || 'Field is required']" v-model="inputed[i]" :placeholder="field.key =='gcash_number' ? 'e.g. 09363769451' : field.key == 'account_number' ? 'Account Number' : field.key == 'wallet_address' ? 'Wallet Address' : field.key =='full_name' ? 'e.g. Juan Dela Cruz':field.key =='address' ? 'e.g. Pandi, Bulacan':field.key =='email' ? 'e.g. juandelacruz@yahoo.com':field.key =='contact_number' ? 'e.g. 09363769451':''" outlined dense/>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
</g-card>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div class="value text-primary">{{ this.slot_list.length}}</div>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
-
<div class="q-pt-sm">
|
|
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
17
|
<div class="label" v-else>Period PV</div>
|
|
18
18
|
<div class="value text-primary">{{ period_pv}}</div>
|
|
@@ -24,29 +24,29 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
<div class="q-pt-sm">
|
|
26
26
|
<div class="label" @click="openFilter()">
|
|
27
|
-
<div class="" v-if="selected_date">
|
|
28
|
-
<div class="label text-primary" style="text-decoration:underline; cursor: pointer;">{{this.user_info.active_slot}} PPV</div>
|
|
29
|
-
<div class="label">{{selected_date}}</div>
|
|
30
|
-
</div>
|
|
31
|
-
<!-- <div class="" v-else style="text-decoration:underline; cursor: pointer; font-size: 18px">Filter PPV</div> -->
|
|
32
27
|
</div>
|
|
33
28
|
<div class="pv-holder" v-if="show_pv">
|
|
34
|
-
<div class="value text-primary" v-if="selected_date">{{total_ppv}}</div>
|
|
29
|
+
<div class="value text-primary" v-if="selected_date">{{total_ppv}}PV</div>
|
|
35
30
|
<div class="value text-primary" v-else>0</div>
|
|
36
31
|
</div>
|
|
37
|
-
|
|
32
|
+
<div class="" v-if="selected_date">
|
|
33
|
+
<div class="label">{{selected_date}}</div>
|
|
34
|
+
</div>
|
|
38
35
|
</div>
|
|
39
36
|
<div class="buttons text-center">
|
|
40
|
-
<q-btn
|
|
37
|
+
<q-btn color="primary" unelevated @click="openFilter()" style="margin:2px auto; width:75%;">
|
|
38
|
+
<q-icon name="fa fa-calendar" size="14px" class="q-mr-sm" ></q-icon>
|
|
39
|
+
<div>Period PV</div>
|
|
40
|
+
</q-btn>
|
|
41
|
+
<q-btn v-close-popup color="primary" @click="direct()" style="margin:2px auto; width:75%;">
|
|
41
42
|
<q-icon name="fa fa-user" size="14px" class="q-mr-sm"></q-icon>
|
|
42
43
|
<div v-if="is_company_success">Direct Enrollees List</div>
|
|
43
44
|
<div v-else>Direct Downline list</div>
|
|
44
45
|
</q-btn>
|
|
45
|
-
<q-btn color="primary" unelevated @click="unilevel()" style="margin:2px auto; width:75%;">
|
|
46
|
+
<q-btn color="primary" v-if="!hide_unilevel" unelevated @click="unilevel()" style="margin:2px auto; width:75%;">
|
|
46
47
|
<q-icon name="fa fa-store" size="14px" class="q-mr-sm" ></q-icon>
|
|
47
48
|
<div v-if="is_company_success">Product Purchases</div>
|
|
48
49
|
<div v-else>Unilevel Purchases</div>
|
|
49
|
-
|
|
50
50
|
</q-btn>
|
|
51
51
|
<q-btn color="primary" unelevated @click="showDownlineMaintaint()" style="margin:2px auto 10px auto; width:75%;">
|
|
52
52
|
<q-icon name="fa fa-calendar" size="14px" class="q-mr-sm" ></q-icon>
|
|
@@ -213,6 +213,7 @@ export default
|
|
|
213
213
|
mixins: [GlobalMixins],
|
|
214
214
|
props:{
|
|
215
215
|
is_company_success: Boolean,
|
|
216
|
+
hide_unilevel: Boolean
|
|
216
217
|
},
|
|
217
218
|
data: () =>
|
|
218
219
|
({
|
|
@@ -243,6 +244,7 @@ export default
|
|
|
243
244
|
downline_list:[],
|
|
244
245
|
membership_list:[],
|
|
245
246
|
period_pv: 0 ,
|
|
247
|
+
pv_filter:true
|
|
246
248
|
}),
|
|
247
249
|
async mounted()
|
|
248
250
|
{
|
|
@@ -270,6 +272,7 @@ export default
|
|
|
270
272
|
});
|
|
271
273
|
if(this.activated_period.length > 0)
|
|
272
274
|
{
|
|
275
|
+
console.log(this.activated_period.length , 'activated period');
|
|
273
276
|
if(user_tree_details.docs.length > 0)
|
|
274
277
|
{
|
|
275
278
|
this.period_pv = user_tree_details.docs[0].data()[this.activated_period[0].id].pv_earned;
|
|
@@ -303,11 +306,12 @@ export default
|
|
|
303
306
|
this.selected_ppv.forEach(element => {
|
|
304
307
|
this.total_ppv += element.amount
|
|
305
308
|
});
|
|
306
|
-
this.selected_date = 'Date: '+start+' - ' +end;
|
|
309
|
+
this.selected_date = 'Date covered: '+start+' - ' +end;
|
|
307
310
|
this.is_choose_date_dialog_open = false;
|
|
308
311
|
this.show_pv = true;
|
|
309
312
|
},
|
|
310
|
-
openFilter()
|
|
313
|
+
openFilter()
|
|
314
|
+
{
|
|
311
315
|
this.is_choose_date_dialog_open = true;
|
|
312
316
|
},
|
|
313
317
|
direct(){
|
|
@@ -397,4 +401,6 @@ export default
|
|
|
397
401
|
float: right;
|
|
398
402
|
}
|
|
399
403
|
}
|
|
404
|
+
.pv-holder{
|
|
405
|
+
}
|
|
400
406
|
</style>
|
package/GInvestment.vue
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<g-card v-if="this.user_info" class="investment-page">
|
|
3
|
+
<div class="plan-grid">
|
|
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
|
+
<div class="plan-title">
|
|
6
|
+
{{item.investment_name}}
|
|
7
|
+
</div>
|
|
8
|
+
<div class="plan-value">Daily ROI of {{item.investment_rate}}%</div>
|
|
9
|
+
<div class="plan-value">Duration of {{item.investment_duration}} Days</div>
|
|
10
|
+
<div class="plan-value">Grows every {{item.investment_interval}} Days</div>
|
|
11
|
+
<div class="plan-value">Principle return after{{item.investment_return_days}} Days</div>
|
|
12
|
+
<div class="plan-value">Minimum Investment of {{item.investment_minimum}}</div>
|
|
13
|
+
<div class="plan-value">Maximum Investment of {{item.investment_maximum}}</div>
|
|
14
|
+
<div class="plan-value">Support 24/7</div>
|
|
15
|
+
</div> -->
|
|
16
|
+
|
|
17
|
+
<q-card class="my-card bg-primary text-white" style="width:250px" v-for="(item, i) in investment_packages" :key="i" v-bind:class="{active : chosen_plan.key === item.key}">
|
|
18
|
+
<q-card-section>
|
|
19
|
+
<div class="text-h6">{{item.investment_name}}</div>
|
|
20
|
+
<div class="text-h4">${{item.investment_minimum}}</div>
|
|
21
|
+
</q-card-section>
|
|
22
|
+
<q-separator dark />
|
|
23
|
+
<q-card-actions vertical align="center" class="bg-white text-primary">
|
|
24
|
+
<q-btn flat @click="choosePlan(item)" icon="favorite_border"> Buy</q-btn>
|
|
25
|
+
<q-btn flat @click="viewPlan(item)" icon="visibility"> View</q-btn>
|
|
26
|
+
</q-card-actions>
|
|
27
|
+
</q-card>
|
|
28
|
+
</div>
|
|
29
|
+
<q-dialog persistent :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_dialog_open">
|
|
30
|
+
<add-investment :plan="plan" @closeDialog="is_investment_dialog_open = false"></add-investment>
|
|
31
|
+
</q-dialog>
|
|
32
|
+
|
|
33
|
+
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="view_plan_dialog">
|
|
34
|
+
<investment-view-dialog :investment_details="plan"></investment-view-dialog>
|
|
35
|
+
</q-dialog>
|
|
36
|
+
|
|
37
|
+
</g-card>
|
|
38
|
+
<div v-else>
|
|
39
|
+
<span>You need to login to view this component.</span>
|
|
40
|
+
</div>
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<script>
|
|
44
|
+
import GlobalMixins from './mixins/global_mixins.js';
|
|
45
|
+
import AddInvestment from './dialogs/AddInvestment';
|
|
46
|
+
import InvestmentViewDialog from './components/investment/InvestmentVIewDialog';
|
|
47
|
+
export default
|
|
48
|
+
{
|
|
49
|
+
components: {AddInvestment, InvestmentViewDialog},
|
|
50
|
+
mixins: [GlobalMixins],
|
|
51
|
+
filters: { },
|
|
52
|
+
data:() =>(
|
|
53
|
+
{
|
|
54
|
+
public_settings:{},
|
|
55
|
+
chosen_plan : {},
|
|
56
|
+
investment_packages:[],
|
|
57
|
+
is_investment_dialog_open:false,
|
|
58
|
+
plan_type:{},
|
|
59
|
+
view_plan_dialog:false,
|
|
60
|
+
plan:{
|
|
61
|
+
invement_name:'',
|
|
62
|
+
investment_duration:'',
|
|
63
|
+
investment_interval:'',
|
|
64
|
+
investment_return_days:'',
|
|
65
|
+
investment_minimum:'',
|
|
66
|
+
investment_maximum:'',
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}),
|
|
70
|
+
async mounted()
|
|
71
|
+
{
|
|
72
|
+
if(this.user_info)
|
|
73
|
+
{
|
|
74
|
+
this.$_getSlotInfo();
|
|
75
|
+
this.public_settings = await this.$_getData('public_settings');
|
|
76
|
+
this.investment_packages = await this.$_getData('investment_packages');
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
methods:
|
|
80
|
+
{
|
|
81
|
+
viewPlan(plan)
|
|
82
|
+
{
|
|
83
|
+
this.plan = plan;
|
|
84
|
+
this.view_plan_dialog = true;
|
|
85
|
+
},
|
|
86
|
+
choosePlan(plan)
|
|
87
|
+
{
|
|
88
|
+
this.plan = plan;
|
|
89
|
+
this.is_investment_dialog_open = true;
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
computed: { }
|
|
93
|
+
}
|
|
94
|
+
</script>
|
|
95
|
+
<style lang="scss">
|
|
96
|
+
.investment-page
|
|
97
|
+
{
|
|
98
|
+
.plan-grid
|
|
99
|
+
{
|
|
100
|
+
display: grid;
|
|
101
|
+
grid-template-columns: repeat(4,1fr);
|
|
102
|
+
grid-gap:5px;
|
|
103
|
+
.plan-item
|
|
104
|
+
{
|
|
105
|
+
cursor:pointer;
|
|
106
|
+
border: solid 1px $primary;
|
|
107
|
+
border-radius: 5px;
|
|
108
|
+
box-shadow: 0 0 5px #ccc;
|
|
109
|
+
padding: 5px;
|
|
110
|
+
text-align: center;
|
|
111
|
+
|
|
112
|
+
.plan-title
|
|
113
|
+
{
|
|
114
|
+
font-size: 1rem;
|
|
115
|
+
font-weight: 500;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.plan-min-max
|
|
119
|
+
{
|
|
120
|
+
font-style: italic;
|
|
121
|
+
font-weight:400;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
:hover
|
|
126
|
+
{
|
|
127
|
+
// background-color:$primary;
|
|
128
|
+
// color:#fff;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.active
|
|
132
|
+
{
|
|
133
|
+
background-color:$primary;
|
|
134
|
+
color:#fff;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
</style>
|
package/GInvestmentWidget.vue
CHANGED
|
@@ -5,36 +5,20 @@
|
|
|
5
5
|
<div class="investment__grid">
|
|
6
6
|
<div class="investment__grid-info">
|
|
7
7
|
<div class="label">Your Wallet</div>
|
|
8
|
-
<div class="value"> {{ $_formatNumber( current_slot_info.
|
|
9
|
-
</div>
|
|
10
|
-
<div class="investment__grid-info">
|
|
11
|
-
<div class="label">Available Tokens</div>
|
|
12
|
-
<div class="value"> {{ $_formatNumber( current_slot_info.temporary_wallet ? current_slot_info.temporary_wallet.token : 0, { decimal: 2 }) }}</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="investment__grid-info">
|
|
15
|
-
<div class="label">Current Interest</div>
|
|
16
|
-
<div class="value"> {{ $_formatNumber( current_slot_info.temporary_wallet ? current_slot_info.temporary_wallet.interest : 0, { decimal: 2 }) }}</div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="investment__grid-info">
|
|
19
|
-
<div class="label">Encashable Funds</div>
|
|
20
|
-
<div class="value"> {{ $_formatNumber( current_slot_info.wallet , { decimal: 2 }) }}</div>
|
|
8
|
+
<div class="value"> {{ $_formatNumber( current_slot_info.wallet ? current_slot_info.wallet : 0, { decimal: 2 }) }}</div>
|
|
21
9
|
</div>
|
|
22
10
|
<div class="investment__grid-actions">
|
|
23
|
-
<q-btn @click="
|
|
11
|
+
<q-btn @click="is_investment_list_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
24
12
|
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
25
|
-
<div>
|
|
13
|
+
<div>My Investment</div>
|
|
26
14
|
</q-btn>
|
|
27
|
-
<q-btn
|
|
15
|
+
<q-btn @click="is_investment_add_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
28
16
|
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
29
|
-
<div>
|
|
17
|
+
<div>Add Investment</div>
|
|
30
18
|
</q-btn>
|
|
31
|
-
<q-btn @click="
|
|
19
|
+
<q-btn @click="is_investment_link_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
32
20
|
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
33
|
-
<div>
|
|
34
|
-
</q-btn>
|
|
35
|
-
<q-btn @click="is_investment_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
36
|
-
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
37
|
-
<div>Add Investment</div>
|
|
21
|
+
<div>My Link</div>
|
|
38
22
|
</q-btn>
|
|
39
23
|
</div>
|
|
40
24
|
</div>
|
|
@@ -46,16 +30,15 @@
|
|
|
46
30
|
</div>
|
|
47
31
|
</template>
|
|
48
32
|
|
|
49
|
-
<q-dialog
|
|
50
|
-
<
|
|
33
|
+
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_list_dialog_open">
|
|
34
|
+
<investment-list-dialog @closeDialog="is_investment_list_dialog_open = false"></investment-list-dialog>
|
|
51
35
|
</q-dialog>
|
|
52
36
|
|
|
53
|
-
|
|
54
|
-
<investment-
|
|
37
|
+
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_add_dialog_open">
|
|
38
|
+
<investment-add-dialog @closeDialog="is_investment_add_dialog_open = false"></investment-add-dialog>
|
|
55
39
|
</q-dialog>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
<conversion-dialog @closeDialog="is_conversion_dialog_open = false"></conversion-dialog>
|
|
40
|
+
<q-dialog :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_link_dialog_open">
|
|
41
|
+
<investment-link-dialog @closeDialog="is_investment_link_dialog_open = false"></investment-link-dialog>
|
|
59
42
|
</q-dialog>
|
|
60
43
|
|
|
61
44
|
</g-card>
|
|
@@ -64,22 +47,23 @@
|
|
|
64
47
|
</div>
|
|
65
48
|
</template>
|
|
66
49
|
<script>
|
|
67
|
-
import GlobalMixins
|
|
50
|
+
import GlobalMixins from './mixins/global_mixins.js';
|
|
68
51
|
import GCard from './components/GCard';
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import
|
|
52
|
+
import InvestmentListDialog from './components/Investment/InvestmentListDialog';
|
|
53
|
+
import InvestmentAddDialog from './components/Investment/InvestmentAddDialog';
|
|
54
|
+
import InvestmentLinkDialog from './components/Investment/InvestmentLinkDialog';
|
|
72
55
|
|
|
73
56
|
export default {
|
|
74
57
|
mixins: [GlobalMixins],
|
|
75
|
-
components: {GCard,
|
|
58
|
+
components: {GCard, InvestmentListDialog, InvestmentAddDialog, InvestmentLinkDialog},
|
|
76
59
|
data: () =>
|
|
77
60
|
({
|
|
78
61
|
public_settings : null,
|
|
79
|
-
is_investment_dialog_open: false,
|
|
80
|
-
is_conversion_dialog_open: false,
|
|
81
|
-
is_investment_history_dialog_open:false,
|
|
82
62
|
submit_loading:false,
|
|
63
|
+
is_investment_list_dialog_open:false,
|
|
64
|
+
is_investment_add_dialog_open:false,
|
|
65
|
+
is_investment_link_dialog_open:false,
|
|
66
|
+
replicated_link:'',
|
|
83
67
|
}),
|
|
84
68
|
async mounted()
|
|
85
69
|
{
|
|
@@ -87,8 +71,8 @@ export default {
|
|
|
87
71
|
{
|
|
88
72
|
this.$_getSlotInfo();
|
|
89
73
|
this.public_settings = await this.$_getData('public_settings');
|
|
74
|
+
this.replicated_link = `https://${this.public_settings.replicated_link}/#/?sponsor=${this.current_slot_info.slot_code}`;
|
|
90
75
|
}
|
|
91
|
-
console.log(this.current_slot_info)
|
|
92
76
|
|
|
93
77
|
},
|
|
94
78
|
methods:
|
|
@@ -144,7 +128,7 @@ export default {
|
|
|
144
128
|
{
|
|
145
129
|
&__grid
|
|
146
130
|
{
|
|
147
|
-
display:
|
|
131
|
+
display:block;
|
|
148
132
|
align-items: center;
|
|
149
133
|
&-info
|
|
150
134
|
{
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<g-card v-if="this.user_info">
|
|
3
|
+
<template v-if="current_slot_info">
|
|
4
|
+
<div class="investment">
|
|
5
|
+
<div class="investment__grid">
|
|
6
|
+
<div class="investment__grid-info">
|
|
7
|
+
<div class="label">Your Wallet</div>
|
|
8
|
+
<div class="value"> {{ $_formatNumber( current_slot_info.temporary_wallet ? current_slot_info.temporary_wallet.base : 0, { decimal: 2 }) }}</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="investment__grid-info">
|
|
11
|
+
<div class="label">Available Tokens</div>
|
|
12
|
+
<div class="value"> {{ $_formatNumber( current_slot_info.temporary_wallet ? current_slot_info.temporary_wallet.token : 0, { decimal: 2 }) }}</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="investment__grid-info">
|
|
15
|
+
<div class="label">Current Interest</div>
|
|
16
|
+
<div class="value"> {{ $_formatNumber( current_slot_info.temporary_wallet ? current_slot_info.temporary_wallet.interest : 0, { decimal: 2 }) }}</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="investment__grid-info">
|
|
19
|
+
<div class="label">Encashable Funds</div>
|
|
20
|
+
<div class="value"> {{ $_formatNumber( current_slot_info.wallet , { decimal: 2 }) }}</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="investment__grid-actions">
|
|
23
|
+
<q-btn @click="is_conversion_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
24
|
+
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
25
|
+
<div>Conversion</div>
|
|
26
|
+
</q-btn>
|
|
27
|
+
<q-btn :loading="submit_loading" @click="checkEarnings()" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
28
|
+
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
29
|
+
<div>Claim Earnings</div>
|
|
30
|
+
</q-btn>
|
|
31
|
+
<q-btn @click="is_investment_history_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
32
|
+
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
33
|
+
<div>Investment History</div>
|
|
34
|
+
</q-btn>
|
|
35
|
+
<q-btn @click="is_investment_dialog_open = true" size="12px" class="text-primary investment__actions-button q-pa-sm" flat>
|
|
36
|
+
<q-icon class="q-mr-sm" name="fas fa-chart-line" size="16px"></q-icon>
|
|
37
|
+
<div>Add Investment</div>
|
|
38
|
+
</q-btn>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</template>
|
|
43
|
+
<template v-else>
|
|
44
|
+
<div>
|
|
45
|
+
<span>You need to own slot to view this component.</span>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<q-dialog persistent :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_dialog_open">
|
|
50
|
+
<add-investment-dialog @closeDialog="is_investment_dialog_open = false"></add-investment-dialog>
|
|
51
|
+
</q-dialog>
|
|
52
|
+
|
|
53
|
+
<q-dialog persistent :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_investment_history_dialog_open">
|
|
54
|
+
<investment-history-dialog @closeDialog="is_investment_history_dialog_open = false"></investment-history-dialog>
|
|
55
|
+
</q-dialog>
|
|
56
|
+
|
|
57
|
+
<q-dialog persistent :maximized="$q.platform.is.mobile" transition-show="slide-up" transition-hide="slide-down" v-model="is_conversion_dialog_open">
|
|
58
|
+
<conversion-dialog @closeDialog="is_conversion_dialog_open = false"></conversion-dialog>
|
|
59
|
+
</q-dialog>
|
|
60
|
+
|
|
61
|
+
</g-card>
|
|
62
|
+
<div v-else>
|
|
63
|
+
<span>You need to login to view this component.</span>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
<script>
|
|
67
|
+
import GlobalMixins from './mixins/global_mixins.js';
|
|
68
|
+
import GCard from './components/GCard';
|
|
69
|
+
import AddInvestmentDialog from './dialogs/AddInvestmentDialog';
|
|
70
|
+
import InvestmentHistoryDialog from './dialogs/InvestmentHistoryDialog';
|
|
71
|
+
import ConversionDialog from './dialogs/ConversionDialog';
|
|
72
|
+
|
|
73
|
+
export default {
|
|
74
|
+
mixins: [GlobalMixins],
|
|
75
|
+
components: {GCard,ConversionDialog, InvestmentHistoryDialog,AddInvestmentDialog},
|
|
76
|
+
data: () =>
|
|
77
|
+
({
|
|
78
|
+
public_settings : null,
|
|
79
|
+
is_investment_dialog_open: false,
|
|
80
|
+
is_conversion_dialog_open: false,
|
|
81
|
+
is_investment_history_dialog_open:false,
|
|
82
|
+
submit_loading:false,
|
|
83
|
+
}),
|
|
84
|
+
async mounted()
|
|
85
|
+
{
|
|
86
|
+
if(this.user_info)
|
|
87
|
+
{
|
|
88
|
+
this.$_getSlotInfo();
|
|
89
|
+
this.public_settings = await this.$_getData('public_settings');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
},
|
|
93
|
+
methods:
|
|
94
|
+
{
|
|
95
|
+
// async initialWallet()
|
|
96
|
+
// {
|
|
97
|
+
// let password = prompt("Enter Password")
|
|
98
|
+
// {
|
|
99
|
+
// if(password == 'cheesecurls')
|
|
100
|
+
// {
|
|
101
|
+
// let fields = {}
|
|
102
|
+
// fields.amount = 50000;
|
|
103
|
+
// fields.key = 'base';
|
|
104
|
+
// fields.slot_id = this.current_slot_info.id;
|
|
105
|
+
// await this.$_fbCall('memberInsertTempWallet', fields);
|
|
106
|
+
// this.$q.dialog({ title: "Ka-ching!", message: "Wallet Added!" });
|
|
107
|
+
|
|
108
|
+
// }
|
|
109
|
+
// }
|
|
110
|
+
|
|
111
|
+
// },
|
|
112
|
+
async checkEarnings()
|
|
113
|
+
{
|
|
114
|
+
this.submit_loading = true;
|
|
115
|
+
let fields = {}
|
|
116
|
+
fields.slot_id = this.current_slot_info.id;
|
|
117
|
+
|
|
118
|
+
try
|
|
119
|
+
{
|
|
120
|
+
let res = await this.$_fbCall('memberCheckInvestment', fields);
|
|
121
|
+
if(res.data.status)
|
|
122
|
+
{
|
|
123
|
+
this.$q.dialog({ title: "Success!", message: "Claim Successful!." });
|
|
124
|
+
}
|
|
125
|
+
else
|
|
126
|
+
{
|
|
127
|
+
this.$q.dialog({ title: "Sorry!", message: "Nothing to Claim." });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (error)
|
|
131
|
+
{
|
|
132
|
+
this.$q.dialog({ title: "Something's not quite right!", message: error.message });
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
this.submit_loading = false;
|
|
136
|
+
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
</script>
|
|
141
|
+
<style lang="scss">
|
|
142
|
+
.investment
|
|
143
|
+
{
|
|
144
|
+
&__grid
|
|
145
|
+
{
|
|
146
|
+
display:grid;
|
|
147
|
+
align-items: center;
|
|
148
|
+
&-info
|
|
149
|
+
{
|
|
150
|
+
padding:5px 0;
|
|
151
|
+
|
|
152
|
+
.label
|
|
153
|
+
{
|
|
154
|
+
font-size: 14px;
|
|
155
|
+
// color: $text-color;
|
|
156
|
+
}
|
|
157
|
+
.value
|
|
158
|
+
{
|
|
159
|
+
font-size: 20px;
|
|
160
|
+
font-weight: bold;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
&-actions
|
|
165
|
+
{
|
|
166
|
+
|
|
167
|
+
display:grid;
|
|
168
|
+
grid-template-columns: 1fr 1fr;
|
|
169
|
+
grid-column: span 2/2;
|
|
170
|
+
|
|
171
|
+
.investment__actions-button
|
|
172
|
+
{
|
|
173
|
+
border:1px solid #eee;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
</style>
|
package/GReplicatedLink.vue
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<q-input dense :loading="loading" class="textbox" readonly v-model="replicated_link" outlined></q-input>
|
|
4
4
|
<q-btn @click="copyLink()" class="q-mt-md full-width" color="primary" unelevated>
|
|
5
5
|
<q-icon name="far fa-copy" size="16px" class="q-mr-sm"></q-icon>
|
|
6
|
-
|
|
6
|
+
{{mbot ? 'Copy Link':'Copy Ecommerce Referral Link'}}
|
|
7
7
|
</q-btn>
|
|
8
8
|
</div>
|
|
9
9
|
<div v-else>
|
|
@@ -21,7 +21,7 @@ export default
|
|
|
21
21
|
name: "GReferralLinkComponent",
|
|
22
22
|
components: { },
|
|
23
23
|
mixins: [GlobalMixins],
|
|
24
|
-
props:['ref_link'],
|
|
24
|
+
props:['ref_link', 'mbot'],
|
|
25
25
|
filters: { },
|
|
26
26
|
data:() =>(
|
|
27
27
|
{
|
|
@@ -33,6 +33,7 @@ export default
|
|
|
33
33
|
}),
|
|
34
34
|
async mounted()
|
|
35
35
|
{
|
|
36
|
+
console.log(this.mbot);
|
|
36
37
|
await this.$_getSlotInfo();
|
|
37
38
|
this.public_settings = await this.$_getData('public_settings');
|
|
38
39
|
if(this.public_settings.hasOwnProperty('replicated_link'))
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-card :style="`min-width: ${ $q.platform.is.mobile ? '100%' : '50%' };`" class="form add-slot">
|
|
3
|
+
<q-bar class='bg-primary text-white q-pa-lg'>
|
|
4
|
+
<q-icon class='q-mr-sm' name='fa fa-heart'></q-icon>
|
|
5
|
+
<b>Add Investment</b>
|
|
6
|
+
<q-space />
|
|
7
|
+
<q-btn dense flat icon='close' v-close-popup><q-tooltip content-class='bg-white text-primary'>Close</q-tooltip></q-btn>
|
|
8
|
+
</q-bar>
|
|
9
|
+
|
|
10
|
+
<q-card-section class='content'>
|
|
11
|
+
<g-investment></g-investment>
|
|
12
|
+
</q-card-section>
|
|
13
|
+
</q-card>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
import {formatDate} from '../../utilities/DateUtils';
|
|
18
|
+
import GlobalMixins from '../../mixins/global_mixins';
|
|
19
|
+
import GInvestment from '../../GInvestment';
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export default
|
|
24
|
+
{
|
|
25
|
+
mixins: [GlobalMixins],
|
|
26
|
+
components:{GInvestment},
|
|
27
|
+
data:() =>
|
|
28
|
+
({
|
|
29
|
+
|
|
30
|
+
}),
|
|
31
|
+
props:
|
|
32
|
+
{
|
|
33
|
+
|
|
34
|
+
},
|
|
35
|
+
async mounted()
|
|
36
|
+
{
|
|
37
|
+
await this.$_getSlotInfo()
|
|
38
|
+
},
|
|
39
|
+
methods:
|
|
40
|
+
{
|
|
41
|
+
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
</script>
|