jufubao-mall 2.0.35-beta8 → 2.0.35-beta91

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.
@@ -9,59 +9,60 @@
9
9
  <!-- #endif -->
10
10
  <view class="jfb-mall-shop-vip__body">
11
11
  <view class="outer-box" :style="[bodyStyleComp]">
12
- <!--map-->
12
+ <!--tab-->
13
13
  <view
14
- class="shop_map"
15
- v-if="initMapStatus"
14
+ class="shop_tabs"
15
+ :style="[tabsStyleComp]"
16
+ v-if="titleList.length > 1"
16
17
  >
17
18
  <view
18
- class="mpa_wrap"
19
- :class="{close: !mapIsExtend}"
19
+ class="tab_item"
20
+ v-for="(item,index) in titleList"
21
+ :key="index"
22
+ :class="{short: tabLayout === 'v2'}"
23
+ @click="tab=item.value"
24
+ :style="[tab === item.value?tabActItemStyleComp:tabItemStyleComp]"
20
25
  >
21
- <!--地图定位指示图标-->
22
- <view class="map-center" v-if="localImage">
23
- <image :src="localImage"></image>
24
- </view>
25
- <!--地图定位指示图标-->
26
+ <text>{{item.label}}</text>
27
+ <text v-if="titleList.length > 1 && tab === item.value && ['v1', 'v2'].includes(tabLayout)" class="lineX"></text>
28
+ </view>
29
+ </view>
30
+ <!--tab-->
31
+ <!--map-->
32
+ <view class="shop_map" v-if="initBaidu">
33
+ <view class="mpa_wrap" :class="{close: !mapIsExtend}">
26
34
  <!--#ifdef H5-->
27
35
  <xd-baidu-map
28
- v-if="initMapStatus && uiBaiduAk"
36
+ v-if="initBaidu"
37
+ :myPosition="myPosition"
29
38
  :markets="marketList"
30
39
  :ak="uiBaiduAk"
31
40
  :center="mapCenter"
32
- @on-show-marker="(item)=>{handleShowMarker(item,true)}"
33
- @on-close-marker="(item)=>{handleShowMarker(item,false)}"
34
- @regionchange="handleRegionChange"
35
- @init="handleH5Init"
36
- @on-detail="handleToEvent"
41
+ @onChose="handleChoseShop"
37
42
  ></xd-baidu-map>
38
43
  <!--#endif-->
39
44
  <!-- #ifdef MP-WEIXIN -->
40
45
  <map
41
- v-if="mapCenter !== null"
42
- id="WeiXinMap"
43
- :show-location="showLocation"
44
46
  style="width:100%;height: 100%;"
47
+ show-location
45
48
  :longitude="mapCenter.longitude"
46
49
  :latitude="mapCenter.latitude"
47
50
  :markers="marketList"
48
51
  @markertap="handleMarketTap"
49
- @regionchange="handleRegionChange"
50
52
  >
51
53
  <cover-view
52
54
  class="cover_view"
53
55
  slot="callout"
54
56
  >
55
57
  <cover-view
56
- v-for="(item) in marketList"
57
- :key="item.id"
58
+ v-for="(item,index) in marketList"
59
+ :key="index"
58
60
  :marker-id="item.id"
59
61
  style="background: rgba(0,0,0,.8);border-radius: 6px;padding: 8px 12px;color: #fff;"
60
62
  :style="{display: item.id === showMarkerId ? 'block' : 'none'}"
61
63
  >{{ item.title }}</cover-view>
62
64
  </cover-view>
63
65
  </map>
64
- <view class="weiXinLocation" v-if="mpLocationFn === 'getLocation'" @click="handleWXLocation">定位</view>
65
66
  <!-- #endif -->
66
67
  </view>
67
68
  <view
@@ -83,56 +84,29 @@
83
84
  </view>
84
85
  <!--map-->
85
86
  <!--shop-->
86
- <view class="shop_list" :style="[contStyleComp]">
87
- <template v-if="nearbyShopList === null || (nearbyShopList && nearbyShopList.length > 0)">
88
- <scroll-view scroll-y class="scroll_y" :scroll-into-view="intoViewResourceShopId" scroll-with-animation>
89
- <template v-if="nearbyShopList === null">
90
- <view class="shop_list-ske" :id="i" v-for="i in 6" :key="i" :style="[cusStyle.item]">
91
- <view class="shop_list-ske-title">
92
- <view></view>
93
- <view></view>
94
- </view>
95
- <view class="shop_list-ske-address">
96
- <view></view>
97
- <view></view>
98
- </view>
99
- <view class="shop_list-ske-time"></view>
100
- </view>
101
- </template>
102
- <template v-else-if="nearbyShopList.length >0">
103
- <view
104
- :style="[cusStyle.item]"
105
-
106
- class="shop_list-item"
107
- :class='[{"shop_list-item-act":resource_shop_id === item.resource_shop_id}]'
108
- v-for="item in nearbyShopList"
109
- :key="item.key"
110
- :id="`scroll-${item.resource_shop_id}`"
111
- @click="handleToEvent(item, 'shop')"
112
- >
113
- <view class="shop_list-item-title">
114
- <view class="title">
115
- <view>{{item.resource_shop_name}}</view>
116
- <view class="active" v-if="resource_shop_id === item.resource_shop_id">正在预览</view>
117
- </view>
118
- <view @click.stop="handleToEvent(item, 'detail')">
119
- <text>详情</text>
120
- <xd-font-icon icon="iconxiangyou_xian" color="#999" size="30" width="26" height="26"></xd-font-icon>
121
- </view>
122
- </view>
123
- <view class="address" :style="{marginBottom:item['business_time_name']?'16rpx':0}">
124
- <view>{{item.address}}</view>
125
- <view
126
- v-if="item.distance_conversion || item.distance"
127
- :style="[cusStyle.distance]"
128
- >{{item.distance_conversion || item.distance}}</view>
129
- </view>
130
- <view class="openTime" v-if="item['business_time_name']">营业时间:{{item['business_time_name']}}</view>
131
- </view>
132
- </template>
87
+ <view v-if="showShopList" class="shop_list" :style="[contStyleComp]">
88
+ <template v-if="showShopList.length">
89
+ <scroll-view
90
+ scroll-y
91
+ :scroll-top="scrollTop"
92
+ class="scroll_y"
93
+ >
94
+ <cus-shops
95
+ layout="v1"
96
+ :select-id="selectIds"
97
+ :is-show-btn="fastEntryStatus"
98
+ :content="cusContent"
99
+ :cus-style="cusStyle"
100
+ :list="showShopList"
101
+ :main-color="mainColor"
102
+ :sub-main-color="subMainColor"
103
+ :names="cusNames"
104
+ :entry="cusEntry"
105
+ @on-event="handleToEvent"
106
+ ></cus-shops>
133
107
  </scroll-view>
