jufubao-mall 2.0.20-beta1 → 2.0.20-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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-mall",
3
- "version": "2.0.20-beta1",
3
+ "version": "2.0.20-beta3",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -22,12 +22,13 @@
22
22
  <scroll-view
23
23
  :scroll-x="layout==='v1'"
24
24
  :scroll-y="layout==='v2'"
25
- :style="{height:layout==='v2'?tabStyleComp.height:'auto'}"
25
+ :style="{height:layout==='v2'? tabStyleComp.height:'auto'}"
26
26
  :class="{'tab-linex':layout==='v1' && hStyle ==='v3'}"
27
27
  >
28
28
  <view
29
29
  class="tab_list"
30
30
  :class="{hStyle: layout === 'v1'}"
31
+ :style="[tabListComp]"
31
32
  v-if="loaded"
32
33
  >
33
34
  <view
@@ -46,7 +47,7 @@
46
47
  || (layout === 'v1' && ['v2','v3'].includes(hStyle))"
47
48
  class="lineCom"
48
49
  :class="{lineSmall: ['v3'].includes(hStyle)}"
49
- :style="{backgroundColor: i === tabIndex?tabActItemStyleComp.color:'rgba(0,0,0,0)'}"
50
+ :style="{backgroundColor: i === tabIndex?tabActItemNameStyle.color:'rgba(0,0,0,0)'}"
50
51
  ></view>
51
52
  <view :style="[i === tabIndex?tabActItemNameStyle:tabItemNameStyle]">{{tab.input}}</view>
52
53
  </view>
@@ -199,14 +200,15 @@
199
200
 
200
201
  //选项卡信息
201
202
  titleBgc: '',
202
- tabPadding:{},
203
+ tabPadding:{},//选项卡填充
203
204
  titleStyle:{},
204
205
  titleRadius:0,
205
206
  titleShadow:'',
206
207
  titleBorder:0,
207
208
  titleBorderWidth:0,
208
209
  titleBgcActColor:'',
209
- titlePadding: 0,
210
+ titlePadding: 0, //内容与选项卡填充
211
+ titleSp: 0, //选项卡间距
210
212
 
211
213
 
212
214
  //内容
@@ -245,7 +247,7 @@
245
247
  skeletonStyle(){
246
248
  let margin = 0;
247
249
  if(this.layout === 'v1') {
248
- margin = '24rpx 24rpx 24rpx 0';
250
+ margin = '0rpx 24rpx 0rpx 0';
249
251
  }
250
252
  if(this.layout === 'v2') {
251
253
  margin = '12rpx'
@@ -263,7 +265,10 @@
263
265
  }
264
266
  },
265
267
  showTabs(){
266
- let tabs = this.$xdUniHelper.cloneDeep(this.newLabel).filter(item=>item.check);
268
+ let tabs = this.$xdUniHelper.cloneDeep(this.newLabel).filter(item=>{
269
+ return item.check === true
270
+ });
271
+
267
272
  //线下签是否展示通过后台控制
268
273
  if(this.has_sell) return tabs;
269
274
  else return tabs.filter(item => item.value !== 'sell');
@@ -351,9 +356,6 @@
351
356
  if(['v1', 'v2'].includes(this.vStyle)) {
352
357
  style['height'] = `${this.layoutInfo.bodyMinHeightPx - outHeight}px`;
353
358
  }
354
- // if(['v2', 'v4'].includes(this.vStyle)) {
355
- // style['max-height'] = `${this.layoutInfo.bodyMinHeightPx - outHeight}px`;
356
- // }
357
359
  style['overflowY'] = 'auto';
358
360
  style['overflowX'] = 'hidden';
359
361
  }
@@ -366,7 +368,7 @@
366
368
  let style = {}
367
369
  //上下结构
368
370
  if(this.layout === 'v1') {
369
- style['padding'] = this.getMarginAndPadding(this.tabPadding, 0);
371
+
370
372
  if(!this.isPreview) {
371
373
  style['position'] = 'fixed';
372
374
  style['zIndex'] = '10';
@@ -380,23 +382,36 @@
380
382
  style['width'] = '172rpx';
381
383
  style['flexShrink'] = 0;
382
384
  style['overflow'] = 'hidden';
383
- style['padding'] = this.getMarginAndPadding(this.tabPadding, 0);
385
+ style['padding'] = 0;
384
386
 
385
387
  if(['v1', 'v2'].includes(this.vStyle)) {
386
388
  let tb = this.getPMValue(this.bodyPadding, 'TB', 0) * this.$rpxNum + this.titleBorderWidth * 2 *this.$rpxNum;
387
- tb += this.getPMValue(this.tabPadding, 'TB', 0) * this.$rpxNum
388
389
  style['height'] = `calc(${ this.layoutInfo.bodyMinHeightPx}px - ${tb}px)`;
389
390
  style['borderRadius'] = `0 ${this.titleRadius}rpx ${this.titleRadius}rpx 0`;
390
391
  }
391
392
  }
392
393
  return style;
393
394
  },
395
+ tabListComp(){
396
+ let temp = {};
397
+ if(this.layout === 'v1') {
398
+ temp['paddingLeft'] = (this.tabPadding.left || 0) + 'rpx';
399
+ temp['paddingRight'] = (this.tabPadding.right || 0) + 'rpx';
400
+ temp['paddingBottom'] = (this.tabPadding.bottom || 0) + 'rpx';
401
+ temp['paddingTop'] = (this.tabPadding.top || 0) + 'rpx';
402
+ }
403
+ return temp
404
+ },
394
405
  tabStyleComp(){
406
+ let border = {};
407
+ if(this.layout === 'v2') border = {border: this.titleBorder}
408
+ else border = {borderBottom: this.titleBorder}
395
409
  return {
396
410
  boxShadow: this.titleShadow,
397
- borderBottom: this.titleBorder,
411
+ ...border,
398
412
  backgroundColor: this.titleBgc,
399
- marginBottom: this.titlePadding + 'rpx',
413
+ //在模版二不使用内容与选项卡直接间距
414
+ marginBottom: this.layout === 'v2'?0:this.titlePadding + 'rpx',
400
415
  ...this.getTabHeight,
401
416
  };
402
417
  },
