jufubao-mall 1.0.74 → 1.0.76

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 (36) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbMallCart/Attr.js +9 -1
  3. package/src/components/JfbMallCart/JfbMallCart.vue +12 -3
  4. package/src/components/JfbMallCart/Mock.js +9 -12
  5. package/src/components/JfbMallConfirm/Attr.js +31 -5
  6. package/src/components/JfbMallConfirm/JfbMallConfirm.vue +33 -12
  7. package/src/components/JfbMallConfirm/Mock.js +5 -5
  8. package/src/components/JfbMallHomeProductList/Attr.js +26 -24
  9. package/src/components/JfbMallHomeProductList/JfbMallHomeProductList.vue +188 -26
  10. package/src/components/JfbMallMarketOne/Attr.js +42 -8
  11. package/src/components/JfbMallMarketOne/JfbMallMarketOne.vue +46 -13
  12. package/src/components/JfbMallMarketThree/Attr.js +40 -0
  13. package/src/components/JfbMallMarketThree/JfbMallMarketThree.vue +23 -14
  14. package/src/components/JfbMallMarketTwo/Attr.js +41 -0
  15. package/src/components/JfbMallMarketTwo/JfbMallMarketTwo.vue +19 -9
  16. package/src/components/JfbMallProductInfo/Attr.js +1 -1
  17. package/src/components/JfbMallProductInfo/JfbMallProductInfo.vue +38 -25
  18. package/src/components/JfbMallProductInfo/Mock.js +5 -7
  19. package/src/components/JfbMallProductInfo/XdSku.vue +105 -19
  20. package/src/components/JfbMallProductInfo/XdSkuJd.vue +125 -31
  21. package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +2 -0
  22. package/src/components/JfbMallProductInfoV2/Mock.js +3 -3
  23. package/src/components/JfbMallProductList/JfbMallProductList.vue +3 -1
  24. package/src/components/JfbMallProductList/XdCateV1.vue +5 -4
  25. package/src/components/JfbMallSearch/Attr.js +15 -14
  26. package/src/components/JfbMallSearch/JfbMallSearch.vue +9 -16
  27. package/src/components/JfbMallSearch/Mock.js +14 -0
  28. package/src/components/JfbMallShop/JfbMallShop.vue +29 -6
  29. package/src/components/JfbMallShopList/JfbMallShopList.vue +58 -2
  30. package/src/components/JfbMallSpecialHome/JfbMallSpecialHome.vue +52 -3
  31. package/src/components/JfbMallTfkProductCategory/Api.js +60 -0
  32. package/src/components/JfbMallTfkProductCategory/Attr.js +106 -0
  33. package/src/components/JfbMallTfkProductCategory/JfbMallTfkProductCategory.vue +110 -0
  34. package/src/components/JfbMallTfkProductCategory/JfbMallTfkProductCategoryLess.less +80 -0
  35. package/src/components/JfbMallTfkProductCategory/JfbMallTfkProductCategoryMixin.js +30 -0
  36. package/src/components/JfbMallTfkProductCategory/Mock.js +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-mall",
3
- "version": "1.0.74",
3
+ "version": "1.0.76",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -86,7 +86,15 @@ export default {
86
86
  {label: '空购物车', value: "N"},
87
87
  ],
88
88
  },