134
108
  </template>
135
- <xd-no-data icon-type="shop" :scale-size="2" v-if="nearbyShopList && nearbyShopList.length === 0">暂无更多门店</xd-no-data>
109
+ <xd-no-data icon-type="shop" :scale-size="2" v-if="showShopList.length === 0">暂无门店信息</xd-no-data>
136
110
  </view>
137
111
  <!--shop-->
138
112
  </view>
@@ -145,14 +119,16 @@
145
119
  import XdNoData from "@/components/XdNoData/XdNoData";
146
120
  import { jfbRootExec } from "@/utils/xd.event";
147
121
  import JfbMallShopVipMixin from "./JfbMallShopVipMixin";
148
- import { gCPVal } from "@/utils/xd.base";
122
+ import { getContainerPropsValue,gCPVal } from "@/utils/xd.base";
149
123
  import componentsMixins from "@/mixins/componentsMixins";
150
124
  import getServiceUrl from "@/common/getServiceUrl";
125
+ import CusShops from "./CusShops.vue"
151
126
  // #ifdef H5
152
127
  import XdBaiduMap from "./XdBaiduMap"
153
128
  // #endif
154
129
  import { mapState } from 'vuex';
155
130
  import extsMixins from "@/mixins/extsMixins";
131
+ import Color from "color"
156
132
 
157
133
 
158
134
  export default {
@@ -160,6 +136,7 @@
160
136
  components: {
161
137
  XdNoData,
162
138
  XdFontIcon,
139
+ CusShops,
163
140
  // #ifdef H5
164
141
  XdBaiduMap,
165
142
  // #endif
@@ -176,24 +153,21 @@
176
153
  next_page_token: "",
177
154
  brand_id: '',
178
155
  shop_id: '',
179
- resource_shop_id: -1,
180
- intoViewResourceShopId:'',
156
+ resource_shop_id: '',
181
157
 
182
158
  //地图
183
- initMapStatus: false,
159
+ initBaidu: false,
184
160
  uiBaiduAk: '',
185
- mapCenter: null,
186
- changStatus: true,
187
- changeLocation:null,
161
+ mapCenter: [],
188
162
  mapIsExtend: true,
189
163
  marketList: [],
190
164
  myPosition: null,
191
165
  showMarkerId: "",
192
- localImage: '',
193
166
 
194
167
  //tab
195
168
  titleList: [],
196
169
  tab: "nearby", //nearby,often
170
+ oftenShopList: null,
197
171
  nearbyShopList: null,
198
172
  curShopId: '',
199
173
  toView: '',
@@ -223,18 +197,11 @@
223
197
 
224
198
  //高级
225
199
  codePath: '', //门店跳转
226
- detailPath: '',//门店详情
227
-
228
- // #ifdef MP-WEIXIN
229
- WeiXinMap:null,
230
- showLocation: false,
231
- onLoadStatus: false, //小程序onload是否执行
232
- onLocationStatus: false, //小程序首次定位成功状态
233
- mpLocationFn:'getFuzzyLocation',
234
- // #endif
235
-
236
- isMoved: false, //是否已经移动过
237
-
200
+ cashierPath: '',//支持核销
201
+ buyTicketPath: '',//在线选择
202
+ codeAfterPath: '',//电子码
203
+ hdSelfPath: '',//小时达
204
+ travelfPath: '', //旅游购票
238
205
  }
239
206
  },
240
207
  computed: {
@@ -242,20 +209,86 @@
242
209
  stateCity: state => state.cityLocation.city,
243
210
  stateLocation: state => state.cityLocation.location || {}
244
211
  }),
245
-
212
+ selectIds(){
213
+ let id = '';
214
+ if(!id && this.resource_shop_id) id = this.resource_shop_id;
215
+ if(!id&& this.brand_id) id = this.brand_id;
216
+ if(!id && this.shop_id) id = this.shop_id;
217
+ return id;
218
+ },
219
+ tabActItemStyleComp(){
220
+ if(this.titleList.length === 1) return {
221
+ color: this.tabStyle.color,
222
+ fontSize: this.tabStyle.fontSize + 'rpx',
223
+ fontWeight: this.tabStyle.fontWeight,
224
+ };
225
+ let backgroundColor = '';
226
+ let color = this.mainColor;
227
+ let marginRight = 0;
228
+ if(this.tabLayout === 'v3') {
229
+ if( this.tabStyle.actBgColor) backgroundColor = this.tabStyle.actBgColor;
230
+ else backgroundColor = this.mainColor;
231
+ if( this.tabStyle.actColor) color = this.tabStyle.actColor;
232
+ else color = '#fff';
233
+ marginRight = '20rpx';
234
+ }
235
+ return {
236
+ marginRight,
237
+ color: this.tabStyle.actColor,
238
+ fontSize: this.tabStyle.actFontSize + 'rpx',
239
+ fontWeight: this.tabStyle.actFontWeight,
240
+ backgroundColor: backgroundColor,
241
+ }
242
+ },
243
+ tabItemStyleComp(){
244
+ if(this.titleList.length === 1) return {
245
+ color: this.tabStyle.color,
246
+ fontSize: this.tabStyle.fontSize + 'rpx',
247
+ fontWeight: this.tabStyle.fontWeight,
248
+ };
249
+ let backgroundColor = '';
250
+ let marginRight = 0;
251
+ if(this.tabLayout === 'v3') {
252
+ backgroundColor = this.tabStyle.bgColor;
253
+ marginRight = '20rpx';
254
+ }
255
+ return {
256
+ marginRight,
257
+ color: this.tabStyle.color,
258
+ fontSize: this.tabStyle.fontSize + 'rpx',
259
+ fontWeight: this.tabStyle.fontWeight,
260
+ backgroundColor: backgroundColor,
261
+ }
262
+ },
263
+ tabsStyleComp() {
264
+ let padding = '0 24rpx', height = '100rpx';
265
+ if(this.tabLayout === 'v3') {
266
+ padding = '20rpx 24rpx'
267
+ if(this.titleList.length === 1) padding = '16rpx 0'
268
+ height = '60rpx';
269
+ }
270
+ return {
271
+ padding,
272
+ height,
273
+ lineHeight: height,
274
+ backgroundColor: this.tabBgColor,
275
+ }
276
+ },
277
+ showShopList(){
278
+ return this.tab === 'nearby' ? this.nearbyShopList : this.oftenShopList
279
+ },
246
280
  bodyStyleComp(){
247
281
  return {
248
282
  height: this.layoutInfo.bodyMinHeightRpx + 'rpx',
249
283
  '--main-color': this.tabStyle.actColor,
250
- '--main-alpha-color': this.$colorChange(this.mainColor).alpha(0.01).toString(),
251
- '--main-alpha5-color': this.$colorChange(this.mainColor).alpha(0.2).toString()
284
+ '--main-alpha-color': this.$colorChange(this.mainColor).alpha(0.1).toString()
252
285
  }
253
286
  },
