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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-mall",
3
- "version": "2.0.16-beta53",
3
+ "version": "2.0.16-beta55",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -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
- <!-- <view v-if="shopList.length" class="shop_list">
124
- <view class="shop_item"
125
- v-for="item in shopList" :key="item.resource_shop_id"
126
- :style="[cardItemBoxStyle]"
127
- @click="handleToShopDetail(item)"
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
- hasNext: true,
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:"rgba(245, 245, 245, 1)",
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
- this.dimension = gCPVal(container, 'dimension', "");
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
- console.log(this.filterMode,'filterMode')
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.hasNext = res.next_page_token !== "";
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
- this.searchFilterList = res.items || [];
861
- console.log( this.searchFilterList,' this.searchFilterList')
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' && this.namespaceList.length == 0){
867
- if(this.dimension==='business'){
868
- this.namespaceList = res.namespaces;
869
- } else if(this.dimension==='store'){
870
- //当导航维度是按门店分类时,用categories代替业务线
871
- this.namespaceList = res.categories;
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
- this.namespaceList = [{label: "全部", value: "all"}].concat(this.namespaceList);
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.namespace = this.namespaceList[0].value;
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: 99;
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
- let maxHeight = this.$root.layoutInfo['bodyMinHeightRpx'] - 180;
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 + 'rpx',
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: 30vh!important;
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:'#FFF', gValue}),
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',