@@ -421,9 +436,10 @@
421
436
  getTabItemHeight(){
422
437
  if(this.layout === 'v1'){
423
438
  return {
424
- height:['v1'].includes(this.hStyle) ?'60rpx' : '108rpx',
425
- lineHeight: ['v1'].includes(this.hStyle) ?'60rpx' : '108rpx',
439
+ height: '60rpx',
440
+ lineHeight:'60rpx',
426
441
  marginRight: this.titleSp + 'rpx',
442
+ minWidth: '80rpx'
427
443
  }
428
444
  }
429
445
 
@@ -433,7 +449,7 @@
433
449
  lineHeight: '100rpx',
434
450
  borderRadius:'0',
435
451
  fontSize:'24rpx',
436
- marginBottom: this.titlePadding + 'rpx'
452
+ marginBottom: this.titleSp + 'rpx'
437
453
  }
438
454
  }
439
455
 
@@ -475,10 +491,35 @@
475
491
  }
476
492
  },
477
493
  tabActItemNameStyle(){
478
- if(this.layout === 'v2') return {}
479
494
  let bgColor = '';
480
495
  let bgImage = 'none';
496
+ let color = this.mainColor;
497
+ if(this.layout === 'v2') {
498
+ if(['v2'].includes(this.vStyle)) {
499
+ //选项卡标签文字颜色
500
+ if(this.titleStyle.actColor) color = this.titleStyle.actColor;
501
+ else color = '#fff';
502
+
503
+ //选项卡标签背景颜色
504
+ if(this.titleStyle.actBgColor) bgColor = this.titleStyle.actBgColor;
505
+ else {
506
+ if(this.mainGradient && this.mainGradient.indexOf('gradient') !== -1) bgImage = this.mainGradient;
507
+ else bgColor = this.mainColor;
508
+ }
509
+ }
510
+
511
+ return {
512
+ backgroundColor: bgColor,
513
+ color: color,
514
+ }
515
+ }
516
+
481
517
  if(['v1'].includes(this.hStyle)) {
518
+ //选项卡标签文字颜色
519
+ if(this.titleStyle.actColor) color = this.titleStyle.actColor;
520
+ else color = '#fff';
521
+
522
+ //选项卡标签背景颜色
482
523
  if(this.titleStyle.actBgColor) bgColor = this.titleStyle.actBgColor;
483
524
  else {
484
525
  if(this.mainGradient && this.mainGradient.indexOf('gradient') !== -1) bgImage = this.mainGradient;
@@ -490,7 +531,7 @@
490
531
  backgroundColor: bgColor,
491
532
  backgroundImage: bgImage,
492
533
  padding: '0 32rpx',
493
- color: this.titleStyle.actColor,
534
+ color: color,
494
535
  fontSize: this.titleStyle.actFontSize + 'rpx',
495
536
  fontWeight: this.titleStyle.actFontWeight,
496
537
  }
@@ -514,9 +555,6 @@
514
555
  this.$nextTick()
515
556
  },
516
557
  methods: {
517
- tr() {
518
- return tr
519
- },
520
558
  onJfbLoad(options) {
521
559
  //设置业务请求代码
522
560
  this.setNameSpace(options);
@@ -562,7 +600,8 @@
562
600
  ]
563
601
  let newLabel = this.$xdUniHelper.cloneDeep(gCPVal(container, 'newLabel', []))
564
602
  .filter(item=>{
565
- return item['isShow'] !== undefined
603
+ //更古老数据,相对新数据
604
+ return item['isShow'] === undefined || item['isShow'] === true
566
605
  })
567
606
  .sort((a,b)=>Number(a.sort)-Number(b.sort))
568
607
  .map(item=>{
@@ -572,6 +611,7 @@
572
611
  item['check'] = item['isShow'];
573
612
  delete item['isShow'];
574
613
  }
614
+ else item['check'] = true;
575
615
  if(item['newLabel'] !== undefined || item['label'] !== undefined) {
576
616
  item['input'] = item['newLabel'] || item['label'];
577
617
  delete item['newLabel'];
@@ -579,8 +619,20 @@
579
619
  }
580
620
  return item
581
621
  });
582
- this.newLabel = gCPVal(container, 'tabContent', [newLabel.length > 0 ? newLabel: defNewLabel]);
622
+ let defValues = {
623
+ all: '全部',
624
+ sell:'线下',
625
+ code:'电子码',
626
+ stod:'线上',
627
+ 'stod-samecity':'同城配送',
628
+ "stod-logistics":'快递配送',
629
+ 'stod-takeout':'门店自提'
630
+ }
583
631
 
632
+ this.newLabel = gCPVal(container, 'tabContent', newLabel.length > 0 ? newLabel: defNewLabel).map(item=>{
633
+ if(item.input === '') item.input = defValues[item.value];
634
+ return item
635
+ });
584
636
 
585
637
  //常规
586
638
  let defBodyPadding= 0;
@@ -616,12 +668,10 @@
616
668
  else defListPadding = {top:40,left:40, right:40, bottom:40};
617
669
  }
618
670
 
671
+ let defListMargin = 0;
672
+ if(this.layout === 'v2' && this.vStyle === 'v2') defListMargin = 24;
673
+
619
674
  this.listPadding = gCPVal(container, 'listPadding', [defListPadding,24], {sKey: 'listPaddingStatus', fields: ['listPadding'], isPMR: true});
620
- let defListMargin= 0;
621
- if(this.layout === 'v2'){
622
- //if(['v3', 'v4'].includes(this.vStyle)) defListMargin = {top:0,left:24, right:0, bottom:0}
623
- if(['v2'].includes(this.vStyle)) defListMargin = {top:24,left:24, right:24, bottom:24}
624
- }
625
675
  this.listMargin = gCPVal(container, 'listMargin', [defListMargin,0], {sKey: 'listMarginStatus', fields: ['listMargin'], isPMR: true});
626
676
  this.contRadius = gCPVal(container, 'contRadius', [this.gStyleValue.radius,0],{sKey: 'contRadiusStatus', fields: ['contRadius']})||0;
627
677
 
@@ -631,18 +681,11 @@
631
681
  let defTabPadding = 0;
632
682
  let oldTabPadding = 0;
633
683
  if(this.layout === 'v2') {
634
- if(['v2', 'v1'].includes(this.vStyle)) defTabPadding = {top:0,left:0, right:0, bottom:0};
635
684
  if(['v1'].includes(this.vStyle)) defTitleBgc = '#f8f8f8';
636
685
  }
637
686
  if(this.layout === 'v1') {
638
- defTabPadding = {top:0,left:32, right:0, bottom:0};
639
- oldTabPadding = {top:0,left:32, right:0, bottom:0};
640
-
641
- if(['v1'].includes(this.hStyle)) {
642
- defTabPadding = {top:24,left:32, right:0, bottom:24};
643
- oldTabPadding = {top:24,left:32, right:0, bottom:24};
644
- }
645
-
687
+ defTabPadding = {top:24,left:32, right:32, bottom:24};
688
+ oldTabPadding = {top:40,left:40, right:40, bottom:40};
646
689
  }
