jufubao-base 1.0.320-beta2 → 1.0.320-beta4
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,8 @@ 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";
|
|
149
|
+
import colorCardMixins from "@/mixins/colorCardMixins";
|
|
74
150
|
|
|
75
151
|
|
|
76
152
|
export default {
|
|
@@ -79,8 +155,9 @@ export default {
|
|
|
79
155
|
XdFontIcon,
|
|
80
156
|
XdButton,
|
|
81
157
|
XdUnit,
|
|
158
|
+
XdDownDrawer
|
|
82
159
|
},
|
|
83
|
-
mixins: [componentsMixins, extsMixins, JfbBaseCardSweepInfoMixin],
|
|
160
|
+
mixins: [componentsMixins, extsMixins, JfbBaseCardSweepInfoMixin, colorCardMixins],
|
|
84
161
|
data() {
|
|
85
162
|
return {
|
|
86
163
|
info: null,
|
|
@@ -111,6 +188,11 @@ export default {
|
|
|
111
188
|
is_show_balance: "N", //是否显示余额
|
|
112
189
|
hasCon: "", //是否有优惠券
|
|
113
190
|
card_number: "", //票券号码
|
|
191
|
+
showCardTypeChoose: false,
|
|
192
|
+
cardTypeList: [
|
|
193
|
+
], // 票券类型列表
|
|
194
|
+
multiple_id: '', // 多场景ID
|
|
195
|
+
multiple_scene: '', // 多场景场景
|
|
114
196
|
};
|
|
115
197
|
},
|
|
116
198
|
watch: {
|
|
@@ -154,6 +236,8 @@ export default {
|
|
|
154
236
|
vm: this,
|
|
155
237
|
data: {
|
|
156
238
|
card_qrcode: this.pa,
|
|
239
|
+
multiple_id: this.multiple_id,
|
|
240
|
+
multiple_scene: this.multiple_scene
|
|
157
241
|
},
|
|
158
242
|
})
|
|
159
243
|
.then((res) => {
|
|
@@ -218,6 +302,7 @@ export default {
|
|
|
218
302
|
|
|
219
303
|
},
|
|
220
304
|
});
|
|
305
|
+
this.showCardTypeChoose = false;
|
|
221
306
|
}
|
|
222
307
|
})
|
|
223
308
|
.catch();
|
|
@@ -227,6 +312,21 @@ export default {
|
|
|
227
312
|
this.backUrl = getContainerPropsValue( this.container, "content.back_url", { value: "" }).value;
|
|
228
313
|
this.back_detail_url = getContainerPropsValue( this.container, "content.back_detail_url", { value: "" }).value;
|
|
229
314
|
this.is_show_balance = getContainerPropsValue(this.container, 'content.is_show_balance', "N");
|
|
315
|
+
},
|
|
316
|
+
handleConfirmBind(item) {
|
|
317
|
+
if (!item) {
|
|
318
|
+
this.$xdAlert({
|
|
319
|
+
content: "请先选择票券类型",
|
|
320
|
+
time: 1500,
|
|
321
|
+
isClose: false,
|
|
322
|
+
zIndex: 5000,
|
|
323
|
+
});
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
// 处理确认绑定逻辑
|
|
327
|
+
this.multiple_id = item.multiple_id;
|
|
328
|
+
this.multiple_scene = item.multiple_scene;
|
|
329
|
+
this.handleToLink()
|
|
230
330
|
},
|
|
231
331
|
onJfbLoad(options) {
|
|
232
332
|
this.pa = options.pa;
|
|
@@ -249,6 +349,7 @@ export default {
|
|
|
249
349
|
vm: this,
|
|
250
350
|
data: {
|
|
251
351
|
card_qrcode: this.pa,
|
|
352
|
+
is_show_entry_settings:"Y"
|
|
252
353
|
},
|
|
253
354
|
})
|
|
254
355
|
.then((res) => {
|
|
@@ -267,6 +368,27 @@ export default {
|
|
|
267
368
|
}
|
|
268
369
|
});
|
|
269
370
|
this.info = temp;
|
|
371
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
372
|
+
// 对 site_entry_settings 进行去重处理,基于 business_code
|
|
373
|
+
const seen = new Map();
|
|
374
|
+
res['site_entry_settings'] = res['site_entry_settings'].filter(item => {
|
|
375
|
+
if (!seen.has(item.business_code)) {
|
|
376
|
+
seen.set(item.business_code, true);
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
return false;
|
|
380
|
+
});
|
|
381
|
+
this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
|
|
382
|
+
this.cardTypeList = res.multiple_info.multiple_list.map(item => {
|
|
383
|
+
item.business_codes_name = '';
|
|
384
|
+
res.site_entry_settings.map(Sitem => {
|
|
385
|
+
if (item.business_codes.includes(Sitem.business_code)) {
|
|
386
|
+
item.business_codes_name += Sitem.entry_name + '、';
|
|
387
|
+
}
|
|
388
|
+
})
|
|
389
|
+
item.business_codes_name = item.business_codes_name.slice(0, -1);
|
|
390
|
+
return item;
|
|
391
|
+
})
|
|
270
392
|
})
|
|
271
393
|
.catch(e=>{
|
|
272
394
|
console.error(e);
|
|
@@ -403,6 +525,105 @@ export default {
|
|
|
403
525
|
align-items: center;
|
|
404
526
|
justify-content: center;
|
|
405
527
|
}
|
|
528
|
+
&-type-choose {
|
|
529
|
+
background: #F8F8F8;
|
|
530
|
+
display: flex;
|
|
531
|
+
flex-direction: column;
|
|
532
|
+
height: 100%;
|
|
533
|
+
|
|
534
|
+
&-header {
|
|
535
|
+
padding: unit(20, rpx) unit(20, rpx) unit(24, rpx) unit(20, rpx);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
&-title {
|
|
539
|
+
font-size: unit(28, rpx);
|
|
540
|
+
color: #333;
|
|
541
|
+
margin-bottom: unit(24, rpx);
|
|
542
|
+
text-align: center;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
&-notice {
|
|
546
|
+
font-size: unit(24, rpx);
|
|
547
|
+
text-align: center;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
&-scroll {
|
|
551
|
+
flex: 1;
|
|
552
|
+
padding: 0 unit(20, rpx) 0 unit(20, rpx);
|
|
553
|
+
overflow-y: auto;
|
|
554
|
+
max-height: 800rpx;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
&-item {
|
|
558
|
+
background: #fff;
|
|
559
|
+
border-radius: unit(16, rpx);
|
|
560
|
+
padding: unit(32, rpx);
|
|
561
|
+
margin-bottom: unit(24, rpx);
|
|
562
|
+
border: unit(2, rpx) solid #eee;
|
|
563
|
+
|
|
564
|
+
&-header {
|
|
565
|
+
display: flex;
|
|
566
|
+
align-items: center;
|
|
567
|
+
justify-content: space-between;
|
|
568
|
+
margin-bottom: unit(24, rpx);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
&-header-left {
|
|
572
|
+
display: flex;
|
|
573
|
+
align-items: center;
|
|
574
|
+
flex: 1;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
&-icon {
|
|
578
|
+
margin-right: unit(16, rpx);
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
&-title {
|
|
582
|
+
font-size: unit(28, rpx);
|
|
583
|
+
color: #333;
|
|
584
|
+
flex: 1;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
&-validity {
|
|
588
|
+
font-size: unit(24, rpx);
|
|
589
|
+
color: #999;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
&-content {
|
|
593
|
+
margin-bottom: unit(24, rpx);
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
&-field {
|
|
597
|
+
font-size: unit(24, rpx);
|
|
598
|
+
color: #333;
|
|
599
|
+
|
|
600
|
+
&:first-child {
|
|
601
|
+
margin-bottom: unit(24, rpx);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
&-divider {
|
|
606
|
+
height: unit(1, rpx);
|
|
607
|
+
background: #F2F2F2;
|
|
608
|
+
margin-bottom: unit(24, rpx);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
&-business {
|
|
612
|
+
font-size: unit(24, rpx);
|
|
613
|
+
color: #999;
|
|
614
|
+
line-height: unit(36, rpx);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
&-btn-wrap {
|
|
618
|
+
display: flex;
|
|
619
|
+
margin-bottom: unit(24, rpx);
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
&-btn-inner {
|
|
623
|
+
margin-left: auto;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
406
627
|
}
|
|
407
628
|
}
|
|
408
629
|
</style>
|