jufubao-mall 2.0.16-beta53 → 2.0.16-beta55
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/JfbMallResourceShopList/JfbMallResourceShopList.vue +158 -94
- package/src/components/JfbMallResourceShopList/XdQueryFilter.vue +18 -3
- package/src/components/JfbMallResourceShopList/cusAttr/advanced.js +5 -5
- package/src/components/JfbMallResourceShopList/cusAttr/content.js +31 -4
- package/src/components/JfbMallResourceShopList/cusAttr/style.js +1 -1
package/package.json
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<view
|
|
3
3
|
class="jfb-mall-resource-shop-list"
|
|
4
4
|
@click="handleEditxSelect"
|
|
5
|
+
:style="[bodyStyle]"
|
|
5
6
|
:class="{ editx : isEditx && active }"
|
|
6
7
|
>
|
|
7
8
|
<!--#ifdef H5-->
|
|
@@ -39,7 +40,6 @@
|
|
|
39
40
|
>{{ city.name }}</view>
|
|
40
41
|
</view>
|
|
41
42
|
</view>
|
|
42
|
-
|
|
43
43
|
<view v-if="styleLayout==3 && brandList.length" class="brand_wrap">
|
|
44
44
|
<swiper :style="{height: swiperHeight + 'rpx'}" style="background-color: #FFFFFF;" :indicator-dots="swiperShowDot"
|
|
45
45
|
:indicator-active-color="mainColor"
|
|
@@ -60,25 +60,8 @@
|
|
|
60
60
|
</swiper-item>
|
|
61
61
|
</swiper>
|
|
62
62
|
</view>
|
|
63
|
-
<view class="query_filter" :style="[queryFilterStyle]">
|
|
63
|
+
<view class="query_filter" :style="[queryFilterStyle]" v-if="showQuery === 'Y'">
|
|
64
64
|
<view v-if="filterItemsComp.length===1">店铺列表</view>
|
|
65
|
-
<!-- <template>
|
|
66
|
-
<view class="query_filter_r" @click="switchQueryModal('city')" v-if="filterModeData.includes('city_code')">
|
|
67
|
-
区域 <xd-font-icon icon="iconxia_down" :size="24" style="margin-left: 4rpx;"></xd-font-icon>
|
|
68
|
-
</view>
|
|
69
|
-
<view class="query_filter_r" @click="switchQueryModal('brand')" v-if="filterModeData.includes('brand_id')">
|
|
70
|
-
品牌 <xd-font-icon icon="iconxia_down" :size="24" style="margin-left: 4rpx;"></xd-font-icon>
|
|
71
|
-
</view>
|
|
72
|
-
<view class="query_filter_r" @click="switchQueryModal('business')" v-if="filterModeData.includes('namespace')">
|
|
73
|
-
业务线 <xd-font-icon icon="iconxia_down" :size="24" style="margin-left: 4rpx;"></xd-font-icon>
|
|
74
|
-
</view>
|
|
75
|
-
<view class="query_filter_r" @click="switchQueryModal('consume_mode')" v-if="filterModeData.includes('consume_mode')">
|
|
76
|
-
门店分类 <xd-font-icon icon="iconxia_down" :size="24" style="margin-left: 4rpx;"></xd-font-icon>
|
|
77
|
-
</view>
|
|
78
|
-
</template>
|
|
79
|
-
<view class="query_filter_r" @click="switchQueryModal('filter')" v-if="filterModeData.includes('filter')">
|
|
80
|
-
筛选 <xd-font-icon icon="icontijianshaixuan" :size="24"></xd-font-icon>
|
|
81
|
-
</view> -->
|
|
82
65
|
<view
|
|
83
66
|
class="query_filter_r"
|
|
84
67
|
v-for="item in filterItemsComp" :key="item.value"
|
|
@@ -99,12 +82,13 @@
|
|
|
99
82
|
:filter-type="curQueryTab"
|
|
100
83
|
:collapse-num="6"
|
|
101
84
|
:padding="bodyPadding"
|
|
85
|
+
:height="filterHeight.height"
|
|
102
86
|
:filter-selected="searchFilterParams"
|
|
103
87
|
@onConfirm="handleQueryFilter"></xd-query-filter>
|
|
104
88
|
</view>
|
|
105
89
|
</view>
|
|
106
90
|
<view class="query_filter_copy" :style="[queryCopyStyle]"></view>
|
|
107
|
-
<view v-show="showQueryModal" class="modal" @click="closeQueryModal" @touchmove.stop.prevent="moveHandle"></view>
|
|
91
|
+
<view v-show="showQueryModal" class="modal" @click="closeQueryModal" @touchmove.stop.prevent="moveHandle" :style="[modelStyle]"></view>
|
|
108
92
|
<view v-if="initAttr" :style="[shopListStyle]">
|
|
109
93
|
<cus-shops
|
|
110
94
|
:layout="layout"
|
|
@@ -120,50 +104,14 @@
|
|
|
120
104
|
@on-event="handleToClick"
|
|
121
105
|
></cus-shops>
|
|
122
106
|
</view>
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
<view class="shop_image">
|
|
130
|
-
<image v-if="item.errorStatus" :src="errorImage" :alt="item['resource_shop_name']" ></image>
|
|
131
|
-
<image v-else :src="item.shop_icon" mode="aspectFit" @error="handleError(item)"></image>
|
|
132
|
-
</view>
|
|
133
|
-
<view class="shop_info">
|
|
134
|
-
<view class="shop_name">
|
|
135
|
-
<view class="_name">{{item.resource_shop_name}}</view>
|
|
136
|
-
<view v-if="item.distance" class="distance">{{item.distance}}</view>
|
|
137
|
-
</view>
|
|
138
|
-
<view class="shop_address">{{ item.address }}</view>
|
|
139
|
-
<view class="shop_foot">
|
|
140
|
-
<view class="l_tags">
|
|
141
|
-
<template v-if="showQuickEntry!=='Y'">
|
|
142
|
-
<view v-if="item.consume_mode.includes('SELL')" class="shop_tag">支持核销</view>
|
|
143
|
-
<view v-if="item.consume_mode.includes('SEAT')" class="shop_tag">在线选座</view>
|
|
144
|
-
</template>
|
|
145
|
-
</view>
|
|
146
|
-
<view v-if="showQuickEntry==='Y'" class="r_btns">
|
|
147
|
-
<template v-if="item.consume_mode.includes('SELL')">
|
|
148
|
-
<view v-if="item.default_consume_type === 'WB'" class="change_btn"
|
|
149
|
-
@click.stop="handleToScan(item)">{{ scanName }}</view>
|
|
150
|
-
<view v-else-if="item.default_consume_type === 'QP'" class="change_btn"
|
|
151
|
-
@click.stop="handleToEasyPay(item)">{{ takeGoodsName }}</view>
|
|
152
|
-
<view v-else-if="item.default_consume_type === 'JHD'" class="change_btn"
|
|
153
|
-
@click.stop="handleToExchange(item)"
|
|
154
|
-
>{{ jhdName }}</view>
|
|
155
|
-
</template>
|
|
156
|
-
<template v-if="item.consume_mode.includes('SEAT')">
|
|
157
|
-
<view class="change_btn" @click.stop="toSchedulePath(item)">{{ buyTicketName }}</view>
|
|
158
|
-
</template>
|
|
159
|
-
</view>
|
|
160
|
-
</view>
|
|
161
|
-
</view>
|
|
162
|
-
</view>
|
|
163
|
-
</view>
|
|
164
|
-
<view v-else>
|
|
107
|
+
<xd-more
|
|
108
|
+
v-if="($configProject['isPreview'] || !hasNextPage) && (shopList && shopList.length > 0)"
|
|
109
|
+
:color="footerColor"
|
|
110
|
+
:background="footerColor"
|
|
111
|
+
><text>我是有底线的</text></xd-more>
|
|
112
|
+
<!-- <view v-else>
|
|
165
113
|
<xd-no-data></xd-no-data>
|
|
166
|
-
</view>
|
|
114
|
+
</view> -->
|
|
167
115
|
<!-- CV:店员核销(小蜜蜂);WB:用户扫水牌;CR:收银机;POS:POS机;JHD:聚好兑;QP:快捷支付 -->
|
|
168
116
|
</view>
|
|
169
117
|
</view>
|
|
@@ -181,6 +129,7 @@
|
|
|
181
129
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
182
130
|
import XdNoData from "@/components/XdNoData/XdNoData.vue"
|
|
183
131
|
import CusShops from "@/components/CusShops/CusShops.vue"
|
|
132
|
+
import XdMore from "@/components/XdMore/XdMore.vue";
|
|
184
133
|
let $vm = null;
|
|
185
134
|
export default {
|
|
186
135
|
// #ifdef MP-WEIXIN
|
|
@@ -192,6 +141,7 @@
|
|
|
192
141
|
XdQueryFilter,
|
|
193
142
|
XdNoData,
|
|
194
143
|
CusShops,
|
|
144
|
+
XdMore,
|
|
195
145
|
},
|
|
196
146
|
mixins: [
|
|
197
147
|
componentsMixins, extsMixins, JfbMallResourceShopListMixin
|
|
@@ -223,7 +173,7 @@
|
|
|
223
173
|
consume_mode: '',
|
|
224
174
|
|
|
225
175
|
next_page_token: "",
|
|
226
|
-
|
|
176
|
+
hasNextPage: true,
|
|
227
177
|
shopList: [],
|
|
228
178
|
|
|
229
179
|
errorImage:'https://img0.jufubao.cn/common/empty/shop.png?v1=1',
|
|
@@ -239,7 +189,7 @@
|
|
|
239
189
|
buyTicketName: "",
|
|
240
190
|
|
|
241
191
|
bodyBgColor: "",
|
|
242
|
-
defBodyBgColor:"
|
|
192
|
+
defBodyBgColor:"#f8f8f8",
|
|
243
193
|
bodyPadding: {},
|
|
244
194
|
listPadding: {bottom:20,left:20,right:20,top:20},
|
|
245
195
|
cardItemBgColor: "",
|
|
@@ -291,6 +241,10 @@
|
|
|
291
241
|
queryGreater:'N',
|
|
292
242
|
isMore:'N',
|
|
293
243
|
loading: false, //是否正在加载
|
|
244
|
+
modelTop:0,
|
|
245
|
+
popId:null,
|
|
246
|
+
footerColor:'#ddd',
|
|
247
|
+
searchFilterList:[],
|
|
294
248
|
}
|
|
295
249
|
},
|
|
296
250
|
filters:{
|
|
@@ -369,8 +323,26 @@
|
|
|
369
323
|
tabs.push({value: 'filter', label: '筛选', icon: 'iconshaixuanbiaoji_mian',size: 24});
|
|
370
324
|
}
|
|
371
325
|
return tabs
|
|
372
|
-
}
|
|
373
|
-
|
|
326
|
+
},
|
|
327
|
+
bodyStyle(){
|
|
328
|
+
return {
|
|
329
|
+
overflow:this.showQueryModal?'hidden':'auto',
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
modelStyle(){
|
|
333
|
+
return {
|
|
334
|
+
top:this.modelTop-this.scrollTop+'px',
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
filterHeight(){
|
|
338
|
+
console.log(this.listPadding.top,'pppp')
|
|
339
|
+
let height = this.modelTop-this.scrollTop-this.listPadding.top*this.$rpxNum;
|
|
340
|
+
// let height = 0
|
|
341
|
+
console.log(this.modelTop,this.scrollTop,height,'hhhh')
|
|
342
|
+
return{
|
|
343
|
+
height
|
|
344
|
+
}
|
|
345
|
+
},
|
|
374
346
|
},
|
|
375
347
|
watch: {
|
|
376
348
|
container(value, oldValue) {
|
|
@@ -445,9 +417,36 @@
|
|
|
445
417
|
}
|
|
446
418
|
}
|
|
447
419
|
}
|
|
448
|
-
}
|
|
420
|
+
},
|
|
421
|
+
showQueryModal:{
|
|
422
|
+
handler(n,o){
|
|
423
|
+
if(n){
|
|
424
|
+
this.setHasPopStatus({popId: this.popId, action: 'add'});
|
|
425
|
+
}else{
|
|
426
|
+
this.setHasPopStatus({popId: this.popId, action: 'del'});
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
immediate:true,
|
|
430
|
+
deep:true,
|
|
431
|
+
},
|
|
432
|
+
// showAllBusinessLine:{
|
|
433
|
+
// handler(n,o){
|
|
434
|
+
// console.log(n,o,this.namespace,'lllll111')
|
|
435
|
+
// if(n == 'Y'){
|
|
436
|
+
// this.namespaceList = [{label: "全部", value: "all"}].concat(this.namespaceList);
|
|
437
|
+
// }else{
|
|
438
|
+
// this.namespaceList = this.namespaceList.filter(item => item.value!=='all');
|
|
439
|
+
// }
|
|
440
|
+
// if(this.namespaceList.length){
|
|
441
|
+
// this.namespace = this.xnamespace||this.namespaceList[0].value;
|
|
442
|
+
// }
|
|
443
|
+
// },
|
|
444
|
+
// immediate:true,
|
|
445
|
+
// deep:true,
|
|
446
|
+
// },
|
|
449
447
|
},
|
|
450
448
|
created() {
|
|
449
|
+
this.popId = this.$xdUniHelper.randomChar(20);
|
|
451
450
|
this.init(this.container);
|
|
452
451
|
$vm= this;
|
|
453
452
|
//todo
|
|
@@ -458,9 +457,9 @@
|
|
|
458
457
|
|
|
459
458
|
},
|
|
460
459
|
methods: {
|
|
461
|
-
...mapActions(['getCustomList']),
|
|
460
|
+
...mapActions(['getCustomList','setHasPopStatus']),
|
|
462
461
|
watchScroll(scrollTop){
|
|
463
|
-
console.log(this.layoutInfo,'this.layoutInfo')
|
|
462
|
+
console.log(this.layoutInfo,scrollTop,'this.layoutInfo')
|
|
464
463
|
this.scrollTop = scrollTop;
|
|
465
464
|
this.$nextTick(() => {
|
|
466
465
|
// console.log(Math.floor(scrollTop / this.$rpxNum),Math.floor(this.num-this.menuWrapNum),this.num,this.menuWrapNum,'asaaaaaaa')
|
|
@@ -491,6 +490,10 @@
|
|
|
491
490
|
console.log('options', options)
|
|
492
491
|
//设置业务请求代码
|
|
493
492
|
this.setNameSpace(options);
|
|
493
|
+
console.log(this.xnamespace,'options','mmmmmm')
|
|
494
|
+
// if(this.xnamespace){
|
|
495
|
+
// this.namespace = this.xnamespace;
|
|
496
|
+
// }
|
|
494
497
|
//地址参数传入过滤条件选中
|
|
495
498
|
if(options['brand_ids']){
|
|
496
499
|
this.$set(this.searchFilterParams, 'brand', options['brand_ids'].split(','));
|
|
@@ -524,6 +527,8 @@
|
|
|
524
527
|
//门店布局
|
|
525
528
|
this.layout = gCPVal(container, 'layout', 'v2');
|
|
526
529
|
this.showBusinessLine = gCPVal(container, 'showBusinessLine', '');
|
|
530
|
+
this.dimension = gCPVal(container, 'dimension', 'business');
|
|
531
|
+
console.log(this.dimension+'b',this.showBusinessLine+'s','this.dimension')
|
|
527
532
|
// this.showAllBusinessLine = getContainerPropsValue(container, 'content.showAllBusinessLine', "");
|
|
528
533
|
this.showAllBusinessLine = gCPVal(container, 'showAllBusinessLine', '');
|
|
529
534
|
// this.showQuickEntry = getContainerPropsValue(container, 'content.showQuickEntry', "Y");
|
|
@@ -553,7 +558,7 @@
|
|
|
553
558
|
// this.cardItemBgColor = getContainerPropsValue(container, 'content.cardItemBgColor', "");
|
|
554
559
|
this.distanceColor = gCPVal(container,'distanceColor', '#999999', {sKey:'distanceColorStatus',fields:['distanceColor']});
|
|
555
560
|
//item背景色
|
|
556
|
-
this.cardItemBgColor = gCPVal(container,'cardItemBgColor', '', {sKey:'cardItemBgColorStatus',fields:['cardItemBgColor']});
|
|
561
|
+
this.cardItemBgColor = gCPVal(container,'cardItemBgColor', '#f8f8f8', {sKey:'cardItemBgColorStatus',fields:['cardItemBgColor']});
|
|
557
562
|
//投影
|
|
558
563
|
// this.cardItemShadow = this.getXdShadow({width:20, color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.cardItemShadow', {}))
|
|
559
564
|
this.cardItemShadow = gCPVal(container, 'cardItemShadow', [this.gStyleValue.shadow, {color:'',width:'0',}],{isShadow: true});
|
|
@@ -568,7 +573,7 @@
|
|
|
568
573
|
this.takeGoodsPath = gCPVal(container, 'takeGoodsPath', {value: ""}).value;
|
|
569
574
|
this.buyTicketPath = gCPVal(container, 'buyTicketPath', {value: ""}).value;
|
|
570
575
|
this.codePath = gCPVal(container, 'codePath', {value: ""}).value;
|
|
571
|
-
|
|
576
|
+
|
|
572
577
|
this.isAutoJump = gCPVal(container, 'isAutoJump', []);
|
|
573
578
|
|
|
574
579
|
//图片 描边
|
|
@@ -605,7 +610,8 @@
|
|
|
605
610
|
let showQuery = gCPVal(container,'showQuery', 'Y');
|
|
606
611
|
if(showQuery === 'Y') this.filterMode = gCPVal(container, 'filterMode', ['filter'])
|
|
607
612
|
else this.filterMode = [];
|
|
608
|
-
|
|
613
|
+
this.showQuery = showQuery;
|
|
614
|
+
console.log(this.filterMode,'filterMode')
|
|
609
615
|
// let styleOptions = await this.getCustomList({layout_ids:'lbiqpGJWACZc86KmuiXhw',action: true,value:sValue});
|
|
610
616
|
// console.log(styleOptions,'styleOptions')
|
|
611
617
|
//门店样式
|
|
@@ -667,10 +673,38 @@
|
|
|
667
673
|
'color': this.distanceColor,
|
|
668
674
|
}
|
|
669
675
|
}
|
|
676
|
+
console.log(this.$configProject['isPreview'],'cscscsc')
|
|
670
677
|
if(this.$configProject['isPreview']){
|
|
671
678
|
this.p_getSearchFilter();
|
|
672
679
|
}
|
|
673
680
|
this.initAttr = true;
|
|
681
|
+
//过滤筛选条件
|
|
682
|
+
// debugger
|
|
683
|
+
this.filterSearchMap();
|
|
684
|
+
},
|
|
685
|
+
filterSearchMap(){
|
|
686
|
+
if(this.styleLayout==2){
|
|
687
|
+
this.searchFilterList = this.searchFilterList.filter(item=>{
|
|
688
|
+
return item.value!=='area'
|
|
689
|
+
})
|
|
690
|
+
}
|
|
691
|
+
if(this.styleLayout==3){
|
|
692
|
+
this.searchFilterList = this.searchFilterList.filter(item=>{
|
|
693
|
+
return item.value!=='brand'
|
|
694
|
+
})
|
|
695
|
+
}
|
|
696
|
+
if(this.showBusinessLine==='Y'){
|
|
697
|
+
if(this.dimension==='business'){
|
|
698
|
+
this.searchFilterList = this.searchFilterList.filter(item=>{
|
|
699
|
+
return item.value!=='business_line'
|
|
700
|
+
})
|
|
701
|
+
}else if(this.dimension==='store'){
|
|
702
|
+
this.searchFilterList = this.searchFilterList.filter(item=>{
|
|
703
|
+
return item.value!=='shop_category'
|
|
704
|
+
})
|
|
705
|
+
}
|
|
706
|
+
console.log(this.searchFilterList,'searchFilterList')
|
|
707
|
+
}
|
|
674
708
|
},
|
|
675
709
|
switchQueryModal(curQueryTab){
|
|
676
710
|
console.log(curQueryTab,'curQueryTab')
|
|
@@ -738,7 +772,8 @@
|
|
|
738
772
|
},
|
|
739
773
|
getList(){
|
|
740
774
|
let data = this.getParams();
|
|
741
|
-
console.log(data,'dddddd')
|
|
775
|
+
console.log(data,this.namespace,'dddddd')
|
|
776
|
+
// debugger
|
|
742
777
|
data = {
|
|
743
778
|
...data,
|
|
744
779
|
page_token: this.page_token,
|
|
@@ -747,6 +782,7 @@
|
|
|
747
782
|
consume_mode: this.consume_mode,
|
|
748
783
|
keyword: this.keyword
|
|
749
784
|
}
|
|
785
|
+
|
|
750
786
|
if(this.dimension==='business'){
|
|
751
787
|
data.namespace = this.namespace
|
|
752
788
|
} else {
|
|
@@ -766,6 +802,7 @@
|
|
|
766
802
|
item.shop_icon = getServiceUrl(item.shop_icon, 'size2');
|
|
767
803
|
return item;
|
|
768
804
|
});
|
|
805
|
+
this.filterSearchMap();
|
|
769
806
|
console.log(list,'list')
|
|
770
807
|
// debugger
|
|
771
808
|
if(this.page_token == '1'){
|
|
@@ -774,7 +811,8 @@
|
|
|
774
811
|
this.shopList = this.shopList.concat(res.list);
|
|
775
812
|
}
|
|
776
813
|
this.next_page_token = res.next_page_token;
|
|
777
|
-
this.
|
|
814
|
+
this.hasNextPage = res.next_page_token !== "";
|
|
815
|
+
|
|
778
816
|
// if(this.page_token == 1){
|
|
779
817
|
// uni.pageScrollTo({
|
|
780
818
|
// scrollTop: 0,
|
|
@@ -790,7 +828,7 @@
|
|
|
790
828
|
let params = {
|
|
791
829
|
page_size: this.page_size,
|
|
792
830
|
page_token: this.page_token,
|
|
793
|
-
namespace: this.xnamespace,
|
|
831
|
+
// namespace: this.xnamespace,
|
|
794
832
|
...this.options,
|
|
795
833
|
}
|
|
796
834
|
|
|
@@ -836,16 +874,12 @@
|
|
|
836
874
|
})
|
|
837
875
|
},
|
|
838
876
|
p_getSearchFilter(){
|
|
839
|
-
//未开启过滤条件
|
|
840
|
-
if(this.showQuery === 'N') {
|
|
841
|
-
this.searchFilterList = [];
|
|
842
|
-
return
|
|
843
|
-
}
|
|
844
877
|
return new Promise((resolve, reject) => {
|
|
845
878
|
let data = this.getParams();
|
|
846
879
|
data = {
|
|
847
880
|
...data,
|
|
848
881
|
}
|
|
882
|
+
// debugger
|
|
849
883
|
if(this.dimension==='business'){
|
|
850
884
|
data.namespace = this.namespace
|
|
851
885
|
} else {
|
|
@@ -857,23 +891,37 @@
|
|
|
857
891
|
data: this.$xdUniHelper.deleteParamEmptyKey(data)
|
|
858
892
|
}).then(res => {
|
|
859
893
|
console.log(res,'res11111')
|
|
860
|
-
|
|
861
|
-
|
|
894
|
+
//未开启过滤条件
|
|
895
|
+
if(this.showQuery === 'N') {
|
|
896
|
+
this.searchFilterList = [];
|
|
897
|
+
}else{
|
|
898
|
+
this.searchFilterList = res.items || [];
|
|
899
|
+
console.log( this.searchFilterList,' this.searchFilterList')
|
|
900
|
+
}
|
|
862
901
|
this.brandList = res.brands.map(item => {
|
|
863
902
|
item.icon = getServiceUrl(item.icon, 'size2');
|
|
864
903
|
return item;
|
|
865
904
|
});
|
|
866
|
-
if(this.showBusinessLine == 'Y'
|
|
867
|
-
if(this.
|
|
868
|
-
this.
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
905
|
+
if(this.showBusinessLine == 'Y'){
|
|
906
|
+
if(this.namespaceList.length == 0){
|
|
907
|
+
if(this.dimension==='business'){
|
|
908
|
+
this.namespaceList = res.namespaces;
|
|
909
|
+
} else if(this.dimension==='store'){
|
|
910
|
+
//当导航维度是按门店分类时,用categories代替业务线
|
|
911
|
+
this.namespaceList = res.categories;
|
|
912
|
+
}
|
|
913
|
+
if(this.showAllBusinessLine == 'Y'){
|
|
914
|
+
this.namespaceList = [{label: "全部", value: "all"}].concat(this.namespaceList);
|
|
915
|
+
}
|
|
916
|
+
this.namespace = this.namespaceList[0].value;
|
|
872
917
|
}
|
|
873
918
|
if(this.showAllBusinessLine == 'Y'){
|
|
874
|
-
|
|
919
|
+
let hasAll = this.namespaceList.some(item=>item.value==='all');
|
|
920
|
+
if(!hasAll){
|
|
921
|
+
this.namespaceList = [{label: "全部", value: "all"}].concat(this.namespaceList);
|
|
922
|
+
}
|
|
875
923
|
}else{
|
|
876
|
-
this.
|
|
924
|
+
this.namespaceList = this.namespaceList.filter(item => item.value!=='all');
|
|
877
925
|
}
|
|
878
926
|
}
|
|
879
927
|
// setTimeout(()=>{
|
|
@@ -881,27 +929,35 @@
|
|
|
881
929
|
this.$xdUniHelper.getWindowHeight(['.menu_wrap','.business_wrap','addr_wrap','.brand_wrap','.query_filter'], this)
|
|
882
930
|
.then(res => {
|
|
883
931
|
console.log(res,'res')
|
|
884
|
-
let num = 0;let menuWrapNum;
|
|
932
|
+
let num = 0;let menuWrapNum;let modelTop=0;
|
|
885
933
|
if(res['.business_wrap']&&res['.business_wrap']['height']){
|
|
886
934
|
num+=res['.business_wrap']['height']/this.$rpxNum;
|
|
887
935
|
}
|
|
888
936
|
if(res['.addr_wrap']&&res['.addr_wrap']['height']){
|
|
889
937
|
num+=res['.addr_wrap']['height']/this.$rpxNum;
|
|
938
|
+
modelTop+=res['.addr_wrap']['height'];
|
|
890
939
|
}
|
|
891
940
|
if(res['.brand_wrap']&&res['.brand_wrap']['height']){
|
|
892
941
|
num+=res['.brand_wrap']['height']/this.$rpxNum;
|
|
942
|
+
modelTop+=res['.brand_wrap']['height'];
|
|
893
943
|
}
|
|
894
944
|
// num = num+this.bodyPadding.top;
|
|
895
|
-
console.log(this.bodyPadding.top/this.$rpxNum,'bodyBoxStyle.paddingTop1')
|
|
945
|
+
console.log(this.bodyPadding.top*this.$rpxNum,this.layoutInfo.top/this.$rpxNum,this.layoutInfo.top*this.$rpxNum,'bodyBoxStyle.paddingTop1')
|
|
896
946
|
if(res['.menu_wrap']&&res['.menu_wrap']['height']){
|
|
897
947
|
menuWrapNum = res['.menu_wrap']['height']/this.$rpxNum;
|
|
948
|
+
modelTop += res['.menu_wrap']['height'];
|
|
898
949
|
}
|
|
899
950
|
this.num = num;
|
|
900
951
|
console.log(this.num,num,'num')
|
|
901
952
|
this.menuWrapNum = menuWrapNum;
|
|
902
953
|
if(res['.query_filter']&&res['.query_filter']['height']){
|
|
903
954
|
this.queryFilterHight = res['.query_filter']['height']/this.$rpxNum;
|
|
955
|
+
modelTop += res['.query_filter']['height'];
|
|
904
956
|
}
|
|
957
|
+
modelTop += this.bodyPadding.top*this.$rpxNum;
|
|
958
|
+
modelTop +=this.layoutInfo.top*this.$rpxNum;
|
|
959
|
+
this.modelTop = modelTop;
|
|
960
|
+
console.log(this.modelTop,'modelTop')
|
|
905
961
|
})
|
|
906
962
|
})
|
|
907
963
|
// },50)
|
|
@@ -1166,6 +1222,8 @@
|
|
|
1166
1222
|
//==evnet===
|
|
1167
1223
|
handleQueryFilter({items, ids, labels}){
|
|
1168
1224
|
this.page_token = '1';
|
|
1225
|
+
// this.brand_id = '';
|
|
1226
|
+
// this.area_code = "";
|
|
1169
1227
|
console.log(items, ids, labels,'handleQueryFilter')
|
|
1170
1228
|
Object.keys(items).map(key=>{
|
|
1171
1229
|
this.$set(this.searchFilterParams,key,ids[key])
|
|
@@ -1196,7 +1254,7 @@
|
|
|
1196
1254
|
border-bottom: 1px solid #EEEEEE;
|
|
1197
1255
|
width: 100%;
|
|
1198
1256
|
left: 0;
|
|
1199
|
-
z-index:
|
|
1257
|
+
z-index: 999;
|
|
1200
1258
|
position: fixed;
|
|
1201
1259
|
width: 100%;
|
|
1202
1260
|
|
|
@@ -1231,6 +1289,8 @@
|
|
|
1231
1289
|
}
|
|
1232
1290
|
.addr_wrap{
|
|
1233
1291
|
background-color: #FFFFFF;
|
|
1292
|
+
// position: relative;
|
|
1293
|
+
// z-index: 997;
|
|
1234
1294
|
}
|
|
1235
1295
|
.addr_list{
|
|
1236
1296
|
display: flex;
|
|
@@ -1438,4 +1498,8 @@
|
|
|
1438
1498
|
.query_wrap_selected{
|
|
1439
1499
|
font-weight: 500;
|
|
1440
1500
|
}
|
|
1501
|
+
.brand_wrap{
|
|
1502
|
+
// position: relative;
|
|
1503
|
+
// z-index: 997;
|
|
1504
|
+
}
|
|
1441
1505
|
</style>
|
|
@@ -81,6 +81,10 @@ export default {
|
|
|
81
81
|
return {}
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
+
height:{
|
|
85
|
+
type:Number,
|
|
86
|
+
default: 0
|
|
87
|
+
}
|
|
84
88
|
},
|
|
85
89
|
computed:{
|
|
86
90
|
itemStyleComp(){
|
|
@@ -99,11 +103,13 @@ export default {
|
|
|
99
103
|
};
|
|
100
104
|
},
|
|
101
105
|
boxListComp(){
|
|
102
|
-
|
|
106
|
+
// console.log(this.height/this.$rpxNum,this.height,this.$root.layoutInfo['bodyMinHeightRpx'],'rrrrr')
|
|
107
|
+
let maxHeight = this.$root.layoutInfo['bodyMinHeightRpx'] - this.height/this.$rpxNum + 'rpx';
|
|
108
|
+
console.log(maxHeight,'maxHeight')
|
|
103
109
|
if(this.$configProject.isPreview) maxHeight = 800;
|
|
104
110
|
return {
|
|
105
111
|
backgroundColor: this.filterStyle['filterListColor'] || '#f8f8f8',
|
|
106
|
-
maxHeight: maxHeight
|
|
112
|
+
maxHeight: maxHeight,
|
|
107
113
|
borderTop: this.filterStyle.filterTopBorder|| '2rpx solid #f8f8f8'
|
|
108
114
|
}
|
|
109
115
|
},
|
|
@@ -140,6 +146,7 @@ export default {
|
|
|
140
146
|
selectedLabels:{},
|
|
141
147
|
selectedIds:{},
|
|
142
148
|
filterTabs: [],
|
|
149
|
+
btnHeight:0,
|
|
143
150
|
}
|
|
144
151
|
},
|
|
145
152
|
watch: {
|
|
@@ -152,6 +159,14 @@ export default {
|
|
|
152
159
|
},
|
|
153
160
|
created(){
|
|
154
161
|
console.log(this.padding, this.list,'sssssaaaaa')
|
|
162
|
+
this.$nextTick(()=>{
|
|
163
|
+
this.$xdUniHelper.getWindowHeight(['.bottom_btn'], this)
|
|
164
|
+
.then(res => {
|
|
165
|
+
console.log(res,'aaadddd')
|
|
166
|
+
this.btnHeight = res['bottom_btn']['height'];
|
|
167
|
+
})
|
|
168
|
+
.catch(err => {})
|
|
169
|
+
})
|
|
155
170
|
this.initData();
|
|
156
171
|
},
|
|
157
172
|
methods: {
|
|
@@ -293,7 +308,7 @@ export default {
|
|
|
293
308
|
<style lang="less" scoped>
|
|
294
309
|
.filter_wrap{
|
|
295
310
|
overflow: auto;
|
|
296
|
-
max-height:
|
|
311
|
+
// max-height: 50vh!important;
|
|
297
312
|
|
|
298
313
|
.filter_item{
|
|
299
314
|
&:last-child {
|
|
@@ -17,7 +17,7 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
17
17
|
ele: 'xd-select-pages-path',
|
|
18
18
|
valueKey: 'shopInfoPath',
|
|
19
19
|
groupKey:'advanced',
|
|
20
|
-
placeholder: '
|
|
20
|
+
placeholder: '请选择门店详情跳转页面',
|
|
21
21
|
value: data.shopInfoPath || null,
|
|
22
22
|
className: 'input100',
|
|
23
23
|
setting: {
|
|
@@ -46,7 +46,7 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
46
46
|
label: '聚好兑:',
|
|
47
47
|
ele: 'xd-select-pages-path',
|
|
48
48
|
valueKey: 'exchangePath',
|
|
49
|
-
placeholder: '
|
|
49
|
+
placeholder: '请选择聚好兑跳转页面',
|
|
50
50
|
groupKey:'advanced',
|
|
51
51
|
className: 'input100',
|
|
52
52
|
value: data['exchangePath'] || null,
|
|
@@ -62,7 +62,7 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
62
62
|
label: '扫一扫:',
|
|
63
63
|
ele: 'xd-select-pages-path',
|
|
64
64
|
valueKey: 'scanPath',
|
|
65
|
-
placeholder: '
|
|
65
|
+
placeholder: '请选择扫一扫跳转页面',
|
|
66
66
|
groupKey:'advanced',
|
|
67
67
|
className: 'input100',
|
|
68
68
|
value: data['scanPath'] || null,
|
|
@@ -78,7 +78,7 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
78
78
|
label: '快捷码:',
|
|
79
79
|
ele: 'xd-select-pages-path',
|
|
80
80
|
valueKey: 'takeGoodsPath',
|
|
81
|
-
placeholder: '
|
|
81
|
+
placeholder: '请选择展快捷码跳转页面',
|
|
82
82
|
groupKey:'advanced',
|
|
83
83
|
className: 'input100',
|
|
84
84
|
value: data['takeGoodsPath'] || null,
|
|
@@ -94,7 +94,7 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
94
94
|
label: '在线选座:',
|
|
95
95
|
ele: 'xd-select-pages-path',
|
|
96
96
|
valueKey: 'buyTicketPath',
|
|
97
|
-
placeholder: '
|
|
97
|
+
placeholder: '请选择在线选座跳转页面',
|
|
98
98
|
groupKey:'advanced',
|
|
99
99
|
className: 'input100',
|
|
100
100
|
value: data['buyTicketPath'] || null,
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
} from "@/utils/AttrTools";
|
|
12
12
|
|
|
13
13
|
export default (data, gValue, gColor, oldData) => {
|
|
14
|
+
console.log(data,'dddddsss')
|
|
14
15
|
let showStoreImg = 'Y'
|
|
15
16
|
let showStoreAddress = 'Y'
|
|
16
17
|
//变化的时候
|
|
@@ -206,10 +207,10 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
206
207
|
valueKey: "filterMode",
|
|
207
208
|
value: dataVal({data, key:'filterMode', dValue:[['filter']], gValue}),
|
|
208
209
|
list:[
|
|
209
|
-
{"label": "区域", "value": 'area'},
|
|
210
|
-
{"label": "品牌", "value": 'brand'},
|
|
211
|
-
{"label": "业务线", "value": 'business_line'},
|
|
212
|
-
{"label": "门店分类", "value": 'shop_category'},
|
|
210
|
+
{"label": "区域", "value": 'area',disabled:data.styleLayout==2?true:false},
|
|
211
|
+
{"label": "品牌", "value": 'brand',disabled:data.styleLayout==3?true:false},
|
|
212
|
+
{"label": "业务线", "value": 'business_line',disabled:data.showBusinessLine==='Y'&&data.dimension==='business'?true:false},
|
|
213
|
+
{"label": "门店分类", "value": 'shop_category',disabled:data.showBusinessLine==='Y'&&data.dimension==='store'?true:false},
|
|
213
214
|
{"label": "筛选", "value": 'filter'},
|
|
214
215
|
],
|
|
215
216
|
labelInline: true,
|
|
@@ -351,6 +352,32 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
351
352
|
// {value:'hdSelf', label: '到店取',input:'',check: false,placeholder:'到店取名称,默认“去点餐”'},
|
|
352
353
|
])
|
|
353
354
|
},
|
|
355
|
+
rules:[{
|
|
356
|
+
validator: (rule, value, callback) => {
|
|
357
|
+
let errorStr = '';
|
|
358
|
+
//设置为空
|
|
359
|
+
if(!value || (value && value.length === 0)) {
|
|
360
|
+
callback();
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
//非空,判断设置的名称长度不能大于4
|
|
364
|
+
if(value && value.length > 0) {
|
|
365
|
+
let len = value.length;
|
|
366
|
+
for(let i = 0; i < len; i++) {
|
|
367
|
+
if(value[i].input.length > 4) {
|
|
368
|
+
errorStr = `${value[i].label}名称最大长度不能超过4个汉字`;
|
|
369
|
+
break
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
if(errorStr) {
|
|
374
|
+
callback(errorStr)
|
|
375
|
+
return
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
callback()
|
|
379
|
+
}, message: '输入名称内容最多4字', trigger: ['blur', 'change']
|
|
380
|
+
}]
|
|
354
381
|
},
|
|
355
382
|
{ele: 'group_end'},
|
|
356
383
|
{
|
|
@@ -140,7 +140,7 @@ export default function (data, gValue, gColor, oldData) {
|
|
|
140
140
|
groupKey:'style',
|
|
141
141
|
valueKey: 'cardItemBgColor',
|
|
142
142
|
labelInline:true,
|
|
143
|
-
value: dataVal({data, key:'cardItemBgColor', dValue:'#
|
|
143
|
+
value: dataVal({data, key:'cardItemBgColor', dValue:'#f8f8f8', gValue}),
|
|
144
144
|
hidden: !statusShow({data, key: 'cardItemBgColorStatus', fields:['cardItemBgColor'], gValue}),
|
|
145
145
|
placeholder: '请选择背景颜色',
|
|
146
146
|
classNmae: 'input80',
|