jufubao-base 1.0.186 → 1.0.187-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.
Files changed (34) hide show
  1. package/package.json +1 -1
  2. package/src/ICONS.js +1128 -0
  3. package/src/components/JfbBaseAddress/Attr.js +109 -1
  4. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +153 -77
  5. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  6. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +4 -1
  7. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +17 -5
  8. package/src/components/JfbBaseFastLink/Attr.js +22 -6
  9. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +35 -20
  10. package/src/components/JfbBaseFastLink/XdFastNav.vue +1 -2
  11. package/src/components/JfbBaseFooter/Attr.js +141 -75
  12. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
  13. package/src/components/JfbBaseOrderDetail/Api.js +1 -0
  14. package/src/components/JfbBaseOrderDetail/Attr.js +201 -65
  15. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +168 -57
  16. package/src/components/JfbBaseOrderList/Attr.js +59 -2
  17. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
  18. package/src/components/JfbBaseOrderList/Mock.js +3 -0
  19. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  20. package/src/components/JfbBasePhoneCollect/Attr.js +945 -411
  21. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +307 -27
  22. package/src/components/JfbBasePhoneLogin/Attr.js +893 -405
  23. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +609 -253
  24. package/src/components/JfbBaseSuccess/Attr.js +1 -1
  25. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +4 -1
  26. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +0 -1
  27. package/src/components/JfbBaseUserCenter/Attr.js +240 -48
  28. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +101 -30
  29. package/src/components/JfbBaseUserInfo/Attr.js +179 -30
  30. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +80 -44
  31. package/src/components/JfbBaseUserOrder/Attr.js +291 -25
  32. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +172 -54
  33. package/src/components/JfbBaseWallet/Attr.js +344 -3
  34. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +173 -49
@@ -129,6 +129,9 @@
129
129
  v-for="(Ditem, Dindex) in info.film_show.detail.items"
130
130
  :key="Dindex"
131
131
  class="jfb-base-order-detail__body-delivery-bottom-item"
132
+ :style="{
133
+ marginBottom: lineHeight + 'rpx'
134
+ }"
132
135
  >
133
136
  <view style="width: 130rpx"
134
137
  >{{ Ditem.label }} <span v-if="Ditem.label">:</span>
@@ -214,6 +217,9 @@
214
217
  v-for="(Ditem, Dindex) in item.info"
215
218
  :key="Dindex"
216
219
  class="jfb-base-order-detail__body-delivery-bottom-item"
220
+ :style="{
221
+ marginBottom: lineHeight + 'rpx'
222
+ }"
217
223
  >
218
224
  <view style="width: 130rpx;display: flex;">
219
225
  <view v-html="Ditem.label"></view>
@@ -259,7 +265,7 @@
259
265
  class="jfb-base-order-detail__body-card jfb-base-order-detail__body-cashier"
260
266
  >
261
267
  <view class="jfb-base-order-detail__body-cashier-text">{{info.codes[0].show_type === "qrcode" ? "二维码" : "条形码" }}</view>
262
- <view style="position: relative">
268
+ <view v-if="showPreviewCode" style="position: relative">
263
269
  <image
264
270
  :style="{
265
271
  height: info.codes[0].show_type === 'qrcode' ? '50vw' : '25vw',
@@ -510,6 +516,9 @@
510
516
  v-for="(item, index) in info.detail"
511
517
  :key="index"
512
518
  class="jfb-base-order-detail__body-order"
519
+ :style="{
520
+ marginBottom: lineHeight + 'rpx'
521
+ }"
513
522
  >
514
523
  <view :style="{ fontWeight: item.style }">
515
524
  <view style="display: flex;">
@@ -541,6 +550,9 @@
541
550
  <view
542
551
  v-if="item.type !== 'line'"
543
552
  class="jfb-base-order-detail__body-price"
553
+ :style="{
554
+ marginBottom: lineHeight + 'rpx'
555
+ }"
544
556
  >
545
557
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
546
558
  <xd-unit
@@ -556,20 +568,18 @@
556
568
  ></view>
557
569
  </view>
558
570
  <view v-if="info.pay_info.cards && info.pay_info.cards.length > 0">
559
- <view class="jfb-base-order-detail__body-show" v-if="!showPayCard">
571
+ <view @click="showPayCard = true" class="jfb-base-order-detail__body-show" v-if="!showPayCard">
560
572
  <text>使用 {{ info.pay_info.cards.length }} 张票券 展开</text>
561
573
  <xd-font-icon
562
574
  style="margin-left: 8rpx"
563
- @click="showPayCard = true"
564
575
  size="28"
