jufubao-base 1.0.288 → 1.0.289-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.
Files changed (28) hide show
  1. package/package.json +1 -1
  2. package/src/components/CusCouponChose/CusCouponChose.vue +1027 -0
  3. package/src/components/CusCouponItem/CusCouponItem.vue +298 -0
  4. package/src/components/CusEnter/CusEnter.vue +360 -0
  5. package/src/components/CusPoster/CusPoster.vue +212 -0
  6. package/src/components/CusPoster/CusSwiperDot.vue +234 -0
  7. package/src/components/CusProduct/CusProduct.vue +372 -0
  8. package/src/components/CusShops/CusShops.vue +518 -0
  9. package/src/components/CusSwiperDot/CusSwiperDot.vue +234 -0
  10. package/src/components/CusTab/CusTab.vue +411 -0
  11. package/src/components/CusVideo/CusVideo.vue +170 -0
  12. package/src/components/JfbBaseFooter/Attr.js +10 -155
  13. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +96 -43
  14. package/src/components/JfbBaseFooter/cusAttr/advanced.js +12 -0
  15. package/src/components/JfbBaseFooter/cusAttr/content.js +447 -0
  16. package/src/components/JfbBaseFooter/cusAttr/style.js +7 -0
  17. package/src/components/JfbBaseFooter/cusAttr/tools.js +17 -0
  18. package/src/components/JfbBaseOrderList/Mock.js +1 -1
  19. package/src/components/JfbBaseTfkSearch/Api.js +15 -0
  20. package/src/components/JfbBaseTfkSearch/CustomList.vue +10 -0
  21. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +247 -7
  22. package/src/components/JfbBaseTfkSearch/XdQueryFilter.vue +354 -0
  23. package/src/components/JfbBaseTfkSearch/XdQuerySort.vue +192 -0
  24. package/src/components/JfbBaseUserInfo/Attr.js +12 -0
  25. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +8 -2
  26. package/src/mixins/componentsMixins.js +363 -55
  27. package/src/mixins/posterMixins.js +27 -199
  28. package/src/mixins/productCompMixins.js +252 -0
