jufubao-base 1.0.400 → 1.0.401-beta2
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/JfbBaseCardEntry/Api.js +8 -0
- package/src/components/JfbBaseCardEntry/Attr.js +90 -0
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +204 -18
- package/src/components/JfbBaseCardEntry/Mock.js +1 -0
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +46 -0
- package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +47 -0
- package/get.package.path.js +0 -22
package/package.json
CHANGED
|
@@ -320,6 +320,17 @@ export default {
|
|
|
320
320
|
{ label: "一行滑块展示", value: "one" }
|
|
321
321
|
]
|
|
322
322
|
},
|
|
323
|
+
{
|
|
324
|
+
label: "是否展示plus权益:",
|
|
325
|
+
ele: "xd-radio",
|
|
326
|
+
valueKey: "isShowPlus",
|
|
327
|
+
groupKey:'content',
|
|
328
|
+
value: data.isShowPlus || "N",
|
|
329
|
+
list: [
|
|
330
|
+
{ label: "展示", value: "Y" },
|
|
331
|
+
{ label: "隐藏", value: "N" }
|
|
332
|
+
]
|
|
333
|
+
},
|
|
323
334
|
{
|
|
324
335
|
label: "二维码文案",
|
|
325
336
|
ele: "el-input",
|
|
@@ -561,6 +572,85 @@ export default {
|
|
|
561
572
|
});
|
|
562
573
|
},
|
|
563
574
|
},
|
|
575
|
+
{
|
|
576
|
+
ele: "title",
|
|
577
|
+
label: "plus权益样式配置",
|
|
578
|
+
size: "small",
|
|
579
|
+
groupKey: "style",
|
|
580
|
+
hidden: data.isShowPlus !== 'Y',
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
label: "列表项背景图:",
|
|
584
|
+
ele: "xd-upload",
|
|
585
|
+
valueKey: "plusItemBgImage",
|
|
586
|
+
groupKey:'style',
|
|
587
|
+
value: data.plusItemBgImage || {},
|
|
588
|
+
defaultValue: data.plusItemBgImage || null,
|
|
589
|
+
slot: true,
|
|
590
|
+
type: ['jpg', 'png', 'jpeg'],
|
|
591
|
+
styleType: 'one',
|
|
592
|
+
uploadType: 'aliyun',
|
|
593
|
+
size: 5,
|
|
594
|
+
action: 'action',
|
|
595
|
+
oneWidth: 375,
|
|
596
|
+
oneHeight: 120,
|
|
597
|
+
sort: true,
|
|
598
|
+
hidden: data.isShowPlus !== 'Y',
|
|
599
|
+
inline: true,
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
label: "套餐名称颜色:",
|
|
603
|
+
ele: "xd-color",
|
|
604
|
+
valueKey: "plusPackageNameColor",
|
|
605
|
+
groupKey:'style',
|
|
606
|
+
value: data.plusPackageNameColor || '#8C530D',
|
|
607
|
+
hidden: data.isShowPlus !== 'Y',
|
|
608
|
+
inline: true,
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
label: "兑换有效期颜色:",
|
|
612
|
+
ele: "xd-color",
|
|
613
|
+
valueKey: "plusValidDateColor",
|
|
614
|
+
groupKey:'style',
|
|
615
|
+
value: data.plusValidDateColor || '#A8630D',
|
|
616
|
+
hidden: data.isShowPlus !== 'Y',
|
|
617
|
+
inline: true,
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
label: "按钮文字颜色:",
|
|
621
|
+
ele: "xd-color",
|
|
622
|
+
valueKey: "plusBtnTextColor",
|
|
623
|
+
groupKey:'style',
|
|
624
|
+
value: data.plusBtnTextColor || '#A8630D',
|
|
625
|
+
hidden: data.isShowPlus !== 'Y',
|
|
626
|
+
inline: true,
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
label: "按钮背景颜色:",
|
|
630
|
+
ele: "xd-gradient-color",
|
|
631
|
+
valueKey: "plusBtnBgColor",
|
|
632
|
+
groupKey:'style',
|
|
633
|
+
value: data.plusBtnBgColor || 'linear-gradient(90deg, #FFF6E5 0%, #FEE4AA 100%)',
|
|
634
|
+
hidden: data.isShowPlus !== 'Y',
|
|
635
|
+
inline: true,
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
ele: "title",
|
|
639
|
+
label: "tab按钮样式配置",
|
|
640
|
+
size: "small",
|
|
641
|
+
groupKey: "style",
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
label: "选中时文字背景色设置: ",
|
|
645
|
+
ele: "xd-text-and-bgc",
|
|
646
|
+
groupKey:'style',
|
|
647
|
+
valueKey: "tabBtnStyle",
|
|
648
|
+
value: data.tabBtnStyle || null,
|
|
649
|
+
setting: {
|
|
650
|
+
color: true,
|
|
651
|
+
bgColor: true,
|
|
652
|
+
},
|
|
653
|
+
},
|
|
564
654
|
]
|
|
565
655
|
},
|
|
566
656
|
};
|
|
@@ -104,18 +104,17 @@
|
|
|
104
104
|
<view class="jfb-base-card-entry__body-tab">
|
|
105
105
|
<view
|
|
106
106
|
@click="tabIndex = 1"
|
|
107
|
-
:style="
|
|
108
|
-
|
|
109
|
-
background: tabIndex === 1 ? mainColor : '#fff',
|
|
110
|
-
}"
|
|
111
|
-
>已绑定票券</view>
|
|
107
|
+
:style="tabIndex === 1 ? tabSelectedStyle : tabNormalStyle"
|
|
108
|
+
>已绑票券({{totalCardNum}})</view>
|
|
112
109
|
<view
|
|
113
110
|
@click="tabIndex = 2"
|
|
114
|
-
:style="
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
111
|
+
:style="tabIndex === 2 ? tabSelectedStyle : tabNormalStyle"
|
|
112
|
+
>优惠券({{totalCouponCardNum}})</view>
|
|
113
|
+
<view
|
|
114
|
+
v-if="isShowPlus === 'Y'"
|
|
115
|
+
@click="tabIndex = 3"
|
|
116
|
+
:style="tabIndex === 3 ? tabSelectedStyle : tabNormalStyle"
|
|
117
|
+
>plus权益({{totalPlusCardNum}})</view>
|
|
119
118
|
</view>
|
|
120
119
|
<view class="jfb-base-card-entry__body-sub-tab" v-if="tabIndex === 1">
|
|
121
120
|
<view :style="{
|
|
@@ -335,6 +334,35 @@
|
|
|
335
334
|
<view v-else>暂无数据</view>
|
|
336
335
|
</view>
|
|
337
336
|
<!--content coupon-->
|
|
337
|
+
<!--content plus-->
|
|
338
|
+
<view v-if="tabIndex === 3 && plusList && plusList.length > 0" class="jfb-base-card-entry__body-plus">
|
|
339
|
+
<view class="jfb-base-card-entry__body-plus-list">
|
|
340
|
+
<view
|
|
341
|
+
class="jfb-base-card-entry__body-plus-item"
|
|
342
|
+
v-for="(item, idx) in plusList"
|
|
343
|
+
:key="idx"
|
|
344
|
+
@click="handlePlusClick(item)"
|
|
345
|
+
:style="{
|
|
346
|
+
backgroundImage: plusItemBgImageUrl ? 'url(' + plusItemBgImageUrl + ')' : '',
|
|
347
|
+
backgroundSize: '100% 100%',
|
|
348
|
+
}"
|
|
349
|
+
>
|
|
350
|
+
<view class="jfb-base-card-entry__body-plus-item-top">
|
|
351
|
+
<view class="jfb-base-card-entry__body-plus-item-name" :style="{ color: plusPackageNameColor }">{{ item.plus_product_name }}</view>
|
|
352
|
+
<view
|
|
353
|
+
class="jfb-base-card-entry__body-plus-item-btn"
|
|
354
|
+
:class="{ redeemed: item.button_text === '去使用' }"
|
|
355
|
+
:style="{
|
|
356
|
+
color: plusBtnTextColor,
|
|
357
|
+
background: item.button_text === '去使用' ? '' : plusBtnBgColor,
|
|
358
|
+
}"
|
|
359
|
+
>{{ item.button_text }}</view>
|
|
360
|
+
</view>
|
|
361
|
+
<view class="jfb-base-card-entry__body-plus-item-date" :style="{ color: plusValidDateColor }">兑换有效期:{{ item.end_time | formatTimestamp }}</view>
|
|
362
|
+
</view>
|
|
363
|
+
</view>
|
|
364
|
+
</view>
|
|
365
|
+
<!--content plus-->
|
|
338
366
|
<!--no data-->
|
|
339
367
|
<view v-else-if="cardList !== null && cardList.length === 0">
|
|
340
368
|
<view class="jfb-base-card-entry__body-empty">
|
|
@@ -518,10 +546,34 @@ export default {
|
|
|
518
546
|
return this.getNoData();
|
|
519
547
|
},
|
|
520
548
|
},
|
|
549
|
+
computed: {
|
|
550
|
+
tabSelectedStyle() {
|
|
551
|
+
let styleObj = {
|
|
552
|
+
color: this.tabBtnStyle && this.tabBtnStyle['actColor'] || '#fff',
|
|
553
|
+
background: this.tabBtnStyle && this.tabBtnStyle['actBgColor'] || this.mainColor,
|
|
554
|
+
}
|
|
555
|
+
return this.styleObjectToString(styleObj);
|
|
556
|
+
},
|
|
557
|
+
tabNormalStyle() {
|
|
558
|
+
let styleObj = {
|
|
559
|
+
color: this.tabBtnStyle['color']||'#ccc',
|
|
560
|
+
background:this.tabBtnStyle['bgColor']|| '#eee',
|
|
561
|
+
}
|
|
562
|
+
return this.styleObjectToString(styleObj);
|
|
563
|
+
},
|
|
564
|
+
},
|
|
521
565
|
filters:{
|
|
522
566
|
cutstr(val){
|
|
523
567
|
if(typeof val.entry_name === 'string') return val.entry_name.slice(0,4);
|
|
524
568
|
return ''
|
|
569
|
+
},
|
|
570
|
+
formatTimestamp(val) {
|
|
571
|
+
if (!val) return '';
|
|
572
|
+
const date = new Date(Number(val) * 1000);
|
|
573
|
+
const y = date.getFullYear();
|
|
574
|
+
const m = String(date.getMonth() + 1).padStart(2, '0');
|
|
575
|
+
const d = String(date.getDate()).padStart(2, '0');
|
|
576
|
+
return `${y}-${m}-${d}`;
|
|
525
577
|
}
|
|
526
578
|
},
|
|
527
579
|
watch: {
|
|
@@ -627,6 +679,20 @@ export default {
|
|
|
627
679
|
buy_name: "",
|
|
628
680
|
code_name: "",
|
|
629
681
|
bussShowType: "",
|
|
682
|
+
isShowPlus: 'N',
|
|
683
|
+
plusList: [],
|
|
684
|
+
plusItemBgImage: {},
|
|
685
|
+
plusItemBgImageUrl: '',
|
|
686
|
+
plusPackageNameColor: '',
|
|
687
|
+
plusValidDateColor: '',
|
|
688
|
+
plusBtnTextColor: '',
|
|
689
|
+
plusBtnBgColor: '',
|
|
690
|
+
tabBtnStyle: null,
|
|
691
|
+
totalCardNum: 0,
|
|
692
|
+
totalPlusCardNum: 0,
|
|
693
|
+
totalCouponCardNum: 0,
|
|
694
|
+
isInitialized: false,
|
|
695
|
+
exchange_url: '',
|
|
630
696
|
};
|
|
631
697
|
},
|
|
632
698
|
created() {
|
|
@@ -690,11 +756,22 @@ export default {
|
|
|
690
756
|
let bussShowType = getContainerPropsValue(container, "content.bussShowType", "one");
|
|
691
757
|
if(this.isPreview) {
|
|
692
758
|
this.tabIndex = this.isShowCoupon==='Y'?2:1;
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
759
|
+
}
|
|
760
|
+
this.isShowPlus = getContainerPropsValue(container, "content.isShowPlus", "N");
|
|
761
|
+
let plusItemBgImage = getContainerPropsValue(container, "content.plusItemBgImage", '');
|
|
762
|
+
this.plusItemBgImageUrl = plusItemBgImage ? getServiceUrl(plusItemBgImage.url) : '';
|
|
763
|
+
this.plusPackageNameColor = getContainerPropsValue(container, "content.plusPackageNameColor", '#8C530D');
|
|
764
|
+
this.plusValidDateColor = getContainerPropsValue(container, "content.plusValidDateColor", '#A8630D');
|
|
765
|
+
this.plusBtnTextColor = getContainerPropsValue(container, "content.plusBtnTextColor", '#A8630D');
|
|
766
|
+
this.plusBtnBgColor = getContainerPropsValue(container, "content.plusBtnBgColor", 'linear-gradient(90deg, #FFF6E5 0%, #FEE4AA 100%)');
|
|
767
|
+
this.tabBtnStyle = getContainerPropsValue(container, "content.tabBtnStyle", {
|
|
768
|
+
color: '#fff',
|
|
769
|
+
bgColor: '',
|
|
770
|
+
});
|
|
771
|
+
if(this.bussShowType !== bussShowType){
|
|
772
|
+
this.clearDefault();
|
|
773
|
+
this.cardPageNum = 0;
|
|
774
|
+
this.onJfbLoad(this.options);
|
|
698
775
|
}
|
|
699
776
|
this.bussShowType = bussShowType;
|
|
700
777
|
},
|
|
@@ -788,7 +865,7 @@ export default {
|
|
|
788
865
|
* @param item
|
|
789
866
|
* @param entry
|
|
790
867
|
*/
|
|
791
|
-
handleBindLogin(item
|
|
868
|
+
handleBindLogin(item, entry) {
|
|
792
869
|
//卡券登录
|
|
793
870
|
if (this.tabIndex === 1 || this.tabIndex === 2) {
|
|
794
871
|
if (item["is_valid"] !== "Y") {
|
|
@@ -913,10 +990,17 @@ export default {
|
|
|
913
990
|
// #endif
|
|
914
991
|
|
|
915
992
|
this.getContent();
|
|
916
|
-
if(this.
|
|
993
|
+
if(!this.isInitialized){
|
|
994
|
+
this.isInitialized = true;
|
|
917
995
|
this.getCardList(options);
|
|
918
|
-
} else {
|
|
919
996
|
this.getCouponList(options);
|
|
997
|
+
this.getPlusList(options);
|
|
998
|
+
} else if(this.tabIndex===1) {
|
|
999
|
+
this.getCardList(options);
|
|
1000
|
+
} else if(this.tabIndex===2) {
|
|
1001
|
+
this.getCouponList(options);
|
|
1002
|
+
} else if(this.tabIndex===3) {
|
|
1003
|
+
this.getPlusList(options);
|
|
920
1004
|
}
|
|
921
1005
|
},
|
|
922
1006
|
|
|
@@ -932,6 +1016,7 @@ export default {
|
|
|
932
1016
|
data: params
|
|
933
1017
|
}).then(res=>{
|
|
934
1018
|
this.loadingCardList = false;
|
|
1019
|
+
this.totalCouponCardNum = res.list.length || 0;
|
|
935
1020
|
this.showDisabled = res.is_show_invalid_card_entrance;
|
|
936
1021
|
if(this.isPreview) {
|
|
937
1022
|
res.list = this.testCouponList
|
|
@@ -948,6 +1033,48 @@ export default {
|
|
|
948
1033
|
|
|
949
1034
|
},
|
|
950
1035
|
|
|
1036
|
+
getPlusList(options) {
|
|
1037
|
+
this.$xdShowLoading({});
|
|
1038
|
+
let params = {}
|
|
1039
|
+
if(this.entryGroupId) params['group_id'] = this.entryGroupId;
|
|
1040
|
+
jfbRootExec("getListPlusCouponRights", {
|
|
1041
|
+
vm: this,
|
|
1042
|
+
data: params
|
|
1043
|
+
})
|
|
1044
|
+
.then((res) => {
|
|
1045
|
+
this.loadingCardList = false;
|
|
1046
|
+
this.totalPlusCardNum = res.list.length || 0;
|
|
1047
|
+
//过滤入口配置
|
|
1048
|
+
this.plusList = res.list
|
|
1049
|
+
this.exchange_url = res.exchange_url
|
|
1050
|
+
this.$xdHideLoading();
|
|
1051
|
+
})
|
|
1052
|
+
.catch(() => {
|
|
1053
|
+
this.loadingCardList = false;
|
|
1054
|
+
this.$xdHideLoading();
|
|
1055
|
+
});
|
|
1056
|
+
},
|
|
1057
|
+
|
|
1058
|
+
handlePlusClick(item) {
|
|
1059
|
+
let site_path = this.exchange_url;
|
|
1060
|
+
jfbRootExec("getBaseByIdCardDetail", {
|
|
1061
|
+
vm: this,
|
|
1062
|
+
data: {
|
|
1063
|
+
card_number: item.card_number
|
|
1064
|
+
}
|
|
1065
|
+
}).then(res => {
|
|
1066
|
+
let code_content = this.getParams(res.card_qrcode, "code_content")
|
|
1067
|
+
let sitePath = `${site_path}?ecode=${Base64.encodeURI(code_content)}`;
|
|
1068
|
+
sitePath = `${sitePath}&is_return_is_used=Y`
|
|
1069
|
+
let sitePathPre = sitePath.split("?")[0];
|
|
1070
|
+
let sitePathAfter = sitePath.split("?")[1];
|
|
1071
|
+
sitePath = `${sitePathPre}?ecode-params=${Base64.encodeURI(sitePathAfter)}`;
|
|
1072
|
+
this.$xdUniHelper.redirectTo({
|
|
1073
|
+
url: sitePath,
|
|
1074
|
+
});
|
|
1075
|
+
})
|
|
1076
|
+
},
|
|
1077
|
+
|
|
951
1078
|
getCardList(options) {
|
|
952
1079
|
let params = {is_all: 'Y', is_show_entry_settings: 'Y', show_type: 'normal'};
|
|
953
1080
|
if(options['jfb_business_code']) {
|
|
@@ -962,6 +1089,7 @@ export default {
|
|
|
962
1089
|
.then((res) => {
|
|
963
1090
|
this.loadingCardList = false;
|
|
964
1091
|
this.showDisabled = res.is_show_invalid_card_entrance;
|
|
1092
|
+
this.totalCardNum = res.list.length || 0;
|
|
965
1093
|
res.list = res.list.map((item) => {
|
|
966
1094
|
return {
|
|
967
1095
|
...item,
|
|
@@ -1188,6 +1316,64 @@ export default {
|
|
|
1188
1316
|
}
|
|
1189
1317
|
}
|
|
1190
1318
|
|
|
1319
|
+
.jfb-base-card-entry__body-plus {
|
|
1320
|
+
padding: 0 0 30rpx;
|
|
1321
|
+
|
|
1322
|
+
&-header {
|
|
1323
|
+
font-size: 28rpx;
|
|
1324
|
+
color: #666;
|
|
1325
|
+
margin-bottom: 20rpx;
|
|
1326
|
+
|
|
1327
|
+
&-num {
|
|
1328
|
+
color: #333;
|
|
1329
|
+
font-weight: 700;
|
|
1330
|
+
font-size: 32rpx;
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
&-list {
|
|
1335
|
+
display: flex;
|
|
1336
|
+
flex-direction: column;
|
|
1337
|
+
gap: 24rpx;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
&-item {
|
|
1341
|
+
padding: 30rpx 40rpx;
|
|
1342
|
+
background: #fff;
|
|
1343
|
+
border-radius: 16rpx;
|
|
1344
|
+
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
|
|
1345
|
+
|
|
1346
|
+
&-top {
|
|
1347
|
+
display: flex;
|
|
1348
|
+
align-items: center;
|
|
1349
|
+
justify-content: space-between;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
&-name {
|
|
1353
|
+
font-size: 32rpx;
|
|
1354
|
+
font-weight: 500;
|
|
1355
|
+
color: #8C530D;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
&-date {
|
|
1359
|
+
font-size: 28rpx;
|
|
1360
|
+
color: #A8630D;
|
|
1361
|
+
margin-top: 72rpx;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
&-btn {
|
|
1365
|
+
flex-shrink: 0;
|
|
1366
|
+
margin-left: 20rpx;
|
|
1367
|
+
padding: 12rpx 36rpx;
|
|
1368
|
+
font-size: 32rpx;
|
|
1369
|
+
color: #A8630D;
|
|
1370
|
+
border-radius: 54rpx;
|
|
1371
|
+
text-align: center;
|
|
1372
|
+
background: linear-gradient(90deg, #FFF6E5 0%, #FEE4AA 100%);
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1191
1377
|
.card-list {
|
|
1192
1378
|
overflow: hidden;
|
|
1193
1379
|
border-radius: unit(16, rpx);
|
|
@@ -281,4 +281,5 @@ module.exports = {
|
|
|
281
281
|
"card_expire_in": 56760,
|
|
282
282
|
"request_id": "8fde2506c426a55d"
|
|
283
283
|
},
|
|
284
|
+
getListPlusCouponRights:{ "total_size": 1, "list": [{ "card_number": "101001000141415", "card_type_name": "聚福宝福卡(点12位)", "plus_product_id": 60038520, "plus_product_name": "体验卡7天", "start_time": 1754841600, "end_time": 1800547199, "exchange_expire_time": 1800547099, "exchange_status": "N", "exchange_status_name": "未兑换", "business_codes": ["market", "cake"], "exchange_card_numbers": "", "exchange_time": 0, "button_text": "去兑换" }], "request_id": "f2043ea4806956cb" }
|
|
284
285
|
}
|
|
@@ -330,6 +330,15 @@
|
|
|
330
330
|
<text>{{ codeRefreshMinute }}分{{ codeRefreshSecond }}秒后自动刷新</text>
|
|
331
331
|
<xd-font-icon icon="iconmian-loading" size="24" color="#999"></xd-font-icon>
|
|
332
332
|
</view>
|
|
333
|
+
<!-- 预约按钮 -->
|
|
334
|
+
<view v-if="info.codes[0].reservation_buttons && info.codes[0].reservation_buttons.length > 0" class="jfb-base-order-detail__body-reserve">
|
|
335
|
+
<view
|
|
336
|
+
v-for="(btn, idx) in info.codes[0].reservation_buttons"
|
|
337
|
+
:key="idx"
|
|
338
|
+
class="jfb-base-order-detail__body-reserve-btn"
|
|
339
|
+
@click="handleReservationJump(btn.url)"
|
|
340
|
+
>{{ btn.name }}</view>
|
|
341
|
+
</view>
|
|
333
342
|
</view>
|
|
334
343
|
<!--单条条形码或者二维码-->
|
|
335
344
|
<!--其他情况显示-->
|
|
@@ -497,6 +506,15 @@
|
|
|
497
506
|
<text>{{ codeRefreshMinute }}分{{ codeRefreshSecond }}秒后自动刷新</text>
|
|
498
507
|
<xd-font-icon icon="iconmian-loading" size="24" color="#999"></xd-font-icon>
|
|
499
508
|
</view>
|
|
509
|
+
<!-- 预约按钮 -->
|
|
510
|
+
<view v-if="item.reservation_buttons && item.reservation_buttons.length > 0" class="jfb-base-order-detail__body-reserve">
|
|
511
|
+
<view
|
|
512
|
+
v-for="(btn, idx) in item.reservation_buttons"
|
|
513
|
+
:key="idx"
|
|
514
|
+
class="jfb-base-order-detail__body-reserve-btn"
|
|
515
|
+
@click="handleReservationJump(btn.url)"
|
|
516
|
+
>{{ btn.name }}</view>
|
|
517
|
+
</view>
|
|
500
518
|
</view>
|
|
501
519
|
</view>
|
|
502
520
|
<!--其他情况显示-->
|
|
@@ -1761,6 +1779,18 @@ export default {
|
|
|
1761
1779
|
});
|
|
1762
1780
|
}
|
|
1763
1781
|
},
|
|
1782
|
+
handleReservationJump(url) {
|
|
1783
|
+
let reg = /^(http:\/\/|https:\/\/|\/\/)+.+$/;
|
|
1784
|
+
if (reg.test(url)) {
|
|
1785
|
+
this.$xdUniHelper.redirectTo({
|
|
1786
|
+
url: url,
|
|
1787
|
+
});
|
|
1788
|
+
} else {
|
|
1789
|
+
this.$xdAlert({
|
|
1790
|
+
content: "访问路径格式错误!",
|
|
1791
|
+
});
|
|
1792
|
+
}
|
|
1793
|
+
},
|
|
1764
1794
|
handleToPay(item) {
|
|
1765
1795
|
//餐饮固定逻辑
|
|
1766
1796
|
if (this.$configProject.type === "food") {
|
|
@@ -2849,6 +2879,22 @@ export default {
|
|
|
2849
2879
|
color: #999;
|
|
2850
2880
|
}
|
|
2851
2881
|
|
|
2882
|
+
&-reserve {
|
|
2883
|
+
display: flex;
|
|
2884
|
+
flex-wrap: wrap;
|
|
2885
|
+
gap: 16rpx;
|
|
2886
|
+
margin-top: 20rpx;
|
|
2887
|
+
}
|
|
2888
|
+
|
|
2889
|
+
&-reserve-btn {
|
|
2890
|
+
flex: 1;
|
|
2891
|
+
min-width: 0;
|
|
2892
|
+
text-align: center;
|
|
2893
|
+
font-size: 28rpx;
|
|
2894
|
+
color: #2A82E4;
|
|
2895
|
+
text-decoration: underline;
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2852
2898
|
}
|
|
2853
2899
|
.ticket_method_msg {
|
|
2854
2900
|
background-color: #FFEAE6;
|
|
@@ -141,6 +141,15 @@
|
|
|
141
141
|
<text>{{ codeRefreshMinute }}分{{ codeRefreshSecond }}秒后自动刷新</text>
|
|
142
142
|
<xd-font-icon icon="iconmian-loading" size="24" color="#999"></xd-font-icon>
|
|
143
143
|
</view>
|
|
144
|
+
<!-- 预约按钮 -->
|
|
145
|
+
<view v-if="info.codes[0].reservation_buttons && info.codes[0].reservation_buttons.length > 0" class="jfb-base-success__body-reserve">
|
|
146
|
+
<view
|
|
147
|
+
v-for="(btn, idx) in info.codes[0].reservation_buttons"
|
|
148
|
+
:key="idx"
|
|
149
|
+
class="jfb-base-success__body-reserve-btn"
|
|
150
|
+
@click="handleReservationJump(btn.url)"
|
|
151
|
+
>{{ btn.name }}</view>
|
|
152
|
+
</view>
|
|
144
153
|
</view>
|
|
145
154
|
<view v-else>
|
|
146
155
|
<view
|
|
@@ -317,6 +326,15 @@
|
|
|
317
326
|
<text>{{ codeRefreshMinute }}分{{ codeRefreshSecond }}秒后自动刷新</text>
|
|
318
327
|
<xd-font-icon icon="iconmian-loading" size="24" color="#999"></xd-font-icon>
|
|
319
328
|
</view>
|
|
329
|
+
<!-- 预约按钮 -->
|
|
330
|
+
<view v-if="item.reservation_buttons && item.reservation_buttons.length > 0" class="jfb-base-success__body-reserve">
|
|
331
|
+
<view
|
|
332
|
+
v-for="(btn, idx) in item.reservation_buttons"
|
|
333
|
+
:key="idx"
|
|
334
|
+
class="jfb-base-success__body-reserve-btn"
|
|
335
|
+
@click="handleToLink(btn.url)"
|
|
336
|
+
>{{ btn.name }}</view>
|
|
337
|
+
</view>
|
|
320
338
|
</view>
|
|
321
339
|
</view>
|
|
322
340
|
</view>
|
|
@@ -551,6 +569,20 @@ export default {
|
|
|
551
569
|
}
|
|
552
570
|
},
|
|
553
571
|
|
|
572
|
+
handleReservationJump(url) {
|
|
573
|
+
if (this.$configProject.isPreview) return;
|
|
574
|
+
let reg = /^(http:\/\/|https:\/\/|\/\/)+.+$/;
|
|
575
|
+
if (reg.test(url)) {
|
|
576
|
+
this.$xdUniHelper.redirectTo({
|
|
577
|
+
url: url,
|
|
578
|
+
});
|
|
579
|
+
} else {
|
|
580
|
+
this.$xdAlert({
|
|
581
|
+
content: "访问路径格式错误!",
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
|
|
554
586
|
/**
|
|
555
587
|
* @description 监听事件变化
|
|
556
588
|
* @param value {object} 业务组件对象自己
|
|
@@ -1007,6 +1039,21 @@ export default {
|
|
|
1007
1039
|
}
|
|
1008
1040
|
}
|
|
1009
1041
|
}
|
|
1042
|
+
&-reserve {
|
|
1043
|
+
display: flex;
|
|
1044
|
+
flex-wrap: wrap;
|
|
1045
|
+
gap: 16rpx;
|
|
1046
|
+
margin-top: 20rpx;
|
|
1047
|
+
|
|
1048
|
+
&-btn {
|
|
1049
|
+
flex: 1;
|
|
1050
|
+
min-width: 0;
|
|
1051
|
+
text-align: center;
|
|
1052
|
+
font-size: 28rpx;
|
|
1053
|
+
color: #2A82E4;
|
|
1054
|
+
text-decoration: underline;
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1010
1057
|
&-cashier {
|
|
1011
1058
|
&-code {
|
|
1012
1059
|
font-size: unit(32, rpx);
|
package/get.package.path.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @description 第三方库
|
|
5
|
-
* @param threePackagePath {String} 第三方库所在项目路径存放路径路
|
|
6
|
-
* @param packname {String} 包名字
|
|
7
|
-
* @returns {string|*}
|
|
8
|
-
*/
|
|
9
|
-
const getPackagePath = (threePackagePath, packname = 'gxd-commands-bussiness')=>{
|
|
10
|
-
if(packname === 'gxd-commands-bussiness') {
|
|
11
|
-
return `/Users/shiyonggao/home/root/Base-Jufubao/xd-commands-bussiness/${threePackagePath}`;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (packname === 'gxd-uni-library-editx') {
|
|
15
|
-
return `/Users/shiyonggao/home/root/Base-Jufubao/xd-uni-library-editx/${threePackagePath}`;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
module.exports = {
|
|
21
|
-
getPackagePath
|
|
22
|
-
}
|