jufubao-mall 2.0.20-beta4 → 2.0.20-beta5

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-beta4",
3
+ "version": "2.0.20-beta5",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -207,7 +207,6 @@ export default {
207
207
 
208
208
  <style scoped lang="less">
209
209
  .product {
210
- cursor: pointer;
211
210
 
212
211
  &.one {
213
212
  display: flex;
@@ -92,7 +92,11 @@
92
92
  <template v-if="brand.isEmpty === undefined">
93
93
  <view
94
94
  class="brand_icon"
95
- :class="[brandIconClass]"
95
+ :class="{
96
+ 'brand_icon3': (layout === 'v1' && contentCell===3) || layout === 'v2',
97
+ 'brand_icon4': layout === 'v1' && contentCell===4,
98
+ 'brand_icon5': layout === 'v1' && contentCell===5 ,
99
+ }"
96
100
  :style="[brandItemIconStyle]
97
101
  ">
98
102
  <image v-if="brand.status===true" @error="brand.status = false" :src="brand.brand_icon" mode="aspectFill"></image>
@@ -296,12 +300,6 @@
296
300
  marginTop: this.bindSize + 'rpx'
297
301
  }
298
302
  },
299
- brandIconClass(){
300
- let cssName = {};
301
- if(this.layout === 'v1') cssName = {brand_icon3: this.contentCell === 3,brand_icon4: this.contentCell === 4,brand_icon5: this.contentCell === 5};
302
- if(this.layout === 'v2') cssName = {brand_icon5: true}
303
- return cssName
304
- },
305
303
  brandItemIconStyle(){
306
304
  return {
307
305
  width: this.getItemWH,
@@ -934,7 +934,7 @@
934
934
  flex: 1;
935
935
  justify-content: flex-end;
936
936
  .btn{
937
- margin: 0 10rpx;
937
+ margin: 0 10rpx!important;
938
938
  }
939
939
  }
940
940
  }
@@ -607,6 +607,13 @@
607
607
 
608
608
  //==过滤区域============
609
609
  let categoryLayout = gCPVal(container, "categoryLayout", "v1");
610
+ let categoryLayout1ShowType = gCPVal(container, "categoryLayout1ShowType", "all");
611
+ let showCategory = gCPVal(container, 'showCategory', "Y");
612
+ //数据兼容处理
613
+ if(categoryLayout && categoryLayout === 'v1') {
614
+ if(categoryLayout1ShowType === 'child') categoryLayout = 'v3'
615
+ }
616
+ if(showCategory === 'N') categoryLayout = 'none';
610
617
  let category = gCPVal(container, 'category',categoryLayout);
611
618
 
612
619
  //是否显示过滤菜单
@@ -618,7 +625,6 @@
618
625
  else this.isFilterMenuForFilterFields = [];
619
626
  //是否显示品牌菜单
620
627
  let showBrandFilter = gCPVal(container, "showBrandFilter", "in");
621
- let filterModeSort = ['common','price','host','brand','delivery_method','filter'];
622
628
  //菜单设置
623
629
  let filterMode = [];
