jufubao-mall 2.0.8 → 2.0.9-beta2

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.8",
3
+ "version": "2.0.9-beta2",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -13,6 +13,7 @@
13
13
  <view
14
14
  class="shop_tabs"
15
15
  :style="[tabsStyleComp]"
16
+ v-if="titleList.length > 1"
16
17
  >
17
18
  <view
18
19
  class="tab_item"
@@ -93,13 +94,15 @@
93
94
  <cus-shops
94
95
  layout="v1"
95
96
  :select-id="selectIds"
96
- :is-show-btn="false"
97
+ :is-show-btn="fastEntryStatus"
97
98
  :content="cusContent"
98
99
  :cus-style="cusStyle"
99
100
  :list="showShopList"
100
101
  :main-color="mainColor"
101
102
  :sub-main-color="subMainColor"
102
- @on-event="handleToCode"
103
+ :names="cusNames"
104
+ :entry="cusEntry"
105
+ @on-event="handleToEvent"
103
106
  ></cus-shops>
104
107
  </scroll-view>
105
108
  </template>
@@ -149,8 +152,8 @@
149
152
  hasNext: true,
150
153
  next_page_token: "",
151
154
  brand_id: '',
152
- shop_id:'',
153
- resource_shop_id:'',
155
+ shop_id: '',
156
+ resource_shop_id: '',
154
157
 
155
158
  //地图
156
159
  initBaidu: false,
@@ -171,23 +174,34 @@
171
174
  scrollTop: 0,
172
175
 
173
176
  //基础
174
- serverType:['SELL'],
175
- cusContent:[],
176
- tabLayout:'v1',
177
+ serverType: ['SELL'],
178
+ cusContent: [],
179
+ tabLayout: 'v1',
177
180
  xnamespace: "",
178
- showOftenTab:'N',
179
-
181
+ showOftenTab: 'N',
182
+ fastEntryStatus: false,
183
+ cusNames: {},
184
+ cusEntry: {},
185
+ shopListStyle: 'v1',
180
186
 
181
187
  //style
182
- bodyPadding:{},
183
- cusStyle:{},
184
- contentBgColor:'rgba(0,0,0,0)',
188
+ bodyPadding: {},
189
+ cusStyle: {},
190
+ contentBgColor: 'rgba(0,0,0,0)',
185
191
 
186
192
  //选项卡
187
193
  tabBgColor: '#fff',
188
- tabStyle:{},
189
- isCallback:null,
190
- callbackParams: {}
194
+ tabStyle: {},
195
+ isCallback: null,
196
+ callbackParams: {},
197
+
198
+ //高级
199
+ codePath: '', //门店跳转
200
+ cashierPath: '',//支持核销
201
+ buyTicketPath: '',//在线选择
202
+ codeAfterPath: '',//电子码
203
+ hdSelfPath: '',//小时达
204
+ travelfPath: '', //旅游购票
191
205
  }
192
206
  },
193
207
  computed: {
@@ -271,7 +285,9 @@
271
285
  }
272
286
  },
