jufubao-base 1.0.113-beta2 → 1.0.115
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/JfbBaseCardInfo/JfbBaseCardInfo.vue +37 -18
- package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +37 -17
- package/src/components/JfbBaseConDialog/Api.js +35 -0
- package/src/components/JfbBaseConDialog/Attr.js +13 -0
- package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +169 -6
- package/src/components/JfbBaseConDialog/XdCouCardBind.vue +197 -0
- package/src/components/JfbBaseConList/Attr.js +11 -0
- package/src/components/JfbBaseConList/JfbBaseConList.vue +49 -20
- package/src/components/JfbBaseConList/Mock.js +19 -5
- package/src/components/JfbBasePay/Api.js +3 -2
- package/src/components/JfbBasePay/JfbBasePay.vue +28 -18
- package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +4 -1
package/package.json
CHANGED
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
|
|
107
107
|
<script>
|
|
108
108
|
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
109
|
-
import { jfbRootExec } from "@/utils/xd.event";
|
|
109
|
+
import { jfbRootExec, jfbRootFnExec } from "@/utils/xd.event";
|
|
110
110
|
import { Base64 } from "js-base64";
|
|
111
111
|
import JfbBaseCardInfoMixin from "./JfbBaseCardInfoMixin";
|
|
112
112
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
@@ -162,6 +162,7 @@ export default {
|
|
|
162
162
|
|
|
163
163
|
qrcode: "", //二维码
|
|
164
164
|
showForm: true,
|
|
165
|
+
hasCon: "", //是否有优惠券
|
|
165
166
|
|
|
166
167
|
//页面跳转地址
|
|
167
168
|
backUrl: "",
|
|
@@ -174,6 +175,12 @@ export default {
|
|
|
174
175
|
},
|
|
175
176
|
created() {},
|
|
176
177
|
methods: {
|
|
178
|
+
toShowCouponDialog(){
|
|
179
|
+
// jfbRootFnExec(this, 'onCustomEvent')("@showBaseConDialog", {user_card_number: "10001000001133"})
|
|
180
|
+
if(this.info){
|
|
181
|
+
jfbRootFnExec(this, 'onCustomEvent')("@showBaseConDialog", {user_card_number: this.info.card_number})
|
|
182
|
+
}
|
|
183
|
+
},
|
|
177
184
|
handleToLink(path) {
|
|
178
185
|
if (this.qrcode) {
|
|
179
186
|
jfbRootExec("qrCardBind", {
|
|
@@ -183,14 +190,7 @@ export default {
|
|
|
183
190
|
},
|
|
184
191
|
})
|
|
185
192
|
.then((res) => {
|
|
186
|
-
this
|
|
187
|
-
content: "绑定成功",
|
|
188
|
-
close: () => {
|
|
189
|
-
this.$xdUniHelper.redirectTo({
|
|
190
|
-
url: this.backUrl,
|
|
191
|
-
});
|
|
192
|
-
},
|
|
193
|
-
});
|
|
193
|
+
this.handlerAfterBindCard();
|
|
194
194
|
})
|
|
195
195
|
.catch();
|
|
196
196
|
} else {
|
|
@@ -202,19 +202,32 @@ export default {
|
|
|
202
202
|
},
|
|
203
203
|
})
|
|
204
204
|
.then((res) => {
|
|
205
|
-
|
|
206
|
-
this.$xdAlert({
|
|
207
|
-
content: "绑定成功",
|
|
208
|
-
close: () => {
|
|
209
|
-
this.$xdUniHelper.redirectTo({
|
|
210
|
-
url: this.backUrl,
|
|
211
|
-
});
|
|
212
|
-
},
|
|
213
|
-
});
|
|
205
|
+
this.handlerAfterBindCard();
|
|
214
206
|
})
|
|
215
207
|
.catch();
|
|
216
208
|
}
|
|
217
209
|
},
|
|
210
|
+
handlerAfterBindCard(){
|
|
211
|
+
if(this.hasCon){
|
|
212
|
+
this.toShowCouponDialog();
|
|
213
|
+
this.$bus.$on("onCloseConDialog",(container_id) => {
|
|
214
|
+
if(container_id === this.hasCon){
|
|
215
|
+
this.$xdUniHelper.redirectTo({
|
|
216
|
+
url: this.backUrl,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
})
|
|
220
|
+
}else{
|
|
221
|
+
this.$xdAlert({
|
|
222
|
+
content: "票券绑定成功",
|
|
223
|
+
close: () => {
|
|
224
|
+
this.$xdUniHelper.redirectTo({
|
|
225
|
+
url: this.backUrl,
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
},
|
|
218
231
|
init() {
|
|
219
232
|
this.backUrl = getContainerPropsValue(
|
|
220
233
|
this.container,
|
|
@@ -327,6 +340,12 @@ export default {
|
|
|
327
340
|
onJfbShow(options) {
|
|
328
341
|
this.onJfbLoad(options);
|
|
329
342
|
},
|
|
343
|
+
onJfbCustomEvent({action, data}){
|
|
344
|
+
if(action === 'baseConDialog@hasCon'){
|
|
345
|
+
this.hasCon = data;
|
|
346
|
+
}
|
|
347
|
+
console.log('onJfbCustomEvent',action, data);
|
|
348
|
+
}
|
|
330
349
|
},
|
|
331
350
|
};
|
|
332
351
|
</script>
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
|
|
125
125
|
<script>
|
|
126
126
|
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
127
|
-
import { jfbRootExec } from "@/utils/xd.event";
|
|
127
|
+
import { jfbRootExec, jfbRootFnExec } from "@/utils/xd.event";
|
|
128
128
|
import JfbBaseCardInfoEntryMixin from "./JfbBaseCardInfoEntryMixin";
|
|
129
129
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
130
130
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
@@ -157,6 +157,7 @@ export default {
|
|
|
157
157
|
|
|
158
158
|
qrcode: "", //二维码
|
|
159
159
|
showForm: true,
|
|
160
|
+
hasCon: "",
|
|
160
161
|
|
|
161
162
|
//页面跳转地址
|
|
162
163
|
backUrl: "",
|
|
@@ -175,6 +176,12 @@ export default {
|
|
|
175
176
|
},
|
|
176
177
|
created() {},
|
|
177
178
|
methods: {
|
|
179
|
+
toShowCouponDialog(){
|
|
180
|
+
// jfbRootFnExec(this, 'onCustomEvent')("@showBaseConDialog", {user_card_number: "10001000001133"})
|
|
181
|
+
if(this.info){
|
|
182
|
+
jfbRootFnExec(this, 'onCustomEvent')("@showBaseConDialog", {user_card_number: this.info.card_number})
|
|
183
|
+
}
|
|
184
|
+
},
|
|
178
185
|
handleToLink() {
|
|
179
186
|
if(this.info.card_point===0) {
|
|
180
187
|
this.$xdConfirm({
|
|
@@ -200,14 +207,7 @@ export default {
|
|
|
200
207
|
},
|
|
201
208
|
})
|
|
202
209
|
.then((res) => {
|
|
203
|
-
this
|
|
204
|
-
content: "票券绑定成功",
|
|
205
|
-
close: () => {
|
|
206
|
-
this.$xdUniHelper.redirectTo({
|
|
207
|
-
url: this.backUrl,
|
|
208
|
-
});
|
|
209
|
-
},
|
|
210
|
-
});
|
|
210
|
+
this.handlerAfterBindCard();
|
|
211
211
|
})
|
|
212
212
|
.catch();
|
|
213
213
|
} else {
|
|
@@ -221,18 +221,32 @@ export default {
|
|
|
221
221
|
})
|
|
222
222
|
.then((res) => {
|
|
223
223
|
console.log(this.$xdAlert, "this.$xdAlertfsdfs");
|
|
224
|
-
this
|
|
225
|
-
content: "票券绑定成功",
|
|
226
|
-
close: () => {
|
|
227
|
-
this.$xdUniHelper.redirectTo({
|
|
228
|
-
url: this.backUrl,
|
|
229
|
-
});
|
|
230
|
-
},
|
|
231
|
-
});
|
|
224
|
+
this.handlerAfterBindCard();
|
|
232
225
|
})
|
|
233
226
|
.catch();
|
|
234
227
|
}
|
|
235
228
|
},
|
|
229
|
+
handlerAfterBindCard(){
|
|
230
|
+
if(this.hasCon){
|
|
231
|
+
this.toShowCouponDialog();
|
|
232
|
+
this.$bus.$on("onCloseConDialog",(container_id) => {
|
|
233
|
+
if(container_id === this.hasCon){
|
|
234
|
+
this.$xdUniHelper.redirectTo({
|
|
235
|
+
url: this.backUrl,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
})
|
|
239
|
+
}else{
|
|
240
|
+
this.$xdAlert({
|
|
241
|
+
content: "票券绑定成功",
|
|
242
|
+
close: () => {
|
|
243
|
+
this.$xdUniHelper.redirectTo({
|
|
244
|
+
url: this.backUrl,
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
},
|
|
236
250
|
init() {
|
|
237
251
|
this.backUrl = getContainerPropsValue(
|
|
238
252
|
this.container,
|
|
@@ -362,6 +376,12 @@ export default {
|
|
|
362
376
|
onJfbShow(options) {
|
|
363
377
|
this.onJfbLoad(options);
|
|
364
378
|
},
|
|
379
|
+
onJfbCustomEvent({action, data}){
|
|
380
|
+
if(action === 'baseConDialog@hasCon'){
|
|
381
|
+
this.hasCon = data;
|
|
382
|
+
}
|
|
383
|
+
console.log('onJfbCustomEvent',action, data);
|
|
384
|
+
}
|
|
365
385
|
},
|
|
366
386
|
};
|
|
367
387
|
</script>
|
|
@@ -16,4 +16,39 @@ module.exports = [
|
|
|
16
16
|
isConsole: true,
|
|
17
17
|
disabled: true,
|
|
18
18
|
},
|
|
19
|
+
{
|
|
20
|
+
mapFnName: 'getCouponList', //自定义方法名字(必选)
|
|
21
|
+
title: '获取优惠券列表',
|
|
22
|
+
path: '/sms-coupon/v1/activity-prizes-user/list',
|
|
23
|
+
isRule: false,
|
|
24
|
+
params: {
|
|
25
|
+
distribution_method: ['发放方式 entry=主动发放, homed=首页发放,paid=消费后发放,card_binded=绑定卡后发放', 'String', '选填'],
|
|
26
|
+
namespace: ['业务线', 'String', '必填'],
|
|
27
|
+
},
|
|
28
|
+
isConsole: true,
|
|
29
|
+
disabled: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
mapFnName: 'getAllCoupon', //自定义方法名字(必选)
|
|
33
|
+
title: '领取优惠券',
|
|
34
|
+
path: '/sms-coupon/v1/activity-prizes-user/set',
|
|
35
|
+
isRule: false,
|
|
36
|
+
params: {
|
|
37
|
+
distribution_method: ['发放方式 entry=主动发放, homed=首页发放,paid=消费后发放,card_binded=绑定卡后发放', 'String', '选填'],
|
|
38
|
+
namespace: ['业务线', 'String', '必填'],
|
|
39
|
+
},
|
|
40
|
+
isConsole: true,
|
|
41
|
+
disabled: true,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
mapFnName: 'getCouponResult', //自定义方法名字(必选)
|
|
45
|
+
title: '轮询查询活动结果',
|
|
46
|
+
path: '/sms-coupon/v1/activity-prizes-user/get',
|
|
47
|
+
isRule: false,
|
|
48
|
+
params: {
|
|
49
|
+
tmp_order_number: ['tmp_order_number', 'String', '选填'],
|
|
50
|
+
},
|
|
51
|
+
isConsole: true,
|
|
52
|
+
disabled: true,
|
|
53
|
+
},
|
|
19
54
|
];
|
|
@@ -31,6 +31,19 @@ export default {
|
|
|
31
31
|
{ label: '切换', value: 2 },
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
label: "触发事件:",
|
|
36
|
+
ele: "xd-select-list",
|
|
37
|
+
valueKey: "distribution_method",
|
|
38
|
+
value: data.distribution_method || "",
|
|
39
|
+
placeholder: "请选择触发事件",
|
|
40
|
+
className: 'input80',
|
|
41
|
+
list: [
|
|
42
|
+
{ label: "首页发放", value: "homed" },
|
|
43
|
+
{ label: "支付成功", value: "paid" },
|
|
44
|
+
{ label: "绑卡成功", value: "card_binded" },
|
|
45
|
+
]
|
|
46
|
+
},
|
|
34
47
|
{
|
|
35
48
|
label: '弹窗间隔:',
|
|
36
49
|
ele: 'el-input',
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
</view>
|
|
18
18
|
<!-- #endif -->
|
|
19
19
|
<view class="jfb-base-con-dialog__body">
|
|
20
|
-
<view class="jfb-base-con-dialog__body-dialog"
|
|
20
|
+
<view v-if="isShow" class="jfb-base-con-dialog__body-dialog">
|
|
21
21
|
<view class="jfb-base-con-dialog__body-dialog-mask"></view>
|
|
22
|
-
<view class="jfb-base-con-dialog__body-dialog-content">
|
|
22
|
+
<view v-if="distribution_method !== 'card_binded'" class="jfb-base-con-dialog__body-dialog-content">
|
|
23
23
|
<view v-if="list.length>1" class="jfb-base-con-dialog__body-dialog-content-num">
|
|
24
24
|
<text>{{ currentIndex + 1 }}/{{ list.length }}</text>
|
|
25
25
|
</view>
|
|
@@ -51,7 +51,16 @@
|
|
|
51
51
|
size="64"
|
|
52
52
|
></xd-font-icon>
|
|
53
53
|
</view>
|
|
54
|
+
<view v-else class="jfb-base-con-dialog__body-dialog-content">
|
|
55
|
+
<xd-cou-card-bind
|
|
56
|
+
:list="couponList"
|
|
57
|
+
:setting="couponOther"
|
|
58
|
+
@closeDialog="handleCardBindClose"
|
|
59
|
+
@getCoupont="handleGetCoupon"
|
|
60
|
+
></xd-cou-card-bind>
|
|
61
|
+
</view>
|
|
54
62
|
</view>
|
|
63
|
+
|
|
55
64
|
<view
|
|
56
65
|
:style="{ background: backgroundColor, color: warningColor }"
|
|
57
66
|
class="jfb-base-con-dialog__body-pop"
|
|
@@ -64,7 +73,7 @@
|
|
|
64
73
|
|
|
65
74
|
<script>
|
|
66
75
|
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
67
|
-
import { jfbRootExec, JfbEvent } from "@/utils/xd.event";
|
|
76
|
+
import { jfbRootExec, JfbEvent, jfbRootFnExec } from "@/utils/xd.event";
|
|
68
77
|
import JfbBaseConDialogMixin from "./JfbBaseConDialogMixin";
|
|
69
78
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
70
79
|
import extsMixins from "@/mixins/extsMixins";
|
|
@@ -74,11 +83,13 @@ import colorCardMixins from "@/mixins/colorCardMixins";
|
|
|
74
83
|
const Color = require("color");
|
|
75
84
|
import { mapState } from "vuex";
|
|
76
85
|
import storage from "@/common/storage";
|
|
86
|
+
import XdCouCardBind from "./XdCouCardBind";
|
|
77
87
|
|
|
78
88
|
export default {
|
|
79
89
|
name: "JfbBaseConDialog",
|
|
80
90
|
components: {
|
|
81
91
|
XdFontIcon,
|
|
92
|
+
XdCouCardBind
|
|
82
93
|
},
|
|
83
94
|
mixins: [componentsMixins, extsMixins, JfbBaseConDialogMixin],
|
|
84
95
|
data() {
|
|
@@ -93,6 +104,15 @@ export default {
|
|
|
93
104
|
isPreview: false, //是否预览
|
|
94
105
|
activity_id: "",
|
|
95
106
|
backgroundColor: "",
|
|
107
|
+
distribution_method: "homed", //触发事件
|
|
108
|
+
dispatchData: "", //触发事件参数
|
|
109
|
+
|
|
110
|
+
couponList: [],
|
|
111
|
+
couponOther: {},
|
|
112
|
+
order_num: null,
|
|
113
|
+
timer: null,
|
|
114
|
+
timeNum: 0,
|
|
115
|
+
|
|
96
116
|
};
|
|
97
117
|
},
|
|
98
118
|
computed: {
|
|
@@ -114,6 +134,7 @@ export default {
|
|
|
114
134
|
this.list_url = getContainerPropsValue(value, "content.list_url", {
|
|
115
135
|
value: "",
|
|
116
136
|
}).value;
|
|
137
|
+
this.distribution_method = getContainerPropsValue(value, "content.distribution_method", "homed");
|
|
117
138
|
this.type = getContainerPropsValue(value, "content.type", 1);
|
|
118
139
|
this.isHide = getContainerPropsValue(value, "content.isHide", false);
|
|
119
140
|
this.time = Number(getContainerPropsValue(value, "content.time", 3));
|
|
@@ -121,16 +142,108 @@ export default {
|
|
|
121
142
|
this.isShow = !this.isHide;
|
|
122
143
|
}
|
|
123
144
|
},
|
|
124
|
-
|
|
145
|
+
//领取优惠券
|
|
146
|
+
handleGetCoupon(item){
|
|
147
|
+
this.$xdShowLoading({});
|
|
148
|
+
jfbRootExec("getAllCoupon", {
|
|
149
|
+
vm: this,
|
|
150
|
+
data: {
|
|
151
|
+
prize_id: item.prize_id,
|
|
152
|
+
distribution_method: this.distribution_method,
|
|
153
|
+
...this.dispatchData
|
|
154
|
+
}
|
|
155
|
+
}).then(res => {
|
|
156
|
+
if (res.code == 400) {
|
|
157
|
+
this.$xdHideLoading();
|
|
158
|
+
this.$xdAlert({
|
|
159
|
+
content: res.message,
|
|
160
|
+
zIndex: 3200,
|
|
161
|
+
time: 2000,
|
|
162
|
+
isClose: false,
|
|
163
|
+
});
|
|
164
|
+
this.getDialogList();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
this.order_num = res.tmp_order_number;
|
|
168
|
+
setTimeout(()=>{
|
|
169
|
+
this.getResult();
|
|
170
|
+
},1000)
|
|
171
|
+
}).catch((err) => {
|
|
172
|
+
console.log(err, "err");
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
getResult() {
|
|
176
|
+
jfbRootExec("getCouponResult", {
|
|
177
|
+
vm: this,
|
|
178
|
+
data: {
|
|
179
|
+
tmp_order_number: this.order_num,
|
|
180
|
+
...this.dispatchData
|
|
181
|
+
},
|
|
182
|
+
})
|
|
183
|
+
.then((res) => {
|
|
184
|
+
if (res.status_type === "success") {
|
|
185
|
+
this.order_num = null;
|
|
186
|
+
this.$xdHideLoading();
|
|
187
|
+
this.$xdAlert({
|
|
188
|
+
content: "领取成功",
|
|
189
|
+
zIndex: 3200,
|
|
190
|
+
time: 2000,
|
|
191
|
+
isClose: false,
|
|
192
|
+
});
|
|
193
|
+
this.getDialogList();
|
|
194
|
+
if (this.timer) {
|
|
195
|
+
this.timeNum = 0;
|
|
196
|
+
clearTimeout(this.timer);
|
|
197
|
+
}
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (res.status_type === "error") {
|
|
201
|
+
this.$xdHideLoading();
|
|
202
|
+
this.$xdAlert({
|
|
203
|
+
content: res.message,
|
|
204
|
+
zIndex: 3200,
|
|
205
|
+
time: 2000,
|
|
206
|
+
isClose: false,
|
|
207
|
+
});
|
|
208
|
+
if (res.code == 400) {
|
|
209
|
+
this.getDialogList();
|
|
210
|
+
}
|
|
211
|
+
if (this.timer) {
|
|
212
|
+
this.timeNum = 0;
|
|
213
|
+
clearTimeout(this.timer);
|
|
214
|
+
}
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
this.timer = setTimeout(() => {
|
|
219
|
+
this.getResult();
|
|
220
|
+
if (this.timeNum > 5) {
|
|
221
|
+
this.$xdLog.setARMSInfo(
|
|
222
|
+
{ message: "领取中" },
|
|
223
|
+
`pay_${res.status_type}`
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
this.timeNum++;
|
|
227
|
+
}, Math.pow(2, this.timeNum > 5 ? 5 : this.timeNum) * 1000);
|
|
228
|
+
})
|
|
229
|
+
.catch((err) => {
|
|
230
|
+
this.$xdHideLoading();
|
|
231
|
+
console.log(err, "err");
|
|
232
|
+
});
|
|
233
|
+
},
|
|
234
|
+
p_getDialogList(){
|
|
125
235
|
jfbRootExec("getCouponDialogList", {
|
|
126
236
|
vm: this,
|
|
127
237
|
data: {
|
|
128
238
|
namespace: this.pageBusinessCode,
|
|
239
|
+
distribution_method: this.distribution_method,
|
|
240
|
+
...this.dispatchData
|
|
129
241
|
},
|
|
130
242
|
})
|
|
131
243
|
.then((res) => {
|
|
132
244
|
console.log(res, "resresres");
|
|
133
245
|
this.list = res.list;
|
|
246
|
+
if(res.list.length === 0) return;
|
|
134
247
|
this.currentImage = getServiceUrl(
|
|
135
248
|
this.list[this.currentIndex].app_activity_url
|
|
136
249
|
);
|
|
@@ -144,6 +257,31 @@ export default {
|
|
|
144
257
|
console.log(err, "err");
|
|
145
258
|
});
|
|
146
259
|
},
|
|
260
|
+
p_getCouponList(){
|
|
261
|
+
jfbRootExec("getCouponList", {
|
|
262
|
+
vm: this,
|
|
263
|
+
data: {
|
|
264
|
+
distribution_method: this.distribution_method,
|
|
265
|
+
...this.dispatchData
|
|
266
|
+
}
|
|
267
|
+
}).then(res => {
|
|
268
|
+
const { list, ...other } = res;
|
|
269
|
+
this.couponList = list;
|
|
270
|
+
this.couponOther = other;
|
|
271
|
+
if(res.can_take === "Y" && res.has_times === "Y" && list.length > 0){
|
|
272
|
+
this.isShow = true;
|
|
273
|
+
}else{
|
|
274
|
+
this.handleCardBindClose();
|
|
275
|
+
}
|
|
276
|
+
})
|
|
277
|
+
},
|
|
278
|
+
getDialogList() {
|
|
279
|
+
if(this.distribution_method === 'card_binded'){
|
|
280
|
+
this.p_getCouponList();
|
|
281
|
+
}else{
|
|
282
|
+
this.p_getDialogList();
|
|
283
|
+
}
|
|
284
|
+
},
|
|
147
285
|
handlePop() {
|
|
148
286
|
console.log("this.time", this.time * 60 + "分钟");
|
|
149
287
|
storage.set(this.containerId, 1, this.time);
|
|
@@ -151,12 +289,23 @@ export default {
|
|
|
151
289
|
},
|
|
152
290
|
onJfbLoad(options) {
|
|
153
291
|
console.log(11111);
|
|
292
|
+
//支付跟绑卡是主动触发
|
|
154
293
|
try {
|
|
155
|
-
if (!storage.get(this.containerId)
|
|
294
|
+
if (!storage.get(this.containerId) &&
|
|
295
|
+
this.distribution_method !== "paid" &&
|
|
296
|
+
this.distribution_method !== "card_binded") this.getDialogList();
|
|
156
297
|
} catch (error) {
|
|
157
298
|
console.log(error, "errorerror");
|
|
158
299
|
}
|
|
300
|
+
if(this.distribution_method === 'card_binded'){
|
|
301
|
+
jfbRootFnExec(this, 'onCustomEvent')("baseConDialog@hasCon", this.containerId);
|
|
302
|
+
}
|
|
159
303
|
},
|
|
304
|
+
handleCardBindClose(){
|
|
305
|
+
this.isShow = false;
|
|
306
|
+
this.$bus.$emit("onCloseConDialog", this.containerId);
|
|
307
|
+
},
|
|
308
|
+
|
|
160
309
|
onJfbUpdate(data) {
|
|
161
310
|
storage.remove(this.containerId);
|
|
162
311
|
this.getDialogList();
|
|
@@ -166,8 +315,15 @@ export default {
|
|
|
166
315
|
this.onJfbLoad(options);
|
|
167
316
|
},
|
|
168
317
|
handleToList() {
|
|
318
|
+
let otherParams = "";
|
|
319
|
+
try {
|
|
320
|
+
if(this.dispatchData && this.$xdUniHelper.checkVarType(this.dispatchData) === 'object') {
|
|
321
|
+
otherParams = this.$xdUniHelper.jsonToParams(this.dispatchData);
|
|
322
|
+
}
|
|
323
|
+
} catch (error) {}
|
|
324
|
+
|
|
169
325
|
this.$xdUniHelper.navigateTo({
|
|
170
|
-
url: `${this.list_url}?activity_id=${this.activity_id}&distribution_method
|
|
326
|
+
url: `${this.list_url}?activity_id=${this.activity_id}&distribution_method=${this.distribution_method}&${otherParams}`,
|
|
171
327
|
});
|
|
172
328
|
},
|
|
173
329
|
handleClose() {
|
|
@@ -201,6 +357,13 @@ export default {
|
|
|
201
357
|
);
|
|
202
358
|
this.activity_id = this.list[this.currentIndex].activity_id;
|
|
203
359
|
},
|
|
360
|
+
onJfbCustomEvent({action, data}){
|
|
361
|
+
if(action === '@showBaseConDialog'){
|
|
362
|
+
this.dispatchData = data;
|
|
363
|
+
this.getDialogList();
|
|
364
|
+
}
|
|
365
|
+
console.log('onJfbCustomEvent',action, data);
|
|
366
|
+
}
|
|
204
367
|
},
|
|
205
368
|
};
|
|
206
369
|
</script>
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<view class="xd-cou-card-bind">
|
|
3
|
+
<view class="ticket_box" :style="{
|
|
4
|
+
backgroundImage: dialogBackground
|
|
5
|
+
}">
|
|
6
|
+
<view class="ticket_list">
|
|
7
|
+
<view class="ticket_item" :class="item.can_take_num"
|
|
8
|
+
v-for="(item,i) in uiList" :key="i"
|
|
9
|
+
:style="{backgroundImage: item.backgroundImage}"
|
|
10
|
+
>
|
|
11
|
+
<view class="ticket_names">
|
|
12
|
+
<view class="name_main">{{item.prize_type}}</view>
|
|
13
|
+
<view class="name_sub">{{item.prize_name}}</view>
|
|
14
|
+
</view>
|
|
15
|
+
<view class="name_tit">{{item.prize_name}}</view>
|
|
16
|
+
<xd-font-icon class="ticket_icon" :icon="item.icon"></xd-font-icon>
|
|
17
|
+
<view class="btn">
|
|
18
|
+
<xd-button
|
|
19
|
+
size="small"
|
|
20
|
+
type="primary"
|
|
21
|
+
:disabled="item.remain_card_count == 0"
|
|
22
|
+
:style="{
|
|
23
|
+
backgroundImage: item.btnImage
|
|
24
|
+
}"
|
|
25
|
+
@click="getCoupont(item)"
|
|
26
|
+
>{{item.btn_txt}}</xd-button>
|
|
27
|
+
</view>
|
|
28
|
+
</view>
|
|
29
|
+
</view>
|
|
30
|
+
</view>
|
|
31
|
+
|
|
32
|
+
<xd-font-icon
|
|
33
|
+
@click="handleClose"
|
|
34
|
+
class="dialog_close"
|
|
35
|
+
icon="iconguanbi_xian"
|
|
36
|
+
color="#fff"
|
|
37
|
+
size="64"
|
|
38
|
+
></xd-font-icon>
|
|
39
|
+
</view>
|
|
40
|
+
</template>
|
|
41
|
+
<script>
|
|
42
|
+
import XdButton from "@/components/XdButton/XdButton";
|
|
43
|
+
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
44
|
+
import getServiceUrl from "@/common/getServiceUrl";
|
|
45
|
+
export default{
|
|
46
|
+
name: "XdCouCardBind",
|
|
47
|
+
components: {
|
|
48
|
+
XdButton,
|
|
49
|
+
XdFontIcon
|
|
50
|
+
},
|
|
51
|
+
props: {
|
|
52
|
+
list: {
|
|
53
|
+
type: Array,
|
|
54
|
+
default(){
|
|
55
|
+
return []
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
setting: {}
|
|
59
|
+
},
|
|
60
|
+
computed: {
|
|
61
|
+
uiList(){
|
|
62
|
+
return this.list.map(item => {
|
|
63
|
+
let mapArr = {"Y": "去查看", "P": "领取", "N": "已发完"}
|
|
64
|
+
item.btn_txt = mapArr[item.can_take_num];
|
|
65
|
+
if(item.can_take_num === "Y" || item.can_take_num === "P"){
|
|
66
|
+
item.backgroundImage = `url(${getServiceUrl(this.setting.app_coupon_url)})`;
|
|
67
|
+
item.btnImage = `url(${getServiceUrl(this.setting.app_coupon_button_bg_url)})`;
|
|
68
|
+
item.icon = item.can_take_num === "Y" ? "iconyilingqu" : "icondailingqu";
|
|
69
|
+
}else if(item.can_take_num === "N"){
|
|
70
|
+
item.backgroundImage = `url(${getServiceUrl(this.setting.app_coupon_invalid_url)})`;
|
|
71
|
+
item.btnImage = "";
|
|
72
|
+
item.icon = "iconyifawan";
|
|
73
|
+
}
|
|
74
|
+
return item;
|
|
75
|
+
})
|
|
76
|
+
},
|
|
77
|
+
dialogBackground(){
|
|
78
|
+
return `url(${getServiceUrl(this.setting.background)})`;
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
data(){
|
|
82
|
+
return {
|
|
83
|
+
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
methods: {
|
|
87
|
+
//领取优惠券
|
|
88
|
+
getCoupont(item){
|
|
89
|
+
if(item.can_take_num === "P"){
|
|
90
|
+
this.$emit("getCoupont", item);
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
handleClose(){
|
|
94
|
+
this.$emit("closeDialog");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
</script>
|
|
99
|
+
|
|
100
|
+
<style lang="less" scoped>
|
|
101
|
+
@ticketHeight: 180rpx;
|
|
102
|
+
@bgHeight: @ticketHeight - 40rpx;
|
|
103
|
+
.xd-cou-card-bind{
|
|
104
|
+
width: 600rpx;
|
|
105
|
+
max-height: 900rpx;
|
|
106
|
+
padding-bottom: 80rpx;
|
|
107
|
+
.ticket_box{
|
|
108
|
+
background-color: #fff;
|
|
109
|
+
background-size: 100% auto;
|
|
110
|
+
background-repeat: no-repeat;
|
|
111
|
+
padding-top: 200rpx;
|
|
112
|
+
border-radius: 20rpx;
|
|
113
|
+
box-sizing: border-box;
|
|
114
|
+
padding-bottom: 20rpx;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.ticket_item{
|
|
118
|
+
display: flex;
|
|
119
|
+
position: relative;
|
|
120
|
+
width: 540rpx;
|
|
121
|
+
height: @ticketHeight;
|
|
122
|
+
margin: 20rpx auto;
|
|
123
|
+
border-radius: 20rpx;
|
|
124
|
+
padding: 30rpx;
|
|
125
|
+
box-sizing: border-box;
|
|
126
|
+
background: #EEEEEE url("//sandbox-img.jufubao.cn/uploads/20231205/fee9b644b83495c9ba8a4db277600b54.jpg") no-repeat;
|
|
127
|
+
background-size: auto @bgHeight;
|
|
128
|
+
background-position: 30rpx center;
|
|
129
|
+
|
|
130
|
+
&.P,
|
|
131
|
+
&.Y{
|
|
132
|
+
|
|
133
|
+
}
|
|
134
|
+
&.N{
|
|
135
|
+
.ticket_names{
|
|
136
|
+
.name_main{
|
|
137
|
+
color: #BBBBBB;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
.ticket_icon{
|
|
141
|
+
color: #D6D6D6;
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
.btn{
|
|
145
|
+
.xd-button{
|
|
146
|
+
background-color: #DDDDDD !important;
|
|
147
|
+
color: #999999 !important;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
.name_tit{
|
|
152
|
+
font-size: 28rpx;
|
|
153
|
+
margin-left: 20rpx;
|
|
154
|
+
}
|
|
155
|
+
.ticket_names{
|
|
156
|
+
width: 168rpx;
|
|
157
|
+
height: 120rpx;
|
|
158
|
+
text-align: center;
|
|
159
|
+
font-size: 28rpx;
|
|
160
|
+
.name_main{
|
|
161
|
+
margin-bottom: 26rpx;
|
|
162
|
+
margin-top: 20rpx;
|
|
163
|
+
color: #fb5b3f;
|
|
164
|
+
}
|
|
165
|
+
.name_sub{
|
|
166
|
+
font-size: 24rpx;
|
|
167
|
+
color: #FFFFFF;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
.ticket_icon{
|
|
171
|
+
font-size: 80rpx !important;
|
|
172
|
+
position: absolute;
|
|
173
|
+
top: 0;
|
|
174
|
+
right: 0;
|
|
175
|
+
}
|
|
176
|
+
.btn{
|
|
177
|
+
position: absolute;
|
|
178
|
+
right: 20rpx;
|
|
179
|
+
bottom: 20rpx;
|
|
180
|
+
.xd-button{
|
|
181
|
+
height: 30rpx;
|
|
182
|
+
width: 100rpx;
|
|
183
|
+
font-size: 28rpx;
|
|
184
|
+
background-size: cover !important;
|
|
185
|
+
background-color: #fb5b3f;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
}
|
|
190
|
+
.dialog_close{
|
|
191
|
+
position: absolute;
|
|
192
|
+
bottom: 0rpx;
|
|
193
|
+
left: 50%;
|
|
194
|
+
transform: translateX(-50%);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
</style>
|
|
@@ -6,6 +6,17 @@
|
|
|
6
6
|
export default {
|
|
7
7
|
style: [],
|
|
8
8
|
content: [
|
|
9
|
+
{
|
|
10
|
+
label: '查看已领票券路径:', //label
|
|
11
|
+
ele: 'xd-select-pages-path', //package 名称
|
|
12
|
+
valueKey: 'collectedPath', //form[valueKey]
|
|
13
|
+
placeholder: '请选择查看已领票券路径',
|
|
14
|
+
value: null,
|
|
15
|
+
setting: {
|
|
16
|
+
router: XdBus.getParentApi('getPagesTree'),
|
|
17
|
+
},
|
|
18
|
+
inline: false,
|
|
19
|
+
},
|
|
9
20
|
// {
|
|
10
21
|
// label: '领券规则:',
|
|
11
22
|
// ele: 'xd-site-news',
|
|
@@ -16,15 +16,14 @@
|
|
|
16
16
|
<view class="jfb-base-con-list__edit-icon" @click="delEdit">删除</view>
|
|
17
17
|
</view>
|
|
18
18
|
<!-- #endif -->
|
|
19
|
-
<view class="jfb-base-con-list__body" v-if="done"
|
|
19
|
+
<view class="jfb-base-con-list__body" v-if="done" :style="{
|
|
20
|
+
backgroundImage: `url(${background})`,
|
|
21
|
+
backgroundSize: '100%',
|
|
22
|
+
backgroundRepeat: 'no-repeat',
|
|
23
|
+
minHeight: `${layoutInfo.bodyMinHeightRpx}rpx`,
|
|
24
|
+
}">
|
|
20
25
|
<view
|
|
21
26
|
v-if="couponList&&couponList.length > 0"
|
|
22
|
-
:style="{
|
|
23
|
-
backgroundImage: `url(${background})`,
|
|
24
|
-
backgroundSize: '100%',
|
|
25
|
-
backgroundRepeat: 'no-repeat',
|
|
26
|
-
height: `${layoutInfo.bodyMinHeightRpx}rpx`,
|
|
27
|
-
}"
|
|
28
27
|
>
|
|
29
28
|
<view class="jfb-base-con-list__body-content">
|
|
30
29
|
<view class="jfb-base-con-list__body-content-header">
|
|
@@ -41,7 +40,7 @@
|
|
|
41
40
|
<xd-font-icon size="20" icon="iconxiangyou_xian"></xd-font-icon>
|
|
42
41
|
</view>
|
|
43
42
|
</view>
|
|
44
|
-
<view class="jfb-base-con-list__body-content-list">
|
|
43
|
+
<view v-if="can_take === 'Y' && has_times === 'Y'" class="jfb-base-con-list__body-content-list">
|
|
45
44
|
<view v-for="(item, index) in couponList" :key="index">
|
|
46
45
|
<view
|
|
47
46
|
class="jfb-base-con-list__body-content-list-item"
|
|
@@ -106,29 +105,31 @@
|
|
|
106
105
|
<view></view>
|
|
107
106
|
|
|
108
107
|
<xd-button
|
|
109
|
-
v-if="item.can_take_num !== 'Y'"
|
|
110
108
|
size="small"
|
|
111
|
-
:disabled="item.remain_card_count == 0"
|
|
109
|
+
:disabled="item.can_take_num !=='Y' && item.remain_card_count == 0"
|
|
112
110
|
@click="getCoupont(item)"
|
|
113
111
|
type="primary"
|
|
112
|
+
style="width: 170rpx;height: 60rpx;"
|
|
114
113
|
:style="item.btn"
|
|
115
114
|
:color="item.infoColor"
|
|
116
|
-
|
|
117
|
-
>
|
|
115
|
+
>{{ item.btn_txt }}</xd-button>
|
|
118
116
|
</view>
|
|
119
117
|
</view>
|
|
120
118
|
</view>
|
|
121
119
|
</view>
|
|
122
120
|
</view>
|
|
123
|
-
<view class="jfb-base-con-list__body-content-
|
|
124
|
-
|
|
125
|
-
>
|
|
121
|
+
<view v-else class="jfb-base-con-list__body-content-list" style="padding-bottom: 60rpx;">
|
|
122
|
+
<image mode="widthFix" :src="used_up_url"></image>
|
|
123
|
+
</view>
|
|
126
124
|
</view>
|
|
125
|
+
<view class="jfb-base-con-list__body-content-foot"
|
|
126
|
+
@click="toCoupon"
|
|
127
|
+
>查看已领票券</view
|
|
128
|
+
>
|
|
127
129
|
</view>
|
|
128
130
|
<view
|
|
129
131
|
v-else
|
|
130
132
|
class="empty_data"
|
|
131
|
-
:style="{ minHeight: layoutInfo.bodyMinHeightPx + 'px' }"
|
|
132
133
|
>
|
|
133
134
|
<image :src="emptyBg"></image>
|
|
134
135
|
{{ message }}
|
|
@@ -180,6 +181,9 @@ export default {
|
|
|
180
181
|
activity_id: "",
|
|
181
182
|
background: "",
|
|
182
183
|
app_coupon_url: "",
|
|
184
|
+
used_up_url: "",
|
|
185
|
+
can_take: "",
|
|
186
|
+
has_times: "",
|
|
183
187
|
method: "entry",
|
|
184
188
|
maxTime: 5, //最长轮询2的N次方(秒)
|
|
185
189
|
date: 2, //时间底数
|
|
@@ -188,6 +192,9 @@ export default {
|
|
|
188
192
|
order_num: null,
|
|
189
193
|
done: false,
|
|
190
194
|
message: "",
|
|
195
|
+
options: {},
|
|
196
|
+
|
|
197
|
+
collectedPath: "",
|
|
191
198
|
};
|
|
192
199
|
},
|
|
193
200
|
computed: {
|
|
@@ -213,11 +220,13 @@ export default {
|
|
|
213
220
|
init(value) {
|
|
214
221
|
this.contentBackground = '#FFF8F8';
|
|
215
222
|
this.iconColor = '#FF4D4A';
|
|
223
|
+
this.collectedPath = getContainerPropsValue(value, "content.collectedPath", {value: ''}).value;
|
|
216
224
|
},
|
|
217
225
|
getList() {
|
|
218
226
|
jfbRootExec("getCouponList", {
|
|
219
227
|
vm: this,
|
|
220
228
|
data: {
|
|
229
|
+
...this.options,
|
|
221
230
|
distribution_method: this.method,
|
|
222
231
|
namespace: this.pageBusinessCode,
|
|
223
232
|
activity_id: this.activity_id,
|
|
@@ -225,16 +234,22 @@ export default {
|
|
|
225
234
|
})
|
|
226
235
|
.then((res) => {
|
|
227
236
|
this.background = getServiceUrl(res.background);
|
|
237
|
+
this.used_up_url = res.used_up_url && getServiceUrl(res.used_up_url);
|
|
238
|
+
this.can_take = res.can_take;
|
|
239
|
+
this.has_times = res.has_times;
|
|
240
|
+
|
|
228
241
|
this.couponList =
|
|
229
242
|
res.list &&
|
|
230
243
|
res.list.length > 0 &&
|
|
231
244
|
res.list.map((item) => {
|
|
245
|
+
let mapArr = {"Y": "去查看", "P": "领取", "N": "已发完"}
|
|
246
|
+
item.btn_txt = mapArr[item.can_take_num];
|
|
232
247
|
if (item.can_take_num === "Y" || item.can_take_num === "P") {
|
|
233
248
|
//按钮样式
|
|
234
249
|
item.btn = res.app_coupon_button_bg_url
|
|
235
250
|
? {
|
|
236
251
|
backgroundImage: `url(${getServiceUrl(
|
|
237
|
-
res.app_coupon_button_bg_url
|
|
252
|
+
item.can_take_num === "Y" ? res.app_coupon_button_see_url : res.app_coupon_button_bg_url
|
|
238
253
|
)})`,
|
|
239
254
|
backgroundSize: "100%",
|
|
240
255
|
backgroundRepeat: "no-repeat",
|
|
@@ -288,11 +303,21 @@ export default {
|
|
|
288
303
|
console.log(err, "err");
|
|
289
304
|
});
|
|
290
305
|
},
|
|
306
|
+
toCoupon(){
|
|
307
|
+
this.$xdUniHelper.navigateTo({
|
|
308
|
+
url: this.collectedPath,
|
|
309
|
+
});
|
|
310
|
+
},
|
|
291
311
|
getCoupont(item) {
|
|
312
|
+
if(item.can_take_num === "Y") {
|
|
313
|
+
this.toCoupon();
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
292
316
|
this.$xdShowLoading({});
|
|
293
317
|
jfbRootExec("getAllCoupon", {
|
|
294
318
|
vm: this,
|
|
295
319
|
data: {
|
|
320
|
+
...this.options,
|
|
296
321
|
distribution_method: this.method,
|
|
297
322
|
namespace: this.pageBusinessCode,
|
|
298
323
|
activity_id: this.activity_id,
|
|
@@ -324,11 +349,13 @@ export default {
|
|
|
324
349
|
jfbRootExec("getCouponResult", {
|
|
325
350
|
vm: this,
|
|
326
351
|
data: {
|
|
352
|
+
...this.options,
|
|
327
353
|
tmp_order_number: this.order_num,
|
|
328
354
|
},
|
|
329
355
|
})
|
|
330
356
|
.then((res) => {
|
|
331
357
|
if (res.status_type === "success") {
|
|
358
|
+
this.order_num = null;
|
|
332
359
|
this.$xdHideLoading();
|
|
333
360
|
this.$xdAlert({
|
|
334
361
|
content: "领取成功",
|
|
@@ -398,6 +425,7 @@ export default {
|
|
|
398
425
|
// },
|
|
399
426
|
onJfbLoad(options) {
|
|
400
427
|
console.log(this.pageBusinessCode, "pageNamespace");
|
|
428
|
+
this.options = options;
|
|
401
429
|
this.activity_id = options.activity_id;
|
|
402
430
|
this.method = options.distribution_method
|
|
403
431
|
? options.distribution_method
|
|
@@ -438,6 +466,9 @@ export default {
|
|
|
438
466
|
&__body {
|
|
439
467
|
position: relative;
|
|
440
468
|
overflow-y: auto;
|
|
469
|
+
padding-top: 220rpx;
|
|
470
|
+
box-sizing: border-box;
|
|
471
|
+
background-color: #FAFAFA;
|
|
441
472
|
.empty_data {
|
|
442
473
|
text-align: center;
|
|
443
474
|
color: #999999;
|
|
@@ -455,8 +486,6 @@ export default {
|
|
|
455
486
|
border-radius: unit(20, rpx);
|
|
456
487
|
background: #fff;
|
|
457
488
|
padding: unit(34, rpx);
|
|
458
|
-
position: relative;
|
|
459
|
-
top: unit(164, rpx);
|
|
460
489
|
margin-right: auto;
|
|
461
490
|
margin-left: auto;
|
|
462
491
|
width: unit(650, rpx);
|
|
@@ -534,7 +563,7 @@ export default {
|
|
|
534
563
|
color: #a6a6a6;
|
|
535
564
|
font-size: unit(24, rpx);
|
|
536
565
|
text-align: center;
|
|
537
|
-
margin
|
|
566
|
+
margin: unit(40, rpx) 0;
|
|
538
567
|
}
|
|
539
568
|
}
|
|
540
569
|
}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
-
getCouponList: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
getCouponList: {
|
|
5
|
+
"list":[
|
|
6
|
+
{"prize_id":153,"prize_name":"满50减50","prize_type":"满减券","prize_num":1,"can_take":"Y","is_over":"N","can_take_num":"P","today_times":1,"today_num":0,"total_times":1,"total_num":0,"remain_card_count":55},
|
|
7
|
+
{"prize_id":153,"prize_name":"满50减50","prize_type":"满减券","prize_num":1,"can_take":"Y","is_over":"N","can_take_num":"P","today_times":1,"today_num":0,"total_times":1,"total_num":0,"remain_card_count":55},
|
|
8
|
+
{"prize_id":153,"prize_name":"满50减50","prize_type":"满减券","prize_num":1,"can_take":"Y","is_over":"N","can_take_num":"P","today_times":1,"today_num":0,"total_times":1,"total_num":0,"remain_card_count":55}
|
|
9
|
+
],
|
|
10
|
+
"background":"//sandbox-img.jufubao.cn/uploads/20231204/96b801e0dc27422c183dc90d905dd2ed.jpg",
|
|
11
|
+
"used_up_url": "",
|
|
12
|
+
"has_times": "Y",
|
|
13
|
+
"can_take":"Y",
|
|
14
|
+
"message":"",
|
|
15
|
+
"app_coupon_url":"//sandbox-img.jufubao.cn/uploads/20231205/fee9b644b83495c9ba8a4db277600b54.jpg",
|
|
16
|
+
"app_activity_button":"//sandbox-img.jufubao.cn/uploads/20231207/35f3065b2b2bc3fc2dda73d7b5b9eae8.jpg",
|
|
17
|
+
"app_coupon_button_bg_url":"//sandbox-img.jufubao.cn/uploads/20231212/026a3ea901f87f51b531d06c24604676.png",
|
|
18
|
+
"app_coupon_button_see_url": "//sandbox-img.jufubao.cn/uploads/20231212/026a3ea901f87f51b531d06c24604676.png",
|
|
19
|
+
"app_coupon_invalid_url":"//sandbox-img.jufubao.cn/uploads/20231208/8b153ce4870686a37295c16fbc992235.jpg",
|
|
20
|
+
"rule":"<p>打发·</p>",
|
|
21
|
+
"request_id":"a2603f2a480485f4"
|
|
22
|
+
},
|
|
9
23
|
getAllCoupon: {
|
|
10
24
|
"request_id": "5987aa28c709d4ef"
|
|
11
25
|
}
|
|
@@ -23,9 +23,10 @@ module.exports = [
|
|
|
23
23
|
disabled: true,
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
mapFnName: '
|
|
26
|
+
mapFnName: 'getBaseOrderStatus', //自定义方法名字(必选)
|
|
27
27
|
title: '获取订单详情',
|
|
28
|
-
path: '/order/v1/order/detail',
|
|
28
|
+
// path: '/order/v1/order/detail',
|
|
29
|
+
path: "/order/v1/order/pay-status",
|
|
29
30
|
isRule: false,
|
|
30
31
|
params: {
|
|
31
32
|
main_order_id: ['id', 'Number', '必选'],
|
|
@@ -297,23 +297,29 @@ export default {
|
|
|
297
297
|
return time;
|
|
298
298
|
},
|
|
299
299
|
p_getBaseOrderDetail(){
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
300
|
+
return new Promise((resolve, reject) => {
|
|
301
|
+
jfbRootExec("getBaseOrderStatus", {
|
|
302
|
+
vm: this,
|
|
303
|
+
data: {
|
|
304
|
+
main_order_id: this.main_order_id,
|
|
305
|
+
}
|
|
306
|
+
}).then(res => {
|
|
307
|
+
let { is_can_pay, can_pay_message } = res.can_pay_info
|
|
308
|
+
this.is_can_pay = is_can_pay;
|
|
309
|
+
this.can_pay_message = can_pay_message;
|
|
310
|
+
if(is_can_pay !== "Y"){
|
|
311
|
+
uni.showToast({
|
|
312
|
+
title: can_pay_message,
|
|
313
|
+
icon: 'none',
|
|
314
|
+
duration: 3000
|
|
315
|
+
});
|
|
316
|
+
reject();
|
|
317
|
+
// this.$xdNavigateBack()
|
|
318
|
+
}
|
|
319
|
+
resolve();
|
|
320
|
+
}).catch(err => {
|
|
321
|
+
reject();
|
|
322
|
+
})
|
|
317
323
|
})
|
|
318
324
|
},
|
|
319
325
|
p_getPayOrderDetail() {
|
|
@@ -358,8 +364,12 @@ export default {
|
|
|
358
364
|
});
|
|
359
365
|
},
|
|
360
366
|
//第三方支付
|
|
361
|
-
doThirdPay() {
|
|
367
|
+
async doThirdPay() {
|
|
362
368
|
if (this.$configProject.isPreview) return;
|
|
369
|
+
|
|
370
|
+
if(this.type !== 'recharge') {
|
|
371
|
+
await this.p_getBaseOrderDetail();
|
|
372
|
+
}
|
|
363
373
|
const {channel_provider_id, order_id, payInfo} = this;
|
|
364
374
|
let {login_providers = []} = this.projectAttr;
|
|
365
375
|
console.log(this.projectAttr)
|
|
@@ -321,7 +321,7 @@ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
|
321
321
|
import XdDailog from "@/components/XdDailog/XdDailog";
|
|
322
322
|
import XdButton from "@/components/XdButton/XdButton";
|
|
323
323
|
import XdUnit from "@/components/XdUnit/XdUnit";
|
|
324
|
-
import { jfbRootExec } from "@/utils/xd.event";
|
|
324
|
+
import { jfbRootExec, jfbRootFnExec } from "@/utils/xd.event";
|
|
325
325
|
import JfbBaseSuccessMixin from "./JfbBaseSuccessMixin";
|
|
326
326
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
327
327
|
import extsMixins from "@/mixins/extsMixins";
|
|
@@ -495,6 +495,9 @@ export default {
|
|
|
495
495
|
},
|
|
496
496
|
})
|
|
497
497
|
.then((res) => {
|
|
498
|
+
if(res.status.status_type === 'success') {
|
|
499
|
+
jfbRootFnExec(this, 'onCustomEvent')("@showBaseConDialog", {order_number: this.order_id});
|
|
500
|
+
}
|
|
498
501
|
this.handleOrderResolve(res);
|
|
499
502
|
})
|
|
500
503
|
.catch((err) => {
|