@@ -0,0 +1,447 @@
1
+ 'use strict';
2
+
3
+ import tools from "./tools";
4
+ import ICONS from "@/ICONS";
5
+ import {
6
+ dataVal,
7
+ customVal,
8
+ statusDataVal,
9
+ statusShow
10
+ } from "@/utils/AttrTools";
11
+
12
+ export default function (data, gValue, gColor, oldData){
13
+ const {footerSettingImage, footerSetting} = tools(data);
14
+
15
+ let footerTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
16
+
17
+
18
+ let iconStyle = {
19
+ cusColor:{
20
+ iconColor: '#333',
21
+ color: '#333'
22
+ },
23
+ cusActColor:{
24
+ iconColor: gColor.mainColor,
25
+ color:gColor.mainColor
26
+ }
27
+ }
28
+ if(data.color) {
29
+ iconStyle['cusColor'] = {
30
+ iconColor: data.color,
31
+ color: data.color
32
+ }
33
+ }
34
+ if(data.selectedColor) {
35
+ iconStyle['cusActColor'] = {
36
+ iconColor: data.selectedColor,
37
+ color: data.selectedColor
38
+ }
39
+ }
40
+ if(data.iconStyle !== undefined) iconStyle = data.iconStyle;
41
+
42
+
43
+ return [
44
+ {
45
+ label: '',
46
+ ele: 'slot',
47
+ slot: 'is_reference_title',
48
+ groupKey: 'content',
49
+ labelInline:true,
50
+ },
51
+ {
52
+ ele: 'title',
53
+ label: '基础',
54
+ size: 'small',
55
+ groupKey:'content',
56
+ },
57
+ {
58
+ label: "组件样式",
59
+ ele: "xd-style-image",
60
+ groupKey: 'content',
61
+ valueKey: "footerTpl",
62
+ value: dataVal({data, key:'footerTpl', dValue:'normal', gValue}),
63
+ labelInline:true,
64
+ className: 'input100',
65
+ handleCustom(cusRes) {
66
+ XdBus.getParentApi('getCompStylesOptions')({
67
+ layout_ids: 'lynkWnvoDmMLIdOR1AhSt',
68
+ key: Date.now()
69
+ })
70
+ .then(res => {
71
+ cusRes.data.cb(res)
72
+ })
73
+ .catch(error => {
74
+ console.error(error);
75
+ });
76
+ },
77
+ },
78
+
79
+ footerTpl === 'itemCenterBig'&&{ele: 'group_start'},
80
+ {
81
+ label: '中间图标',
82
+ ele: 'xd-radio',
83
+ groupKey: 'content',
84
+ valueKey: 'iconCenterStatus',
85
+ value: statusDataVal({data, key:'iconCenterStatus', fields:['centerColor','centerWidth'],gValue}),
86
+ hidden: !(footerTpl === 'itemCenterBig'),
87
+ labelInline:true,
88
+ list: [
89
+ {label: '默认', value: 'D'},
90
+ {label: '自定义', value: 'C'},
91
+ ]
92
+ },
93
+ {
94
+ label: '边框大小',
95
+ ele: 'el-input',
96
+ type: 'number',
97
+ groupKey: 'content',
98
+ valueKey: 'centerWidth',
99
+ cusStyle: {paddingLeft: '80px'},
100
+ labelInline:true,
101
+ value: dataVal({data, key:'centerWidth', dValue:12, gValue}),
102
+ hidden:!(footerTpl === 'itemCenterBig') || !statusShow({data, key: 'iconCenterStatus', fields:['centerColor','centerWidth'], gValue}),
103
+ className: 'input100',
104
+ },
105
+ {
106
+ label: '边框颜色',
107
+ ele: 'xd-color',
108
+ valueKey: 'centerColor',
109
+ groupKey:'content',
110
+ labelInline:true,
111
+ cusStyle: {paddingLeft: '80px'},
112
+ value: dataVal({data, key:'centerColor', dValue:'', gValue}),
113
+ hidden:!(footerTpl === 'itemCenterBig') || !statusShow({data, key: 'iconCenterStatus', fields:['centerColor','centerWidth'], gValue}),
114
+ placeholder: '请选择边框颜色',
115
+ setting: {
116
+ showAlpha: true
117
+ },
118
+ className: 'input100',
119
+ },
120
+ footerTpl === 'itemCenterBig'&& {ele: 'group_end'},
121
+
122
+ {
123
+ label: "菜单名称",
124
+ ele: "xd-radio",
125
+ valueKey: "isShowTitle",
126
+ labelInline:true,
127
+ value: dataVal({data, key:'isShowTitle', dValue:'Y', gValue}),
128
+ groupKey:'content',
129
+ list: [
130
+ {"label": "显示", "value": "Y"},
131
+ {"label": "隐藏", "value": "N"},
132
+ ],
133
+ },
134
+
135
+ {
136
+ label: '图标配色',
137
+ ele: 'xd-radio',
138
+ groupKey: 'content',
139
+ valueKey: 'iconStyleStatus',
140
+ value: statusDataVal({data, key:'iconStyleStatus', fields:['iconStyle','color','selectedColor'],gValue}),
141
+ labelInline:true,
142
+ list: [
143
+ {label: '默认', value: 'D'},
144
+ {label: '自定义', value: 'C'},
145
+ ]
146
+ },
147
+ {ele: 'group_start'},
148
+ {
149
+ label: '',
150
+ ele: 'xd-text-and-bgc',
151
+ groupKey:'content',
152
+ valueKey: 'iconStyle',
153
+ value: iconStyle,
154
+ hidden: !statusShow({data, key: 'iconStyleStatus', fields:['iconStyle','color','selectedColor'], gValue}),
155
+ labelInline:true,
156
+ setting: {
157
+ fontSize: false,
158
+ weight:false,
159
+ bgColor: false,
160
+ selected:true,
161
+ color: false,
162
+ cusColor: [
163
+ {label: '图标色', value: 'iconColor'},
164
+ {label: '文字色', value: 'color'},
165
+ ],
166
+ default:{
167
+ cusColor:{
168
+ iconColor: '#333',
169
+ color: '#333'
170
+ },
171
+ cusActColor:{
172
+ color: gColor.mainColor,
173
+ iconColor: gColor.mainColor
174
+ }
175
+ }
176
+ },
177
+ handleCustom({action, data}) {
178
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
179
+ .then(res => {
180
+ data.cb(res.list)
181
+ })
182
+ .catch(error => {
183
+ console.error(error);
184
+ data.cb([])
185
+ });
186
+ },
187
+ },
188
+ {ele: 'group_end'},
189
+
190
+ {
191
+ label: '导航样式',
192
+ ele: 'xd-radio',
193
+ groupKey: 'content',
194
+ valueKey: 'navStatus',
195
+ value: statusDataVal({data, key:'navStatus', fields:['backgroundImage','bgColor','borderColor'], gValue}),
196
+ labelInline:true,
197
+ list: [
198
+ {label: '默认', value: 'D'},
199
+ {label: '自定义', value: 'C'},
200
+ ]
201
+ },
202
+ {ele: 'group_start'},
203
+ {
204
+ label: '背景色',
205
+ ele: 'xd-color',
206
+ valueKey: 'bgColor',
207
+ groupKey:'content',
208
+ value: dataVal({data, key:'bgColor', dValue:'', gValue}),
209
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
210
+ labelInline:true,
211
+ placeholder: '请选择背景颜色',
212
+ setting: {
213
+ showAlpha: true
214
+ },
215
+ classNmae: 'input800',
216
+ },
217
+ {
218
+ label: '边框色:',
219
+ ele: 'xd-color',
220
+ valueKey: 'borderColor',
221
+ groupKey:'content',
222
+ value: dataVal({data, key:'borderColor', dValue:'', gValue}),
223
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
224
+ placeholder: '请选择边框颜色',
225
+ labelInline:true,
226
+ setting: {
227
+ showAlpha: true
228
+ },
229
+ classNmae: 'input800',
230
+ },
231
+ {
232
+ label: '背景图',
233
+ labelInline:true,
234
+ ele: 'xd-upload',
235
+ valueKey: 'backgroundImage',
236
+ groupKey:'content',
237
+ value: dataVal({data, key:'backgroundImage', dValue:{}, gValue}),
238
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
239
+ defaultValue: dataVal({data, key:'backgroundImage', dValue:null, gValue}),
240
+ slot: true,
241
+ oneWidth: 260,
242
+ oneHeight: 260*110/750,
243
+ elinputClassName: 'input40',
244
+ tipsformet: '<span style="font-size: 12px; color: #999">上传文件格式:@imageType@,不超过@size@MB。建议尺寸:<span style="color:red">750*110</span>像素</span>',
245
+ type: ['jpg', 'png', 'jpeg'],
246
+ styleType: 'one',
247
+ uploadType: 'aliyun',
248
+ size: .5,
249
+ action: 'action',
250
+ sort: true,
251
+ maxlen: 1,
252
+ },
253
+ {ele: 'group_end'},
254
+ //--弃用-----
255
+ {
256
+ label: '菜单图片配置:',
257
+ ele: 'xd-footer-setting',
258
+ valueKey: 'footerSettingImage',
259
+ groupKey:'content',
260
+ value: footerSettingImage,
261
+ hidden: true,
262
+ setting: {
263
+ router: XdBus.getParentApi('getPagesTree'),
264
+ hideAdd: true,
265
+ showField: {
266
+ path: true,
267
+ icon: false,
268
+ notice: false,
269
+ image: true,
270
+ actImage: true
271
+ },
272
+ disabel:{
273
+ path: true,
274
+ icon: true,
275
+ notice: true,
276
+ image: true,
277
+ actImage: true
278
+ },
279
+ },
280
+ handleCustom({action,data}){
281
+ if(action === 'number') {
282
+ XdBus.getParentApi('getOptionsNoticeNumber')()
283
+ .then(res => {
284
+ data.cb(res.list)
285
+ })
286
+ .catch();
287
+ }
288
+ },
289
+ },
290
+ {
291
+ label: '选中',
292
+ ele: 'xd-color',
293
+ valueKey: 'selectedColor',
294
+ groupKey:'content',
295
+ labelInline:true,
296
+ hidden: true,
297
+ setting: {
298
+ showAlpha: true
299
+ },
300
+ value: dataVal({data, key:'selectedColor', dValue:'', gValue}),
301
+ placeholder: '请选择菜单文字选中颜色',
302
+ classNmae: 'input100',
303
+ },
304
+ {
305
+ label: '未选中',
306
+ ele: 'xd-color',
307
+ valueKey: 'color',
308
+ groupKey:'content',
309
+ value: dataVal({data, key:'color', dValue:'', gValue}),
310
+ hidden: true,
311
+ labelInline:true,
312
+ setting: {
313
+ showAlpha: true
314
+ },
315
+ placeholder: '请选择菜单文字颜色',
316
+ classNmae: 'input100',
317
+ },
318
+ //--弃用-----
319
+ {
320
+ ele: 'title',
321
+ label: '菜单内容',
322
+ size: 'small',
323
+ groupKey:'content',
324
+ },
325
+ {
326
+ label: '',
327
+ ele: 'xd-footer-new-setting',
328
+ valueKey: 'footer-setting',
329
+ groupKey:'content',
330
+ value: footerSetting,
331
+ labelInline:true,
332
+ hidden: !(dataVal({data, key:'footerTpl', dValue:'normal', gValue}) === 'normal') ,
333
+ cusStyle: {marginLeft: 0,paddingLeft:0,paddingRight:0},
334
+ setting: {
335
+ router: XdBus.getParentApi('getPagesTree'),
336
+ icons:ICONS,
337
+ mode: 'new',
338
+ tplMode: footerTpl,
339
+ iconColor:{
340
+ color: data['iconStyleStatus'] === 'D'? '#333': iconStyle.cusColor.iconColor,
341
+ actColor : data['iconStyleStatus'] === 'D'?gColor.mainColor: iconStyle.cusActColor.iconColor
342
+ },
343
+ showField: {
344
+ path: true,
345
+ icon: true,
346
+ notice: true,
347
+ }
348
+ },
349
+ handleCustom({action,data}){
350
+ console.log(`handleCustom.${action}`, data);
351
+ if(action === 'number') {
352
+ XdBus.getParentApi('getOptionsNoticeNumber')()
353
+ .then(res => {
354
+ data.cb(res.list)
355
+ })
356
+ .catch();
357
+ }
358
+ },
359
+ className: 'input100',
360
+ rules: [
361
+ {
362
+ required: false,
363
+ validator: (rule, value, callback) => {
364
+ let setTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
365
+ if(setTpl === 'normal') {
366
+ if(value && value.length === 0) callback('请设置菜单');
367
+ else callback();
368
+ }
369
+ else callback()
370
+ },
371
+ trigger: ['blur','change']
372
+ }
373
+ ],
374
+ },
375
+ {
376
+ label: '',
377
+ ele: 'xd-footer-new-setting',
378
+ valueKey: 'footer-setting-center-big',
379
+ groupKey:'content',
380
+ value: dataVal({data, key:'footer-setting-center-big', dValue:[], gValue}),
381
+ labelInline:true,
382
+ cusStyle: {marginLeft: 0,paddingLeft:0},
383
+ setting: {
384
+ router: XdBus.getParentApi('getPagesTree'),
385
+ icons:ICONS,
386
+ mode: 'new',
387
+ tplMode: footerTpl,
388
+
389
+ showField: {
390
+ path: true,
391
+ icon: true,
392
+ notice: true,
393
+ }
394
+ },
395
+ handleCustom({action,data}){
396
+ console.log(`handleCustom.${action}`, data);
397
+ if(action === 'number') {
398
+ XdBus.getParentApi('getOptionsNoticeNumber')()
399
+ .then(res => {
400
+ data.cb(res.list)
401
+ })
402
+ .catch();
403
+ }
404
+ },
405
+ hidden: !(dataVal({data, key:'footerTpl', dValue:'normal', gValue}) === 'itemCenterBig'),
406
+ rules: [
407
+ {
408
+ required: false,
409
+ validator: (rule, value, callback) => {
410
+ let setTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
411
+ if(setTpl === 'itemCenterBig') {
412
+ if(value && value.length === 0) callback('请设置菜单');
413
+ else callback();
414
+ }
415
+ else callback()
416
+ },
417
+ trigger: 'blur'
418
+ }
419
+ ],
420
+ className: 'input100',
421
+ },
422
+ {
423
+ label: '版本号:',
424
+ ele: 'el-input',
425
+ type: 'text',
426
+ groupKey: 'content',
427
+ valueKey: 'version',
428
+ value: 'v2.0',
429
+ hidden: true,
430
+ },
431
+ {
432
+ label: '引用过滤字段设置:',
433
+ ele: 'el-input',
434
+ type: 'text',
435
+ groupKey: 'content',
436
+ valueKey: 'refFilterContent',
437
+ value: '[]',
438
+ hidden: true,
439
+ },
440
+ {
441
+ label: '',
442
+ ele: 'slot',
443
+ slot: 'is_reference',
444
+ groupKey: 'content',
445
+ },
446
+ ].filter(i=>i)
447
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ export default function (data, gValue,gColor,oldData){
4
+ return [
5
+ ].filter(i=>i)
6
+ }
7
+
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ export default (data)=>{
4
+ let footerSettingImage = [];
5
+ let footerSetting = []
6
+ if(data['footerSettingImage'] && data['footerSettingImage'].length > 0 ) {
7
+ footerSettingImage = data['footerSettingImage'];
8
+ }
9
+ if(data['footer-setting'] && data['footer-setting'].length > 0){
10
+ footerSetting = data['footer-setting'];
11
+ footerSetting.map((item,index)=>{
12
+ if(!footerSettingImage[index]) footerSettingImage[index] = {};
13
+ footerSettingImage[index] = Object.assign({},JSON.parse(JSON.stringify(item)),footerSettingImage[index])
14
+ })
15
+ }
16
+ return {footerSettingImage, footerSetting}
17
+ }
@@ -25,7 +25,7 @@ module.exports = {
25
25
  "product_thumb": "\/\/sandbox-img.jufubao.cn\/uploads\/20230506\/40018e35f8d9b3bcc2f180cfe073ce28.png",
26
26
  "sale_price": 2678
27
27
  }],
