jufubao-mall 2.0.21 → 2.0.23-beta1

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 (60) hide show
  1. package/package.json +1 -1
  2. package/src/components/CusProduct/CusProduct.vue +1 -1
  3. package/src/components/JfbMallBrandWall/Attr.js +10 -449
  4. package/src/components/JfbMallBrandWall/JfbMallBrandWall.vue +783 -308
  5. package/src/components/JfbMallBrandWall/cusAttr/advanced.js +61 -0
  6. package/src/components/JfbMallBrandWall/cusAttr/brand.js +341 -0
  7. package/src/components/JfbMallBrandWall/cusAttr/content.js +251 -0
  8. package/src/components/JfbMallBrandWall/cusAttr/style.js +252 -0
  9. package/src/components/JfbMallBrandWall/cusAttr/tab.js +471 -0
  10. package/src/components/JfbMallHomeProductList/JfbMallHomeProductList.vue +3 -1
  11. package/src/components/JfbMallHomeProductList/cusAttr/content.js +1 -2
  12. package/src/components/JfbMallNetworkMedia/Api.js +58 -0
  13. package/src/components/JfbMallNetworkMedia/Attr.js +20 -0
  14. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMedia.vue +84 -0
  15. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaLess.less +80 -0
  16. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaMixin.js +30 -0
  17. package/src/components/JfbMallNetworkMedia/Mock.js +13 -0
  18. package/src/components/JfbMallNetworkMedia/cusAttr/advanced.js +60 -0
  19. package/src/components/JfbMallNetworkMedia/cusAttr/content.js +125 -0
  20. package/src/components/JfbMallNetworkMedia/cusAttr/filter.js +333 -0
  21. package/src/components/JfbMallNetworkMedia/cusAttr/font.js +114 -0
  22. package/src/components/JfbMallNetworkMedia/cusAttr/icon.js +298 -0
  23. package/src/components/{JfbMallProductList → JfbMallNetworkMedia/cusAttr}/style.js +15 -50
  24. package/src/components/JfbMallProductInfo/JfbMallProductInfo.vue +27 -23
  25. package/src/components/JfbMallProductInfo/cusAttr/content.js +1 -1
  26. package/src/components/JfbMallProductInfoV2/Api.js +1 -1
  27. package/src/components/JfbMallProductInfoV2/Attr.js +134 -41
  28. package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +136 -127
  29. package/src/components/JfbMallProductInfoV2/Mock.js +38 -10
  30. package/src/components/JfbMallProductList/Api.js +7 -7
  31. package/src/components/JfbMallProductList/Attr.js +7 -762
  32. package/src/components/JfbMallProductList/ComFilterQuery.vue +950 -0
  33. package/src/components/JfbMallProductList/JfbMallProductList.vue +807 -792
  34. package/src/components/JfbMallProductList/Mock.js +168 -255
  35. package/src/components/JfbMallProductList/XdCateV1.vue +335 -122
  36. package/src/components/JfbMallProductList/XdCateV2.vue +144 -76
  37. package/src/components/JfbMallProductList/XdQueryCommon.vue +189 -0
  38. package/src/components/JfbMallProductList/XdQueryFilter.vue +94 -76
  39. package/src/components/JfbMallProductList/XdQuerySort.vue +100 -109
  40. package/src/components/JfbMallProductList/cateMixins.js +103 -0
  41. package/src/components/JfbMallProductList/{advanced.js → cusAttr/advanced.js} +12 -4
  42. package/src/components/JfbMallProductList/cusAttr/content.js +465 -0
  43. package/src/components/JfbMallProductList/cusAttr/filter.js +333 -0
  44. package/src/components/JfbMallProductList/cusAttr/font.js +114 -0
  45. package/src/components/JfbMallProductList/cusAttr/icon.js +298 -0
  46. package/src/components/JfbMallProductList/cusAttr/style.js +91 -0
  47. package/src/components/JfbMallRecommendProduct/Attr.js +8 -366
  48. package/src/components/JfbMallRecommendProduct/JfbMallRecommendProduct.vue +218 -187
  49. package/src/components/JfbMallRecommendProduct/Mock.js +236 -693
  50. package/src/components/JfbMallRecommendProduct/cusAttr/advanced.js +79 -0
  51. package/src/components/JfbMallRecommendProduct/cusAttr/content.js +202 -0
  52. package/src/components/JfbMallRecommendProduct/cusAttr/style.js +594 -0
  53. package/src/components/JfbMallResourceShopList/Mock.js +4 -6
  54. package/src/components/JfbMallTestNormal/JfbMallTestNormal.vue +23 -2
  55. package/src/components/JfbMallTestNormal/data.js +152 -0
  56. package/src/mixins/componentsMixins.js +1 -0
  57. package/src/mixins/productCompMixins.js +29 -19
  58. package/src/components/JfbMallProductList/PosterAttr.js +0 -327
  59. package/src/components/JfbMallProductList/ProductAttr.js +0 -164
  60. 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.21",
3
+ "version": "2.0.23-beta1",
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;
@@ -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: [