565
576
  icon="iconxia_down"
566
577
  ></xd-font-icon>
567
578
  </view>
568
- <view class="jfb-base-order-detail__body-show" v-else>
579
+ <view @click="showPayCard = false" class="jfb-base-order-detail__body-show" v-else>
569
580
  <text>使用{{ info.pay_info.cards.length }}张票券 收起</text>
570
581
  <xd-font-icon
571
582
  style="margin-left: 8rpx"
572
- @click="showPayCard = false"
573
583
  size="28"
574
584
  icon="iconshang_up"
575
585
  ></xd-font-icon>
@@ -653,8 +663,26 @@
653
663
  <view class="jfb-base-order-detail__body-shop-title">
654
664
  <view :style="{ background: mainColor }"></view>
655
665
  <view>商品详情</view>
666
+ <view @click="showAllProductDetail=!showAllProductDetail" v-if="!showAllProductDetail" class="jfb-base-order-detail__body-product-show">
667
+ <text> 展开</text>
668
+ <xd-font-icon
669
+ style="margin-left: 8rpx"
670
+ size="28"
671
+ icon="iconxia_down"
672
+ ></xd-font-icon>
673
+ </view>
674
+ <view @click="showAllProductDetail=!showAllProductDetail" v-if="showAllProductDetail" class="jfb-base-order-detail__body-product-show">
675
+ <text> 收起</text>
676
+ <xd-font-icon
677
+ style="margin-left: 8rpx"
678
+ size="28"
679
+ icon="iconxia_down"
680
+ ></xd-font-icon>
681
+ </view>
682
+ </view>
683
+ <view class="jfb-base-order-detail__body-html" v-if="showAllProductDetail">
684
+ <view v-html="info.productDetail"></view>
656
685
  </view>
657
- <view v-html="info.productDetail"></view>
658
686
  </view>
659
687
  <view
660
688
  v-if="info.custom_content"
@@ -683,41 +711,51 @@
683
711
  :style="prod_bottom"
684
712
  v-if="info.buttons && info.buttons.length > 0"
685
713
  >
686
- <view v-for="(item, index) in info.buttons" :key="index">
687
- <view
688
- style="display: flex; align-items: center"
689
- v-if="item.action === 'pay'"
690
- >
714
+ <view :style="[bottomBoxStyle]" class="btn_wrap">
715
+ <view v-for="(item, index) in info.buttons" :key="index">
691
716
  <view
692
- style="display: flex; align-items: center; margin-right: 30rpx"
693
- v-if="biz_code !== 'gift' || info.is_show_gift_price"
717
+ style="display: flex; align-items: center"
718
+ v-if="item.action === 'pay'"
694
719
  >
695
- <text>应付:</text>
696
- <xd-unit
697
- :price="info.pay_info.real_pay_amount"
698
- :font-size="36"
699
- :iocn-size="0.45"
700
- ></xd-unit>
720
+ <view
721
+ style="display: flex; align-items: center; margin-right: 30rpx"
722
+ v-if="biz_code !== 'gift' || info.is_show_gift_price"
723
+ >
724
+ <text>应付:</text>
725
+ <xd-unit
726
+ :price="info.pay_info.real_pay_amount"
727
+ :font-size="36"
728
+ :iocn-size="0.45"
729
+ ></xd-unit>
730
+ </view>
731
+ <view>
732
+ <xd-button
733
+ @click="handleToPay"
734
+ size="small"
735
+ type="primary"
736
+ :style="{
737
+ height: bottomBtnHeight + 'rpx',
738
+ lineHeight: bottomBtnHeight + 'rpx',
739
+ }"
740
+ :radius="bottomBtnRadius + 'rpx'"
741
+ :bg-color="mainColor"
742
+ >{{ item.text }}
743
+ </xd-button>
744
+ </view>
701
745
  </view>
702
- <view>
746
+ <view v-else>
703
747
  <xd-button
704
- @click="handleToPay"
705
748
  size="small"
706
- type="primary"
707
- radius="40rpx"
708
- :bg-color="mainColor"
709
- >{{ item.text }}
710
- </xd-button>
749
+ :type="item.type !== undefined ? item.type: 'primary'"
750
+ :radius="bottomBtnRadius + 'rpx'"
751
+ :style="{
752
+ height: bottomBtnHeight + 'rpx',
753
+ lineHeight: bottomBtnHeight + 'rpx',
754
+ }"
755
+ @click="handleAction(item)"
756
+ >{{ item.text }}</xd-button>
711
757
  </view>
712
758
  </view>