624
630
  if(showQuery === 'Y') {
@@ -700,9 +706,32 @@
700
706
  this.allIcon = gCPVal(container, "allIcon", {});
701
707
  this.allIconSize = 128 - Number(gCPVal(container, "iconWdith", 128));
702
708
 
709
+ //兼容数据
710
+
711
+
712
+
713
+ // //兼容分类操作
714
+ // let category = 'v1';
715
+ // //老数据已设置
716
+ // if(data['categoryLayout']) {
717
+ // category = data['categoryLayout'];
718
+ // //设置v1项
719
+ // if(data['categoryLayout'] === 'v1') {
720
+ // if(data['categoryLayout1ShowType'] === 'child') {
721
+ // category = 'v3';
722
+ // }
723
+ // }
724
+ // }
725
+ // //分类已设置隐藏(设置隐藏项)
726
+ // if(data['showCategory'] === 'N') {
727
+ // category = 'none';
728
+ // }
729
+ // //新数据已设置值
730
+ // if(data['category'] !== undefined) {
731
+ // category = data['category'] ;
732
+ // }
733
+
703
734
  //分类 - 功能设置
704
- let showCategory = gCPVal(container, 'showCategory', "Y");
705
- let categoryLayout1ShowType = gCPVal(container, "categoryLayout1ShowType", "all");
706
735
  if(category) {
707
736
  if(category === 'none'){
708
737
  showCategory = 'N';
@@ -802,7 +831,8 @@
802
831
  const subTitleIconBorder = gCPVal(container, 'subTitleIconBorder', [{style:'solid', width: '2', color: this.mainColor},'0'], {isBorder:true});
803
832
  let navStyle = gCPVal(container, 'navStyle', 'line-6-8-s');
804
833
  if(navStyle.indexOf('line-') === 0) navStyle = 'line-6-8-s';
805
- const iconWdith = gCPVal(container, 'iconWdith', [100],{sKey:'iconWdithStatus', fields:['iconWdith']});
834
+ const iconWdith = gCPVal(container, 'iconWdith', [96],{sKey:'iconWdithStatus', fields:['iconWdith']});
835
+ const iconImageSp = gCPVal(container, 'iconImageSp', [16],{sKey:'iconImageSpStatus', fields:['iconImageSp']});
806
836
  const iconBgColor = gCPVal(container, 'iconBgColor', [100],{sKey:'iconBgColorStatus', fields:['iconBgColor']});
807
837
 
808
838
  this.tabStyle = {
@@ -816,6 +846,7 @@
816
846
  subTitleIconShadow,
817
847
  subTitleIconBorder,
818
848
  iconWdith,
849
+ iconImageSp,
819
850
  iconBgColor,
820
851
  titleBgColor,
821
852
  titleActBgColor,
@@ -5,6 +5,7 @@
5
5
  class="category_wraper"
6
6
  :style="[categoryWaperComp]"
7
7
  >
8
+ <!--文字导航菜单区域-->
8
9
  <view v-if="showParent && isShowCategory" >
9
10
  <view class="tab_wrap" :style="[{backgroundColor:titleBgcColor}]">
10
11
  <cus-tab
@@ -28,6 +29,8 @@
28
29
  ></cus-tab>
29
30
  </view>
30
31
  </view>
32
+ <!--文字导航菜单区域-->
33
+ <!--图片导航菜单区域-->
31
34
  <view
32
35
  v-if="imageIconList.length"
33
36
  class="sub_category_list-box"
@@ -44,6 +47,7 @@
44
47
  <view
45
48
  :id="'cate-scroll__index-'+i"
46
49
  @click="handleCateClick(sub, 1)"
50
+ :style="[{width: subTitleInIcon.width}]"
47
51
  >
48
52
  <view
49
53
  :style="[sub.category_id === (['child','parentNew'].includes(showType)? uiPid:uiCateId )?subActTitleIcon:subTitleIcon,subTitleInIcon]"
@@ -61,6 +65,7 @@
61
65
  </view>
62
66
  </scroll-view>
63
67
  </view>
68
+ <!--图片导航菜单区域-->
64
69
  <!--parentNew-->
65
70
  <view
66
71
  class="cate_child"
@@ -227,23 +232,30 @@ export default {
227
232
  }
228
233
  },
229
234
  computed: {
235
+ getImageHeightComp(){
236
+ let {iconWdith} = this.tabStyle
237
+ let iconOther = 76;
238
+
239
+ //图片最大高度为100
240
+ return iconOther + Number(iconWdith);
241
+ },
230
242
  categoryWarperMaskComp(){
231
243
  let height = 0;
232
244
  switch(this.showType){
233
245
  case 'all' :
234
246
  height += 88; //一级菜单
235
- if(this.imageIconList.length > 0) height = height + 176 //二级菜单
247
+ if(this.imageIconList.length > 0) height = height + this.getImageHeightComp //二级菜单
236
248
  //语句
237
249
  break;
238
250
  case 'parent' :
239
251
  height = 88;
240
252
  break;
241
253
  case 'parentNew' :
242
- height += 176; //一级菜单
254
+ height += this.getImageHeightComp; //一级菜单
243
255
  if(this.subCategory.length > 0) height = height + 92 //二级菜单
244
256
  break;
245
257
  case 'child' :
246
- height = 176
258
+ height = this.getImageHeightComp
247
259
  break;
248
260
  default:
249
261
  height = 88
@@ -482,19 +494,22 @@ export default {
482
494
  border-left-width: 0!important;
483
495
  border-right-width: 0!important;
484
496
  border-bottom-width: 0!important;
485
- height: 176rpx;
497
+ max-height: 176rpx;
486
498
 
487
499
  .sub_category_list {
488
500
  white-space: nowrap;
489
501
  height: 100%;
502
+ display: flex;
503
+ justify-content: flex-start;
504
+ align-content: center;
505
+ flex-flow: nowrap;
490
506
 
491
507
  .sub_cate {
492
508
  display: inline-block;
493
- margin: 16rpx 16rpx 16rpx 0;
509
+ margin: 16rpx var(--sub-icon-right-sp) 16rpx 0;
510
+ padding: 0 16rpx;
494
511
  text-align: center;
495
- width: 128rpx;
496
- height: 144rpx;
497
- flex-shrink: 0;
512
+
498
513
  &:last-child {
499
514
  margin-right: 32rpx;
500
515
  }
@@ -502,20 +517,8 @@ export default {
502
517
  margin-left: 32rpx;
503
518
  }
504
519
 
505
- &.icon > view {
506
- display: flex;
507
- justify-content: center;
508
- align-content: space-between;
509
- height: 100%;
510
- width: 100%;
511
- flex-flow: wrap;
512
-
513
- }
514
520
 
515
521
  .sub_icon {
516
- width: 96rpx;
517
- height: 96rpx;
518
- margin: 0 auto;
519
522
  overflow: hidden;
520
523
  box-sizing: border-box;
521
524
  display: flex;
@@ -532,11 +535,15 @@ export default {
532
535
  }
533
536
 
534
537
  .sub_name {
538
+ width: 100%;
535
539
  font-size: 24rpx;
536
540
  color: #333333;
537
541
  margin-top: 8rpx;
538
- .uni-one-cut(36);
542
+ overflow: hidden;
543
+ white-space: wrap;
544
+ word-break: break-all;
539
545
  line-height: 36rpx;
546
+ height: 36rpx;
540
547
  }
541
548
  }
542
549
  }
@@ -56,6 +56,7 @@ export default {
56
56
  return {
57
57
  '--sub-icon-border' : (parseInt(this.tabStyle['subTitleIconBorder'].split(' ')[0]) * this.$rpxNum) + 'px',
58
58
  '--sub-icon-w-radius': this.tabStyle['subTitleRadius'],
59
+ '--sub-icon-right-sp': (this.tabStyle['iconImageSp'] || 16) * this.$rpxNum + 'px',
59
60
  backgroundColor: this.titleBgcColor,
60
61
  }
61
62
  },
@@ -390,7 +390,7 @@ export default (data, gValue,gColor,oldData)=>{
390
390
  groupKey:'content',
391
391
  ele: "xd-style-image",
392
392
  valueKey: "categoryLayout",
393
- value: data['categoryLayout'] || 'v1',
393
+ value: data['categoryLayout'] || '',
394
394
  hidden: true,
395
395
  handleCustom({action, data}) {
396
396
  data.cb([
@@ -159,13 +159,44 @@ export default (data, gValue, gColor, oldData)=>{
159
159
  groupKey: 'style',
160
160
  ele: 'xd-slider',
161
161
  valueKey: "iconWdith",
162
- value: dataVal({data, key:'iconWdith', dValue:100, gValue}),
162
+ value: dataVal({data, key:'iconWdith', dValue:96, gValue}),
163
163
  hidden: !statusShow({data, key: 'iconWdithStatus', fields:['iconWdith'], gValue}),
164
164
  className: "input80",
165
165
  labelInline: true,
166
166
  setting:{
167
167
  min: 50,//最小值
168
- max: 100, //最小值
168
+ max: 96, //最小值
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: 'iconImageSpStatus',
180
+ value: statusDataVal({data, key:'iconImageSpStatus', fields:['iconImageSp'],gValue}),
181
+ labelInline:true,
182
+ list: [
183
+ {label: '默认', value: 'D'},
184
+ {label: '自定义', value: 'C'},
185
+ ]
186
+ },
187
+ {ele: 'group_start'},
188
+ {
189
+ label: "",
190
+ groupKey: 'style',
191
+ ele: 'xd-slider',
192
+ valueKey: "iconImageSp",
193
+ value: dataVal({data, key:'iconImageSp', dValue:16, gValue}),
194
+ hidden: !statusShow({data, key: 'iconImageSpStatus', fields:['iconImageSp'], gValue}),
195
+ className: "input80",
196
+ labelInline: true,
197
+ setting:{
198
+ min: 1,//最小值
199
+ max: 64, //最小值
169
200
  step:1, //步长
170
201
  showStops:false,//显示间断点
171
202
  showInput:false,//显示输入框