647
690
  this.tabPadding = gCPVal(container, 'tabPadding', [defTabPadding,oldTabPadding], {sKey: 'tabPaddingStatus', fields: ['tabPadding'], isPMR: true});
648
691
  this.titleBgc = gCPVal(container, 'titleBgc', [defTitleBgc,'#fff'],{sKey: 'titleBgcStatus', fields: ['titleBgc']});
@@ -653,7 +696,7 @@
653
696
  let titleStyleStatus = gCPVal(container, 'titleStyleStatus', '');
654
697
  if(titleStyleStatus === 'D') titleActColor = '';
655
698
  let mainColor = titleActColor || this.mainColor;
656
- if(this.layout === 'v1' && this.hStyle === 'v1') mainColor = '#fff';
699
+ //if(this.layout === 'v1' && this.hStyle === 'v1') mainColor = '#fff';
657
700
  if(this.layout === 'v2' && this.vStyle === 'v2') mainColor = '#fff';
658
701
  this.titleStyle = gCPVal(
659
702
  container,
@@ -663,10 +706,10 @@
663
706
  bgColor: titleBgcColor || '#fff' ,
664
707
  fontSize: '32',
665
708
  fontWeight: '400',
666
- actColor: mainColor,
709
+ actColor: titleActColor || '',
667
710
  actFontWeight: '400',
668
711
  actFontSize: '32',
669
- actBgColor: "",
712
+ actBgColor:this.titleBgcActColor || '',
670
713
  }],
671
714
  {sKey:'titleStyleStatus',fields:['titleStyle'],isMerge: true},
672
715
  );
@@ -679,16 +722,16 @@
679
722
  if(['v1','v2'].includes(this.vStyle)) defTitleRadius = '0';
680
723
  }
681
724
  this.titleRadius = gCPVal(container, 'titleRadius', [defTitleRadius,this.gStyleValue.radius,'0'],{sKey: 'titleRadiusStatus', fields: ['titleRadius']})||0;
682
- this.titlePadding = gCPVal(container, 'titlePadding', '0',{sKey: 'titlePaddingStatus', fields: ['titlePadding']});
683
- this.titleSp = gCPVal(container, 'titleSp', [48, 0],{sKey: 'titleSpStatus', fields: ['titleSp']});
725
+ this.titlePadding = gCPVal(container, 'titlePadding', 0,{sKey: 'titlePaddingStatus', fields: ['titlePadding']});
726
+ this.titleSp = gCPVal(container, 'titleSp', [(this.layout === 'v2'?0:48), 0],{sKey: 'titleSpStatus', fields: ['titleSp']});
684
727
 
685
728
  //内容
686
729
  this.contentBgc = gCPVal(container, 'contentBgc', '#fff',{sKey: 'contentBgcStatus', fields: ['contentBgc']} );
687
730
  let contentPadding = gCPVal(container, 'contentPadding',''), bindSize = 68;
688
731
  if(this.layout === 'v1' && this.contentCell === 3) bindSize = 28;
689
732
  if(this.layout === 'v1' && this.contentCell === 5) bindSize = 60;
690
- if(contentPadding) bindSize = 100 - Number(contentPadding);
691
- this.bindSize = 100 - Number(gCPVal(container, 'bindSize', [bindSize,68],{sKey: 'bindSizeStatus', fields: ['bindSize']}));
733
+ if(contentPadding) bindSize = 112 - Number(contentPadding);
734
+ this.bindSize = 112 - Number(gCPVal(container, 'bindSize', [bindSize,68],{sKey: 'bindSizeStatus', fields: ['bindSize']}));
692
735
  this.radius = gCPVal(container, 'radius', [this.gStyleValue.radius,0],{sKey: 'radiusStatus', fields: ['radius']})||0;
693
736
  this.brandShadow = gCPVal(container, 'brandShadow', [this.gStyleValue.shadow,'none'], {isShadow:true, bsOld:['isContShadow','isContShadowBgcW','isContShadowBgc']});
694
737
  this.brandBorder = gCPVal(container, 'brandBorder', [{color: '#f8f8f8', width: '2', style: 'solid'},{color: '#eee', width: '0', style: 'solid'}], {isBorder:true, bsOld:['isContBorder','isContBorderW','isContBorderColor']});
@@ -696,8 +739,8 @@
696
739
  container,
697
740
  "brandStyle",
698
741
  [{
699
- color: gCPVal(container, 'brandNameColor', '') || '#333',
700
- fontSize: '24',
742
+ color: gCPVal(container, 'brandNameColor', '') || '#666',
743
+ fontSize: '28rpx',
701
744
  fontWeight: '400',
702
745
  }],
703
746
  {sKey:'brandStyleStatus',fields:['brandStyle'],isMerge: true},
@@ -856,7 +899,7 @@
856
899
  left: 50%;
857
900
  width: 64rpx;
858
901
  transform: translateX(-50%);
859
- bottom: 16rpx;
902
+ bottom: -16rpx;
860
903
  height: 6rpx;
861
904
  border-radius: 4rpx;
862
905
  }