713
- <view v-else>
714
- <xd-button
715
- size="small"
716
- :type="item.type !== undefined ? item.type: 'primary'"
717
- radius="40rpx"
718
- @click="handleAction(item)"
719
- >{{ item.text }}</xd-button>
720
- </view>
721
759
  </view>
722
760
  </view>
723
761
  </view>
@@ -824,17 +862,26 @@ export default {
824
862
  is_border_w: 0,
825
863
  is_border_c: "",
826
864
 
865
+
827
866
  //其他
828
- margin: {
829
- top: 0,
830
- left: 0,
831
- right: 0,
832
- bottom: 0,
833
- },
867
+ margin: {},
834
868
  is_hot: "Y",
835
869
  logo: "",
870
+ lineHeight: 20,
836
871
 
837
872
  noticeBgc:'',
873
+ sectionShadow: "",
874
+ sectionBorder: "",
875
+ bottomBtnRadius: 0,
876
+ bottomPadding: "",
877
+ bottomBgColor: "",
878
+ bottomBtnHeight: "",
879
+ is_open: '',
880
+ is_show: '',
881
+ showAllProductDetail: false,
882
+ is_show_all_detail: '',
883
+ showPreviewCode: true,
884
+ is_show_product: "",
838
885
  };
839
886
  },
840
887
  watch: {
@@ -873,15 +920,21 @@ export default {
873
920
  return str
874
921
  },
875
922
  shadowBox() {
876
- if (this.is_shadow === "Y")
877
- return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
878
- else return "0 0 0 rgba(0,0,0,0)";
923
+ return this.sectionShadow;
879
924
  },
880
925
  borderBox() {
881
- if (this.is_border === "Y")
882
- return `${this.is_border_w}rpx solid ${this.is_border_c}`;
883
- else return "0";
926
+ return this.sectionBorder;
884
927
  },
928
+ bottomBoxStyle(){
929
+ let padding = `${this.checkValue(this.bottomPadding.top, 20)}rpx`;
930
+ padding = `${padding} ${this.checkValue(this.bottomPadding.right, 20)}rpx`;
931
+ padding = `${padding} ${this.checkValue(this.bottomPadding.bottom, 20)}rpx`;
932
+ padding = `${padding} ${this.checkValue(this.bottomPadding.left, 20)}rpx`;
933
+ return {
934
+ padding: padding,
935
+ backgroundColor: this.bottomBgColor,
936
+ }
937
+ }
885
938
  },
886
939
  created() {
887
940
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -914,13 +967,15 @@ export default {
914
967
  this.getCountDown();
915
968
  }
916
969
  },