28
- "buttons": [{"text": "支付", "action": "pay"}, {"text": "取消订单", "action": "cancel_unpaid"}, { "text": "申请退款", "action": "apply_refund"}]
28
+ "buttons": [{"text": "支付", "action": "pay"}, {"text": "取消订单", "action": "cancel_unpaid"}, { "text": "申请售后", "action": "apply_refund"}]
29
29
  },
30
30
  {
31
31
  "main_order_id": "m513033785675509760",
@@ -24,4 +24,19 @@ module.exports = [
24
24
  isConsole: true,
25
25
  disabled: true,
26
26
  },
27
+ {
28
+ //设置方法名字当别忘记加上【模块名字】:Tfk
29
+ mapFnName: 'getTfkSearchFilterItems',
30
+ title: '获取搜索筛选条件',
31
+ path: '/mall/v1/msearch/search-filter',
32
+ isRule: false,
33
+ data: {
34
+ type: ['类型', 'String', '必选'],
35
+ namespace: ['业务线', 'Number', '非必选'],
36
+ city_code: ['城市编码', 'Number', '非必选'],
37
+ filter_item: ['纬度', 'Number', '非必选'],
38
+ },
39
+ isConsole: true,
40
+ disabled: true,
41
+ },
27
42
  ];
@@ -177,6 +177,10 @@ export default {
177
177
  tabId:{
178
178
  type:String,
179
179
  required:true
180
+ },
181
+ refresh: {
182
+ type: String | Number,
183
+ default: '',
180
184
  }
181
185
  },
182
186
 
@@ -282,6 +286,12 @@ export default {
282
286
  this.onCusReloadList();
283
287
  },
284
288
 
289
+ refresh() {
290
+ this.handleClear();
291
+ this.parseTab()
292
+ this.onCusReloadList();
293
+ },
294
+
285
295
  stateCity(n, o){
286
296
  if(n && JSON.stringify(n) !== JSON.stringify(o)){
287
297
  this.onCusReloadList()