@@ -55,13 +55,13 @@ export default (data, gValue, gColor, oldData)=>{
55
55
  groupKey: 'style',
56
56
  ele: 'xd-slider',
57
57
  valueKey: "bindSize",
58
- value: dataVal({data, key:'bindSize', dValue: gValue.isAdd && gValue.isFirst?bindSize: 68, gValue}),
58
+ value: dataVal({data, key:'bindSize', dValue: gValue.isAdd && gValue.isFirst ? bindSize: 68, gValue}),
59
59
  hidden: !statusShow({data, key: 'bindSizeStatus', fields:['bindSize'], gValue}),
60
60
  className: "input100",
61
61
  labelInline: true,
62
62
  setting:{
63
- min: 0,//最小值
64
- max: 100, //最小值
63
+ min: 50,//最小值
64
+ max: 90, //最小值
65
65
  step:1, //步长
66
66
  showStops:false,//显示间断点
67
67
  showInput:false,//显示输入框
@@ -97,7 +97,7 @@ export default (data, gValue, gColor, oldData)=>{
97
97
  selected:false,
98
98
  default:{
99
99
  color: data['brandNameColor'] || '#666',
100
- fontSize:'24',
100
+ fontSize:'28rpx',
101
101
  fontWeight: '400'
102
102
  },
103
103
  },
@@ -10,8 +10,10 @@ export default (data, gValue, gColor, oldData={})=>{
10
10
  //老数据
11
11
  let tabContent = [];
12
12
  if(data['newLabel'] !== undefined) {
13
- let newLabel = clone(data['newLabel']).filter(item=>{
14
- return item['isShow'] !== undefined
13
+ let newLabel = clone(data['newLabel']).map(item=>{
14
+ if(typeof item.isShow === 'boolean') item.check = item.isShow;
15
+ else item.check = true;
16
+ return item
15
17
  });
16
18
  tabContent = newLabel.sort((a,b)=>Number(a.sort)-Number(b.sort)).map(item=>{
17
19
  item['placeholder'] = '自定义名称';
@@ -86,13 +88,13 @@ export default (data, gValue, gColor, oldData={})=>{
86
88
  inline: false,
87
89
  handleCustom({action, data}) {
88
90
  data.cb([
89
- {value:'all', label: '全部',input:'',check: true,placeholder:'自定义名称'},
90
- {value:'sell', label: '线下',input:'',check: true, placeholder:'自定义名称'},
91
- {value:'code', label: '电子码',input:'',check: true,placeholder:'自定义名称'},
92
- {value:'stod', label: '线上',input:'',check: true,placeholder:'自定义名称'},
93
- {value:'stod-samecity', label: '同城配送',input:'',check: false,placeholder:'自定义名称'},
94
- {value:'stod-logistics', label: '快递配送',input:'',check: false,placeholder:'自定义名称'},
95
- {value:'stod-takeout', label: '门店自提',input:'',check: false,placeholder:'自定义名称'},
91
+ {value:'all', label: '全部',input:'', def: '全部', check: true,placeholder:'自定义名称'},
92
+ {value:'sell', label: '线下',input:'', def: '线下',check: true, placeholder:'自定义名称'},
93
+ {value:'code', label: '电子码',input:'', def: '电子码',check: true,placeholder:'自定义名称'},
94
+ {value:'stod', label: '线上',input:'', def: '线上',check: true,placeholder:'自定义名称'},
95
+ {value:'stod-samecity', label: '同城配送',input:'', def: '同城配送',check: false,placeholder:'自定义名称'},
96
+ {value:'stod-logistics', label: '快递配送',input:'', def: '快递配送',check: false,placeholder:'自定义名称'},
97
+ {value:'stod-takeout', label: '门店自提',input:'', def: '门店自提',check: false,placeholder:'自定义名称'},
96
98
  ])
97
99
  },
98
100
  },
@@ -146,7 +148,7 @@ export default (data, gValue, gColor, oldData={})=>{
146
148
  value: dataVal({data, key:'layout', dValue:'v1', gValue}),
147
149
  multiple: false,
148
150
  groupKey: 'content',
149
- className: 'input50',
151
+ className: 'input100',
150
152
  labelInline:true,
151
153
  list: [
152
154
  {label: '上下布局', value: 'v1'},
@@ -211,7 +213,7 @@ export default (data, gValue, gColor, oldData={})=>{
211
213
  placeholder: '请选择显示列',
212
214
  multiple: false,
213
215
  groupKey: 'content',
214
- className: 'input50',
216
+ className: 'input100',
215
217
  labelInline:true,
216
218
  hidden: !(['v1'].includes(dataVal({data, key:'layout', dValue:'v2', gValue}) )),
217
219
  list: [
@@ -27,48 +27,38 @@ export default (datas, gValue, gColor, oldData={})=>{
27
27
  let defTitleShadow = cRaBorShadow( data, 'titleShadow', {old:['isTitleShadow','isTitleShadowBgcW','isTitleShadowBgc']},gValue);
28
28
  let titleStyleFields = ['titleBgcColor','titleBgcActColor','titleColor','titleActColor'];
29
29
 
30
- function handle(isBtn, isChange=false){
31
- if(isBtn) {
32
- if(data['titleStyle'] !== undefined) {
33
- data['titleStyle']['color'] = '#333';
34
- data['titleStyle']['actColor'] = '#fff';
35
- data['titleStyle']['bgColor'] = '#fff';
36
- data['titleStyle']['actBgColor'] = '';
37
- }
38
- if(isChange && statusDataVal({data, key:'tabPaddingStatus', fields:['tabPadding'],gValue}) === 'C') {
39
- data['tabPadding'] = {top:24,left:32, right:32, bottom:24}
40
- }
41
- }
42
- else {
43
- if(data['titleStyle'] !== undefined) {
44
- data['titleStyle']['color'] = '#333';
45
- data['titleStyle']['actColor'] = gColor.mainColor;
46
- data['titleStyle']['bgColor'] = '';
47
- data['titleStyle']['actBgColor'] = '';
48
- if(isChange && statusDataVal({data, key:'tabPaddingStatus', fields:['tabPadding'],gValue}) === 'C') {
49
- data['tabPadding'] = {top:0,left:0, right:0, bottom:0}
50
- }
51
- }
52
- }
53
- }
54
-
55
- //切换左右
56
- if(data['layout'] !== oldData.layout) {
57
- handle(data['layout'] === 'v1'?data.hStyle === 'v1': data.vStyle === 'v2', data['layout'] === 'v1');
58
- }
59
-
60
- //上下结构,切换Tab样式
61
- if(data['layout'] === 'v1' && data.hStyle && oldData.hStyle && data.hStyle !== oldData.hStyle) {
62
- handle(data.hStyle === 'v1', true);
63
- }
64
- //左右结构,切换Tab样式
65
- if(data['layout'] === 'v2' && data.vStyle && oldData.vStyle && data.vStyle !== oldData.vStyle) {
66
- handle(data.vStyle === 'v2');
67
- }
68
- if(statusDataVal({data, key:'tabPaddingStatus', fields:['tabPadding'],gValue}) === 'C') {
69
- if(data['layout'] === 'v2') data['tabPadding'] = {top:20,left:0, right:0, bottom:0};
70
- else data['tabPadding'] = {top:24,left:32, right:0, bottom:24}
71
- }
30
+ // function handle(isBtn, isChange=false){
31
+ // if(isBtn) {
32
+ // if(data['titleStyle'] !== undefined) {
33
+ // data['titleStyle']['color'] = '#333';
34
+ // data['titleStyle']['actColor'] = '#fff';
35
+ // data['titleStyle']['bgColor'] = '#fff';
36
+ // data['titleStyle']['actBgColor'] = '';
37
+ // }
38
+ // }
39
+ // else {
40
+ // if(data['titleStyle'] !== undefined) {
41
+ // data['titleStyle']['color'] = '#333';
42
+ // data['titleStyle']['actColor'] = gColor.mainColor;
43
+ // data['titleStyle']['bgColor'] = '';
44
+ // data['titleStyle']['actBgColor'] = '';
45
+ // }
46
+ // }
47
+ // }
48
+ //
49
+ // //切换左右
50
+ // if(data['layout'] !== oldData.layout) {
51
+ // handle(data['layout'] === 'v1'?data.hStyle === 'v1': data.vStyle === 'v2', data['layout'] === 'v1');
52
+ // }
53
+ //
54
+ // //上下结构,切换Tab样式
55
+ // if(data['layout'] === 'v1' && data.hStyle && oldData.hStyle && data.hStyle !== oldData.hStyle) {
56
+ // handle(data.hStyle === 'v1', true);
57
+ // }
58
+ // //左右结构,切换Tab样式
59
+ // if(data['layout'] === 'v2' && data.vStyle && oldData.vStyle && data.vStyle !== oldData.vStyle) {
60
+ // handle(data.vStyle === 'v2');
61
+ // }
72
62
 
73
63
 
74
64
  return [
@@ -106,7 +96,7 @@ export default (datas, gValue, gColor, oldData={})=>{
106
96
  selected:true,
107
97
  default:{
108
98
  color: data['titleColor'] || '#333',
109
- bgColor:data['titleBgcColor'] || '#fff',
99
+ bgColor: data['titleBgcColor'] || '#fff',
110
100
  fontSize:'32',
111
101
  fontWeight: '400',
112
102
  actFontSize:'32',
@@ -145,7 +135,7 @@ export default (datas, gValue, gColor, oldData={})=>{
145
135
  groupKey: 'style',
146
136
  ele: 'xd-slider',
147
137
  valueKey: "titleSp",
148
- value: dataVal({data, key:'titleSp', dValue:gValue.isAdd && gValue.isFirst ?48: 0, gValue}),
138
+ value: dataVal({data, key:'titleSp', dValue:gValue.isFirst && gValue.isAdd?(data.layout === 'v2'?0:48):0}),
149
139
  hidden: !statusShow({data, key: 'titleSpStatus', fields:['titleSp'], gValue}),
150
140
  className: "input100",
151
141
  labelInline: true,
@@ -166,6 +156,7 @@ export default (datas, gValue, gColor, oldData={})=>{
166
156
  valueKey: 'titlePaddingStatus',
167
157
  value: statusDataVal({data, key: 'titlePaddingStatus', fields:['titlePadding'], gValue}),
168
158
  labelInline:true,
159
+ hidden: data['layout'] ==='v2',
169
160
  list: [
170
161
  {label: '默认', value: 'D'},
171
162
  {label: '自定义', value: 'C'},
@@ -178,7 +169,7 @@ export default (datas, gValue, gColor, oldData={})=>{
178
169
  ele: 'xd-slider',
179
170
  valueKey: "titlePadding",
180
171
  value: dataVal({data, key:'titlePadding', dValue:0, gValue}),
181
- hidden: !statusShow({data, key: 'titlePaddingStatus', fields:['titlePadding'], gValue}),
172
+ hidden: !statusShow({data, key: 'titlePaddingStatus', fields:['titlePadding'], gValue}) || data['layout'] ==='v2',
182
173
  className: "input100",
183
174
  labelInline: true,
184
175
  setting:{
@@ -336,7 +327,7 @@ export default (datas, gValue, gColor, oldData={})=>{
336
327
  value: dataVal({
337
328
  data,
338
329
  key:'tabPadding',
339
- dValue:[gValue.isAdd&&gValue.isFirst ? 0: {top:24,left:32, right:0, bottom:24}],
330
+ dValue:[gValue.isAdd && gValue.isFirst?{top:24,left:32, right:32, bottom:24}: 40],
340
331
  gValue,
341
332
  isPM: true,
342
333
  }),
@@ -357,7 +348,7 @@ export default (datas, gValue, gColor, oldData={})=>{
357
348
  groupKey: 'style',
358
349
  placeholder: '请选择未选中文字颜色',
359
350
  classNmae: 'input80',
360
- hidden: true
351
+ hidden: false
361
352
  },
362
353
  {
363
354
  label: '选中标签背景颜色:',
@@ -367,7 +358,7 @@ export default (datas, gValue, gColor, oldData={})=>{
367
358
  groupKey: 'style',
368
359
  placeholder: '请选择选中标签背景颜色',
369
360
  classNmae: 'input80',
370
- hidden: true
361
+ hidden: false
371
362
  },
372
363
  {
373
364
  label: '未选中文字颜色:',
@@ -377,7 +368,7 @@ export default (datas, gValue, gColor, oldData={})=>{
377
368
  groupKey: 'style',
378
369
  placeholder: '请选择未选中文字颜色',
379
370
  classNmae: 'input80',
380
- hidden: true
371
+ hidden: false
381
372
  },
382
373
  {
383
374
  label: '选中文字颜色:',
@@ -387,7 +378,7 @@ export default (datas, gValue, gColor, oldData={})=>{
387
378
  groupKey: 'style',
388
379
  placeholder: '请选择选中文字颜色',
389
380
  classNmae: 'input80',
390
- hidden: true
381
+ hidden: false
391
382
  },
392
383
 
393
384
  {
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <view class="jfb-filter" v-if="showQuery === 'Y'">
3
- <view class="jfb-filter-placeholder" :style="[placeholderStyleComp]" ></view>
2
+ <view class="jfb-filter" v-if="showQuery === 'Y'" :style="[cssStyle]">
3
+ <view class="jfb-filter-placeholder" :style="[placeholderStyleComp]"></view>
4
4
  <view class="jfb-filter-menu" :style="[cusMenuStyle,menuStyleTopComp]">
5
5
  <template v-if="sortList.length > 0">
6
6
  <view
@@ -251,7 +251,8 @@ export default {
251
251
  menuStyleTopComp(){
252
252
  return {
253
253
  zIndex: this.showQueryModal ? 1002 : 1,
254
- ...this.queryMaskComp
254
+ position:this.$configProject.isPreview?'absolute':'fixed',
255
+ top: this.$configProject.isPreview ? 0 : this.queryMaskComp.top
255
256
  }
256
257
  },
257
258
  queryTopComp(){
@@ -271,7 +272,7 @@ export default {
271
272
  otherMenuComp(){
272
273
  let height = 48; //菜单高度
273
274
  let maxHeight = this.$root.layoutInfo['bodyMinHeightRpx'] - (300 + height + this.topHeight) ;
274
- if(this.$configProject.isPreview) maxHeight = 800;
275
+ if(this.$configProject.isPreview) maxHeight = 600;
275
276
  return {
276
277
  backgroundColor: this.cusPopStyle['filterListColor'] || '#f8f8f8',
277
278
  maxHeight: maxHeight + 'rpx',
@@ -335,6 +336,20 @@ export default {
335
336
  }
336
337
  }
337
338
  return params
339
+ },
340
+ cssStyle(){
341
+ let filterListColor = this.cusPopStyle['filterListColor'] || '#f8f8f8';
342
+ if(Color(filterListColor).isDark()) filterListColor = Color(filterListColor).lighten(0.8).toString();
343
+ else if(Color(filterListColor).isLight()) filterListColor = Color(filterListColor).darken(0.03).toString();
344
+
345
+ let menuListColor = this.cusPopStyle['backgroundColor'] || '#fff';
346
+ if(Color(menuListColor).isDark()) menuListColor = Color(menuListColor).lighten(0.8).toString();
347
+ else if(Color(menuListColor).isLight()) menuListColor = Color(menuListColor).darken(0.03).toString();
348
+
349
+ return {
350
+ '--com-pop-border': filterListColor,
351
+ '--com-menu-border': menuListColor
352
+ }
338
353
  }
339
354
  },
340
355
  watch:{
@@ -623,7 +638,6 @@ export default {
623
638
  this.closeQueryModal();
624
639
  },
625
640
  switchOtherOpen(tab){
626
- debugger
627
641
  this.filterTabs = this.filterTabs.map(item => {
628
642
  if(JSON.stringify(tab.value) === JSON.stringify(item.value)) item['open'] = !item['open'];
629
643
  return item;
@@ -749,6 +763,7 @@ export default {
749
763
 
750
764
  <style scoped lang="less">
751
765
  .jfb-filter {
766
+ position: relative;
752
767
  &-placeholder {
753
768
  font-size: 20rpx;
754
769
  }
@@ -758,8 +773,7 @@ export default {
758
773
  left: 0;
759
774
  right: 0;
760
775
  z-index: 100;
761
- border-top: 1px solid #F5F5F5;
762
- width: 100%;
776
+ border-top: 1px solid var(--com-menu-border);
763
777
  display: flex;
764
778
  justify-content: space-around;
765
779
  height: 48rpx;
@@ -831,7 +845,7 @@ export default {
831
845
  .xd-query-sort{
832
846
  &-item {
833
847
  height: 80rpx;
834
- border-bottom: 1rpx solid #f8f8f8;
848
+ border-bottom: 1rpx solid var(--com-pop-border);
835
849
  line-height: 80rpx;
836
850
  padding-left: 80rpx;
837
851
  color: #999;
@@ -416,15 +416,22 @@
416
416
  allIcon(){
417
417
  this.handleAllChange()
418
418
  },
419
+
419
420
  allName(){
420
421
  this.handleAllChange()
421
422
  },
423
+
422
424
  showCategory(val){
423
425
  if(this.$configProject.isPreview) {
424
426
  if(val === 'Y') this.getCategoryList();
425
427
  else this.navList = [];
426
428
  }
429
+ },
427
430
 
431
+ parentId(){
432
+ if(this.$configProject.isPreview) {
433
+ this.getCategoryList();
434
+ }
428
435
  },
429
436
 
430
437
  need_show_tags(value,oldValue) {
@@ -440,7 +447,7 @@
440
447
  },
441
448
  onLoadStatus(){
442
449
  if(this.initStatus && this.onLoadStatus) this.handleInit();
443
- }
450
+ },
444
451
 
445
452
  },
446
453
  created() {
@@ -554,6 +561,13 @@
554
561
  //基础
555
562
  this.sort = gCPVal(container, "sort", "default");
556
563
  this.version = gCPVal(container, 'version', '');
564
+ let categoryParentType = gCPVal(container, 'categoryParentType', 'root');
565
+ if(categoryParentType === 'root') this.parentId = 0;
566
+ else {
567
+ let categoryParent = gCPVal(container, 'categoryParent', '');
568
+ if(!categoryParent) this.parentId = 0;
569
+ else this.parentId = categoryParent;
570
+ }
557
571
  this.xnamespace = gCPVal(container, 'xnamespace', this.projectAttr.business_code||this.xnamespace);
558
572
  this.listPadding = gCPVal(container,'listPadding', [{top:16, left:16, right:16,bottom:16},20], {sKey:'listPaddingStatus',fields:['listPadding'],isPMR: true});
559
573
  this.contentColor = gCPVal(container,'contentColor', ['#f8f8f8','#fafafa'], {sKey:'contentColorStatus',fields:['contentColor']});
@@ -593,7 +607,7 @@
593
607
 
594
608
  //==过滤区域============
595
609
  let categoryLayout = gCPVal(container, "categoryLayout", "v1");
596
- let category = 'v2'//gCPVal(container, 'category',categoryLayout);
610
+ let category = gCPVal(container, 'category',categoryLayout);
597
611
 
598
612
  //是否显示过滤菜单
599
613
  let showQuery = gCPVal(container, "showQuery", 'Y');
@@ -604,7 +618,7 @@
604
618
  else this.isFilterMenuForFilterFields = [];
605
619
  //是否显示品牌菜单
606
620
  let showBrandFilter = gCPVal(container, "showBrandFilter", "in");
607
-
621
+ let filterModeSort = ['common','price','host','brand','delivery_method','filter'];
608
622
  //菜单设置
609
623
  let filterMode = [];
610
624
  if(showQuery === 'Y') {
@@ -616,6 +630,8 @@
616
630
  if(showBrandFilter === 'out') filterMode.push('brand');
617
631
  filterMode.push('filter');
618
632
  }
633
+ //已经设置
634
+ else filterMode = this.$xdUniHelper.cloneDeep(filterModeArr);
619
635
 
620
636
  //设置条件
621
637
  if(filterMode.length <= 4 && filterMode.length >=2) {
@@ -786,6 +802,8 @@
786
802
  const subTitleIconBorder = gCPVal(container, 'subTitleIconBorder', [{style:'solid', width: '2', color: this.mainColor},'0'], {isBorder:true});
787
803
  let navStyle = gCPVal(container, 'navStyle', 'line-6-8-s');
788
804
  if(navStyle.indexOf('line-') === 0) navStyle = 'line-6-8-s';
805
+ const iconWdith = gCPVal(container, 'iconWdith', [100],{sKey:'iconWdithStatus', fields:['iconWdith']});
806
+ const iconBgColor = gCPVal(container, 'iconBgColor', [100],{sKey:'iconBgColorStatus', fields:['iconBgColor']});
789
807
 
790
808
  this.tabStyle = {
791
809
  titleColor,
@@ -797,6 +815,8 @@
797
815
  titleActFontWeight,
798
816
  subTitleIconShadow,
799
817
  subTitleIconBorder,
818
+ iconWdith,
819
+ iconBgColor,
800
820
  titleBgColor,
801
821
  titleActBgColor,
802
822
  level2Name,
@@ -5,6 +5,8 @@ module.exports = {
5
5
  items: [
6
6
  {
7
7
  title: '配送方式',
8
+ value:'delivery_method',
9
+ multiple: false,
8
10
  options: [
9
11
  {
10
12
  label: '同城配送',
@@ -25,6 +27,8 @@ module.exports = {
25
27
  },
26
28
  {
27
29
  title: "品牌",
30
+ value:'brand',
31
+ multiple: true,
28
32
  options: [
29
33
  {"label":"美克斯","value":"100787","icon":"//img.jufubao.cn\/uploads\/20240311\/ef2f44e422d73d9b09746cfe0b2c312d.jpg?x-oss-process=style/size4"},
30
34
  {"label":"DOCTOR LI","value":"100535","icon":"//img.jufubao.cn\/uploads\/20240102\/924d9c1b4a06d8a47dfe53a6a6b529b6.png?x-oss-process=style/size4"},
@@ -65,6 +69,8 @@ module.exports = {
65
69
  },
66
70
  {
67
71
  title: "尺寸",
72
+ value:'attr',
73
+ multiple: false,
68
74
  options: [
69
75
  { label: "≤4英寸", value: "size-1" },
70
76
  { label: "6英寸", value: "size-2" },
@@ -75,6 +81,8 @@ module.exports = {
75
81
  },
76
82
  {
77
83
  title: "适用场景",
84
+ value:'attr',
85
+ multiple: true,
78
86
  options: [
79
87
  { label: "生日", value: "scene-1" },
80
88
  { label: "下午茶", value: "scene-2" },
@@ -3,7 +3,7 @@
3
3
  <view v-if="!isFixed" class="category_wrap-mask" :style="[categoryWarperMaskComp]" ></view>
4
4
  <view
5
5
  class="category_wraper"
6
- :style="{top:(layoutInfo['top']) + 'rpx'}"
6
+ :style="[categoryWaperComp]"
7
7
  >
8
8
  <view v-if="showParent && isShowCategory" >
9
9
  <view class="tab_wrap" :style="[{backgroundColor:titleBgcColor}]">
@@ -40,20 +40,22 @@
40
40
  :key="sub_category_list"
41
41
  class="sub_category_list"
42
42
  >
43
-
44
43
  <view v-for="(sub,i) in imageIconList" :key="sub.category_id" class="sub_cate icon">
45
44
  <view
46
45
  :id="'cate-scroll__index-'+i"
47
46
  @click="handleCateClick(sub, 1)"
48
47
  >
49
- <view :style="[sub.category_id === (['child','parentNew'].includes(showType)? uiPid:cateId )?subActTitleIcon:subTitleIcon]" class="sub_icon">
50
- <view :style="[subTitleInIcon]">
48
+ <view
49
+ :style="[sub.category_id === (['child','parentNew'].includes(showType)? uiPid:uiCateId )?subActTitleIcon:subTitleIcon,subTitleInIcon]"
50
+ class="sub_icon"
51
+ >
52
+ <view>
51
53
  <image :src="sub.category_icon" style="width:100%;height:100%"/>
52
54
  </view>
53
55
  </view>
54
56
  <view
55
57
  class="sub_name"
56
- :style="[sub.category_id === (['child','parentNew'].includes(showType)? uiPid:cateId )?level2ActNameComp:level2NameComp]"
58
+ :style="[sub.category_id === (['child','parentNew'].includes(showType)? uiPid:uiCateId )?level2ActNameComp:level2NameComp]"
57
59
  >{{sub.category_name}}</view>
58
60
  </view>
59
61
  </view>
@@ -89,6 +91,7 @@
89
91
  import CusTab from "@/components/CusTab/CusTab.vue"
90
92
  import getServiceUrl from "@/common/getServiceUrl";
91
93
  import cateMixins from "./cateMixins";
94
+ import Color from "color";
92
95
  export default {
93
96
  components: {
94
97
  CusTab
@@ -250,7 +253,12 @@ export default {
250
253
  return {height: height + 'rpx'}
251
254
  },
252
255
  subTitleInIcon(){
253
- return {}
256
+ let {iconWdith, iconBgColor} = this.tabStyle
257
+ return {
258
+ width: iconWdith + 'rpx',
259
+ height: iconWdith + 'rpx',
260
+ backgroundColor: iconBgColor
261
+ }
254
262
  },
255
263
  //是否展示父级分类
256
264
  showParent(){
@@ -262,9 +270,14 @@ export default {
262
270
  backgroundColor: this.level2BgcColor,
263
271
  color: this.level2Color,
264
272
  }
273
+
274
+ let level2BgcColor = this.level2BgcColor || '#fff';
275
+ if(Color(level2BgcColor).isDark()) level2BgcColor = Color(level2BgcColor).lighten(0.8).toString();
276
+ else if(Color(level2BgcColor).isLight()) level2BgcColor = Color(level2BgcColor).darken(0.03).toString();
277
+
265
278
  if(this.showParent && this.isShowCategory){
266
279
  temp = Object.assign({},temp, {
267
- borderTop:this.boxTitleBorder,
280
+ borderTop:`2rpx solid ${level2BgcColor}`,
268
281
  boxSizing: 'border-box'
269
282
  })
270
283
  }
@@ -288,6 +301,12 @@ export default {
288
301
  backgroundColor: this.tabStyle.titleActBgColor,
289
302
  }
290
303
  },
304
+ categoryWaperComp(){
305
+ return {
306
+ position:this.$configProject.isPreview?'absolute':'fixed',
307
+ top: this.$configProject.isPreview ? 0 : (this.layoutInfo.top + 'rpx')
308
+ }
309
+ }
291
310
  },
292
311
  created(){
293
312
  this.isPreview = this.$configProject.isPreview;
@@ -397,6 +416,7 @@ export default {
397
416
  * @param type 1=>图文 2=>文字
398
417
  */
399
418
  handleCateClick(sub , type = 1){
419
+ debugger
400
420
  //当前布局为v1时候
401
421
  if(this.showType === 'all') this.clickClidItem(sub);
402
422
 
@@ -498,6 +518,9 @@ export default {
498
518
  margin: 0 auto;
499
519
  overflow: hidden;
500
520
  box-sizing: border-box;
521
+ display: flex;
522
+ justify-content: center;
523
+ align-items: center;
501
524
  & > view {
502
525
  background-color: #fff;
503
526
  width: calc(100% - var(--sub-icon-border)*2);
@@ -172,9 +172,14 @@ export default {
172
172
  };
173
173
  },
174
174
  chosePanelFixedTop(){
175
+ let level2BgcColor = '#fff';
176
+ if(Color(level2BgcColor).isDark()) level2BgcColor = Color(level2BgcColor).lighten(0.8).toString();
177
+ else if(Color(level2BgcColor).isLight()) level2BgcColor = Color(level2BgcColor).darken(0.03).toString();
178
+
175
179
  return {
176
180
  top: this.$configProject.isPreview?'108rpx':(parseInt(this.cateBarStyleComp.top) + 108) + 'rpx',
177
181
  position: this.$configProject.isPreview?'absolute':'fixed',
182
+ borderTop: `2rpx solid ${level2BgcColor}`
178
183
  }
179
184
  },
180
185
 
@@ -55,6 +55,9 @@ export default (data, gValue,gColor,oldData)=>{
55
55
  isShowDelivery = data['isShowDelivery'];
56
56
  }
57
57
 
58
+ let categoryParentType = dataVal({data, key:'categoryParentType', dValue:'root', gValue});
59
+
60
+
58
61
  return[
59
62
  {
60
63
  ele: 'title',
@@ -172,6 +175,35 @@ export default (data, gValue,gColor,oldData)=>{
172
175
  {required: true, message: '请上传全部图标', trigger: ['blur', 'change']},
173
176
  ],
174
177
  },
178
+ {
179
+ label: '父级分类',
180
+ ele: 'xd-radio',
181
+ groupKey: 'content',
182
+ valueKey: 'categoryParentType',
183
+ value: categoryParentType,
184
+ labelInline:true,
185
+ className: 'input100',
186
+ list: [
187
+ {label: '根目录', value: 'root'},
188
+ {label: '自定义', value: 'child'},
189
+ ],
190
+ notice:'展示指定父级分类下的子级分类',
191
+ inline: false
192
+ },
193
+ {
194
+ label: '',
195
+ ele: 'el-input',
196
+ type: 'number',
197
+ labelInline: true,
198
+ valueKey: 'categoryParent',
199
+ cusStyle: {
200
+ paddingLeft: '90px'
201
+ },
202
+ value: dataVal({data, key:'categoryParent', dValue:'', gValue}),
203
+ groupKey:'content',
204
+ className: 'input100',
205
+ hidden: categoryParentType === 'root',
206
+ },
175
207
  {ele: 'group_end'},
176
208
  {
177
209
  label: "分类样式",
@@ -309,6 +341,7 @@ export default (data, gValue,gColor,oldData)=>{
309
341
  groupKey:'content',
310
342
  valueKey: "filterMode",
311
343
  value: filterMode,
344
+ isSort: true,
312
345
  list:[
313
346
  {"label": "综合", "value": 'common'},
314
347
  {"label": "销量", "value": 'hot'},
@@ -103,25 +103,6 @@ export default (data, gValue, gColor, oldData)=>{
103
103
  {label: '自定义', value: 'C'},
104
104
  ]
105
105
  },
106
- 0&&{
107
- label: "图标大小",
108
- groupKey: 'style',
109
- ele: 'xd-slider',
110
- valueKey: "iconWdith",
111
- value: data['iconWdith'] === undefined?128:data['iconWdith'],
112
- className: "input80",
113
- labelInline: true,
114
- setting:{
115
- min: 64,//最小值
116
- max: 128, //最小值
117
- step:1, //步长
118
- showStops:false,//显示间断点
119
- showInput:false,//显示输入框
120
- },
121
- inline:false,
122
- notice:'调整分类图标大小'
123
- },
124
-
125
106
  {ele: 'group_start'},
126
107
  {
127
108
  label: '',
@@ -160,6 +141,63 @@ export default (data, gValue, gColor, oldData)=>{
160
141
  },
161
142
  },
162
143
  {ele: 'group_end'},
144
+ {
145
+ label: '图标大小',
146
+ ele: 'xd-radio',
147
+ groupKey: 'style',
148
+ valueKey: 'iconWdithStatus',
149
+ value: statusDataVal({data, key:'iconWdithStatus', fields:['iconWdith'],gValue}),
150
+ labelInline:true,
151
+ list: [
152
+ {label: '默认', value: 'D'},
153
+ {label: '自定义', value: 'C'},
154
+ ]
155
+ },
156
+ {ele: 'group_start'},
157
+ {
158
+ label: "",
159
+ groupKey: 'style',
160
+ ele: 'xd-slider',
161
+ valueKey: "iconWdith",
162
+ value: dataVal({data, key:'iconWdith', dValue:100, gValue}),
163
+ hidden: !statusShow({data, key: 'iconWdithStatus', fields:['iconWdith'], gValue}),
164
+ className: "input80",
165
+ labelInline: true,
166
+ setting:{
167
+ min: 50,//最小值
168
+ max: 100, //最小值
169
+ step:1, //步长
170
+ showStops:false,//显示间断点
171
+ showInput:false,//显示输入框
172
+ },
173
+ },
174
+ {ele: 'group_end'},
175
+ {
176
+ label: '图标背景',
177
+ ele: 'xd-radio',
178
+ groupKey: 'style',
179
+ valueKey: 'iconBgColorStatus',
180
+ value: statusDataVal({data, key:'iconBgColorStatus', fields:['iconBgColor'],gValue}),
181
+ labelInline:true,
182
+ list: [
183
+ {label: '默认', value: 'D'},
184
+ {label: '自定义', value: 'C'},
185
+ ]
186
+ },
187
+ {ele: 'group_start'},
188
+ {
189
+ label: '',
190
+ ele: 'xd-color',
191
+ valueKey: 'iconBgColor',
192
+ groupKey:'style',
193
+ value: dataVal({data, key:'iconBgColor', dValue:'#f8f8f8', gValue}),
194
+ hidden: !statusShow({data, key: 'iconBgColorStatus', fields:['iconBgColor'], gValue}),
195
+ classNmae: 'input80',
196
+ setting: {
197
+ showAlpha: true
198
+ },
199
+ },
200
+ {ele: 'group_end'},
163
201
 
164
202
  {
165
203
  label: '名称样式',