254
287
  contStyleComp(){
255
288
  let height = this.layoutInfo.bodyMinHeightRpx - 72;
256
289
  //大于一个标签显示标签
257
290
  if(this.titleList.length > 1) height = height - 100;
258
- if(this.mapIsExtend) height = height - 500;
291
+ if(this.mapIsExtend) height = height - 400;
259
292
  height = height - this.getPMValue(this.bodyPadding, 'TB', 0);
260
293
  return {
261
294
  height: height + 'rpx',
@@ -269,42 +302,252 @@
269
302
  if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
270
303
  if (this.$configProject['isPreview']) this.init(value)
271
304
  },
272
-
273
- stateCity(n, o) {
274
- if (n && JSON.stringify(n) !== JSON.stringify(o)) {
275
- this.clearList();
305
+ tab(value) {
306
+ this.hasNext = true;
307
+ this.page_token = '1';
308
+ this.next_page_token = ''
309
+ this.marketList = []
310
+ if (value === 'nearby') {
276
311
  this.getNearbyShop();
312
+ } else {
313
+ this.getOftenShop();
277
314
  }
278
315
  },
279
- onLoadStatus(){
280
- if(this.onLoadStatus && this.onLocationStatus) this.getNearbyShop()
316
+ stateCity(n, o) {
317
+ if (n && JSON.stringify(n) !== JSON.stringify(o)) {
318
+ console.warn('stateCity');
319
+ if (this.tab === 'nearby') {
320
+ this.getNearbyShop();
321
+ } else {
322
+ this.getOftenShop();
323
+ }
324
+ }
281
325
  },
282
- onLocationStatus(){
283
- if(this.onLoadStatus && this.onLocationStatus) this.getNearbyShop()
284
- }
285
326
  },
286
327
  created() {
287
328
  this.init(this.container);
288
-
289
329
  },
290
- mounted() {
291
- this.$nextTick(()=>{
292
- this.isEmptySetMapCenter();
293
- })
294
- },
295
-
296
330
  methods: {
297
331
  onJfbLoad(options) {
298
332
  this.setNameSpace(options, false);
299
333
  this.uiBaiduAk = this.baiduAk || this.$settings.baiduAk;
334
+ this.myPosition = {
335
+ lng: this.stateLocation.longitude,
336
+ lat: this.stateLocation.latitude,
337
+ }
300
338
  if(options.shop_id) this.shop_id = options.shop_id;
301
339
  if(options.brand_id) this.brand_id = options.brand_id;
302
- if(options.resource_shop_id) this.resource_shop_id = Number(options.resource_shop_id);
303
- if(this.$configProject['isPreview'] && this.resource_shop_id === -1 ) this.resource_shop_id = 3513711;
304
- this.onLoadStatus = true;
340
+ if(options.resource_shop_id) this.resource_shop_id = options.resource_shop_id;
341
+ if(options.callback) {
342
+ try{
343
+ let callback = Base64.decode(options.callback);
344
+ let page = this.$xdUniHelper.parseURL(callback);
345
+ if(page.params && page.params.resource_shop_id) delete page.params.resource_shop_id;
346
+
347
+ //相同应用
348
+ if(page.path.indexOf(`/${this.projectAttr['deploy_dir']}/`) === 0) {
349
+ callback = page.path.replace(`/${this.projectAttr['deploy_dir']}/`,'/');
350
+ }
351
+ //不同应用
352
+ else {
353
+ // #ifdef H5
354
+ callback = `//${this.projectAttr['host']}${page.path}`;
355
+ // #endif
356
+
357
+ //#ifdef MP-WEIXIN
358
+ //todo
359
+ // #endif
360
+ }
361
+ //设置参数
362
+ if(page.params) this.callbackParams = page.params
363
+ this.isCallback = callback;
364
+ }
365
+ catch (e){
366
+ console.error(e);
367
+ }
368
+ }
369
+
370
+ if (this.tab === 'nearby') {
371
+ this.getNearbyShop();
372
+ } else {
373
+ this.getOftenShop();
374
+ }
305
375
  },
376
+ getParams(){
377
+ let params = {
378
+ latitude: this.stateLocation.latitude + '',
379
+ longitude: this.stateLocation.longitude + '',
380
+ page_size: 20,
381
+ page_token: this.page_token + '',
382
+ keyword: this.keyword,
383
+ xnamespace: this.xnamespace,
384
+ consume_mode: this.serverType.join(','),
385
+ }
386
+ if(this.brand_id) params['brand_id'] = this.brand_id;
387
+ if(this.keyword) params['keyword'] = this.keyword
388
+ return params
389
+ },
390
+ isEmptySetMapCenter(){
391
+ if(this.stateLocation.latitude && this.stateLocation.longitude) {
392
+ // #ifdef H5
393
+ this.mapCenter = {
394
+ lng: this.stateLocation.longitude,
395
+ lat: this.stateLocation.latitude
396
+ }
397
+ // #endif
398
+ // #ifdef MP-WEIXIN
399
+ this.mapCenter = this.stateLocation;
400
+ // #endif
401
+ }
402
+ },
403
+ getOftenShop() {
404
+ jfbRootExec("getOftenVipShopList", {
405
+ vm: this,
406
+ data: this.getParams(),
407
+ }).then(res => {
408
+ let list = res.list.map(item => {
409
+ item.shop_icon = getServiceUrl(item['shop_pic'] || item['shop_icon'])
410
+ return item
411
+ });
412
+
413
+ //todo 目前返回第一屏数据(如果下拉数据需要改造)
414
+ if(res.list.length > 0) {
415
+ this.setMarketList(list);
416
+ this.mapCenter = this.marketList[0];
417
+ }
306
418
 
419
+ if (this.page_token === '1') this.oftenShopList = list
420
+ else this.oftenShopList = this.oftenShopList.concat(list);
307
421
 
422
+ //数据为空处理
423
+ if(this.oftenShopList.length === 0) {
424
+ this.isEmptySetMapCenter();
425
+ }
426
+
427
+ this.next_page_token = res.next_page_token
428
+ this.hasNext = res.next_page_token !== "";
429
+ }).catch(err=>{
430
+ console.error(err)
431
+ this.oftenShopList = []
432
+ })
433
+ },
434
+ getNearbyShop(centerPosition) {
435
+ let data = {
436
+ city_code: this.stateCity.city_code,
437
+ ...this.getParams()
438
+ }
439
+ if(centerPosition) data = Object.assign(data, centerPosition)
440
+ jfbRootExec("getNearbyVipShopList", {
441
+ vm: this,
442
+ data: data
443
+ }).then(res => {
444
+
445
+ let list = res.list.map(item => {
446
+ item.shop_icon = getServiceUrl(item.shop_icon)
447
+ return item
448
+ })
449
+
450
+ //todo 目前返回第一屏数据(如果下拉数据需要改造)
451
+ if(res.list.length > 0) {
452
+ //设置地图mark标签
453
+ this.setMarketList(list);
454
+
455
+ //设置原点
456
+ if(!centerPosition)this.mapCenter = this.marketList[0];
457
+ }
458
+
459
+ //设置数据
460
+ if (this.page_token === '1') this.nearbyShopList = list
461
+ else this.nearbyShopList = this.nearbyShopList.concat(list);
462
+
463
+ //数据为空
464
+ if(this.nearbyShopList.length === 0) {
465
+ this.isEmptySetMapCenter()
466
+ }
467
+
468
+ this.hasNext = res.next_page_token !== "";
469
+ this.next_page_token = res.next_page_token;
470
+ this.initBaidu = true;
471
+ }).catch(err=>{
472
+ console.error(err)
473
+ this.nearbyShopList = []
474
+ })
475
+ },
476
+ setMarketList(list){
477
+ // #ifdef H5
478
+ this.marketList = list.map(item => {
479
+ return {
480
+ platform: "H5",
481
+ lng: item.longitude,
482
+ lat: item.latitude,
483
+ icon: {
484
+ url: item.shop_icon,
485
+ size: {width: 30, height: 30},
486
+ opts: {imageSize: {width: 30, height: 30}}
487
+ },
488
+ title: item.resource_shop_name,
489
+ id: item.resource_shop_id,
490
+ }
491
+ })
492
+ // #endif
493
+ // #ifdef MP-WEIXIN
494
+ this.marketList = list.map(item => {
495
+ let point = this.baiduTogcj(item.longitude, item.latitude);
496
+ return {
497
+ platform: "MP",
498
+ longitude: point[0],
499
+ latitude: point[1],
500
+ lng: item.longitude,
501
+ lat: item.latitude,
502
+ id: item.resource_shop_id,
503
+ title: item.resource_shop_name,
504
+ width: 30,
505
+ height: 30,
506
+ iconPath: item.shop_icon,
507
+ customCallout: {
508
+ anchorX: 0.5,
509
+ anchorY: 0.5,
510
+ display: 'ALWAYS',
511
+ }
512
+ }
513
+ })
514
+ // #endif
515
+ },
516
+ switchMapExtend(isExtend){
517
+ this.mapIsExtend = isExtend;
518
+ },
519
+ handleMarketTap(e){
520
+ this.showMarkerId = e.markerId;
521
+ let curShop = this.marketList.find(item => item.id === e.markerId);
522
+ this.handleChoseShop(curShop);
523
+ },
524
+ handleChoseShop(shop){
525
+ this.toView = 'shop_item_' + shop.id;
526
+ this.curShopId = shop.id;
527
+ if(shop.platform === 'H5'){
528
+ this.mapCenter = {
529
+ lng: shop.lng,
530
+ lat: shop.lat
531
+ };
532
+ }
533
+ else{
534
+ this.mapCenter = {
535
+ longitude: shop.longitude,
536
+ latitude: shop.latitude
537
+ }
538
+ }
539
+ this.page_token = '1';
540
+ let data = {
541
+ center_latitude: shop.lat || shop.latitude,
542
+ center_longitude: shop.lng || shop.longitude
543
+ }
544
+ if (this.tab === 'nearby') {
545
+ this.getNearbyShop(data)
546
+ } else {
547
+ this.getOftenShop(data)
548
+ }
549
+ this.scrollTop = 0;
550
+ },
308
551
  /**
309
552
  * @description 监听事件变化
310
553
  * @param container {object} 业务组件对象自己
@@ -312,19 +555,19 @@
312
555
  init(container) {
313
556
  this.xnamespace = gCPVal(container, 'xnamespace', this.projectAttr.business_code||this.xnamespace);
314
557
  this.serverType = gCPVal(container, 'serverType', [['SELL']]);
315
- this.showOftenTab = 'N' //todo gCPVal(container, 'showOftenTab', 'N');
558
+ this.showOftenTab = gCPVal(container, 'showOftenTab', 'N');
316
559
  if(this.showOftenTab === 'N') this.titleList = [{label: '附近门店', value: 'nearby'}];
317
560
  if(this.showOftenTab === 'Y') this.titleList = [{label: '附近门店', value: 'nearby'},{label: '常用门店', value: 'often'}];
318
561
  this.shopListStyle = gCPVal(container, 'shopListStyle', 'v1');
319
562
  this.fastEntryStatus = gCPVal(container, 'fastEntryStatus', 'N') === 'Y';
320
563
  let fastEntry = gCPVal(container, 'fastEntry', []).filter(item=>{
321
- return true;//item.check === true
564
+ return item.check === true
322
565
  });
323
566
  let cusNames = {};
324
567
  let cusEntry = {};
325
568
  if(this.fastEntryStatus) {
326
569
  for(let i = 0; i< fastEntry.length ;i++) {
327
- if(fastEntry[i].input) cusNames[fastEntry[i].value] = fastEntry[i].input
570
+ if(fastEntry[i].input) cusNames[fastEntry[i].value] = fastEntry[i].input
328
571
  cusEntry[fastEntry[i].value] = fastEntry[i].check;
329
572
  }
330
573
  }
@@ -355,8 +598,8 @@
355
598
 
356
599
  //style
357
600
  let sValue = `{"cardItemSpace":16,"margin":{"bottom":16,"left":0,"right":0,"top":16},"backgroundColor":"rgba(245, 245, 245, 1)"}`
358
- let shopStyle = `{"cardItemSpace":16,"margin":{"bottom":16,"left":16,"right":16,"top":16},"backgroundColor":"rgba(245, 245, 245, 1)"}`;
359
- this.bodyPadding = gCPVal(container,'bodyPadding', [{ bottom:0,left:16, right:16,top:16}, 20], {sKey:'bodyPaddingStatus',fields:['bodyPadding'],cusFields: ['shopStyle','margin', shopStyle ],isPMR: true, });
601
+ let shopStyle = this.getRelationStatus(container,'shopStyle', { cardItemSpaceStatus:['cardItemSpace'],bodyPaddingStatus:['bodyPadding']}, sValue);
602
+ this.bodyPadding = gCPVal(container,'bodyPadding', [{ bottom:0,left:16, right:16,top:16}, 20], {sKey:'bodyPaddingStatus',fields:['bodyPadding'],cusFields: ['shopStyle','margin',shopStyle],isPMR: true, });
360
603
  this.contentBgColor = gCPVal(container,'contentBgColor', '#f8f8f8', {sKey:'contentBgColorStatus',fields:['contentBgColor']});
361
604
  this.tabLayout = gCPVal(container,'tabLayout', 'v1')
362
605
 
@@ -386,8 +629,8 @@
386
629
  let cardItemShadow = gCPVal(container, 'cardItemShadow', [this.gStyleValue.shadow, {color:'',width:'0',}],{isShadow: true});
387
630
  let cardItemBorder = gCPVal(container, 'cardItemBorder', [{color: '#f8f8f8',width: 0,style: 'solid'},{color: '#f8f8f8',width: 0,style: 'solid'}],{isBorder: true});
388
631
  let distanceColor = gCPVal(container,'distanceColor', '#999999', {sKey:'distanceColorStatus',fields:['distanceColor']});
389
- let cardItemBgColor = gCPVal(container,'cardItemBgColor', '#fff', {sKey:'cardItemBgColorStatus',fields:['cardItemBgColor']});
390
- let itemPadding = gCPVal(container,'itemPadding', [{top:32,left:32, right:32, bottom:32},20], {sKey:'itemPaddingStatus',fields:['itemPadding'],isPMR: true});
632
+ let cardItemBgColor = gCPVal(container,'cardItemBgColor', '', {sKey:'cardItemBgColorStatus',fields:['cardItemBgColor']});
633
+ let itemPadding = gCPVal(container,'itemPadding', [{top:16,left:16, right:16, bottom:16},20], {sKey:'itemPaddingStatus',fields:['itemPadding'],isPMR: true});
391
634
  let cardImageBorder = gCPVal(container, 'cardImageBorder', [{color: '#f8f8f8',width: 0,style: 'solid'},{color: '#f8f8f8',width: '2rpx',style: 'solid'}],{isBorder: true});
392
635
  let itemImageRadius = gCPVal(container,'itemImageRadius', [this.gStyleValue.radius/2, 0], {sKey:'itemImageRadiusStatus',fields:['itemImageRadius']})||0;
393
636
  this.cusStyle = {
@@ -411,330 +654,69 @@
411
654
 
412
655
  //高级
413
656
  this.codePath = gCPVal(container, 'codePath', { value: "" }).value;
414
- this.detailPath = gCPVal(container, 'detailPath', { value: "" }).value;
657
+ this.cashierPath = gCPVal(container, 'cashierPath', { value: "" }).value;
658
+ this.buyTicketPath = gCPVal(container, 'buyTicketPath', { value: "" }).value;
659
+ this.codeAfterPath = gCPVal(container, 'codeAfterPath', { value: "" }).value;
660
+ this.hdSelfPath = gCPVal(container, 'hdSelfPath', { value: "" }).value;
661
+ this.travelfPath = gCPVal(container, 'travelfPath', { value: "" }).value;
415
662
 
416
663
  //关闭显示附近门店
417
664
  if(this.showOftenTab === 'N') this.tab = 'nearby';
418
- this.initMapStatus = true;
419
-
420
- },
421
-
422
-
423
- //==map===========
424
- // #ifdef MP-WEIXIN
425
- /**
426
- * @description 火星转百度坐标
427
- * @param lng
428
- * @param lat
429
- * @returns {{latitude: *, longitude: *}}
430
- */
431
- gcj02toBaidu({longitude, latitude}) {
432
- let x_PI = 3.14159265358979324 * 3000.0 / 180.0;
433
- let PI = 3.1415926535897932384626;
434
- let a = 6378245.0;
435
- let ee = 0.00669342162296594323;
436
- latitude = +latitude;
437
- longitude = +longitude;
438
- let z = Math.sqrt(longitude * longitude + latitude * latitude) + 0.00002 * Math.sin(latitude * x_PI);
439
- let theta = Math.atan2(latitude, longitude) + 0.000003 * Math.cos(longitude * x_PI);
440
- let bd_lng = z * Math.cos(theta) + 0.0065;
441
- let bd_lat = z * Math.sin(theta) + 0.006;
442
- return {longitude: bd_lng, latitude:bd_lat}
443
- },
444
-
445
- handleWXLocation(){
446
- this.localImage = '';
447
- this.showMarkerId = '';
448
- this.showLocation = true;
449
- this.WeiXinMap.moveToLocation({
450
- success:(res)=>{
451
- this.showLocation = false;
452
- },
453
- fail:()=>{}
454
- })
455
- },
456
-
457
- getMYWeiXinPoint(){
458
- const myPoint = this.$xdUniHelper.cloneDeep(this.mapCenter);
459
- return {
460
- platform: "MP",
461
- longitude: myPoint.longitude,
462
- latitude: myPoint.latitude,
463
- lng: myPoint.longitude,
464
- lat: myPoint.latitude,
465
- id: 1999999999,
466
- width: 30,
467
- height: 30,
468
- iconPath:'https://img.jufubao.cn/common/local.png?x-oss-process=style/size3',
469
- mpaKey: this.$xdUniHelper.randomChar(20)
470
- }
471
- },
472
-
473
- setWeiXinMarkerList(list){
474
- let location = [this.getMYWeiXinPoint()];
475
- if(this.isMoved) location = []
476
- this.marketList = location.concat(list.map(item => {
477
- let point = this.baiduTogcj(item.longitude, item.latitude);
478
- return {
479
- platform: "MP",
480
- longitude: point[0],
481
- latitude: point[1],
482
- lng: item.longitude,
483
- lat: item.latitude,
484
- id: item.resource_shop_id,
485
- title: item.resource_shop_name,
486
- width: 30,
487
- height: 30,
488
- iconPath: item.shop_icon,
489
- mpaKey: this.$xdUniHelper.randomChar(20),
490
- customCallout: {
491
- anchorX: 0.5,
492
- anchorY: 0.5,
493
- display: 'ALWAYS',
494
- }
495
- }
496
- }))
497
- },
498
-
499
- handleMarketTap(e){
500
- this.showMarkerId = e.markerId;
501
- },
502
-
503
- // #endif
504
- // #ifdef H5
505
- handleH5Init(){
506
- this.getNearbyShop();
507
- },
508
-
509
- handleShowMarker(item,status){
510
- if(status) {
511
- this.localImage = '';
512
- this.resource_shop_id = item.id;
513
- setTimeout(()=>{
514
- this.intoViewResourceShopId = `scroll-${item.id}`;
515
- },50)
516
665
 
517
- }
518
- else this.localImage = getServiceUrl('/common/localdone.png');
519
666
  },
520
- // #endif
521
-
522
-
523
- handleRegionChange(e){
524
- //重新定位
525
- if(['location','update'].includes(e.causedBy)){
526
- this.localImage = '';
527
- if(e.type === 'end') {
528
- // #ifdef H5
529
- this.changeLocation = this.$xdUniHelper.cloneDeep(e.detail.point);
530
- // #endif
531
- // #ifdef MP-WEIXIN
532
- this.WeiXinMap.addMarkers({markers:[this.getMYWeiXinPoint()]});
533
- if(!this.onLocationStatus) {
534
- this.onLocationStatus = true;
535
- }
536
- this.changeLocation = this.gcj02toBaidu(e.detail.centerLocation ||e.detail.point);
537
- // #endif
538
-
539
- this.clearList();
540
- this.getNearbyShop();
541
- }
542
- return
543
- }
544
-
545
- //拖拽与缩放操作开始
546
- // #ifdef MP-WEIXIN
547
- this.WeiXinMap.removeMarkers({markerIds:[1999999999]})
548
- // #endif
549
- if(e.type === 'begin') this.localImage = getServiceUrl('/common/localmove.png?v=1');
550
-
551
- //拖拽与缩放操作结束
552
- else if(e.type === 'end') {
553
- this.isMoved = true;
554
- this.localImage = getServiceUrl('/common/localdone.png');
555
- // #ifdef H5
556
- this.changeLocation = this.$xdUniHelper.cloneDeep(e.detail.point);
557
- // #endif
558
- // #ifdef MP-WEIXIN
559
- this.changeLocation = this.gcj02toBaidu(e.detail.centerLocation ||e.detail.point);
560
- // #endif
561
-
562
- this.clearList();
563
- this.getNearbyShop();
667
+ //==点击事件===========
668
+ handleToEvent({item,type}) {
669
+ let parmas = [];
670
+ let url = ''
671
+ if(item.resource_shop_id) parmas.push(`resource_shop_id=${item.resource_shop_id}`);
672
+ if(item.brand_id) parmas.push(`brand_id=${item.brand_id}`);
673
+ if(item.consume_mode) parmas.push(`consume_mode=${item.consume_mode.join(',')}`);
674
+ if(item.shop_id) parmas.push(`shop_id=${item.shop_id}`);
675
+
676
+ //详情增加扩张参数
677
+ if(item.exts_params && type === 'DL'){
678
+ parmas.push(`exts_params=${item.exts_params}`);
679
+ parmas.push(`resource_shop=${Base64.encodeURI(JSON.stringify({shop_id: item.shop_id,resource_shop_id: item.resource_shop_id }))}`);
564
680
  }
565
- },
566
681
 
567
- isEmptySetMapCenter(){
568
- if(this.stateLocation.latitude && this.stateLocation.longitude) {
569
- // #ifdef H5
570
- this.mapCenter = {
571
- lng: this.stateLocation.longitude,
572
- lat: this.stateLocation.latitude
573
- }
574
- // #endif
575
- // #ifdef MP-WEIXIN
576
- let [longitude,latitude] = this.baiduTogcj(this.stateLocation.longitude,this.stateLocation.latitude);
577
- this.mapCenter = {longitude,latitude};
578
- this.$nextTick(()=>{
579
- this.WeiXinMap = uni.createMapContext('WeiXinMap', this);
580
- })
581
- // #endif
582
- this.onLocationStatus = true;
583
- }
584
- else {
585
- this.mpLocationFn = 'getFuzzyLocation';
586
- if(this.$configProject['privacy_interface_list']) {
587
- this.$configProject['privacy_interface_list'].map(item=>{
588
- if(item['api_name'] === 'wx.getLocation') {
589
- this.mpLocationFn = 'getLocation';
590
- }
591
- })
592
- }
593
- // #ifdef MP-WEIXIN
594
- wx[this.mpLocationFn]({
595
- type:'wgs84',
596
- success:({latitude,longitude})=>{
597
- this.mapCenter = {latitude,longitude};
598
- this.$nextTick(()=>{
599
- this.WeiXinMap = uni.createMapContext('WeiXinMap', this);
682
+ //在线选择,电子码传惨处理
683
+ if(['SEAT','CODE'].includes(type)) parmas = [`cinema_id=${item.resource_shop_id}`]
684
+ if(['TRAVEL'].includes(type)) parmas = [`shop_id=${item.resource_shop_id}`]
685
+
686
+ //点击详情地址
687
+ if(type === 'DL') {
688
+ //有回调地址处理
689
+ if(this.isCallback) {
690
+ parmas = []
691
+ if(item.resource_shop_id) parmas.push(`resource_shop_id=${item.resource_shop_id}`);
692
+ if(!this.$xdUniHelper.isEmpty(this.callbackParams)) {
693
+ Object.keys(this.callbackParams).map(it=>{
694
+ parmas.push(`${it}=${this.callbackParams[it]}`);
600
695
  })
601
- this.onLocationStatus = true;
602
696
  }
603
- })
604
- // #endif
605
- }
606
- },
607
-
608
- clearList(){
609
- // #ifdef MP-WEIXIN
610
- if(this.nearbyShopList && this.nearbyShopList.length > 0) {
611
- this.WeiXinMap.removeMarkers({markerIds:[this.nearbyShopList.map(item => item.resource_shop_id)]});
612
- }
613
- // #endif
614
- this.page_token = '1';
615
- this.nearbyShopList = null;
616
- this.intoViewResourceShopId = '';
617
- this.marketList = [];
618
- },
619
- //==map===========
620
-
621
- getParams(){
622
- let latitude = '', longitude = '';
623
- console.log('handleRegionChange',this.stateLocation, this.changeLocation);
624
- if(this.stateLocation && !this.$xdUniHelper.isEmpty(this.stateLocation)) {
625
- if(this.stateLocation.longitude) longitude = this.stateLocation.longitude + '';
626
- if(this.stateLocation.latitude) latitude = this.stateLocation.latitude + '';
627
- }
628
- if(this.changeLocation && !this.$xdUniHelper.isEmpty(this.changeLocation)) {
629
- if(this.changeLocation.longitude) longitude = this.changeLocation.longitude + '';
630
- if(this.changeLocation.latitude) latitude = this.changeLocation.latitude + '';
631
- }
632
- let params = {
633
- latitude,
634
- longitude,
635
- page_size: 20,
636
- page_token: this.page_token + '',
637
- keyword: this.keyword,
638
- xnamespace: this.xnamespace,
639
- consume_mode: this.serverType.join(','),
640
- }
641
- if(this.brand_id) params['brand_ids'] = this.brand_id;
642
- if(this.keyword) params['keyword'] = this.keyword
643
- return params
644
- },
645
-
646
- getNearbyShop() {
647
- let data = {
648
- city_code: this.stateCity.city_code,
649
- ...this.getParams()
650
- }
651
- this.$xdShowLoading({});
652
-
653
- jfbRootExec("getNearbyVipShopList", {
654
- vm: this,
655
- data: data
656
- }).then(res => {
657
-
658
- let list = res.list.map(item => {
659
- item.shop_icon = getServiceUrl(item.shop_icon);
660
- item['key'] = this.$xdUniHelper.randomChar(20);
661
- return item
662
- });
663
-
664
- let nearbyShopList = [];
665
- if(this.page_token === '1') nearbyShopList = this.$xdUniHelper.cloneDeep(list);
666
- else nearbyShopList = this.$xdUniHelper.cloneDeep(this.nearbyShopList).concat(list);
667
-
668
- //设置标签
669
- this.setMarketList(nearbyShopList);
670
-
671
- this.nearbyShopList = this.$xdUniHelper.cloneDeep(nearbyShopList);
672
-
673
- this.hasNext = res.next_page_token !== "";
674
- this.next_page_token = res.next_page_token;
675
-
676
- setTimeout(()=>{
677
- console.log('setMarketList.setTimeout',nearbyShopList);
678
- this.intoViewResourceShopId = `scroll-${this.resource_shop_id}`
679
- },200);
680
-
681
- console.log('setMarketList.getNearbyVipShopList',nearbyShopList);
682
-
683
- this.$xdHideLoading();
684
- }).catch(err=>{
685
- this.$xdHideLoading();
686
- console.log(err)
687
- //this.nearbyShopList = this.$xdUniHelper.cloneDeep(this.nearbyShopList).concat([]);
688
- //this.setMarketList(this.nearbyShopList);
689
- })
690
- },
691
- setMarketList(list){
692
- console.log('setMarketList',list);
693
- // #ifdef H5
694
- this.marketList = list.map(item => {
695
- return {
696
- platform: "H5",
697
- lng: item.longitude,
698
- lat: item.latitude,
699
- address: item.address,
700
- icon: {
701
- url: item.shop_icon,
702
- size: {width: 30, height: 30},
703
- opts: {imageSize: {width: 30, height: 30}}
704
- },
705
- title: item.resource_shop_name,
706
- id: item.resource_shop_id,
697
+ this.$xdUniHelper.redirectTo({
698
+ url: this.isCallback + `?${parmas.join('&')}`
699
+ },false,true)
700
+ return
707
701
  }
708
- })
709
- // #endif
710
- // #ifdef MP-WEIXIN
711
- this.setWeiXinMarkerList(list);
712
- // #endif
713
- },
714
- switchMapExtend(isExtend){
715
- this.mapIsExtend = isExtend;
716
- },
717
-
718
702
 
719
- //==点击事件===========
720
- /**
721
- * @description
722
- * @param item
723
- * @param type detail|shop
724
- */
725
- handleToEvent(item,type) {
726
- debugger
727
- let parmas = [];
728
- let url = ''
729
- if(item['resource_shop_id']) parmas.push(`resource_shop_id=${item['resource_shop_id']}`)
703
+ //其他情况
704
+ url = this.codePath;
705
+ }
730
706
 
731
- //去门店
732
- if(type === 'shop') url = this.codePath;
707
+ //支持核销
708
+ if(type === 'SELL') url = this.cashierPath;
709
+ //在线选择
710
+ if(type === 'SEAT') url = this.buyTicketPath;
711
+ //电子码
712
+ if(type === 'CODE') url = this.codeAfterPath;
713
+ //小时达
714
+ if(type === 'HDSELF') url = this.hdSelfPath;
715
+ //旅游购票
716
+ if(type === 'TRAVEL') url = this.travelfPath;
733
717
 
734
- //去详情
735
- if(type === 'detail') url = this.detailPath;
718
+ if(!url) throw new Error(`${type} => 未设置访问地址`);
736
719
 
737
- if(!url) throw new Error(`${type} => 未设置访问地址,参数:${parmas.join('&')}`);
738
720
 
739
721
  //预览模式
740
722
  if(this.$configProject['isPreview']) {
@@ -747,21 +729,31 @@
747
729
  url: `${url}?${parmas.join('&')}`
748
730
  })
749
731
  },
750
- //==点击事件===========
751
732
 
733
+ //==点击事件===========
752
734
 
753
735
  onJfbScroll(options) {
754
736
 
755
737
  },
756
-
738
+ onJfbReachBottom(options) {
739
+ // if (this.hasNext) {
740
+ // this.page_token = this.next_page_token;
741
+ // if (this.tab === 'nearby') {
742
+ // this.getNearbyShop()
743
+ // } else {
744
+ // this.getOftenShop()
745
+ // }
746
+ // }
747
+ },
757
748
  onJfbCustomEvent({ action, data }) {
758
749
  if (action === 'baseHeader@search') {
759
750
  this.keyword = data;
760
- this.clearList();
761
- this.getNearbyShop()
762
- }
763
- if(action === 'baseHeader@focus'){
764
- this.switchMapExtend(false)
751
+ this.page_token = '1';
752
+ if (this.tab === 'nearby') {
753
+ this.getNearbyShop()
754
+ } else {
755
+ this.getOftenShop()
756
+ }
765
757
  }
766
758
  },
767
759
  }
@@ -779,12 +771,11 @@
779
771
  .shop_map {
780
772
  background: #fff;
781
773
  font-size: unit(28, rpx);
774
+
782
775
  .mpa_wrap {
783
- padding: 20rpx;
784
- height: 460rpx;
776
+ height: 400rpx;
785
777
  background: #fff;
786
778
  transition: all .3s ease-in-out;
787
- position: relative;
788
779
 
789
780
  /deep/ .xd-baidu__content {
790
781
  position: relative;
@@ -793,25 +784,6 @@
793
784
  }
794
785
  &.close{
795
786
  height: 0;
796
- position: relative;
797
- z-index: 0;
798
- padding: 0;
799
- overflow: hidden;
800
- }
801
- }
802
-
803
- .map-center {
804
- position: absolute;
805
- width: 90rpx;
806
- height: 90rpx;
807
- top: 49%;
808
- left: 50%;
809
- transform: translate(-50%,-50%);
810
- z-index: 3500;
811
-
812
- & image {
813
- width: 100%;
814
- height: 100%;
815
787
  }
816
788
  }
817
789
 
@@ -820,10 +792,7 @@
820
792
  line-height: unit(30, rpx);
821
793
  padding-bottom: unit(10, rpx);
822
794
  }
823
-
824
795
  .map_expend{
825
- position: relative;
826
- z-index: 1;
827
796
  display: flex;
828
797
  justify-content: center;
829
798
  align-items: center;
@@ -832,143 +801,40 @@
832
801
  }
833
802
  }
834
803
 
835
- .shop_list {
836
- flex: 1;
837
- .scroll_y{
838
- height: 100%;
839
- }
840
-
841
- &-ske {
842
- &-title {
843
- display: flex;
844
- justify-content: space-between;
845
- align-content: center;
846
- margin-bottom: 16rpx;
847
-
848
- & > view:first-child {
849
- .skeleton-item(100%, 46rpx);
850
- }
804
+ .shop_tabs {
805
+ display: flex;
806
+ background: #fff;
807
+ border-bottom: 1px solid #f8f8f8;
851
808
 
852
- & > view:last-child {
853
- flex-shrink: 0;
854
- .skeleton-item(120rpx, 30rpx);
855
- margin-left: 32rpx;
856
- }
857
- }
858
- &-address {
859
- display: flex;
860
- justify-content: space-between;
861
- align-content: center;
862
- margin-bottom: 16rpx;
863
-
864
- & > view:first-child {
865
- .skeleton-item(70%, 36rpx);
866
- }
867
809
 
868
- & > view:last-child {
869
- flex-shrink: 0;
870
- .skeleton-item(100rpx, 28rpx);
871
- }
872
- }
873
- &-time {
874
- .skeleton-item(30%, 28rpx);
810
+ .tab_item {
811
+ font-size: 32rpx;
812
+ color: #333;
813
+ font-weight: 400;
814
+ padding: 0 24rpx;
815
+ position: relative;
816
+ border-radius: 60rpx;
817
+
818
+ & .lineX {
819
+ position: absolute;
820
+ bottom: 14rpx;
821
+ height: 6rpx;
822
+ background-color: var(--main-color);
823
+ border-radius: 6rpx;
824
+ width: 64rpx;
825
+ left: 50%;
826
+ transform: translateX(-50%);
875
827
  }
876
828
  }
829
+ }
877
830
 
878
- &-item {
879
- box-sizing: border-box;
880
- &-act {
881
- background-color: var(--main-alpha-color)!important;
882
- border:1px solid var(--main-alpha5-color)!important;
883
- }
884
-
885
- &-title {
886
- display: flex;
887
- justify-content: space-between;
888
- align-items: center;
889
- margin-bottom: 16rpx;
890
- & > .title {
891
- width: calc(100% - 140rpx);
892
- flex-shrink: 0;
893
- display: flex;
894
- justify-content: flex-start;
895
- align-items: center;
896
- font-size: 32rpx;
897
- line-height: 44rpx;
898
- color: #333;
899
- font-weight: 400;
900
-
901
- & > view:first-child {
902
- .uni-one-cut(44);
903
-
904
- }
905
-
906
- & > view:nth-child(2) {
907
- flex-shrink: 0;
908
- line-height: 44rpx;
909
- font-size: 24rpx;
910
- border-radius: 8rpx;
911
- border:1px solid var(--main-alpha5-color)!important;
912
- padding: 0 16rpx;
913
- margin-left: 16rpx;
914
- color: var(--main-color);
915
- }
916
- }
917
-
918
- & > view:last-child {
919
- flex-shrink: 0;
920
- margin-left: 48rpx;
921
- font-size: 24rpx;
922
- color: #999;
923
- display: flex;
924
- align-items: center;
925
- justify-content: flex-end;
926
- & > text {
927
- margin-right: 10rpx;
928
- }
929
- }
930
- }
931
-
932
- & > .address {
933
- color: #999;
934
- font-size: 24rpx;
935
- line-height: 36rpx;
936
- margin-bottom: 16rpx;
937
- display: flex;
938
- justify-content: flex-start;
939
- align-content: center;
940
-
941
- & > view:first-child {
942
- .uni-one-cut(36);
943
- flex: 1;
944
-
945
- }
946
- & > view:nth-child(2) {
947
- flex-shrink: 0;
948
- margin-left: 32rpx;
949
- }
950
- }
951
-
952
- & > .openTime {
953
- color: #999;
954
- font-size: 24rpx;
955
- line-height: 36rpx;
956
- }
831
+ .shop_list {
832
+ flex: 1;
833
+ .scroll_y{
834
+ height: 100%;
957
835
  }
958
836
  }
959
837
 
960
838
  }
961
-
962
- .weiXinLocation {
963
- right: 20rpx;
964
- bottom: 20rpx;
965
- font-size: 20rpx;
966
- position: absolute;
967
- width: 60rpx;
968
- height: 60rpx;
969
- background-color: #fff;
970
- border: 1px solid #ccc;
971
- border-radius: 8rpx;
972
- }
973
839
  }
974
840
  </style>