273
287
  contStyleComp(){
274
- let height = this.layoutInfo.bodyMinHeightRpx - 100 - 72;
288
+ let height = this.layoutInfo.bodyMinHeightRpx - 72;
289
+ //大于一个标签显示标签
290
+ if(this.titleList.length > 1) height = height - 100;
275
291
  if(this.mapIsExtend) height = height - 400;
276
292
  height = height - this.getPMValue(this.bodyPadding, 'TB', 0);
277
293
  return {
@@ -542,6 +558,22 @@
542
558
  this.showOftenTab = gCPVal(container, 'showOftenTab', 'N');
543
559
  if(this.showOftenTab === 'N') this.titleList = [{label: '附近门店', value: 'nearby'}];
544
560
  if(this.showOftenTab === 'Y') this.titleList = [{label: '附近门店', value: 'nearby'},{label: '常用门店', value: 'often'}];
561
+ this.shopListStyle = gCPVal(container, 'shopListStyle', 'v1');
562
+ this.fastEntryStatus = gCPVal(container, 'fastEntryStatus', 'N') === 'Y';
563
+ let fastEntry = gCPVal(container, 'fastEntry', []).filter(item=>{
564
+ return item.check === true
565
+ });
566
+ let cusNames = {};
567
+ let cusEntry = {};
568
+ if(this.fastEntryStatus) {
569
+ for(let i = 0; i< fastEntry.length ;i++) {
570
+ if(fastEntry[i].input) cusNames[fastEntry[i].value] = fastEntry[i].input
571
+ cusEntry[fastEntry[i].value] = fastEntry[i].check;
572
+ }
573
+ }
574
+ this.cusNames = cusNames;
575
+ this.cusEntry = cusEntry;
576
+
545
577
 
546
578
  //content
547
579
  let cusContent = [];
@@ -621,38 +653,85 @@
621
653
  }
622
654
 
623
655
  //高级
624
- this.codePath = getContainerPropsValue(container, 'content.codePath', { value: "" }).value;
656
+ this.codePath = gCPVal(container, 'codePath', { 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;
662
+
663
+ //关闭显示附近门店
664
+ if(this.showOftenTab === 'N') this.tab = 'nearby';
665
+
625
666
  },
626
- handleToCode({item,funcName,type}) {
627
- if(this.$configProject['isPreview'] || !this.codePath ) return;
667
+ //==点击事件===========
668
+ handleToEvent({item,type}) {
628
669
  let parmas = [];
670
+ let url = ''
629
671
  if(item.resource_shop_id) parmas.push(`resource_shop_id=${item.resource_shop_id}`);
630
672
  if(item.brand_id) parmas.push(`brand_id=${item.brand_id}`);
631
673
  if(item.consume_mode) parmas.push(`consume_mode=${item.consume_mode.join(',')}`);
632
674
  if(item.shop_id) parmas.push(`shop_id=${item.shop_id}`);
633
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 }))}`);
680
+ }
634
681
 
635
- //返回操作
636
- if(this.isCallback) {
637
- parmas = []
638
- if(item.resource_shop_id) parmas.push(`resource_shop_id=${item.resource_shop_id}`);
639
- if(!this.$xdUniHelper.isEmpty(this.callbackParams)) {
640
- Object.keys(this.callbackParams).map(it=>{
641
- parmas.push(`${it}=${this.callbackParams[it]}`);
642
- })
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]}`);
695
+ })
696
+ }
697
+ this.$xdUniHelper.redirectTo({
698
+ url: this.isCallback + `?${parmas.join('&')}`
699
+ },false,true)
700
+ return
643
701
  }
644
- this.$xdUniHelper.redirectTo({
645
- url: this.isCallback + `?${parmas.join('&')}`
646
- },false,true)
647
- return
702
+
703
+ //其他情况
704
+ url = this.codePath;
705
+ }
706
+
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;
717
+
718
+ if(!url) throw new Error(`${type} => 未设置访问地址`);
719
+
720
+
721
+ //预览模式
722
+ if(this.$configProject['isPreview']) {
723
+ console.warn(`uri=>${url}?${parmas.join('&')}`)
724
+ return;
648
725
  }
649
726
 
650
727
  //普通跳转
651
728
  this.$xdUniHelper.navigateTo({
652
- url: this.codePath + `?${parmas.join('&')}`
729
+ url: `${url}?${parmas.join('&')}`
653
730
  })
654
731
  },
655
732
 
733
+ //==点击事件===========
734
+
656
735
  onJfbScroll(options) {
657
736
 
658
737
  },
