jufubao-mall 2.0.19 → 2.0.20-beta10

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 (49) hide show
  1. package/package.json +1 -1
  2. package/src/components/CusProduct/CusProduct.vue +1 -1
  3. package/src/components/JfbMallBrandHome/JfbMallBrandHome.vue +19 -15
  4. package/src/components/JfbMallBrandWall/Attr.js +10 -449
  5. package/src/components/JfbMallBrandWall/JfbMallBrandWall.vue +783 -308
  6. package/src/components/JfbMallBrandWall/cusAttr/advanced.js +61 -0
  7. package/src/components/JfbMallBrandWall/cusAttr/brand.js +341 -0
  8. package/src/components/JfbMallBrandWall/cusAttr/content.js +251 -0
  9. package/src/components/JfbMallBrandWall/cusAttr/style.js +252 -0
  10. package/src/components/JfbMallBrandWall/cusAttr/tab.js +471 -0
  11. package/src/components/JfbMallHomeProductList/JfbMallHomeProductList.vue +4 -2
  12. package/src/components/JfbMallHomeProductList/cusAttr/content.js +1 -2
  13. package/src/components/JfbMallProductInfo/JfbMallProductInfo.vue +27 -23
  14. package/src/components/JfbMallProductInfo/cusAttr/content.js +1 -1
  15. package/src/components/JfbMallProductInfoV2/Api.js +1 -1
  16. package/src/components/JfbMallProductInfoV2/Attr.js +134 -41
  17. package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +136 -127
  18. package/src/components/JfbMallProductInfoV2/Mock.js +38 -10
  19. package/src/components/JfbMallProductList/Api.js +7 -7
  20. package/src/components/JfbMallProductList/Attr.js +7 -762
  21. package/src/components/JfbMallProductList/ComFilterQuery.vue +950 -0
  22. package/src/components/JfbMallProductList/JfbMallProductList.vue +797 -792
  23. package/src/components/JfbMallProductList/Mock.js +168 -255
  24. package/src/components/JfbMallProductList/XdCateV1.vue +332 -122
  25. package/src/components/JfbMallProductList/XdCateV2.vue +143 -75
  26. package/src/components/JfbMallProductList/XdQueryCommon.vue +189 -0
  27. package/src/components/JfbMallProductList/XdQueryFilter.vue +94 -76
  28. package/src/components/JfbMallProductList/XdQuerySort.vue +100 -109
  29. package/src/components/JfbMallProductList/cateMixins.js +97 -0
  30. package/src/components/JfbMallProductList/{advanced.js → cusAttr/advanced.js} +12 -4
  31. package/src/components/JfbMallProductList/cusAttr/content.js +465 -0
  32. package/src/components/JfbMallProductList/cusAttr/filter.js +333 -0
  33. package/src/components/JfbMallProductList/cusAttr/font.js +114 -0
  34. package/src/components/JfbMallProductList/cusAttr/icon.js +298 -0
  35. package/src/components/JfbMallProductList/{style.js → cusAttr/style.js} +15 -50
  36. package/src/components/JfbMallRecommendProduct/Attr.js +8 -366
  37. package/src/components/JfbMallRecommendProduct/JfbMallRecommendProduct.vue +218 -187
  38. package/src/components/JfbMallRecommendProduct/Mock.js +236 -693
  39. package/src/components/JfbMallRecommendProduct/cusAttr/advanced.js +79 -0
  40. package/src/components/JfbMallRecommendProduct/cusAttr/content.js +202 -0
  41. package/src/components/JfbMallRecommendProduct/cusAttr/style.js +594 -0
  42. package/src/components/JfbMallResourceShopList/Mock.js +4 -6
  43. package/src/components/JfbMallTestNormal/JfbMallTestNormal.vue +23 -2
  44. package/src/components/JfbMallTestNormal/data.js +152 -0
  45. package/src/mixins/componentsMixins.js +1 -0
  46. package/src/mixins/productCompMixins.js +29 -19
  47. package/src/components/JfbMallProductList/PosterAttr.js +0 -327
  48. package/src/components/JfbMallProductList/ProductAttr.js +0 -164
  49. package/src/components/JfbMallProductList/XdQueryBrand.vue +0 -150
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-mall",
3
- "version": "2.0.19",
3
+ "version": "2.0.20-beta10",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -17,6 +17,7 @@
17
17
  </view>