917
- getOrderDetail() {
970
+ getOrderDetail() {
918
971
  jfbRootExec("getBaseOrderDetail", {
919
972
  vm: this,
920
973
  data: {
921
974
  main_order_id: this.main_order_id,
922
975
  custom_content_page_id: this.pageAttr.page_id,
923
976
  custom_content_container_id: this.cid,
977
+ is_show_jhd_code: Number(this.is_show),
978
+ is_show_product: this.is_show_product === "Y" ? 1 : 0,
924
979
  },
925
980
  })
926
981
  .then((res) => {
@@ -1047,7 +1102,7 @@ export default {
1047
1102
  }
1048
1103
 
1049
1104
  //增加删除订单按钮
1050
- if(this.is_show_delete_order === 'Y') {
1105
+ if(this.is_show_delete_order === 'Y') {
1051
1106
  let pay = (res.buttons||[]).filter(item => item.action === 'pay');
1052
1107
  let del = [{action:'delete', text:'删除订单', type: 'info'}];
1053
1108
  if(pay.length === 1) del = []
@@ -1060,11 +1115,12 @@ export default {
1060
1115
  }
1061
1116
 
1062
1117
  if (res.product) {
1063
- jfbRootExec("getBaseProductDetail", {
1118
+ try {
1119
+ jfbRootExec("getBaseProductDetail", {
1064
1120
  vm: this,
1065
1121
  data: {
1066
- xnamespace: info.product.business_code,
1067
- product_id: info.product.product_id,
1122
+ xnamespace: res.product.business_code,
1123
+ product_id: res.product.product_id,
1068
1124
  },
1069
1125
  })
1070
1126
  .then((result) => {
@@ -1077,6 +1133,11 @@ export default {
1077
1133
  .catch((err) => {
1078
1134
  console.log(err, "err");
1079
1135
  });
1136
+ } catch (error) {
1137
+ console.log(error,'apapapa');
1138
+
1139
+ }
1140
+
1080
1141
  }
1081
1142
  else {
1082
1143
  this.info = res;
@@ -1113,12 +1174,43 @@ export default {
1113
1174
  this.is_shadow_w = getContainerPropsValue(container, "content.is_shadow_w", "10");
1114
1175
 
1115
1176
  this.is_border = getContainerPropsValue(container, "content.is_border", "N");
1116
- this.is_hot = getContainerPropsValue(container, "content.is_hot", "Y");
1117
1177
  this.is_border_c = getContainerPropsValue(container, "content.is_border_c", "#fff");
1118
1178
  this.is_border_w = getContainerPropsValue(container, "content.is_border_w", 2);
1179
+
1180
+ this.is_hot = getContainerPropsValue(container, "content.is_hot", "Y");
1119
1181
  this.viewStatus = getContainerPropsValue(container, "content.viewStatus", "mall");
1120
1182
  this.is_show_support_shop = getContainerPropsValue(container, "content.is_show_support_shop", "N");
1121
1183
  this.is_show_delete_order = getContainerPropsValue(container, "content.is_show_delete_order", "N");
1184
+ this.lineHeight = getContainerPropsValue(container, "content.lineHeight", 20);
1185
+ let sectionShadow = getContainerPropsValue(container, "content.sectionShadow", "");
1186
+ this.sectionShadow = this.getShadowCompatibleOldStyle(sectionShadow, {
1187
+ type: this.is_shadow,
1188
+ width: this.is_shadow_w,
1189
+ color: this.is_shadow_bg,
1190
+ })
1191
+ let sectionBorder = getContainerPropsValue(container, "content.sectionBorder", "");
1192
+ this.sectionBorder = this.getBorderCompatibleOldStyle(sectionBorder, {
1193
+ type: this.is_border,
1194
+ width: this.is_border_w,
1195
+ color: this.is_border_c,
1196
+ })
1197
+ this.bottomBtnRadius = getContainerPropsValue(container, "content.bottomBtnRadius", 0);
1198
+ this.bottomPadding = getContainerPropsValue(container, "content.bottomPadding", {});
1199
+ this.bottomBgColor = getContainerPropsValue(container, "content.bottomBgColor", "#ffffff");
1200
+ this.bottomBtnHeight = getContainerPropsValue(container, "content.bottomBtnHeight", 60);
1201
+ this.is_open = getContainerPropsValue(container, "content.is_open", "N");
1202
+ this.is_show = getContainerPropsValue(container, "content.is_show", '1');
1203
+ this.showPayCard = this.is_open==='Y'
1204
+ this.is_show_all_detail = getContainerPropsValue(container, "content.is_show_all_detail", "N");
1205
+ this.is_show_product = getContainerPropsValue(container, "content.is_show_product", "Y");
1206
+ this.showAllProductDetail = this.is_show_all_detail==='Y'
1207
+ if(this.isPreview) {
1208
+ if(this.is_show==='0') {
1209
+ this.showPreviewCode = false;
1210
+ } else {
1211
+ this.showPreviewCode = true;
1212
+ }
1213
+ }
1122
1214
  },
1123
1215
  getCountDown() {
1124
1216
  this.timer = setInterval(() => {
@@ -1758,8 +1850,6 @@ export default {
1758
1850
  position: fixed;
1759
1851
  left: 0;
1760
1852
  right: 0;
1761
- height: unit(100, rpx);
1762
- padding: 0 unit(30, rpx);
1763
1853
  box-shadow: 0 0 unit(10, rpx) rgba(0, 0, 0, 0.15);
1764
1854
  background: #fff;
1765
1855
  z-index: 3000;
@@ -1767,12 +1857,33 @@ export default {
1767
1857
  justify-content: flex-end;
1768
1858
  align-items: center;
1769
1859
 
1770
- & > view {
1771
- margin-left: unit(20, rpx);
1772
- font-size: @xd-font-size-lg;
1860
+ .btn_wrap{
1861
+ display: flex;
1862
+ & > view {
1863
+ margin-left: unit(20, rpx);
1864
+ font-size: @xd-font-size-lg;
1865
+ }
1773
1866
  }
1774
1867
  }
1775
1868
 
1869
+ &-product {
1870
+ &-show {
1871
+ display: flex;
1872
+ justify-content: center;
1873
+ align-items: center;
1874
+ padding: unit(16, rpx);
1875
+ border-radius: unit(4, rpx);
1876
+ color: #999999;
1877
+ font-size: unit(24, rpx);
1878
+ margin-left:10px
1879
+ }
1880
+ }
1881
+
1882
+ &-html {
1883
+ padding: unit(20, rpx) 0;
1884
+ color: #999;
1885
+ }
1886
+
1776
1887
  }
1777
1888
  .dialog_password{
1778
1889
  text-align: center;
@@ -4,6 +4,17 @@ export default {
4
4
  style: [],
5
5
  content: (data)=>{
6
6
  return [
7
+ {
8
+ label: "布局样式配置",
9
+ ele: "xd-radio",
10
+ valueKey: "layout_style",
11
+ value: data.layout_style || 'old',
12
+ list: [
13
+ {label: '布局1', value: 'old'},
14
+ {label: '布局2', value: 'tfk'},
15
+ ],
16
+ groupKey: "style",
17
+ },
7
18
  {
8
19
  label: '设置订单状态:',
9
20
  ele: 'xd-order-setting',
@@ -30,6 +41,18 @@ export default {
30
41
  {required: true, message: '设置订单配置错误!请检查配置', trigger: 'change'},
31
42
  ],
32
43
  },
44
+ {
45
+ label: "是否展示订单号:",
46
+ ele: 'xd-radio',
47
+ valueKey: 'isShowOrderNo',
48
+ value: data['isShowOrderNo'] || 'Y',
49
+ groupKey:'style',
50
+ list: [
51
+ {label: '是', value: 'Y'},
52
+ {label: '否', value: 'N'},
53
+ ],
54
+ hidden: data.layout_style !== 'tfk'
55
+ },
33
56
  {
34
57
  label: '外填充:',
35
58
  ele: 'xd-margin-padding',
@@ -73,11 +96,38 @@ export default {
73
96
  inline: false,
74
97
  notice: '间距设置,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
75
98
  },
99
+ {
100
+ label: "投影设置:",
101
+ ele: "xd-shadow",
102
+ valueKey: "sectionShadow",
103
+ value: data.sectionShadow || {},
104
+ groupKey:'style',
105
+ handleCustom({action, data}) {
106
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
107
+ .then(res => {
108
+ data.cb(res.list)
109
+ })
110
+ .catch(error => {
111
+ console.error(error);
112
+ data.cb([])
113
+ });
114
+ },
115
+ },
116
+ {
117
+ label: '边框设置:',
118
+ ele: 'xd-border',
119
+ valueKey: 'sectionBorder',
120
+ groupKey:'style',
121
+ value: data.sectionBorder || {},
122
+ placeholder: '请选择边框设置',
123
+ inline: false,
124
+ },
76
125
  {
77
126
  ele: 'title',
78
127
  label: '投影设置',
79
128
  size: 'small',
80
129
  groupKey:'style',
130
+ hidden: true,
81
131
  },
82
132
  {
83
133
  label: '是否有投影:',
@@ -91,7 +141,8 @@ export default {
91
141
  list: [
92
142
  {label: '是', value: 'Y'},
93
143
  {label: '否', value: 'N'},
94
- ]
144
+ ],
145
+ hidden: true,
95
146
  },
96
147
  data['is_shadow'] === 'Y' && {
97
148
  label: '投影颜色:',
@@ -101,6 +152,7 @@ export default {
101
152
  value: data['is_shadow_bg'] || '',
102
153
  placeholder: '请选择投影颜色',
103
154
  classNmae: 'input80',
155
+ hidden: true,
104
156
  },
105
157
  data['is_shadow'] === 'Y' && {
106
158
  label: '投影范围:',
@@ -123,12 +175,14 @@ export default {
123
175
  console.error(error);
124
176
  });
125
177
  },
178
+ hidden: true,
126
179
  },
127
180
  {
128
181
  ele: 'title',
129
182
  label: '边框设置',
130
183
  size: 'small',
131
184
  groupKey:'style',
185
+ hidden: true,
132
186
  },
133
187
  {
134
188
  label: '是否有边框:',
@@ -142,7 +196,8 @@ export default {
142
196
  list: [
143
197
  {label: '是', value: 'Y'},
144
198
  {label: '否', value: 'N'},
145
- ]
199
+ ],
200
+ hidden: true,
146
201
  },
147
202
  data['is_border'] === 'Y' && {
148
203
  label: '边框颜色:',
@@ -152,6 +207,7 @@ export default {
152
207
  value: data['is_border_c'] || '',
153
208
  placeholder: '请选择边框颜色',
154
209
  classNmae: 'input80',
210
+ hidden: true,
155
211
  },
156
212
  data['is_border'] === 'Y' && {
157
213
  label: '边框大小:',
@@ -162,6 +218,7 @@ export default {
162
218
  value: data['is_border_w'] || '',
163
219
  placeholder: '请输入边框大小',
164
220
  className: 'input80',
221
+ hidden: true,
165
222
  },
166
223
  {
167
224
  label: '内容圆角设置:',