jufubao-base 1.0.320-beta2 → 1.0.320-beta3
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
CHANGED
|
@@ -246,27 +246,6 @@ export default {
|
|
|
246
246
|
card_number_focus: false,
|
|
247
247
|
showCardTypeChoose: false,
|
|
248
248
|
cardTypeList: [
|
|
249
|
-
{
|
|
250
|
-
card_type_name: "电影票兑换券",
|
|
251
|
-
card_number: "923974909815654",
|
|
252
|
-
points: "300.00",
|
|
253
|
-
business_lines: "蛋糕、百货、提货商城、蛋糕商城。超长展示时,自动折行处理即可。",
|
|
254
|
-
validity: "2年"
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
card_type_name: "购物券",
|
|
258
|
-
card_number: "923974909815655",
|
|
259
|
-
points: "500.00",
|
|
260
|
-
business_lines: "百货、提货商城、蛋糕商城。",
|
|
261
|
-
validity: "1年"
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
card_type_name: "礼品券",
|
|
265
|
-
card_number: "923974909815656",
|
|
266
|
-
points: "200.00",
|
|
267
|
-
business_lines: "蛋糕、百货。",
|
|
268
|
-
validity: "3年"
|
|
269
|
-
}
|
|
270
249
|
], // 票券类型列表
|
|
271
250
|
multiple_id: '', // 多场景ID
|
|
272
251
|
multiple_scene: '', // 多场景场景
|
|
@@ -457,6 +436,15 @@ export default {
|
|
|
457
436
|
this.showInfo = true;
|
|
458
437
|
this.info = temp;
|
|
459
438
|
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
439
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
440
|
+
const seen = new Map();
|
|
441
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
442
|
+
if (!seen.has(item.business_code)) {
|
|
443
|
+
seen.set(item.business_code, true);
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
446
|
+
return false;
|
|
447
|
+
});
|
|
460
448
|
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
461
449
|
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
462
450
|
item.business_codes_name = '';
|
|
@@ -499,6 +487,15 @@ export default {
|
|
|
499
487
|
this.showForm = false;
|
|
500
488
|
this.info = temp;
|
|
501
489
|
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
490
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
491
|
+
const seen = new Map();
|
|
492
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
493
|
+
if (!seen.has(item.business_code)) {
|
|
494
|
+
seen.set(item.business_code, true);
|
|
495
|
+
return true;
|
|
496
|
+
}
|
|
497
|
+
return false;
|
|
498
|
+
});
|
|
502
499
|
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
503
500
|
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
504
501
|
item.business_codes_name = '';
|
|
@@ -122,6 +122,80 @@
|
|
|
122
122
|
</view>
|
|
123
123
|
</view>
|
|
124
124
|
</view>
|
|
125
|
+
<xd-down-drawer
|
|
126
|
+
:show.sync="showCardTypeChoose"
|
|
127
|
+
:isBodyClose="false"
|
|
128
|
+
:isClose="false"
|
|
129
|
+
:z-index="3000"
|
|
130
|
+
>
|
|
131
|
+
<view class="jfb-base-card-info-entry__body-type-choose">
|
|
132
|
+
<view class="jfb-base-card-info-entry__body-type-choose-header">
|
|
133
|
+
<view class="jfb-base-card-info-entry__body-type-choose-title">设置票券类型</view>
|
|
134
|
+
<view class="jfb-base-card-info-entry__body-type-choose-notice" :style="{ color: mainColor }">
|
|
135
|
+
注:票券类型一经确认,后续无法更改,请慎重选择
|
|
136
|
+
</view>
|
|
137
|
+
</view>
|
|
138
|
+
|
|
139
|
+
<!-- 可滚动的类型 item 列表 -->
|
|
140
|
+
<view class="jfb-base-card-info-entry__body-type-choose-scroll">
|
|
141
|
+
<view
|
|
142
|
+
v-for="(item, index) in cardTypeList"
|
|
143
|
+
:key="index"
|
|
144
|
+
>
|
|
145
|
+
<view
|
|
146
|
+
class="jfb-base-card-info-entry__body-type-choose-item"
|
|
147
|
+
>
|
|
148
|
+
<!-- 顶部区域 -->
|
|
149
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-header">
|
|
150
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-header-left">
|
|
151
|
+
<xd-font-icon
|
|
152
|
+
icon="iconkaquan"
|
|
153
|
+
color="#ffc65d"
|
|
154
|
+
size="32"
|
|
155
|
+
class="jfb-base-card-info-entry__body-type-choose-item-icon"
|
|
156
|
+
></xd-font-icon>
|
|
157
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-title">{{ item.card_type_name }}</view>
|
|
158
|
+
</view>
|
|
159
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-validity">有效期: {{ item.end_time }}</view>
|
|
160
|
+
</view>
|
|
161
|
+
|
|
162
|
+
<!-- 中间区域 -->
|
|
163
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-content">
|
|
164
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-field">票券号: {{ item.card_number }}</view>
|
|
165
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-field">
|
|
166
|
+
<text style="color: #999">点数: </text>
|
|
167
|
+
<text style="color: #333; font-weight: bold">{{ $xdUniHelper.divisionFloatNumber(item.card_point, 100) }} </text>
|
|
168
|
+
<text style="color: #999">点</text>
|
|
169
|
+
</view>
|
|
170
|
+
</view>
|
|
171
|
+
|
|
172
|
+
<!-- 分隔线 -->
|
|
173
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-divider"></view>
|
|
174
|
+
|
|
175
|
+
<!-- 底部业务线描述 -->
|
|
176
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-business">
|
|
177
|
+
业务线: {{ item.business_codes_name}}
|
|
178
|
+
</view>
|
|
179
|
+
</view>
|
|
180
|
+
|
|
181
|
+
<!-- 确认按钮 -->
|
|
182
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-btn-wrap">
|
|
183
|
+
<view class="jfb-base-card-info-entry__body-type-choose-item-btn-inner">
|
|
184
|
+
<xd-button
|
|
185
|
+
type="primary"
|
|
186
|
+
size="small"
|
|
187
|
+
radius="16"
|
|
188
|
+
width="240rpx"
|
|
189
|
+
@click="handleConfirmBind(item)"
|
|
190
|
+
>
|
|
191
|
+
确认选择绑定
|
|
192
|
+
</xd-button>
|
|
193
|
+
</view>
|
|
194
|
+
</view>
|
|
195
|
+
</view>
|
|
196
|
+
</view>
|
|
197
|
+
</view>
|
|
198
|
+
</xd-down-drawer>
|
|
125
199
|
</view>
|
|
126
200
|
</view>
|
|
127
201
|
</template>
|
|
@@ -137,6 +211,7 @@ import extsMixins from "@/mixins/extsMixins";
|
|
|
137
211
|
import colorCardMixins from "@/mixins/colorCardMixins";
|
|
138
212
|
import XdUnit from "@/components/XdUnit/XdUnit";
|
|
139
213
|
import XdButton from "@/components/XdButton/XdButton";
|
|
214
|
+
import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
|
|
140
215
|
|
|
141
216
|
export default {
|
|
142
217
|
name: "JfbBaseCardInfoEntry",
|
|
@@ -144,6 +219,7 @@ export default {
|
|
|
144
219
|
XdFontIcon,
|
|
145
220
|
XdUnit,
|
|
146
221
|
XdButton,
|
|
222
|
+
XdDownDrawer
|
|
147
223
|
},
|
|
148
224
|
mixins: [
|
|
149
225
|
componentsMixins, extsMixins, JfbBaseCardInfoEntryMixin,colorCardMixins
|
|
@@ -174,6 +250,10 @@ export default {
|
|
|
174
250
|
|
|
175
251
|
card_password_focus: false,
|
|
176
252
|
card_number_focus: false,
|
|
253
|
+
showCardTypeChoose: false,
|
|
254
|
+
cardTypeList: [], // 票券类型列表
|
|
255
|
+
multiple_id: '', // 多场景ID
|
|
256
|
+
multiple_scene: '', // 多场景场景
|
|
177
257
|
};
|
|
178
258
|
},
|
|
179
259
|
watch: {
|
|
@@ -238,6 +318,8 @@ export default {
|
|
|
238
318
|
data: {
|
|
239
319
|
card_qrcode: this.qrcode,
|
|
240
320
|
is_show_pop: "Y",
|
|
321
|
+
multiple_id: this.multiple_id,
|
|
322
|
+
multiple_scene: this.multiple_scene
|
|
241
323
|
},
|
|
242
324
|
})
|
|
243
325
|
.then((res) => {
|
|
@@ -253,6 +335,8 @@ export default {
|
|
|
253
335
|
card_number: this.card_number + "",
|
|
254
336
|
is_show_entry_settings: "Y",
|
|
255
337
|
is_show_pop: "Y",
|
|
338
|
+
multiple_id: this.multiple_id,
|
|
339
|
+
multiple_scene: this.multiple_scene
|
|
256
340
|
},
|
|
257
341
|
})
|
|
258
342
|
.then((res) => {
|
|
@@ -296,6 +380,7 @@ export default {
|
|
|
296
380
|
});
|
|
297
381
|
},
|
|
298
382
|
});
|
|
383
|
+
this.showCardTypeChoose = false;
|
|
299
384
|
}
|
|
300
385
|
},
|
|
301
386
|
//卡券已被自己绑定时的弹框
|
|
@@ -366,13 +451,10 @@ export default {
|
|
|
366
451
|
temp[key] = res[key];
|
|
367
452
|
}
|
|
368
453
|
});
|
|
369
|
-
|
|
370
454
|
//过滤入口配置
|
|
371
455
|
if(res && res.site_entry_settings && res.site_entry_settings.length > 0) {
|
|
372
456
|
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
373
457
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
458
|
if(res && res.site_entry_settings && res.site_entry_settings.length > 0) {
|
|
377
459
|
temp.site_entry_settings = res.site_entry_settings.filter(item=>{
|
|
378
460
|
item['image_url'] = getServiceUrl(item['image_url'], 'size2')
|
|
@@ -383,6 +465,27 @@ export default {
|
|
|
383
465
|
this.headerBg = this.getCardThemes(res.card_type_name);
|
|
384
466
|
this.showInfo = true;
|
|
385
467
|
this.info = temp;
|
|
468
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
469
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
470
|
+
const seen = new Map();
|
|
471
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
472
|
+
if (!seen.has(item.business_code)) {
|
|
473
|
+
seen.set(item.business_code, true);
|
|
474
|
+
return true;
|
|
475
|
+
}
|
|
476
|
+
return false;
|
|
477
|
+
});
|
|
478
|
+
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
479
|
+
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
480
|
+
item.business_codes_name = '';
|
|
481
|
+
res.site_entry_settings.map(Sitem => {
|
|
482
|
+
if (item.business_codes.includes(Sitem.business_code)) {
|
|
483
|
+
item.business_codes_name += Sitem.entry_name + '、';
|
|
484
|
+
}
|
|
485
|
+
})
|
|
486
|
+
item.business_codes_name = item.business_codes_name.slice(0, -1);
|
|
487
|
+
return item;
|
|
488
|
+
})
|
|
386
489
|
})
|
|
387
490
|
.catch();
|
|
388
491
|
}
|
|
@@ -420,12 +523,48 @@ export default {
|
|
|
420
523
|
this.showInfo = true;
|
|
421
524
|
this.showForm = false;
|
|
422
525
|
this.info = temp;
|
|
526
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
527
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
528
|
+
const seen = new Map();
|
|
529
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
530
|
+
if (!seen.has(item.business_code)) {
|
|
531
|
+
seen.set(item.business_code, true);
|
|
532
|
+
return true;
|
|
533
|
+
}
|
|
534
|
+
return false;
|
|
535
|
+
});
|
|
536
|
+
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
537
|
+
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
538
|
+
item.business_codes_name = '';
|
|
539
|
+
res.site_entry_settings.map(Sitem => {
|
|
540
|
+
if (item.business_codes.includes(Sitem.business_code)) {
|
|
541
|
+
item.business_codes_name += Sitem.entry_name + '、';
|
|
542
|
+
}
|
|
543
|
+
})
|
|
544
|
+
item.business_codes_name = item.business_codes_name.slice(0, -1);
|
|
545
|
+
return item;
|
|
546
|
+
})
|
|
423
547
|
})
|
|
424
548
|
.catch();
|
|
425
549
|
},
|
|
426
550
|
isEmpty(str) {
|
|
427
551
|
return str === null || str === "";
|
|
428
552
|
},
|
|
553
|
+
handleConfirmBind(item) {
|
|
554
|
+
if (!item) {
|
|
555
|
+
this.$xdAlert({
|
|
556
|
+
content: "请先选择票券类型",
|
|
557
|
+
time: 1500,
|
|
558
|
+
isClose: false,
|
|
559
|
+
zIndex: 5000,
|
|
560
|
+
});
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
// 处理确认绑定逻辑
|
|
564
|
+
this.multiple_id = item.multiple_id;
|
|
565
|
+
this.multiple_scene = item.multiple_scene;
|
|
566
|
+
this.handleToLink()
|
|
567
|
+
},
|
|
429
568
|
handleGetInfo() {
|
|
430
569
|
if (this.isEmpty(this.card_password)) {
|
|
431
570
|
this.$xdAlert({
|
|
@@ -871,6 +1010,105 @@ export default {
|
|
|
871
1010
|
font-size: unit(32, rpx);
|
|
872
1011
|
}
|
|
873
1012
|
}
|
|
1013
|
+
&-type-choose {
|
|
1014
|
+
background: #F8F8F8;
|
|
1015
|
+
display: flex;
|
|
1016
|
+
flex-direction: column;
|
|
1017
|
+
height: 100%;
|
|
1018
|
+
|
|
1019
|
+
&-header {
|
|
1020
|
+
padding: unit(20, rpx) unit(20, rpx) unit(24, rpx) unit(20, rpx);
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
&-title {
|
|
1024
|
+
font-size: unit(28, rpx);
|
|
1025
|
+
color: #333;
|
|
1026
|
+
margin-bottom: unit(24, rpx);
|
|
1027
|
+
text-align: center;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
&-notice {
|
|
1031
|
+
font-size: unit(24, rpx);
|
|
1032
|
+
text-align: center;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
&-scroll {
|
|
1036
|
+
flex: 1;
|
|
1037
|
+
padding: 0 unit(20, rpx) 0 unit(20, rpx);
|
|
1038
|
+
overflow-y: auto;
|
|
1039
|
+
max-height: 800rpx;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
&-item {
|
|
1043
|
+
background: #fff;
|
|
1044
|
+
border-radius: unit(16, rpx);
|
|
1045
|
+
padding: unit(32, rpx);
|
|
1046
|
+
margin-bottom: unit(24, rpx);
|
|
1047
|
+
border: unit(2, rpx) solid #eee;
|
|
1048
|
+
|
|
1049
|
+
&-header {
|
|
1050
|
+
display: flex;
|
|
1051
|
+
align-items: center;
|
|
1052
|
+
justify-content: space-between;
|
|
1053
|
+
margin-bottom: unit(24, rpx);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
&-header-left {
|
|
1057
|
+
display: flex;
|
|
1058
|
+
align-items: center;
|
|
1059
|
+
flex: 1;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
&-icon {
|
|
1063
|
+
margin-right: unit(16, rpx);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
&-title {
|
|
1067
|
+
font-size: unit(28, rpx);
|
|
1068
|
+
color: #333;
|
|
1069
|
+
flex: 1;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
&-validity {
|
|
1073
|
+
font-size: unit(24, rpx);
|
|
1074
|
+
color: #999;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
&-content {
|
|
1078
|
+
margin-bottom: unit(24, rpx);
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
&-field {
|
|
1082
|
+
font-size: unit(24, rpx);
|
|
1083
|
+
color: #333;
|
|
1084
|
+
|
|
1085
|
+
&:first-child {
|
|
1086
|
+
margin-bottom: unit(24, rpx);
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
&-divider {
|
|
1091
|
+
height: unit(1, rpx);
|
|
1092
|
+
background: #F2F2F2;
|
|
1093
|
+
margin-bottom: unit(24, rpx);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
&-business {
|
|
1097
|
+
font-size: unit(24, rpx);
|
|
1098
|
+
color: #999;
|
|
1099
|
+
line-height: unit(36, rpx);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
&-btn-wrap {
|
|
1103
|
+
display: flex;
|
|
1104
|
+
margin-bottom: unit(24, rpx);
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
&-btn-inner {
|
|
1108
|
+
margin-left: auto;
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
874
1112
|
}
|
|
875
1113
|
}
|
|
876
1114
|
</style>
|
|
@@ -57,6 +57,80 @@
|
|
|
57
57
|
<xd-button type="primary" width="360rpx" @click="handleToLink">立即绑定</xd-button>
|
|
58
58
|
</view>
|
|
59
59
|
</view>
|
|
60
|
+
<xd-down-drawer
|
|
61
|
+
:show.sync="showCardTypeChoose"
|
|
62
|
+
:isBodyClose="false"
|
|
63
|
+
:isClose="false"
|
|
64
|
+
:z-index="3000"
|
|
65
|
+
>
|
|
66
|
+
<view class="jfb-base-card-sweep-info__body-type-choose">
|
|
67
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-header">
|
|
68
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-title">设置票券类型</view>
|
|
69
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-notice" :style="{ color: mainColor }">
|
|
70
|
+
注:票券类型一经确认,后续无法更改,请慎重选择
|
|
71
|
+
</view>
|
|
72
|
+
</view>
|
|
73
|
+
|
|
74
|
+
<!-- 可滚动的类型 item 列表 -->
|
|
75
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-scroll">
|
|
76
|
+
<view
|
|
77
|
+
v-for="(item, index) in cardTypeList"
|
|
78
|
+
:key="index"
|
|
79
|
+
>
|
|
80
|
+
<view
|
|
81
|
+
class="jfb-base-card-sweep-info__body-type-choose-item"
|
|
82
|
+
>
|
|
83
|
+
<!-- 顶部区域 -->
|
|
84
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-header">
|
|
85
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-header-left">
|
|
86
|
+
<xd-font-icon
|
|
87
|
+
icon="iconkaquan"
|
|
88
|
+
color="#ffc65d"
|
|
89
|
+
size="32"
|
|
90
|
+
class="jfb-base-card-sweep-info__body-type-choose-item-icon"
|
|
91
|
+
></xd-font-icon>
|
|
92
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-title">{{ item.card_type_name }}</view>
|
|
93
|
+
</view>
|
|
94
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-validity">有效期: {{ item.end_time }}</view>
|
|
95
|
+
</view>
|
|
96
|
+
|
|
97
|
+
<!-- 中间区域 -->
|
|
98
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-content">
|
|
99
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-field">票券号: {{ item.card_number }}</view>
|
|
100
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-field">
|
|
101
|
+
<text style="color: #999">点数: </text>
|
|
102
|
+
<text style="color: #333; font-weight: bold">{{ $xdUniHelper.divisionFloatNumber(item.card_point, 100) }} </text>
|
|
103
|
+
<text style="color: #999">点</text>
|
|
104
|
+
</view>
|
|
105
|
+
</view>
|
|
106
|
+
|
|
107
|
+
<!-- 分隔线 -->
|
|
108
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-divider"></view>
|
|
109
|
+
|
|
110
|
+
<!-- 底部业务线描述 -->
|
|
111
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-business">
|
|
112
|
+
业务线: {{ item.business_codes_name}}
|
|
113
|
+
</view>
|
|
114
|
+
</view>
|
|
115
|
+
|
|
116
|
+
<!-- 确认按钮 -->
|
|
117
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-btn-wrap">
|
|
118
|
+
<view class="jfb-base-card-sweep-info__body-type-choose-item-btn-inner">
|
|
119
|
+
<xd-button
|
|
120
|
+
type="primary"
|
|
121
|
+
size="small"
|
|
122
|
+
radius="16"
|
|
123
|
+
width="240rpx"
|
|
124
|
+
@click="handleConfirmBind(item)"
|
|
125
|
+
>
|
|
126
|
+
确认选择绑定
|
|
127
|
+
</xd-button>
|
|
128
|
+
</view>
|
|
129
|
+
</view>
|
|
130
|
+
</view>
|
|
131
|
+
</view>
|
|
132
|
+
</view>
|
|
133
|
+
</xd-down-drawer>
|
|
60
134
|
</view>
|
|
61
135
|
</view>
|
|
62
136
|
</template>
|
|
@@ -71,6 +145,7 @@ import { getContainerPropsValue } from "@/utils/xd.base";
|
|
|
71
145
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
72
146
|
import extsMixins from "@/mixins/extsMixins";
|
|
73
147
|
import {mapState} from "vuex";
|
|
148
|
+
import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
|
|
74
149
|
|
|
75
150
|
|
|
76
151
|
export default {
|
|
@@ -79,6 +154,7 @@ export default {
|
|
|
79
154
|
XdFontIcon,
|
|
80
155
|
XdButton,
|
|
81
156
|
XdUnit,
|
|
157
|
+
XdDownDrawer
|
|
82
158
|
},
|
|
83
159
|
mixins: [componentsMixins, extsMixins, JfbBaseCardSweepInfoMixin],
|
|
84
160
|
data() {
|
|
@@ -111,6 +187,11 @@ export default {
|
|
|
111
187
|
is_show_balance: "N", //是否显示余额
|
|
112
188
|
hasCon: "", //是否有优惠券
|
|
113
189
|
card_number: "", //票券号码
|
|
190
|
+
showCardTypeChoose: false,
|
|
191
|
+
cardTypeList: [
|
|
192
|
+
], // 票券类型列表
|
|
193
|
+
multiple_id: '', // 多场景ID
|
|
194
|
+
multiple_scene: '', // 多场景场景
|
|
114
195
|
};
|
|
115
196
|
},
|
|
116
197
|
watch: {
|
|
@@ -218,6 +299,7 @@ export default {
|
|
|
218
299
|
|
|
219
300
|
},
|
|
220
301
|
});
|
|
302
|
+
this.showCardTypeChoose = false;
|
|
221
303
|
}
|
|
222
304
|
})
|
|
223
305
|
.catch();
|
|
@@ -227,6 +309,21 @@ export default {
|
|
|
227
309
|
this.backUrl = getContainerPropsValue( this.container, "content.back_url", { value: "" }).value;
|
|
228
310
|
this.back_detail_url = getContainerPropsValue( this.container, "content.back_detail_url", { value: "" }).value;
|
|
229
311
|
this.is_show_balance = getContainerPropsValue(this.container, 'content.is_show_balance', "N");
|
|
312
|
+
},
|
|
313
|
+
handleConfirmBind(item) {
|
|
314
|
+
if (!item) {
|
|
315
|
+
this.$xdAlert({
|
|
316
|
+
content: "请先选择票券类型",
|
|
317
|
+
time: 1500,
|
|
318
|
+
isClose: false,
|
|
319
|
+
zIndex: 5000,
|
|
320
|
+
});
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
// 处理确认绑定逻辑
|
|
324
|
+
this.multiple_id = item.multiple_id;
|
|
325
|
+
this.multiple_scene = item.multiple_scene;
|
|
326
|
+
this.handleToLink()
|
|
230
327
|
},
|
|
231
328
|
onJfbLoad(options) {
|
|
232
329
|
this.pa = options.pa;
|
|
@@ -249,6 +346,7 @@ export default {
|
|
|
249
346
|
vm: this,
|
|
250
347
|
data: {
|
|
251
348
|
card_qrcode: this.pa,
|
|
349
|
+
is_show_entry_settings:"Y"
|
|
252
350
|
},
|
|
253
351
|
})
|
|
254
352
|
.then((res) => {
|
|
@@ -267,6 +365,27 @@ export default {
|
|
|
267
365
|
}
|
|
268
366
|
});
|
|
269
367
|
this.info = temp;
|
|
368
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
369
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
370
|
+
const seen = new Map();
|
|
371
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
372
|
+
if (!seen.has(item.business_code)) {
|
|
373
|
+
seen.set(item.business_code, true);
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
return false;
|
|
377
|
+
});
|
|
378
|
+
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
379
|
+
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
380
|
+
item.business_codes_name = '';
|
|
381
|
+
res.site_entry_settings.map(Sitem => {
|
|
382
|
+
if (item.business_codes.includes(Sitem.business_code)) {
|
|
383
|
+
item.business_codes_name += Sitem.entry_name + '、';
|
|
384
|
+
}
|
|
385
|
+
})
|
|
386
|
+
item.business_codes_name = item.business_codes_name.slice(0, -1);
|
|
387
|
+
return item;
|
|
388
|
+
})
|
|
270
389
|
})
|
|
271
390
|
.catch(e=>{
|
|
272
391
|
console.error(e);
|