18
18
  <view class="product-content">
19
19
  <view class="product-content-info">
20
+
20
21
  <view class="name" :style="[nameFont]" v-html="cusName" :class="{showOne: isOne}"></view>
21
22
  <view
22
23
  class="brand"
@@ -206,7 +207,6 @@ export default {
206
207
 
207
208
  <style scoped lang="less">
208
209
  .product {
209
- cursor: pointer;
210
210
 
211
211
  &.one {
212
212
  display: flex;
@@ -805,7 +805,7 @@
805
805
  jfbRootExec("getBrandHomeInfo", {
806
806
  vm: this,
807
807
  data: {
808
- ...this.options,
808
+ //...this.options,
809
809
  brand_id: this.brand_id,
810
810
  xnamespace: this.xnamespace
811
811
  }
@@ -910,20 +910,24 @@
910
910
  page_size = this.show_shop_num;
911
911
  }
912
912
  }
913
+ let data = this.$xdUniHelper.deleteParamEmptyKey({
914
+ consume_mode: "SELL",
915
+ ...this.options,
916
+ brand_id: this.brand_id,
917
+ city_code: this.stateCity.city_code,
918
+ latitude: this.stateLocation.latitude,
919
+ longitude: this.stateLocation.longitude,
920
+ page_size: page_size,
921
+ page_token: this.shop_page_token,
922
+ region_limit_tpl_id: this.region_limit_tpl_id,
923
+ namespace: this.xnamespace,
924
+ });
925
+
926
+ if(data['brand_type']) delete data['brand_type'];
927
+
913
928
  jfbRootExec("getMallBrandHomeShopList", {
914
929
  vm: this,
915
- data: this.$xdUniHelper.deleteParamEmptyKey({
916
- consume_mode: "SELL",
917
- ...this.options,
918
- brand_id: this.brand_id,
919
- city_code: this.stateCity.city_code,
920
- latitude: this.stateLocation.latitude,
921
- longitude: this.stateLocation.longitude,
922
- page_size: page_size,
923
- page_token: this.shop_page_token,
924
- region_limit_tpl_id: this.region_limit_tpl_id,
925
- namespace: this.xnamespace,
926
- })
930
+ data: data
927
931
  }).then(res => {
928
932
  this.loaded = true;
929
933
  let list = res.list.map(item=>{
@@ -1284,7 +1288,7 @@
1284
1288
  background:#fff;
1285
1289
  padding: 32rpx 40rpx 40rpx 40rpx;
1286
1290
  border-radius: 8rpx;
1287
- margin-bottom: 20rpx;
1291
+ margin-bottom: 20rpx;
1288
1292
  }
1289
1293
  &_brand_info {
1290
1294
  position: relative;
@@ -1374,7 +1378,7 @@
1374
1378
  }
1375
1379
  }
1376
1380
  }
1377
-
1381
+
1378
1382
  }
1379
1383
  }
1380
1384
  </style>
@@ -1,467 +1,28 @@
1
1
  'use strict';
2
+ import style from "./cusAttr/style";
3
+ import advanced from "./cusAttr/advanced";
4
+ import content from "./cusAttr/content";
2
5
 
3
6
  /**
4
7
  * @description 当表单组件中有联动操作时候,使用方法进行返回
5
8
  */
6
9
  export default {
7
10
  style: [],
8
- content: (data) => {
9
- console.log(data['newLabel'],"data['newLabel']");
10
-
11
+ content: (data, gValue, gColor, oldData={}) => {
12
+
13
+
11
14
  let cell = 4;
12
15
  if(data['contentCell']) cell = data['contentCell']
13
16
  let contentPadding = 20; //五列
14
17
  if(cell === 4) contentPadding = 25; //四列
15
18
  if (cell === 3) contentPadding = 30; //三列
16
- let brandNumber = 300;
17
- if(data['brandNumber'] !== undefined
18
- && data['brandNumber'] !== null
19
- && data['brandNumber'] !== ''
20
- ){
21
- brandNumber = data['brandNumber'];
22
- }
23
- return [
24
- {
25
- label: '显示列:',
26
- ele: 'xd-radio',
27
- valueKey: 'contentCell',
28
- value: data['contentCell'] || 4,
29
- placeholder: '请选择显示列',
30
- multiple: false,
31
- groupKey: 'content',
32
- className: 'input50',
33
- list: [
34
- {label: '3列', value: 3},
35
- {label: '4列', value: 4},
36
- {label: '5列', value: 5},
37
- ]
38
- },
39
- {
40
- label: '展示品牌数量:',
41
- ele: 'el-input',
42
- valueKey: 'brandNumber',
43
- value: brandNumber,
44
- placeholder: '请选择品展示品牌数量',
45
- classNmae: 'input60',
46
- groupKey: 'content',
47
- },
48
- {
49
- label: '品牌名称颜色:',
50
- ele: 'xd-color',
51
- valueKey: 'brandNameColor',
52
- value: data['brandNameColor'] || '',
53
- placeholder: '请选择品牌名称颜色',
54
- classNmae: 'input80',
55
- groupKey: 'content',
56
- },
57
-
58
- {
59
- label: '品牌列表圆角:',
60
- ele: 'xd-site-select-list',
61
- valueKey: 'radius',
62
- value: data['radius'] || '0',
63
- placeholder: '请选择品牌列表圆角',
64
- groupKey: 'content',
65
- multiple: false,
66
- className: 'input60',
67
- handleCustom({action, data}) {
68
- XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
69
- .then(res => {
70
- data.cb(res.list)
71
- })
72
- .catch(error => {
73
- console.error(error);
74
- });
75
- },
76
- },
77
- {
78
- label: '品牌列表间距:',
79
- ele: 'el-input',
80
- groupKey: 'content',
81
- type: 'text',
82
- valueKey: 'contentPadding',
83
- value: data['contentPadding'] || '',
84
- placeholder: '请输入品牌列表间距',
85
- className: 'input60',
86
- inline: false,
87
- notice:`设置列表间距,默认值:<span style="color:red">${contentPadding} </span>像素`
88
- },
89
- {
90
- label: '背景颜色:',
91
- ele: 'xd-color',
92
- groupKey: 'content',
93
- valueKey: 'contentBoxBgc',
94
- value: data['contentBoxBgc'] || '',
95
- placeholder: '请选择列表背景颜色',
96
- classNmae: 'input80',
97
- },
98
- {
99
- label: '背景图:',
100
- ele: 'xd-upload',
101
- valueKey: 'background',
102
- groupKey: 'content',
103
- value: data.background || {},
104
- defaultValue: data.background || null,
105
- slot: true,
106
- oneWidth: 200,
107
- oneHeight: 356,
108
- elinputClassName: 'input40',
109
- tipsformet: '上传文件格式:@imageType@,不超过@size@MB,建议尺寸为:750*1334',
110
- type: ['jpg', 'png', 'jpeg', 'gif'],
111
- styleType: 'one',
112
- uploadType: 'aliyun',
113
- size: 5,
114
- action: 'action',
115
- sort: true,
116
- },
117
- {
118
- label: '展示品牌分类范围:',
119
- ele: 'xd-site-select-list',
120
- valueKey: 'category_ids',
121
- value: data['category_ids'] || [],
122
- groupKey:'content',
123
- setting: {
124
- multiple: true,
125
- },
126
- className: 'input80',
127
- handleCustom({action, data}) {
128
- XdBus.getParentApi('getProductCategories')({
129
- key: Date.now()
130
- })
131
- .then(res => {
132
- data.cb(res.list)
133
- })
134
- .catch(error => {
135
- console.error(error);
136
- });
137
- },
138
- inline: false,
139
- },
140
- {
141
- label: '更改分类label(可排序):',
142
- ele: 'xd-set-sort-label',
143
- valueKey: 'newLabel',
144
- value: data['newLabel'] || null,
145
- defaultValue: data['newLabel'],
146
- groupKey: 'content',
147
- setting: {
148
- isNeedSwitch: true,
149
- },
150
- list: [
151
- {label: "全部", value: "all",sort:1,isShow: true},
152
- {label: "线下", value: "sell",sort:2, isShow: true},
153
- {label: "电子码", value: "code",sort:3, isShow: true},
154
- {label: '线上-线上', sort:4, value: 'stod',isShow: true},
155
- {label: '线上-同城配送', sort:5, value: 'stod-samecity',isShow: false},
156
- {label: '线上-快递配送',sort:6, value: 'stod-logistics',isShow: false},
157
- {label: '线上-门店自提',sort:7, value: 'stod-takeout',isShow: false},
158
- ]
159
- },
160
-
161
- {
162
- ele: 'title',
163
- label: '切换标签设置',
164
- size: 'small',
165
- groupKey: 'style',
166
- },
167
- {
168
- label: '背景颜色:',
169
- ele: 'xd-color',
170
- valueKey: 'titleBgc',
171
- groupKey: 'style',
172
- value: data['titleBgc'] || '',
173
- placeholder: '请选择背景颜色',
174
- classNmae: 'input80',
175
- },
176
- {
177
- label: '边距:',
178
- ele: 'el-input',
179
- type: 'text',
180
- groupKey: 'style',
181
- valueKey: 'tabPadding',
182
- value: data['tabPadding'] || '',
183
- className: 'input60',
184
- inline: false,
185
- notice:'设置标签边距,默认值:<span style="color:red">40</span>像素'
186
- },
187
- {
188
- label: '切换标签与内容之间间距:',
189
- ele: 'el-input',
190
- type: 'text',
191
- groupKey: 'style',
192
- valueKey: 'titlePadding',
193
- value: data['titlePadding'] || '',
194
- className: 'input60',
195
- inline: false,
196
- notice:'设置切换标签与内容之间间距,默认值:<span style="color:red">0</span>像素'
197
- },
198
- {
199
- label: '未选标签背景颜色:',
200
- ele: 'xd-color',
201
- valueKey: 'titleBgcColor',
202
- value: data['titleBgcColor'] || '',
203
- groupKey: 'style',
204
- placeholder: '请选择未选中文字颜色',
205
- classNmae: 'input80',
206
- },
207
- {
208
- label: '选中标签背景颜色:',
209
- ele: 'xd-color',
210
- valueKey: 'titleBgcActColor',
211
- value: data['titleBgcActColor'] || '',
212
- groupKey: 'style',
213
- placeholder: '请选择选中标签背景颜色',
214
- classNmae: 'input80',
215
- },
216
- {
217
- label: '未选中文字颜色:',
218
- ele: 'xd-color',
219
- valueKey: 'titleColor',
220
- value: data['titleColor'] || '',
221
- groupKey: 'style',
222
- placeholder: '请选择未选中文字颜色',
223
- classNmae: 'input80',
224
- },
225
- {
226
- label: '选中文字颜色:',
227
- ele: 'xd-color',
228
- valueKey: 'titleActColor',
229
- value: data['titleActColor'] || '',
230
- groupKey: 'style',
231
- placeholder: '请选择选中文字颜色',
232
- classNmae: 'input80',
233
- },
234
-
235
- {
236
- label: '是否有投影:',
237
- ele: 'xd-radio',
238
- valueKey: 'isTitleShadow',
239
- groupKey: 'style',
240
- value: data['isTitleShadow'] || 'N',
241
- placeholder: '请选择是否投影',
242
- multiple: false,
243
- className: 'input80',
244
- list: [
245
- {label: '是', value: 'Y'},
246
- {label: '否', value: 'N'},
247
- ]
248
- },
249
- data['isTitleShadow'] === 'Y' && {
250
- groupKey: 'style',
251
- label: '投影颜色:',
252
- ele: 'xd-color',
253
- valueKey: 'isTitleShadowBgc',
254
- value: data['isTitleShadowBgc'] || '',
255
- placeholder: '请选择投影颜色',
256
- classNmae: 'input80',
257
- },
258
- data['isTitleShadow'] === 'Y' && {
259
- groupKey: 'style',
260
- label: '投影范围:',
261
- ele: 'xd-site-select-list',
262
- valueKey: 'isTitleShadowBgcW',
263
- value: data['isTitleShadowBgcW'] || '10',
264
- placeholder: '请选择投影范围',
265
- multiple: false,
266
- className: 'input60',
267
- handleCustom({action, data}) {
268
- XdBus.getParentApi('getOptionsSettingList')({
269
- setting_id: 'edtix_style_radius',
270
- key: Date.now()
271
- })
272
- .then(res => {
273
- data.cb(res.list)
274
- })
275
- .catch(error => {
276
- console.error(error);
277
- });
278
- },
279
- },
280
- {
281
- label: '是否有边框:',
282
- ele: 'xd-radio',
283
- groupKey: 'style',
284
- valueKey: 'isTitleBorder',
285
- value: data['isTitleBorder'] || 'N',
286
- placeholder: '请选择是否有边框',
287
- multiple: false,
288
- className: 'input80',
289
- list: [
290
- {label: '是', value: 'Y'},
291
- {label: '否', value: 'N'},
292
- ]
293
- },
294
- data['isTitleBorder'] === 'Y' && {
295
- label: '边框颜色:',
296
- groupKey: 'style',
297
- ele: 'xd-color',
298
- valueKey: 'isTitleBorderColor',
299
- value: data['isTitleBorderColor'] || '',
300
- placeholder: '请选择边框颜色',
301
- classNmae: 'input80',
302
- },
303
- data['isTitleBorder'] === 'Y' && {
304
- label: '边框大小:',
305
- groupKey: 'style',
306
- ele: 'el-input',
307
- type: 'number',
308
- valueKey: 'isTitleBorderW',
309
- value: data['isTitleBorderW'] || '',
310
- placeholder: '请输入边框大小',
311
- className: 'input60',
312
- },
313
- {
314
- ele: 'title',
315
- label: '内容设置',
316
- size: 'small',
317
- groupKey: 'style',
318
- },
319
- {
320
- label: '背景颜色:',
321
- ele: 'xd-color',
322
- groupKey: 'style',
323
- valueKey: 'contentBgc',
324
- value: data['contentBgc'] || '',
325
- placeholder: '请选择内容背景颜色',
326
- classNmae: 'input80',
327
- },
328
- {
329
- label: '是否有投影:',
330
- groupKey: 'style',
331
- ele: 'xd-radio',
332
- valueKey: 'isContShadow',
333
- value: data['isContShadow'] || 'N',
334
- placeholder: '请选择是否投影',
335
- multiple: false,
336
- className: 'input80',
337
- list: [
338
- {label: '是', value: 'Y'},
339
- {label: '否', value: 'N'},
340
- ]
341
- },
342
- data['isContShadow'] === 'Y' && {
343
- label: '投影颜色:',
344
- ele: 'xd-color',
345
- groupKey: 'style',
346
- valueKey: 'isContShadowBgc',
347
- value: data['isContShadowBgc'] || '',
348
- placeholder: '请选择投影颜色',
349
- classNmae: 'input80',
350
- },
351
- data['isContShadow'] === 'Y' && {
352
- label: '投影范围:',
353
- ele: 'xd-site-select-list',
354
- groupKey: 'style',
355
- valueKey: 'isContShadowBgcW',
356
- value: data['isContShadowBgcW'] || '10',
357
- placeholder: '请选择投影范围',
358
- multiple: false,
359
- className: 'input60',
360
- handleCustom({action, data}) {
361
- XdBus.getParentApi('getOptionsSettingList')({
362
- setting_id: 'edtix_style_radius',
363
- key: Date.now()
364
- })
365
- .then(res => {
366
- data.cb(res.list)
367
- })
368
- .catch(error => {
369
- console.error(error);
370
- });
371
- },
372
- },
373
- {
374
- label: '是否有边框:',
375
- ele: 'xd-radio',
376
- groupKey: 'style',
377
- valueKey: 'isContBorder',
378
- value: data['isContBorder'] || 'N',
379
- placeholder: '请选择是否有边框',
380
- multiple: false,
381
- className: 'input80',
382
- list: [
383
- {label: '是', value: 'Y'},
384
- {label: '否', value: 'N'},
385
- ]
386
- },
387
- data['isContBorder'] === 'Y' && {
388
- label: '边框颜色:',
389
- ele: 'xd-color',
390
- groupKey: 'style',
391
- valueKey: 'isContBorderColor',
392
- value: data['isContBorderColor'] || '',
393
- placeholder: '请选择边框颜色',
394
- classNmae: 'input80',
395
- },
396
- data['isContBorder'] === 'Y' && {
397
- label: '边框大小:',
398
- ele: 'el-input',
399
- groupKey: 'style',
400
- type: 'number',
401
- valueKey: 'isContBorderW',
402
- value: data['isContBorderW'] || 1,
403
- placeholder: '请输入边框大小',
404
- className: 'input60',
405
- },
406
19
 
20
+ return [
21
+ ...content(data, gValue, gColor, oldData),
407
22
 
408
- //高级属性
409
- {
410
- label: "选择业务线",
411
- ele: "xd-choose-namespace",
412
- valueKey: "xnamespace",
413
- groupKey:'advanced',
414
- value: data.xnamespace || "",
415
- className:'input60',
416
- handleCustom: (cb) => {
417
- XdBus.getParentApi('getOptionsNamespaces')()
418
- .then(res => {
419
- cb(res.list)
420
- })
421
- .catch();
422
- }
423
- },
424
- {
425
- label: '是否开启城市筛选:',
426
- ele: 'xd-radio',
427
- valueKey: 'isCityFilter',
428
- groupKey:'advanced',
429
- value: data['isCityFilter'] || 'N',
430
- placeholder: '请选择是否开启城市筛选',
431
- multiple: false,
432
- className: 'input80',
433
- list: [
434
- {label: '是', value: 'Y'},
435
- {label: '否', value: 'N'},
436
- ]
437
- },
438
- {
439
- label: '线上品牌跳转路径:',
440
- ele: 'xd-select-pages-path',
441
- valueKey: 'onlineBrandPath',
442
- placeholder: '请选择线上品牌路径',
443
- groupKey:'advanced',
444
- className: 'input100',
445
- value: data.onlineBrandPath || null,
446
- setting: {
447
- router: XdBus.getParentApi('getPagesTree'),
448
- },
449
- inline: false,
450
- },
451
- {
452
- label: '线下品牌跳转路径:',
453
- ele: 'xd-select-pages-path',
454
- valueKey: 'offlineBrandPath',
455
- groupKey:'advanced',
456
- className: 'input100',
457
- placeholder: '请选择线下品牌路径',
458
- value: data.offlineBrandPath || null,
459
- setting: {
460
- router: XdBus.getParentApi('getPagesTree'),
461
- },
462
- inline: false,
463
- },
464
23
 
24
+ ...style(data, gValue, gColor, oldData),
25
+ ...advanced(data, gValue, gColor, oldData),
465
26
  ].filter(i=>i)
466
27
  },
467
28
  advanced: [