@@ -211,7 +211,7 @@ module.exports = {
211
211
  "consume_mode_name": "",
212
212
  "distance": "1059km",
213
213
  "distance_conversion": "1,058.9km",
214
- "default_consume_type": "CV",
214
+ "default_consume_type": "JHD",
215
215
  "consume_type": [
216
216
  "CV"
217
217
  ],
@@ -245,10 +245,13 @@ module.exports = {
245
245
  "SELL",
246
246
  "HDSELF"
247
247
  ],
248
- "consume_mode_name": "",
248
+ "consume_mode_name":{
249
+ "SELL":'电子码',
250
+ "HDSELF":'小时达'
251
+ },
249
252
  "distance": "1217km",
250
253
  "distance_conversion": "1,216.0km",
251
- "default_consume_type": "CV",
254
+ "default_consume_type": "WB",
252
255
  "consume_type": [
253
256
  "CV"
254
257
  ],
@@ -285,7 +288,7 @@ module.exports = {
285
288
  "consume_mode_name": "",
286
289
  "distance": "1224km",
287
290
  "distance_conversion": "1,223.8km",
288
- "default_consume_type": "CV",
291
+ "default_consume_type": "QP",
289
292
  "consume_type": [
290
293
  "CV"
291
294
  ],
@@ -321,7 +324,7 @@ module.exports = {
321
324
  "consume_mode_name": "",
322
325
  "distance": "1226km",
323
326
  "distance_conversion": "1,226.0km",
324
- "default_consume_type": "CV",
327
+ "default_consume_type": "QP",
325
328
  "consume_type": [
326
329
  "CV"
327
330
  ],
@@ -356,7 +359,7 @@ module.exports = {
356
359
  "consume_mode_name": "",
357
360
  "distance": "1230km",
358
361
  "distance_conversion": "1,229.7km",
359
- "default_consume_type": "CV",
362
+ "default_consume_type": "SEAT",
360
363
  "consume_type": [
361
364
  "CV"
362
365
  ],
@@ -386,12 +389,12 @@ module.exports = {
386
389
  "brand_type": "MA",
387
390
  "business_status": "OPEN_BUSINESS",
388
391
  "consume_mode": [
389
- "SELL"
392
+ "CODE"
390
393
  ],
391
- "consume_mode_name": "",
394
+ "consume_mode_name": {CODE: '电子码'},
392
395
  "distance": "1231km",
393
396
  "distance_conversion": "1,230.6km",
394
- "default_consume_type": "CV",
397
+ "default_consume_type": "CODE",
395
398
  "consume_type": [
396
399
  "CV"
397
400
  ],
@@ -421,12 +424,12 @@ module.exports = {
421
424
  "brand_type": "MA",
422
425
  "business_status": "OPEN_BUSINESS",
423
426
  "consume_mode": [
424
- "SELL"
427
+ "TRAVEL"
425
428
  ],
426
429
  "consume_mode_name": "",
427
430
  "distance": "1231km",
428
431
  "distance_conversion": "1,230.7km",
429
- "default_consume_type": "CV",
432
+ "default_consume_type": "",
430
433
  "consume_type": [
431
434
  "CV"
432
435
  ],
@@ -7,10 +7,10 @@ export default (data, gValue, gColor, oldData={})=>{
7
7
  }
8
8
  return [
9
9
  {
10
- label: '跳转地址',
10
+ label: '门店地址',
11
11
  ele: 'xd-select-pages-path',
12
12
  valueKey: 'codePath',
13
- placeholder: '请选择跳转地址页面',
13
+ placeholder: '请选择门店地址跳转地址',
14
14
  groupKey:'advanced',
15
15
  value: codePath,
16
16
  labelInline:true,
@@ -21,6 +21,81 @@ export default (data, gValue, gColor, oldData={})=>{
21
21
  },
22
22
  inline: false,
23
23
  },
24
+ {
25
+ label: '核销地址',
26
+ ele: 'xd-select-pages-path',
27
+ valueKey: 'cashierPath',
28
+ placeholder: '请选择核销地址跳转地址',
29
+ groupKey:'advanced',
30
+ className: 'input100',
31
+ value: data['cashierPath'] || null,
32
+ setting: {
33
+ mode:'new',
34
+ router: XdBus.getParentApi('getPagesTree'),
35
+ },
36
+ inline: false,
37
+ labelInline:true,
38
+ },
39
+ {
40
+ label: '在线选座',
41
+ ele: 'xd-select-pages-path',
42
+ valueKey: 'buyTicketPath',
43
+ placeholder: '请选择在线选座跳转地址',
44
+ groupKey:'advanced',
45
+ className: 'input100',
46
+ value: data['buyTicketPath'] || null,
47
+ setting: {
48
+ mode:'new',
49
+ router: XdBus.getParentApi('getPagesTree'),
50
+ },
51
+ inline: false,
52
+ labelInline:true,
53
+ },
54
+ {
55
+ label: '电子码地址',
56
+ ele: 'xd-select-pages-path',
57
+ valueKey: 'codeAfterPath',
58
+ placeholder: '请选择电子码跳转地址',
59
+ groupKey:'advanced',
60
+ className: 'input100',
61
+ value: data['codeAfterPath'] || null,
62
+ setting: {
63
+ mode:'new',
64
+ router: XdBus.getParentApi('getPagesTree'),
65
+ },
66
+ inline: false,
67
+ labelInline:true,
68
+ },
69
+ {
70
+ label: '小时达地址',
71
+ ele: 'xd-select-pages-path',
72
+ valueKey: 'hdSelfPath',
73
+ placeholder: '请选择小时达到店自取跳转地址',
74
+ groupKey:'advanced',
75
+ className: 'input100',
76
+ value: data['hdSelfPath'] || null,
77
+ setting: {
78
+ mode:'new',
79
+ router: XdBus.getParentApi('getPagesTree'),
80
+ },
81
+ inline: false,
82
+ labelInline:true,
83
+ },
84
+ {
85
+ label: '旅游门票',
86
+ ele: 'xd-select-pages-path',
87
+ valueKey: 'travelfPath',
88
+ placeholder: '请选择旅游在线订票跳转地址',
89
+ groupKey:'advanced',
90
+ className: 'input100',
91
+ value: data['travelfPath'] || null,
92
+ setting: {
93
+ mode:'new',
94
+ router: XdBus.getParentApi('getPagesTree'),
95
+ },
96
+ inline: false,
97
+ labelInline:true,
98
+ },
24
99
  {
25
100
  label: '版本号:',
26
101
  ele: 'el-input',
@@ -89,6 +89,27 @@ export default function (data, gValue, gColor, oldData){
89
89
  size: 'small',
90
90
  groupKey:'content',
91
91
  },
92
+ 0&&{
93
+ label: "列表布局",
94
+ ele: "xd-style-image",
95
+ groupKey: 'content',
96
+ valueKey: "shopListStyle",
97
+ value: dataVal({data, key:'shopListStyle', dValue:'v1', gValue}),
98
+ labelInline:true,
99
+ className: 'input100',
100
+ handleCustom(cusRes) {
101
+ XdBus.getParentApi('getCompStylesOptions')({
102
+ layout_ids: '67gEK19OLvv1pnomF15oJ',
103
+ key: Date.now()
104
+ })
105
+ .then(res => {
106
+ cusRes.data.cb(res)
107
+ })
108
+ .catch(error => {
109
+ console.error(error);
110
+ });
111
+ },
112
+ },
92
113
  {
93
114
  label: "门店样式",
94
115
  ele: "xd-style-image",
@@ -254,5 +275,47 @@ export default function (data, gValue, gColor, oldData){
254
275
  indent: true
255
276
  },
256
277
  {ele: 'group_end'},
278
+ {
279
+ ele:'xd-line',
280
+ groupKey:'content'
281
+ },
282
+ {
283
+ label: '快捷入口',
284
+ ele: 'xd-cus-switch',
285
+ valueKey: 'fastEntryStatus',
286
+ value: dataVal({data, key:'fastEntryStatus', dValue:"N", gValue}),
287
+ className: 'input100',
288
+ groupKey:'content',
289
+ labelInline:true,
290
+ cusStyle:{marginBottom: '10px'},
291
+ setting: {
292
+ isBackType: 'string'
293
+ },
294
+ },
295
+ {ele: 'group_start'},
296
+ {
297
+ label: '',
298
+ ele: 'xd-name-check',
299
+ valueKey: 'fastEntry',
300
+ groupKey:'content',
301
+ value: dataVal({data, key:'fastEntry', dValue:[], gValue}),
302
+ className: 'input100',
303
+ setting: {
304
+ isSort:false,
305
+ width: 100,
306
+ },
307
+ labelInline:true,
308
+ hidden: data['fastEntryStatus'] !== 'Y',
309
+ handleCustom({action, data}) {
310
+ data.cb([
311
+ {value:'cashier', label: '支持核销',input:'',check: false,placeholder:'支持核销名称,默认“去买单”'},
312
+ {value:'buyTicket', label: '在线选座',input:'',check: false,placeholder:'在线选座名称,默认“去购票”'},
313
+ {value:'code', label: '电子码门店',input:'',check: false,placeholder:'电子码门店称,默认“电子码”'},
314
+ {value:'hdSelf', label: '小时达到店',input:'',check: false,placeholder:'小时达到店名称,默认“到店自取”'},
315
+ {value:'travel', label: '旅游门票',input:'',check: false,placeholder:'旅游门票名称,默认“去购票”'}
316
+ ])
317
+ },
318
+ },
319
+ {ele: 'group_end'},
257
320
  ].filter(i=>i)
258
321
  }