jufubao-base 1.0.232-beta6 → 1.0.232-beta8
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/package.json +1 -1
- package/src/components/JfbBaseBalance/JfbBaseBalance.vue +4 -1
- package/src/components/JfbBaseBalance/Mock.js +5 -9
- package/src/components/JfbBaseCodeOpenVip/Attr.js +12 -0
- package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +13 -2
- package/src/components/JfbBaseConsumpCode/Api.js +94 -19
- package/src/components/JfbBaseConsumpCode/Attr.js +13 -0
- package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +397 -93
- package/src/components/JfbBaseConsumpCode/Mock.js +18 -9
- package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +4 -3
- package/src/components/JfbBasePointsCard/Attr.js +12 -0
- package/src/components/JfbBasePointsDetail/JfbBasePointsDetail.vue +2 -1
- package/src/components/JfbBasePointsDetail/Mock.js +0 -1
- package/src/components/JfbBaseShare/JfbBaseShare.vue +62 -19
- package/src/components/JfbBaseWithDrawAgain/Mock.js +6 -9
- package/src/components/JfbBaseWithDrawRecord/JfbBaseWithDrawRecord.vue +8 -3
- package/src/components/JfbBaseWithDrawRecord/Mock.js +3 -9
- package/src/components/JfbBaseWithdraw/Mock.js +2 -8
|
@@ -12,50 +12,77 @@
|
|
|
12
12
|
}">
|
|
13
13
|
<view class="content-box">
|
|
14
14
|
<view class="logo-box">
|
|
15
|
-
<image src="
|
|
16
|
-
class="logo"></image>
|
|
15
|
+
<image :src="userInfo['head_url']" class="logo"></image>
|
|
17
16
|
</view>
|
|
18
|
-
<view v-if="
|
|
17
|
+
<view v-if="isFlow">
|
|
19
18
|
<view @click="handleToShop" class="shop">
|
|
20
|
-
<view
|
|
19
|
+
<view>{{shopName}}</view>
|
|
21
20
|
<XdFontIcon size="20" icon="iconxiangyou_xian"></XdFontIcon>
|
|
22
21
|
</view>
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</image>
|
|
29
|
-
<view class="code-refresh">{{expiration_sec_str}}后自动更新</view>
|
|
30
|
-
<view class="vip">
|
|
31
|
-
<view class="vip-title">
|
|
32
|
-
<view class="vip-title-left">PLUS会员专享</view>
|
|
33
|
-
<view class="vip-title-right">
|
|
34
|
-
<text>8</text>折
|
|
22
|
+
<view class="verification-item">
|
|
23
|
+
<view class="verification-item-label">提货标签</view>
|
|
24
|
+
<view class="verification-item-tags">
|
|
25
|
+
<view :style="{color:tag_id===item.value?mainColor:'',borderColor: tag_id===item.value?mainColor:''}"
|
|
26
|
+
v-for="(item,index) in settle_tag_list" :key="index" @click="handlerTagRadio(item)">{{item.label}}
|
|
35
27
|
</view>
|
|
36
28
|
</view>
|
|
37
|
-
<view class="
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
<view class="nodata" v-if="settle_tag_list_status">结算标签为空,请联系店员设置后重试</view>
|
|
30
|
+
</view>
|
|
31
|
+
<view class="verification-item">
|
|
32
|
+
<view class="verification-item-label">提货点数</view>
|
|
33
|
+
<view class="verification-item-input">
|
|
34
|
+
<input v-model="total_price" @input="(value)=>handlerPrice(value)" type="text">
|
|
35
|
+
<xd-number v-if="curTag.is_static_price" class="xd-number" :min="1" :max="999" v-model="num"
|
|
36
|
+
@change="handleNumberChange"></xd-number>
|
|
37
|
+
<view :style="{color:mainColor}" class="tip">*提货点数请咨询店员,提货成功后无法退换</view>
|
|
41
38
|
</view>
|
|
42
39
|
</view>
|
|
40
|
+
<XdButton v-if="btnDisabled" style="margin-top: 200rpx" width="260rpx" type="primary" disabled>下一步</XdButton>
|
|
41
|
+
<XdButton v-else style="margin-top: 200rpx" width="260rpx" type="primary" @click="toPayOrder">下一步</XdButton>
|
|
43
42
|
</view>
|
|
44
|
-
<view
|
|
45
|
-
<view
|
|
46
|
-
<view class="
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
<view v-else>
|
|
44
|
+
<view v-if="!showMask">
|
|
45
|
+
<view @click="handleToShop" class="shop">
|
|
46
|
+
<view>{{shopName}}</view>
|
|
47
|
+
<XdFontIcon size="20" icon="iconxiangyou_xian"></XdFontIcon>
|
|
48
|
+
</view>
|
|
49
|
+
<image mode="aspectFit" class="bar-code" :src="barcode_url">
|
|
50
|
+
</image>
|
|
51
|
+
<view class="bar-code-text">{{barCode}}</view>
|
|
52
|
+
<image mode="aspectFit" class="qrcode" :src="code_url">
|
|
53
|
+
</image>
|
|
54
|
+
<view class="code-refresh">{{expiration_sec_str}}后自动更新</view>
|
|
55
|
+
<view class="vip" v-if="plusDiscount">
|
|
56
|
+
<view class="vip-title">
|
|
57
|
+
<view class="vip-title-left">PLUS会员专享</view>
|
|
58
|
+
<view class="vip-title-right">
|
|
59
|
+
<text>{{plusDiscount/1000}}</text>折
|
|
60
|
+
</view>
|
|
61
|
+
</view>
|
|
62
|
+
<view class="vip-open" @click="handleToOpen">
|
|
63
|
+
<xd-font-icon color="#FCBF28" size="20" icon="iconjinhangzhong"></xd-font-icon>
|
|
64
|
+
<text>立即开通</text>
|
|
65
|
+
<xd-font-icon size="20" icon="iconxiangyou_xian"></xd-font-icon>
|
|
66
|
+
</view>
|
|
67
|
+
</view>
|
|
68
|
+
</view>
|
|
69
|
+
<view class="mask-box" v-else>
|
|
70
|
+
<view class="mask">
|
|
71
|
+
<view class="mask-title">{{tip}}</view>
|
|
72
|
+
<!-- <view class="mask-open">
|
|
73
|
+
PLUS会员专享 <span :style="{color:mainColor,marginLeft:'8rpx'}">8</span>折 <span @click="handleToOpen"
|
|
74
|
+
:style="{color:mainColor,marginLeft:'15rpx'}">立即开通</span>
|
|
75
|
+
</view> -->
|
|
50
76
|
</view>
|
|
51
77
|
</view>
|
|
52
78
|
</view>
|
|
79
|
+
|
|
53
80
|
</view>
|
|
54
81
|
</view>
|
|
55
82
|
<XdDialog :show.sync="showDialog" :showClose="false" :showTitle="false">
|
|
56
83
|
<view class="dialog-title" slot="title">门店确认</view>
|
|
57
84
|
<view class="dialog-content">
|
|
58
|
-
<view>当前门店:<span :style="{color:mainColor}">
|
|
85
|
+
<view>当前门店:<span :style="{color:mainColor}">{{shopName}}</span></view>
|
|
59
86
|
<view>请确认您是否在当前门店中</view>
|
|
60
87
|
</view>
|
|
61
88
|
<view class="dialog-btns" slot="btn">
|
|
@@ -72,6 +99,7 @@
|
|
|
72
99
|
import XdButton from "@/components/XdButton/XdButton";
|
|
73
100
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
74
101
|
import JfbBaseConsumpCodeMixin from "./JfbBaseConsumpCodeMixin";
|
|
102
|
+
import getServiceUrl from "@/common/getServiceUrl";
|
|
75
103
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
76
104
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
77
105
|
import extsMixins from "@/mixins/extsMixins";
|
|
@@ -92,17 +120,33 @@
|
|
|
92
120
|
openPath: "",
|
|
93
121
|
shopPath: "",
|
|
94
122
|
successPath: "",
|
|
123
|
+
cashPayPath: "",
|
|
95
124
|
showDialog: false,
|
|
96
|
-
showMask:
|
|
125
|
+
showMask: true,
|
|
97
126
|
shop_id: '',
|
|
98
127
|
secondTimer: null,
|
|
99
128
|
expiration_sec: '',
|
|
100
129
|
code_url: '',
|
|
130
|
+
barcode_url: '',
|
|
131
|
+
barCode: '',
|
|
101
132
|
statusTimer: null,
|
|
102
133
|
validTimer: null,
|
|
103
134
|
payChannels: [],
|
|
104
135
|
channel_provider_id: "",
|
|
105
|
-
options: {}
|
|
136
|
+
options: {},
|
|
137
|
+
canEdit: true,
|
|
138
|
+
settle_tag_list: [],
|
|
139
|
+
settle_tag_list_status: false,
|
|
140
|
+
tag_id: "",
|
|
141
|
+
price: "",
|
|
142
|
+
total_price: "",
|
|
143
|
+
num: 1,
|
|
144
|
+
tip: '',
|
|
145
|
+
shopName: '',
|
|
146
|
+
isFlow: false,
|
|
147
|
+
xnamespace: '',
|
|
148
|
+
plusDiscount: 0,
|
|
149
|
+
userInfo: {}
|
|
106
150
|
}
|
|
107
151
|
},
|
|
108
152
|
watch: {
|
|
@@ -131,28 +175,61 @@
|
|
|
131
175
|
let sec = second % 60;
|
|
132
176
|
return `${min}分${sec}秒`;
|
|
133
177
|
},
|
|
178
|
+
curTag() {
|
|
179
|
+
return this.settle_tag_list.find(item => item.value === this.tag_id) || {}
|
|
180
|
+
},
|
|
181
|
+
curTagPrice() {
|
|
182
|
+
const curTag = this.curTag;
|
|
183
|
+
if (this.$xdUniHelper.isEmpty(curTag)) return 0;
|
|
184
|
+
if (curTag.is_static_price) {
|
|
185
|
+
return curTag.price_yuan;
|
|
186
|
+
} else {
|
|
187
|
+
return this.total_price;
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
btnDisabled() {
|
|
191
|
+
return this.total_price === '' || !this.tag_id;
|
|
192
|
+
}
|
|
134
193
|
},
|
|
135
194
|
created() {
|
|
136
195
|
this.init(this.container);
|
|
137
196
|
},
|
|
138
197
|
methods: {
|
|
139
|
-
onJfbLoad(options) {
|
|
198
|
+
async onJfbLoad(options) {
|
|
199
|
+
this.xnamespace = this.projectAttr.business_code
|
|
200
|
+
this.getUserInfo()
|
|
140
201
|
this.options = options
|
|
141
202
|
if (!this.isPreview) {
|
|
142
203
|
if (Object.keys(this.stateLocation).length === 0) {
|
|
204
|
+
this.tip = '为了给您提供更好的服务需要获取您的位置信息'
|
|
143
205
|
this.showMask = true;
|
|
144
206
|
this.showDialog = false;
|
|
145
207
|
return
|
|
146
208
|
}
|
|
147
209
|
}
|
|
148
|
-
this.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
210
|
+
if (!this.options.shop_id) {
|
|
211
|
+
jfbRootExec("getConsumpShopList", {
|
|
212
|
+
vm: this,
|
|
213
|
+
data: {
|
|
214
|
+
city_code: this.stateCity.city_code,
|
|
215
|
+
consume_mode: 'SELL',
|
|
216
|
+
latitude: this.stateLocation.latitude + '',
|
|
217
|
+
longitude: this.stateLocation.longitude + '',
|
|
218
|
+
},
|
|
219
|
+
}).then(res => {
|
|
220
|
+
if (res && res.list.length > 0) {
|
|
221
|
+
this.shop_id = res.list[0].shop_id;
|
|
222
|
+
this.shopName = res.list[0].resource_shop_name;
|
|
223
|
+
this.showMask = true;
|
|
224
|
+
this.showDialog = true;
|
|
225
|
+
} else {
|
|
226
|
+
this.tip = '您的附近暂时没有支持的店铺'
|
|
227
|
+
this.showDialog = false;
|
|
228
|
+
}
|
|
229
|
+
})
|
|
154
230
|
} else {
|
|
155
|
-
this.
|
|
231
|
+
this.shop_id = this.options.shop_id;
|
|
232
|
+
this.p_getAsyncStep();
|
|
156
233
|
}
|
|
157
234
|
},
|
|
158
235
|
/**
|
|
@@ -175,14 +252,27 @@
|
|
|
175
252
|
"content.successPath",
|
|
176
253
|
{ value: "" }
|
|
177
254
|
).value;
|
|
255
|
+
this.cashPayPath = getContainerPropsValue(container, 'content.cash_pay_path', { value: "" }
|
|
256
|
+
).value;
|
|
257
|
+
},
|
|
258
|
+
getUserInfo() {
|
|
259
|
+
jfbRootExec("getConsumpBaseUserInfo", {
|
|
260
|
+
vm: this,
|
|
261
|
+
data: {},
|
|
262
|
+
}).then(res => {
|
|
263
|
+
this.userInfo = res || {};
|
|
264
|
+
})
|
|
178
265
|
},
|
|
179
266
|
async p_getAsyncStep() {
|
|
180
267
|
await this.p_getQuickPayQRCode();
|
|
181
|
-
this.
|
|
268
|
+
if (!this.isFlow) {
|
|
269
|
+
this.p_getQRCodeStatus();
|
|
270
|
+
this.p_getListUserPayChannel();
|
|
271
|
+
}
|
|
182
272
|
},
|
|
183
273
|
p_getListUserPayChannel() {
|
|
184
274
|
const { pay_channels } = this.projectAttr;
|
|
185
|
-
jfbRootExec("
|
|
275
|
+
jfbRootExec("getConsumpListUserPayChannel", {
|
|
186
276
|
vm: this,
|
|
187
277
|
data: {
|
|
188
278
|
providers: pay_channels && pay_channels.join(","),
|
|
@@ -195,30 +285,45 @@
|
|
|
195
285
|
},
|
|
196
286
|
p_getQuickPayQRCode() {
|
|
197
287
|
return new Promise((resolve, reject) => {
|
|
198
|
-
|
|
199
|
-
jfbRootExec("
|
|
288
|
+
this.$xdShowLoading({});
|
|
289
|
+
jfbRootExec("getConsumpCode", {
|
|
200
290
|
vm: this,
|
|
201
291
|
data: {
|
|
202
292
|
shop_id: this.shop_id,
|
|
203
|
-
temp_order_id: this.temp_order_id
|
|
293
|
+
temp_order_id: this.temp_order_id,
|
|
204
294
|
}
|
|
205
295
|
}).then(res => {
|
|
206
|
-
|
|
207
|
-
this.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
this.
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
296
|
+
this.$xdHideLoading();
|
|
297
|
+
this.plusDiscount = res.plus_discount
|
|
298
|
+
if (res.is_st_flow === 'Y') {
|
|
299
|
+
//水牌
|
|
300
|
+
this.isFlow = true
|
|
301
|
+
this.shopName = res.shop_name;
|
|
302
|
+
this.getSettleTagList()
|
|
303
|
+
} else {
|
|
304
|
+
// 消费码
|
|
305
|
+
this.temp_order_id = res.temp_order_id;
|
|
306
|
+
let code_url = this.brandInfo['api_host'] + res.code_url;
|
|
307
|
+
let barcode_url = this.brandInfo['api_host'] + res.barcode_url;
|
|
308
|
+
if (this.isPreview) code_url = res.code_url;
|
|
309
|
+
if (this.isPreview) barcode_url = res.barcode_url;
|
|
310
|
+
this.code_url = code_url;
|
|
311
|
+
this.barcode_url = barcode_url;
|
|
312
|
+
this.barCode = res.payment_code
|
|
313
|
+
this.expiration_sec = res.expiration_sec;
|
|
314
|
+
this.showMask = false;
|
|
315
|
+
this.shopName = res.shop_name;
|
|
316
|
+
clearInterval(this.secondTimer);
|
|
317
|
+
this.secondTimer = setInterval(() => {
|
|
318
|
+
this.expiration_sec--;
|
|
319
|
+
if (this.expiration_sec <= 0) {
|
|
320
|
+
clearInterval(this.secondTimer);
|
|
321
|
+
this.p_getQuickPayQRCode();
|
|
322
|
+
}
|
|
323
|
+
}, 1000);
|
|
324
|
+
resolve();
|
|
325
|
+
}
|
|
326
|
+
|
|
222
327
|
}).catch(err => {
|
|
223
328
|
console.error(err);
|
|
224
329
|
reject(err);
|
|
@@ -226,7 +331,7 @@
|
|
|
226
331
|
})
|
|
227
332
|
},
|
|
228
333
|
p_getQRCodeStatus() {
|
|
229
|
-
jfbRootExec("
|
|
334
|
+
jfbRootExec("getConsumpCodeScanStatus", {
|
|
230
335
|
vm: this,
|
|
231
336
|
data: {
|
|
232
337
|
temp_order_id: this.temp_order_id,
|
|
@@ -265,7 +370,7 @@
|
|
|
265
370
|
})
|
|
266
371
|
},
|
|
267
372
|
p_createOrder() {
|
|
268
|
-
jfbRootExec("
|
|
373
|
+
jfbRootExec("batchConsumpUseCardCreated", {
|
|
269
374
|
vm: this,
|
|
270
375
|
data: {
|
|
271
376
|
temp_order_id: this.temp_order_id,
|
|
@@ -279,7 +384,7 @@
|
|
|
279
384
|
})
|
|
280
385
|
},
|
|
281
386
|
p_getOrderStatus() {
|
|
282
|
-
jfbRootExec("
|
|
387
|
+
jfbRootExec("getConsumpAsyncSubmitStatus", {
|
|
283
388
|
vm: this,
|
|
284
389
|
data: {
|
|
285
390
|
request_order_id: this.request_order_id
|
|
@@ -371,6 +476,131 @@
|
|
|
371
476
|
if (this.validTimer) clearInterval(this.validTimer)
|
|
372
477
|
this.p_getAsyncStep();
|
|
373
478
|
},
|
|
479
|
+
getSettleTagList() {
|
|
480
|
+
this.$xdShowLoading({});
|
|
481
|
+
|
|
482
|
+
jfbRootExec("getConsumpSettleMainInfo", {
|
|
483
|
+
vm: this,
|
|
484
|
+
data: {
|
|
485
|
+
shop_id: this.shop_id,
|
|
486
|
+
}
|
|
487
|
+
}).then(res => {
|
|
488
|
+
this.$xdHideLoading();
|
|
489
|
+
const { settle_tag_list } = res;
|
|
490
|
+
this.settle_tag_list = settle_tag_list;
|
|
491
|
+
if (settle_tag_list.length > 0) {
|
|
492
|
+
this.handlerTagRadio(settle_tag_list[0]);
|
|
493
|
+
this.settle_tag_list_status = false;
|
|
494
|
+
}
|
|
495
|
+
else this.settle_tag_list_status = true;
|
|
496
|
+
}).catch(err => {
|
|
497
|
+
this.$xdHideLoading();
|
|
498
|
+
this.$xdLog.catch(error)
|
|
499
|
+
})
|
|
500
|
+
},
|
|
501
|
+
toPayOrder(options = {}) {
|
|
502
|
+
let { tag_id, total_price, curTag, num = 1, shop_id } = this;
|
|
503
|
+
let err_tip = "";
|
|
504
|
+
if (!curTag.is_static_price) this.price = total_price;
|
|
505
|
+
if (curTag.is_static_price) {
|
|
506
|
+
if (total_price > 10000) {
|
|
507
|
+
err_tip = '金额不能超过10000'
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
let price = this.price;
|
|
511
|
+
if (!price) err_tip = "请填写正确的提货金额";
|
|
512
|
+
if (!tag_id) err_tip = "请选择结算标签";
|
|
513
|
+
if (err_tip) {
|
|
514
|
+
uni.showToast({
|
|
515
|
+
title: err_tip,
|
|
516
|
+
icon: 'none'
|
|
517
|
+
});
|
|
518
|
+
return false;
|
|
519
|
+
}
|
|
520
|
+
if (this.total_price == 0) {
|
|
521
|
+
uni.showToast(
|
|
522
|
+
{
|
|
523
|
+
title: '核销金额不能为0',
|
|
524
|
+
icon: 'none'
|
|
525
|
+
}
|
|
526
|
+
)
|
|
527
|
+
return
|
|
528
|
+
}
|
|
529
|
+
jfbRootExec("addConsumpCashierTempOrderData", {
|
|
530
|
+
vm: this,
|
|
531
|
+
data: {
|
|
532
|
+
shop_id: this.shop_id,
|
|
533
|
+
settle_tag_id: this.tag_id,
|
|
534
|
+
num: this.num,
|
|
535
|
+
settle_tag_price: this.curTagPrice,
|
|
536
|
+
total_price: this.total_price,
|
|
537
|
+
...options
|
|
538
|
+
}
|
|
539
|
+
})
|
|
540
|
+
.then(res => {
|
|
541
|
+
if (res.confirm_notice) {
|
|
542
|
+
return this.useCardPop(res).then(data => {
|
|
543
|
+
if (data == 2) {
|
|
544
|
+
this.toPayOrder({
|
|
545
|
+
is_ignore_unique_check: "Y"
|
|
546
|
+
})
|
|
547
|
+
}
|
|
548
|
+
})
|
|
549
|
+
} else {
|
|
550
|
+
this.price = "";
|
|
551
|
+
let params = {
|
|
552
|
+
...this.options,
|
|
553
|
+
price: price,
|
|
554
|
+
num: num,
|
|
555
|
+
tag: tag_id,
|
|
556
|
+
shop_id: shop_id,
|
|
557
|
+
cart_order_id: res.cart_order_id
|
|
558
|
+
};
|
|
559
|
+
params = this.$xdUniHelper.jsonToParams(params)
|
|
560
|
+
this.$xdUniHelper.navigateTo({
|
|
561
|
+
url: this.cashPayPath + `?${params}`
|
|
562
|
+
})
|
|
563
|
+
}
|
|
564
|
+
})
|
|
565
|
+
.catch(error => {
|
|
566
|
+
console.error(error);
|
|
567
|
+
})
|
|
568
|
+
},
|
|
569
|
+
//选卡弹出项
|
|
570
|
+
useCardPop(data) {
|
|
571
|
+
return new Promise((resolve, reject) => {
|
|
572
|
+
uni.showModal({
|
|
573
|
+
title: '提示',
|
|
574
|
+
content: data.msg,
|
|
575
|
+
// confirmText: data.confirm_text,
|
|
576
|
+
// cancelText: data.cancel_text,
|
|
577
|
+
success: function (res) {
|
|
578
|
+
if (res.confirm) {
|
|
579
|
+
resolve(2);
|
|
580
|
+
} else if (res.cancel) {
|
|
581
|
+
resolve();
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
fail: function (res) {
|
|
585
|
+
reject(res);
|
|
586
|
+
}
|
|
587
|
+
});
|
|
588
|
+
})
|
|
589
|
+
},
|
|
590
|
+
handlerPrice(e) {
|
|
591
|
+
this.$nextTick(() => {
|
|
592
|
+
this.total_price = e.detail.value.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/, '$1');
|
|
593
|
+
if (this.total_price > 10000) {
|
|
594
|
+
this.total_price = 10000
|
|
595
|
+
uni.showToast(
|
|
596
|
+
{
|
|
597
|
+
title: '核销金额不能超过10000',
|
|
598
|
+
icon: 'none'
|
|
599
|
+
}
|
|
600
|
+
)
|
|
601
|
+
}
|
|
602
|
+
})
|
|
603
|
+
},
|
|
374
604
|
handleThirdPay(pay_order_id, main_order_id) {
|
|
375
605
|
let { login_providers = [] } = this.projectAttr;
|
|
376
606
|
let data = {
|
|
@@ -387,7 +617,7 @@
|
|
|
387
617
|
data['pay_success_url'] += this.successPath + `?order_id=${main_order_id}`;
|
|
388
618
|
}
|
|
389
619
|
|
|
390
|
-
jfbRootExec("
|
|
620
|
+
jfbRootExec("setConsumpThirdPlace", {
|
|
391
621
|
vm: this,
|
|
392
622
|
data,
|
|
393
623
|
})
|
|
@@ -396,7 +626,7 @@
|
|
|
396
626
|
const { channel_data } = res;
|
|
397
627
|
const paySignData = JSON.parse(Base64.decode(channel_data));
|
|
398
628
|
this.openTemplatePay(paySignData, (ps) => {
|
|
399
|
-
jfbRootExec("
|
|
629
|
+
jfbRootExec("updateConsumpPay", {
|
|
400
630
|
vm: this,
|
|
401
631
|
data: {
|
|
402
632
|
main_order_id: main_order_id,
|
|
@@ -432,21 +662,36 @@
|
|
|
432
662
|
});
|
|
433
663
|
},
|
|
434
664
|
handleConfirm() {
|
|
435
|
-
//todo 经纬度获取第一个门店
|
|
436
665
|
this.showDialog = false;
|
|
437
666
|
this.p_getAsyncStep();
|
|
438
667
|
},
|
|
668
|
+
handlerTagRadio(item) {
|
|
669
|
+
this.tag_id = item.value;
|
|
670
|
+
this.canEdit = !item.is_static_price;
|
|
671
|
+
this.num = 1;
|
|
672
|
+
if (item.is_static_price) {
|
|
673
|
+
this.total_price = item.price_yuan
|
|
674
|
+
this.price = item.price_yuan
|
|
675
|
+
} else {
|
|
676
|
+
this.total_price = "";
|
|
677
|
+
this.price = "";
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
handleNumberChange(num) {
|
|
681
|
+
let curTag = this.curTag;
|
|
682
|
+
this.total_price = this.$xdUniHelper.multiplyFloatNumber(curTag.price_yuan, num);
|
|
683
|
+
},
|
|
439
684
|
onJfbUnload(options) {
|
|
440
685
|
console.log('event.onJfbUnload', options)
|
|
441
|
-
if(this.secondTimer) clearInterval(this.secondTimer);
|
|
442
|
-
if(this.statusTimer) clearTimeout(this.statusTimer);
|
|
443
|
-
if(this.orderTimer) clearTimeout(this.orderTimer);
|
|
686
|
+
if (this.secondTimer) clearInterval(this.secondTimer);
|
|
687
|
+
if (this.statusTimer) clearTimeout(this.statusTimer);
|
|
688
|
+
if (this.orderTimer) clearTimeout(this.orderTimer);
|
|
444
689
|
},
|
|
445
690
|
onJfbBack(options) {
|
|
446
691
|
console.log('event.onJfbBack', options)
|
|
447
|
-
if(this.secondTimer) clearInterval(this.secondTimer);
|
|
448
|
-
if(this.statusTimer) clearTimeout(this.statusTimer);
|
|
449
|
-
if(this.orderTimer) clearTimeout(this.orderTimer);
|
|
692
|
+
if (this.secondTimer) clearInterval(this.secondTimer);
|
|
693
|
+
if (this.statusTimer) clearTimeout(this.statusTimer);
|
|
694
|
+
if (this.orderTimer) clearTimeout(this.orderTimer);
|
|
450
695
|
},
|
|
451
696
|
onJfbScroll(options) {
|
|
452
697
|
console.log('event.onJfbScroll', options)
|
|
@@ -459,6 +704,9 @@
|
|
|
459
704
|
},
|
|
460
705
|
onJfbHide(options) {
|
|
461
706
|
console.log('event.onJfbHide', options)
|
|
707
|
+
if (this.secondTimer) clearInterval(this.secondTimer);
|
|
708
|
+
if (this.statusTimer) clearTimeout(this.statusTimer);
|
|
709
|
+
if (this.orderTimer) clearTimeout(this.orderTimer);
|
|
462
710
|
},
|
|
463
711
|
onJfbUpdate(...data) {
|
|
464
712
|
console.log('event.onJfbUpdate', data)
|
|
@@ -477,9 +725,9 @@
|
|
|
477
725
|
.jfb-base-consump-code {
|
|
478
726
|
&__body {
|
|
479
727
|
.content-box {
|
|
480
|
-
margin:
|
|
728
|
+
margin: 158rpx 30rpx 0 30rpx;
|
|
481
729
|
background-color: #fff;
|
|
482
|
-
padding:
|
|
730
|
+
padding: 81rpx 32rpx 32rpx 32rpx;
|
|
483
731
|
border-radius: 24rpx;
|
|
484
732
|
position: relative;
|
|
485
733
|
display: flex;
|
|
@@ -488,11 +736,11 @@
|
|
|
488
736
|
justify-content: center;
|
|
489
737
|
|
|
490
738
|
.logo-box {
|
|
491
|
-
width:
|
|
492
|
-
height:
|
|
739
|
+
width: 154rpx;
|
|
740
|
+
height: 154rpx;
|
|
493
741
|
background-color: #fff;
|
|
494
742
|
position: absolute;
|
|
495
|
-
top: -
|
|
743
|
+
top: -100rpx;
|
|
496
744
|
left: 50%;
|
|
497
745
|
transform: translate(-50%, 0);
|
|
498
746
|
display: flex;
|
|
@@ -501,8 +749,8 @@
|
|
|
501
749
|
border-radius: 50%;
|
|
502
750
|
|
|
503
751
|
.logo {
|
|
504
|
-
width:
|
|
505
|
-
height:
|
|
752
|
+
width: 144rpx;
|
|
753
|
+
height: 144rpx;
|
|
506
754
|
border-radius: 50%;
|
|
507
755
|
}
|
|
508
756
|
}
|
|
@@ -511,10 +759,10 @@
|
|
|
511
759
|
|
|
512
760
|
.shop {
|
|
513
761
|
border: 2rpx solid #E6E6E6;
|
|
514
|
-
padding:
|
|
762
|
+
padding: 30rpx 40rpx;
|
|
515
763
|
border-radius: 24rpx;
|
|
516
764
|
color: #fff;
|
|
517
|
-
font-size:
|
|
765
|
+
font-size: 26rpx;
|
|
518
766
|
display: flex;
|
|
519
767
|
justify-content: space-between;
|
|
520
768
|
align-items: center;
|
|
@@ -526,7 +774,7 @@
|
|
|
526
774
|
.bar-code {
|
|
527
775
|
height: 120rpx;
|
|
528
776
|
width: 600rpx;
|
|
529
|
-
margin:
|
|
777
|
+
margin: 38rpx 0 0 0;
|
|
530
778
|
|
|
531
779
|
&-text {
|
|
532
780
|
color: #999999;
|
|
@@ -536,19 +784,23 @@
|
|
|
536
784
|
}
|
|
537
785
|
|
|
538
786
|
.qrcode {
|
|
539
|
-
width:
|
|
540
|
-
height:
|
|
541
|
-
margin:
|
|
787
|
+
width: 272rpx;
|
|
788
|
+
height: 272rpx;
|
|
789
|
+
margin: 54rpx auto 18rpx auto;
|
|
790
|
+
display: flex;
|
|
791
|
+
justify-content: center;
|
|
792
|
+
align-items: center;
|
|
793
|
+
|
|
542
794
|
}
|
|
543
795
|
|
|
544
796
|
.code-refresh {
|
|
545
797
|
color: #999;
|
|
546
798
|
font-size: 24rpx;
|
|
547
|
-
margin-bottom:
|
|
799
|
+
margin-bottom: 36rpx;
|
|
548
800
|
border-bottom: 2rpx dashed #E5E5E5;
|
|
549
801
|
width: 95%;
|
|
550
802
|
text-align: center;
|
|
551
|
-
padding-bottom:
|
|
803
|
+
padding-bottom: 36rpx;
|
|
552
804
|
}
|
|
553
805
|
|
|
554
806
|
.vip {
|
|
@@ -565,9 +817,9 @@
|
|
|
565
817
|
&-left {
|
|
566
818
|
background: linear-gradient(90deg, #665646 0%, #473D34 52.05%, #2B2623 100%);
|
|
567
819
|
color: #EFD5C3;
|
|
568
|
-
font-size:
|
|
820
|
+
font-size: 22rpx;
|
|
569
821
|
border-radius: 74rpx 0rpx 0rpx 74rpx;
|
|
570
|
-
padding:
|
|
822
|
+
padding: 18rpx 18rpx 18rpx 22rpx;
|
|
571
823
|
display: flex;
|
|
572
824
|
align-items: center;
|
|
573
825
|
justify-content: center;
|
|
@@ -576,16 +828,16 @@
|
|
|
576
828
|
&-right {
|
|
577
829
|
background: linear-gradient(270deg, #FCD6B8 0%, #FCEDD7 100%);
|
|
578
830
|
border-radius: 0px 80rpx 80rpx 0px;
|
|
579
|
-
padding:
|
|
580
|
-
font-size:
|
|
831
|
+
padding: 5rpx 32rpx;
|
|
832
|
+
font-size: 22rpx;
|
|
581
833
|
display: flex;
|
|
582
834
|
align-items: center;
|
|
583
835
|
justify-content: center;
|
|
584
836
|
|
|
585
|
-
&>
|
|
837
|
+
&>text {
|
|
586
838
|
color: #D10300;
|
|
587
839
|
font-weight: 700;
|
|
588
|
-
font-size:
|
|
840
|
+
font-size: 43rpx;
|
|
589
841
|
margin-right: 5rpx;
|
|
590
842
|
}
|
|
591
843
|
}
|
|
@@ -597,7 +849,7 @@
|
|
|
597
849
|
font-size: 28rpx;
|
|
598
850
|
align-items: center;
|
|
599
851
|
|
|
600
|
-
&>
|
|
852
|
+
&>text {
|
|
601
853
|
margin: 0 8rpx;
|
|
602
854
|
}
|
|
603
855
|
}
|
|
@@ -614,7 +866,7 @@
|
|
|
614
866
|
align-items: center;
|
|
615
867
|
justify-content: center;
|
|
616
868
|
background: url('https://img-b.jufubao.cn/uploads/20250407/11e6e600ab4395c44d42489bc7b25034.jpg') no-repeat;
|
|
617
|
-
background-size:
|
|
869
|
+
background-size: 100% 100%;
|
|
618
870
|
|
|
619
871
|
&-title {
|
|
620
872
|
font-size: 26rpx;
|
|
@@ -629,6 +881,58 @@
|
|
|
629
881
|
}
|
|
630
882
|
}
|
|
631
883
|
}
|
|
884
|
+
|
|
885
|
+
.verification {
|
|
886
|
+
&-item {
|
|
887
|
+
display: flex;
|
|
888
|
+
margin-top: 60rpx;
|
|
889
|
+
|
|
890
|
+
&-label {
|
|
891
|
+
color: #999999;
|
|
892
|
+
font-size: 30rpx;
|
|
893
|
+
margin-right: 64rpx;
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
&-tags {
|
|
897
|
+
display: flex;
|
|
898
|
+
align-items: flex-start;
|
|
899
|
+
|
|
900
|
+
&>view {
|
|
901
|
+
margin-right: 32rpx;
|
|
902
|
+
font-size: 28rpx;
|
|
903
|
+
border-radius: 12rpx;
|
|
904
|
+
padding: 16rpx 24rpx;
|
|
905
|
+
border: 2rpx solid #EEEEEE;
|
|
906
|
+
color: #CCCCCC;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
&-input {
|
|
912
|
+
display: flex;
|
|
913
|
+
flex-direction: column;
|
|
914
|
+
text-align: center;
|
|
915
|
+
font-size: 28rpx;
|
|
916
|
+
|
|
917
|
+
&>input {
|
|
918
|
+
border-radius: 10rpx;
|
|
919
|
+
border: 2rpx solid #EEEEEE;
|
|
920
|
+
padding: 20rpx 24rpx;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
.tip {
|
|
924
|
+
font-size: 18rpx;
|
|
925
|
+
margin-top: 12rpx;
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
.nodata {
|
|
932
|
+
color: #f00;
|
|
933
|
+
line-height: unit(68, rpx);
|
|
934
|
+
font-size: unit(28, rpx);
|
|
935
|
+
}
|
|
632
936
|
}
|
|
633
937
|
|
|
634
938
|
.dialog-title {
|