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 +1 -1
- package/src/components/CusProduct/CusProduct.vue +0 -1
- package/src/components/JfbMallBrandWall/JfbMallBrandWall.vue +5 -7
- package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +1 -1
- package/src/components/JfbMallProductList/JfbMallProductList.vue +35 -4
- package/src/components/JfbMallProductList/XdCateV1.vue +28 -21
- package/src/components/JfbMallProductList/cateMixins.js +1 -0
- package/src/components/JfbMallProductList/cusAttr/content.js +1 -1
- package/src/components/JfbMallProductList/cusAttr/icon.js +33 -2
package/package.json
CHANGED
|
@@ -92,7 +92,11 @@
|
|
|
92
92
|
<template v-if="brand.isEmpty === undefined">
|
|
93
93
|
<view
|
|
94
94
|
class="brand_icon"
|
|
95
|
-
:class="
|
|
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,
|
|
@@ -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', [
|
|
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 +
|
|
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 +=
|
|
254
|
+
height += this.getImageHeightComp; //一级菜单
|
|
243
255
|
if(this.subCategory.length > 0) height = height + 92 //二级菜单
|
|
244
256
|
break;
|
|
245
257
|
case 'child' :
|
|
246
|
-
height =
|
|
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
|
|
509
|
+
margin: 16rpx var(--sub-icon-right-sp) 16rpx 0;
|
|
510
|
+
padding: 0 16rpx;
|
|
494
511
|
text-align: center;
|
|
495
|
-
|
|
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
|
-
|
|
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'] || '
|
|
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:
|
|
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:
|
|
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,//显示输入框
|