89
-
89
+ {
90
+ label: '品牌文字颜色:',
91
+ ele: 'xd-color',
92
+ valueKey: 'brandTextColor',
93
+ groupKey:'style',
94
+ value: data['brandTextColor'] || null,
95
+ placeholder: '请选择品牌文字颜色',
96
+ classNmae: 'input80',
97
+ },
90
98
  {
91
99
  label: '标题背景颜色:',
92
100
  ele: 'xd-color',
@@ -98,7 +98,8 @@
98
98
  </view>
99
99
  <view class="prod_info">
100
100
  <view @click="toDetail(prod)">
101
- <view class="prod_tit">{{ prod.product_name }}</view>
101
+ <view class="prod_tit" :class="{prod_tit_one: prod.brand_name && prod.product_sku_name}">{{ prod.product_name }}</view>
102
+ <view v-if="prod.brand_name" class="brand-name" :style="{color:brandTextColor}">{{ prod.brand_name }}</view>
102
103
  <view class="prod_specs" v-if="prod.product_sku_name">规格:{{ prod.product_sku_name }}</view>
103
104
  </view>
104
105
  <view class="prod_price">
@@ -210,7 +211,6 @@ export default {
210
211
  mixins: [componentsMixins, extsMixins, JfbMallCartMixin],
211
212
  data() {
212
213
  return {
213
- hideMask: true,
214
214
  cart_bg: `//img.jufubao.cn/common/cart.png`,
215
215
  originCartList: [],
216
216
  cartList: [],
@@ -223,6 +223,7 @@ export default {
223
223
  orderConfirmPath: "",
224
224
  productInfoPath: "",
225
225
  cartListStatus: "", //购物车面板状态切换(有无商品)
226
+ brandTextColor:'',
226
227
 
227
228
  //基础
228
229
  backgroundColor: "rgba(0,0,0,0)",
@@ -350,6 +351,7 @@ export default {
350
351
  this.orderConfirmPath = getContainerPropsValue(container, "content.orderConfirmPath", { value: "" }).value;
351
352
  this.productInfoPath = getContainerPropsValue(container, "content.productInfoPath", { value: "" }).value;
352
353
  this.cartListStatus = getContainerPropsValue(container, "content.cartListStatus", 'Y');
354
+ this.brandTextColor = getContainerPropsValue(container, "content.brandTextColor", this.mainColor);
353
355
 
354
356
  //测试模式
355
357
  if (this.$configProject.isPreview) {
@@ -717,8 +719,11 @@ export default {
717
719
  .uni-max-cut(2, 80);
718
720
  line-height: unit(40, rpx);
719
721
  }
722
+ .prod_tit_one {
723
+ .uni-max-cut(1, 40);
724
+ }
720
725
  .prod_specs {
721
- font-size: 28rpx;
726
+ font-size: 26rpx;
722
727
  color: #999999;
723
728
  padding-top: unit(10, rpx);
724
729
  }
@@ -727,6 +732,10 @@ export default {
727
732
  justify-content: space-between;
728
733
  align-items: center;
729
734
  }
735
+ .brand-name {
736
+ font-size: 26rpx;
737
+ padding-top: unit(10, rpx);
738
+ }
730
739
  }
731
740
  }
732
741
  }
@@ -5,13 +5,12 @@ module.exports = {
5
5
  list: [
6
6
  {
7
7
  product_id: 60008821,
8
- product_name:
9
- "好丽友(orion)零食休闲零食薯条膨化食品呀!土豆番茄酱味70g/袋",
8
+ product_name: "好丽友(orion)零食休闲零食薯条膨化食品呀!土豆番茄酱味70g/袋",
9
+ brand_name:'好丽友(orion)',
10
10
  product_sku_id: "70016179",
11
11
  product_sku_name: "200 鲜香",
12
12
  num: 1,
13
- thumb:
14
- "//sandbox-img.jufubao.cn/uploads/20230522/478f40e75d1be2e85680d9de1c1890c7.jpg",
13
+ thumb: "//sandbox-img.jufubao.cn/uploads/20230522/478f40e75d1be2e85680d9de1c1890c7.jpg",
15
14
  sale_price: 2678,
16
15
  max_buy: -1,
17
16
  min_buy: -1,
@@ -26,8 +25,7 @@ module.exports = {
26
25
  },
27
26
  {
28
27
  product_id: 60008817,
29
- product_name:
30
- "港荣蒸蛋糕 奶香味手撕蛋糕900g/箱面包蛋糕早餐面包办公室零食",
28
+ product_name: "港荣蒸蛋糕 奶香味手撕蛋糕900g/箱面包蛋糕早餐面包办公室零食",
31
29
  product_sku_id: "0",
32
30
  product_sku_name: "",
33
31
  num: 1,
@@ -45,10 +43,10 @@ module.exports = {
45
43
  },
46
44
  {
47
45
  product_id: 60007091,
48
- product_name:
49
- "惠普(HP)战66 四代 15.6英寸轻薄笔记本电脑(i5-1135G7 16G 512G 高色域 一年上门+意外 2年电池)",
46
+ product_name: "惠普(HP)战66 四代 15.6英寸轻薄笔记本电脑(i5-1135G7 16G 512G 高色域 一年上门+意外 2年电池)",
50
47
  product_sku_id: "0",
51
48
  product_sku_name: "",
49
+ brand_name:'惠普(HP)战66 四代',
52
50
  num: 1,
53
51
  thumb: "//sandbox-img.jufubao.cn/uploads/20230517/d01ab9cd8344d226c43919b47f8ed534.jpg",
54
52
  sale_price: 1300,
@@ -62,8 +60,7 @@ module.exports = {
62
60
  },
63
61
  {
64
62
  product_id: 60008820,
65
- product_name:
66
- "好丽友(orion)零食休闲零食薯愿薯片非油炸膨化食品香烤原味 104g 桶装",
63
+ product_name: "好丽友(orion)零食休闲零食薯愿薯片非油炸膨化食品香烤原味 104g 桶装",
67
64
  product_sku_id: "0",
68
65
  product_sku_name: "",
69
66
  num: 1,
@@ -79,10 +76,10 @@ module.exports = {
79
76
  },
80
77
  {
81
78
  product_id: 60008816,
82
- product_name:
83
- "良品铺子手撕面包2斤装 量贩早餐小面包代餐休闲零食办公室点心整箱装礼盒",
79
+ product_name: "良品铺子手撕面包2斤装 量贩早餐小面包代餐休闲零食办公室点心整箱装礼盒",
84
80
  product_sku_id: "0",
85
81
  product_sku_name: "",
82
+ brand_name:'良品铺子',
86
83
  num: 1,
87
84
  thumb: "//sandbox-img.jufubao.cn/uploads/20230522/24f0e3386a80c2a6659d71862eedcae7.jpg",
88
85
  sale_price: 2678,
@@ -22,7 +22,6 @@ export default {
22
22
  {label: '否', value: 'N'},
23
23
  ]
24
24
  },
25
-
26
25
  {
27
26
  label: "显示订购人信息",
28
27
  ele: "xd-radio",
@@ -45,8 +44,6 @@ export default {
45
44
  {label: "隐藏", value: "N"}
46
45
  ]
47
46
  },
48
-
49
-
50
47
  {
51
48
  label: "选择业务线",
52
49
  ele: "xd-choose-namespace",
@@ -137,7 +134,7 @@ export default {
137
134
  label: "使用模式",
138
135
  ele: "xd-radio",
139
136
  valueKey: "useMode",
140
- value: data.useMode,
137
+ value: data.useMode || "market",
141
138
  groupKey: 'content',
142
139
  list: [
143
140
  {label: "商城模式", value: "market"},
@@ -154,7 +151,36 @@ export default {
154
151
  {label: "展示", value: "Y"},
155
152
  {label: "不展示", value: "N"}
156
153
  ]
157
- }
154
+ },
155
+ {
156
+ label: "表单提示文字大小",
157
+ ele: 'xd-site-select-list',
158
+ valueKey: 'blessFontSize',
159
+ value: data.blessFontSize,
160
+ multiple: false,
161
+ className: 'input50',
162
+ groupKey:'content',
163
+ handleCustom({action, data}) {
164
+ XdBus.getParentApi('getOptionsSettingList')({
165
+ setting_id: 'edtix_style_font_size'
166
+ })
167
+ .then(res => {
168
+ data.cb(res.list)
169
+ })
170
+ .catch(error => {
171
+ console.error(error);
172
+ });
173
+ },
174
+ },
175
+ {
176
+ label: '品牌文字颜色:',
177
+ ele: 'xd-color',
178
+ valueKey: 'brandTextColor',
179
+ groupKey:'style',
180
+ value: data['brandTextColor'] || null,
181
+ placeholder: '请选择品牌文字颜色',
182
+ classNmae: 'input80',
183
+ },
158
184
  ].filter(i=>i)
159
185
  },
160
186
  advanced: [],
@@ -46,15 +46,16 @@
46
46
  <image :src="prod.product_thumb"/>
47
47
  </view>
48
48
  <view class="prod_info">
49
- <view class="prod_tit">{{prod.product_name}}</view>
50
- <view class="prod_specs">{{prod.product_sku_name}}</view>
49
+ <view class="prod_tit" :class="{prod_tit_one:prod.brand_name||prod.product_sku_name||(showActivityPrice==='Y'&&prod.is_activity==='Y')}">{{prod.product_name}}</view>
50
+ <view class="prod_brand" :style="{color:brandTextColor}" v-if="prod.brand_name">{{prod.brand_name}}</view>
51
+ <view class="prod_specs" v-if="prod.product_sku_name">{{prod.product_sku_name}}</view>
51
52
  <view class="prod_price">
52
53
  <view style="display:flex;align-items:center">
53
54
  <xd-unit :price="prod.sale_price" :isOld="false" color="#333" :iconSize="0.3" :fontSize="32"/>
54
55
  </view>
55
56
  <view style="font-size: 28rpx;color:#999">{{prod['product_num'] ? 'x': ''}} {{prod['product_num']}}</view>
56
57
  </view>
57
- <view v-if="showActivityPrice==='Y'&&prod.is_activity==='Y'" :style="{color:mainColor,fontSize:'24rpx'}">{{prod.error_message?prod.error_message:'活动价'}}</view>
58
+ <view v-if="showActivityPrice==='Y'&&prod.is_activity==='Y'" :style="{color:mainColor,fontSize:'24rpx'}">{{prod.error_message?prod.error_message:'活动价'}}</view>
58
59
  </view>
59
60
  </view>
60
61
  <view v-if="prod.blessingKey" class="wish_comment">
@@ -62,7 +63,8 @@
62
63
  <view class="bless_tip"
63
64
  v-if="prod.blessingData.struct && prod.blessingData.struct.explain"
64
65
  :style="{
65
- color: mainColor
66
+ color: mainColor,
67
+ fontSize: blessFontSize + 'rpx'
66
68
  }"
67
69
  >{{prod.blessingData.struct.explain}}</view>
68
70
  </view>
@@ -303,10 +305,10 @@
303
305
  is_use_jfb_pay: "", //是否使用聚福宝支付
304
306
 
305
307
  scene: "",
306
-
307
308
  buyer_phone_number: "", //订购人手机号
308
309
  comment: "", //订单备注
309
310
 
311
+
310
312
  gift_id: "",
311
313
  gift_mode: "",
312
314
  showGiftNewCard: false,
@@ -351,8 +353,10 @@
351
353
  preview: "N",
352
354
  showActivityPrice: 'N',
353
355
  bindCard: '1',
354
- useMode: "", //模式百货market,礼包gift
356
+ useMode: "", //模式百货market,礼包gift
355
357
  showPrice: "Y", //商城模式隐藏是否展示价格, 默认值是展示价格
358
+ blessFontSize: 24, //动态输入语提示字体大小
359
+ brandTextColor:'',
356
360
  }
357
361
  },
358
362
  computed: {
@@ -460,8 +464,9 @@
460
464
  }
461
465
  },
462
466
  watch: {
463
- container(value) {
464
- this.init(value)
467
+ container(value,oldValue) {
468
+ if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
469
+ if (this.$configProject['isPreview']) this.init(value)
465
470
  },
466
471
  curAddr(n, o){
467
472
  if((n != o || n.address_nnid != o.address_nnid)){
@@ -522,10 +527,12 @@
522
527
  this.paySuccessPath = getContainerPropsValue(container, 'content.paySuccessPath', {value: ""}).value;
523
528
  this.choseCityPath = getContainerPropsValue(container, 'content.choseCityPath',{value: "/system/system/city"}).value;
524
529
  this.preview = getContainerPropsValue(container, 'content.preview', "N");
530
+ this.blessFontSize = getContainerPropsValue(container, 'content.blessFontSize', "24");
525
531
  this.showActivityPrice = getContainerPropsValue(container, 'content.showActivityPrice', 'N');
526
532
  this.bindCard = getContainerPropsValue(container,"content.bindCard","1");
527
- this.useMode = getContainerPropsValue(container, 'content.useMode', "market");
533
+ this.useMode = getContainerPropsValue(container, 'content.useMode', "market");
528
534
  this.showPrice = getContainerPropsValue(container, 'content.showPrice', "Y");
535
+ this.brandTextColor = getContainerPropsValue(container, "content.brandTextColor", this.mainColor);
529
536
  if(this.useMode === "market"){
530
537
  this.showPrice = "Y"
531
538
  }
@@ -631,7 +638,7 @@
631
638
  let selected_wallet_list = this.choseWallet ? this.choseWallet.selectedWalletList : []
632
639
  //票券跟钱包都未选择,给用户提示
633
640
  if(selected_card_list.length == 0 && selected_wallet_list.length == 0){
634
-
641
+
635
642
  if(!this.hasAlertCardChose){
636
643
  if(this.payCard){
637
644
  this.showCardPayChose = true;
@@ -640,7 +647,7 @@
640
647
  this.showWalletChose = true;
641
648
  return false;
642
649
  }
643
-
650
+
644
651
  }else{
645
652
  //支持补差, 提示是否使用补差
646
653
  if(this.payThird){
@@ -1103,11 +1110,25 @@
1103
1110
  }
1104
1111
  .prod_tit{
1105
1112
  font-size: 32rpx;
1113
+ .uni-max-cut(2, 80);
1114
+ line-height: unit(40, rpx);
1115
+ }
1116
+ .prod_tit_one {
1117
+ .uni-max-cut(1, 40);
1106
1118
  }
1119
+
1120
+ .prod_brand {
1121
+ font-size: 26rpx;
1122
+ padding-top: unit(10, rpx);
1123
+ line-height: unit(32, rpx);
1124
+ }
1125
+
1107
1126
  .prod_specs{
1127
+ padding-top: unit(10, rpx);
1108
1128
  display: block;
1109
- font-size: 28rpx;
1129
+ font-size: 26rpx;
1110
1130
  color: #999999;
1131
+ line-height: unit(32, rpx);
1111
1132
  }
1112
1133
  .prod_price{
1113
1134
  display: flex;
@@ -169,7 +169,7 @@ module.exports = {
169
169
  "supplier_logistics_amount_origin": "50",
170
170
  "product": [{
171
171
  "product_id": 60006948,
172
- "product_name": "实物商品jls(单规格)1",
172
+ "product_name": "好丽友(orion)零食休闲零食薯条膨化食品呀!土豆番茄酱味70g/袋",
173
173
  "invoice_name": "",
174
174
  "sku_id": "0",
175
175
  "sku_name": "",
@@ -181,9 +181,9 @@ module.exports = {
181
181
  "product_exts": "{}",
182
182
  "product_type": "good",
183
183
  "product_thumb": "https:\/\/sandbox-img.jufubao.cn\/uploads\/20230406\/0b890cd5a947d9c5724b412d34cd4000.png",
184
- "product_form_data": "[{\"id\":\"blessing\",\"type\":\"input\",\"struct\":{\"title\":\"\\u795d\\u798f\\u8bed\",\"explain\":\"\",\"default\":\"\",\"placeholder\":\"\",\"required\":true},\"options\":[],\"value\":\"\\u795d\\u798f\\u8bed\"}]",
184
+ "product_form_data": "[{\"id\":\"blessing\",\"type\":\"input\",\"struct\":{\"title\":\"祝福语\",\"explain\":\"请务必确保输入的号码准确无误,填错号码无法进行退还操作,后果自负。\",\"default\":\"\",\"placeholder\":\"\",\"required\":true},\"options\":[],\"value\":\"祝福语\"}]",
185
185
  "brand_id": 3,
186
- "brand_name": "好利来",
186
+ "brand_name": "北京味多美蛋糕叔叔/HEYTEA/喜茶/凯蒂猫/Quange/全格",
187
187
  "aftersale_service": ",refund,exchange",
188
188
  "channel_product_id": "60006948",
189
189
  "product_weight": "3000",
@@ -247,7 +247,7 @@ module.exports = {
247
247
  "product_thumb": "https:\/\/sandbox-img.jufubao.cn\/uploads\/20230506\/d7411a5c6b104b83187e3e8f4fa6ae34.jpeg",
248
248
  "product_form_data": "[]",
249
249
  "brand_id": 3,
250
- "brand_name": "好利来",
250
+ "brand_name": "HEYTEA/喜茶/凯蒂猫/Quange/全格",
251
251
  "aftersale_service": ",refund,refund_and_good,exchange",
252
252
  "channel_product_id": "60007291",
253
253
  "product_weight": "2000",
@@ -310,7 +310,7 @@ module.exports = {
310
310
  "product_thumb": "https:\/\/sandbox-img.jufubao.cn\/uploads\/20230614\/99927477a89c8f88c9b71495b1683adb.jpg",
311
311
  "product_form_data": "[]",
312
312
  "brand_id": 100003,
313
- "brand_name": "品牌jls0519",
313
+ "brand_name": "Quange/全格",
314
314
  "aftersale_service": "",
315
315
  "channel_product_id": "60009686",
316
316
  "product_weight": "0",
@@ -12,10 +12,33 @@ export default {
12
12
  value: data['row_num'] || 2,
13
13
  groupKey:'content',
14
14
  list: [
15
- {label: "一行一个", value: 1},
16
- {label: "一行两个", value: 2}
15
+ {label: "一列", value: 1},
16
+ {label: "两列", value: 2},
17
+ {label: "三列", value: 3}
17
18
  ]
18
19
  },
20
+ {
21
+ label: '内容圆角设置:',
22
+ ele: 'xd-site-select-list',
23
+ valueKey: 'radius',
24
+ value: data['radius'] || '0',
25
+ placeholder: '请选择内容圆角设置',
26
+ multiple: false,
27
+ className: 'input80',
28
+ groupKey:'content',
29
+ handleCustom({action, data}) {
30
+ XdBus.getParentApi('getOptionsSettingList')({
31
+ setting_id: 'edtix_style_radius',
32
+ key: Date.now()
33
+ })
34
+ .then(res => {
35
+ data.cb(res.list)
36
+ })
37
+ .catch(error => {
38
+ console.error(error);
39
+ });
40
+ },
41
+ },
19
42
  {
20
43
  label: "商品排序",
21
44
  ele: "xd-select-list",
@@ -377,28 +400,7 @@ export default {
377
400
  className: 'input80',
378
401
  groupKey:'style',
379
402
  },
380
- {
381
- label: '内容圆角设置:',
382
- ele: 'xd-site-select-list',
383
- valueKey: 'radius',
384
- value: data['radius'] || '0',
385
- placeholder: '请选择内容圆角设置',
386
- multiple: false,
387
- className: 'input80',
388
- groupKey:'style',
389
- handleCustom({action, data}) {
390
- XdBus.getParentApi('getOptionsSettingList')({
391
- setting_id: 'edtix_style_radius',
392
- key: Date.now()
393
- })
394
- .then(res => {
395
- data.cb(res.list)
396
- })
397
- .catch(error => {
398
- console.error(error);
399
- });
400
- },
401
- },
403
+
402
404
  {
403
405
  label: "选择业务线",
404
406
  ele: "xd-choose-namespace",