jufubao-base 1.0.319-beta2 → 1.0.320-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-base",
3
- "version": "1.0.319-beta2",
3
+ "version": "1.0.320-beta2",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -222,7 +222,7 @@
222
222
  doAddImage(){
223
223
  uni.chooseImage({
224
224
  count: 1,
225
- sourceType: ['camera','album'],
225
+ sourceType: ['camera'],
226
226
  success: async (res) => {
227
227
  console.log('chooseImage',res);
228
228
  // let filePath = res.tempFilePaths[0];
@@ -239,7 +239,7 @@
239
239
  })
240
240
  },
241
241
  uploadImage(file){
242
- let fileName = file.name||'image.png';
242
+ let fileName = file.name;
243
243
  return new Promise((resolve, reject) => {
244
244
  jfbRootExec("getConOssSign", {
245
245
  vm: this,
@@ -102,6 +102,80 @@
102
102
  <xd-button type="primary" width="360rpx" @click="handleToLink">立即绑定</xd-button>
103
103
  </view>
104
104
  </view>
105
+ <xd-down-drawer
106
+ :show.sync="showCardTypeChoose"
107
+ :isBodyClose="false"
108
+ :isClose="false"
109
+ :z-index="3000"
110
+ >
111
+ <view class="jfb-base-card-info__body-type-choose">
112
+ <view class="jfb-base-card-info__body-type-choose-header">
113
+ <view class="jfb-base-card-info__body-type-choose-title">设置票券类型</view>
114
+ <view class="jfb-base-card-info__body-type-choose-notice" :style="{ color: mainColor }">
115
+ 注:票券类型一经确认,后续无法更改,请慎重选择
116
+ </view>
117
+ </view>
118
+
119
+ <!-- 可滚动的类型 item 列表 -->
120
+ <view class="jfb-base-card-info__body-type-choose-scroll">
121
+ <view
122
+ v-for="(item, index) in cardTypeList"
123
+ :key="index"
124
+ >
125
+ <view
126
+ class="jfb-base-card-info__body-type-choose-item"
127
+ >
128
+ <!-- 顶部区域 -->
129
+ <view class="jfb-base-card-info__body-type-choose-item-header">
130
+ <view class="jfb-base-card-info__body-type-choose-item-header-left">
131
+ <xd-font-icon
132
+ icon="iconkaquan"
133
+ color="#ffc65d"
134
+ size="32"
135
+ class="jfb-base-card-info__body-type-choose-item-icon"
136
+ ></xd-font-icon>
137
+ <view class="jfb-base-card-info__body-type-choose-item-title">{{ item.card_type_name }}</view>
138
+ </view>
139
+ <view class="jfb-base-card-info__body-type-choose-item-validity">有效期: {{ item.end_time }}</view>
140
+ </view>
141
+
142
+ <!-- 中间区域 -->
143
+ <view class="jfb-base-card-info__body-type-choose-item-content">
144
+ <view class="jfb-base-card-info__body-type-choose-item-field">票券号: {{ item.card_number }}</view>
145
+ <view class="jfb-base-card-info__body-type-choose-item-field">
146
+ <text style="color: #999">点数: </text>
147
+ <text style="color: #333; font-weight: bold">{{ $xdUniHelper.divisionFloatNumber(item.card_point, 100) }} </text>
148
+ <text style="color: #999">点</text>
149
+ </view>
150
+ </view>
151
+
152
+ <!-- 分隔线 -->
153
+ <view class="jfb-base-card-info__body-type-choose-item-divider"></view>
154
+
155
+ <!-- 底部业务线描述 -->
156
+ <view class="jfb-base-card-info__body-type-choose-item-business">
157
+ 业务线: {{ item.business_codes_name}}
158
+ </view>
159
+ </view>
160
+
161
+ <!-- 确认按钮 -->
162
+ <view class="jfb-base-card-info__body-type-choose-item-btn-wrap">
163
+ <view class="jfb-base-card-info__body-type-choose-item-btn-inner">
164
+ <xd-button
165
+ type="primary"
166
+ size="small"
167
+ radius="16"
168
+ width="240rpx"
169
+ @click="handleConfirmBind(item)"
170
+ >
171
+ 确认选择绑定
172
+ </xd-button>
173
+ </view>
174
+ </view>
175
+ </view>
176
+ </view>
177
+ </view>
178
+ </xd-down-drawer>
105
179
  </view>
106
180
  </view>
107
181
  </template>
@@ -116,6 +190,8 @@ import extsMixins from "@/mixins/extsMixins";
116
190
  import XdButton from "@/components/XdButton/XdButton";
117
191
  import { getContainerPropsValue } from "@/utils/xd.base";
118
192
  import XdUnit from "@/components/XdUnit/XdUnit";
193
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
194
+ import colorCardMixins from "@/mixins/colorCardMixins";
119
195
 
120
196
  export default {
121
197
  name: "JfbBaseCardInfo",
@@ -123,8 +199,9 @@ export default {
123
199
  XdFontIcon,
124
200
  XdButton,
125
201
  XdUnit,
202
+ XdDownDrawer
126
203
  },
127
- mixins: [componentsMixins, extsMixins, JfbBaseCardInfoMixin],
204
+ mixins: [componentsMixins, extsMixins, JfbBaseCardInfoMixin, colorCardMixins],
128
205
  data() {
129
206
  return {
130
207
  info: null,
@@ -167,7 +244,32 @@ export default {
167
244
 
168
245
  card_password_focus: false,
169
246
  card_number_focus: false,
170
-
247
+ showCardTypeChoose: false,
248
+ cardTypeList: [
249
+ {
250
+ card_type_name: "电影票兑换券",
251
+ card_number: "923974909815654",
252
+ points: "300.00",
253
+ business_lines: "蛋糕、百货、提货商城、蛋糕商城。超长展示时,自动折行处理即可。",
254
+ validity: "2年"
255
+ },
256
+ {
257
+ card_type_name: "购物券",
258
+ card_number: "923974909815655",
259
+ points: "500.00",
260
+ business_lines: "百货、提货商城、蛋糕商城。",
261
+ validity: "1年"
262
+ },
263
+ {
264
+ card_type_name: "礼品券",
265
+ card_number: "923974909815656",
266
+ points: "200.00",
267
+ business_lines: "蛋糕、百货。",
268
+ validity: "3年"
269
+ }
270
+ ], // 票券类型列表
271
+ multiple_id: '', // 多场景ID
272
+ multiple_scene: '', // 多场景场景
171
273
  };
172
274
  },
173
275
  computed: {
@@ -218,7 +320,9 @@ export default {
218
320
  vm: this,
219
321
  data: {
220
322
  card_qrcode: this.qrcode,
221
- is_show_pop: "Y"
323
+ is_show_pop: "Y",
324
+ multiple_id: this.multiple_id,
325
+ multiple_scene: this.multiple_scene
222
326
  },
223
327
  })
224
328
  .then((res) => {
@@ -232,7 +336,9 @@ export default {
232
336
  data: {
233
337
  card_password: this.card_password,
234
338
  card_number: this.card_number + "",
235
- is_show_pop: "Y"
339
+ is_show_pop: "Y",
340
+ multiple_id: this.multiple_id,
341
+ multiple_scene: this.multiple_scene
236
342
  },
237
343
  })
238
344
  .then((res) => {
@@ -280,6 +386,7 @@ export default {
280
386
  });
281
387
  },
282
388
  });
389
+ this.showCardTypeChoose = false;
283
390
  }
284
391
  },
285
392
 
@@ -328,6 +435,7 @@ export default {
328
435
  vm: this,
329
436
  data: {
330
437
  card_qrcode: decodeURIComponent(this.qrcode),
438
+ is_show_entry_settings:"Y"
331
439
  },
332
440
  })
333
441
  .then((res) => {
@@ -348,6 +456,18 @@ export default {
348
456
  });
349
457
  this.showInfo = true;
350
458
  this.info = temp;
459
+ res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
460
+ this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
461
+ this.cardTypeList = res.multiple_info.multiple_list.map(item => {
462
+ item.business_codes_name = '';
463
+ res.site_entry_settings.map(Sitem => {
464
+ if (item.business_codes.includes(Sitem.business_code)) {
465
+ item.business_codes_name += Sitem.entry_name + '、';
466
+ }
467
+ })
468
+ item.business_codes_name = item.business_codes_name.slice(0, -1);
469
+ return item;
470
+ })
351
471
  })
352
472
  .catch();
353
473
  }
@@ -358,6 +478,7 @@ export default {
358
478
  data: {
359
479
  card_password: this.card_password,
360
480
  card_number: this.card_number + "",
481
+ is_show_entry_settings:"Y"
361
482
  },
362
483
  })
363
484
  .then((res) => {
@@ -377,6 +498,18 @@ export default {
377
498
  this.showInfo = true;
378
499
  this.showForm = false;
379
500
  this.info = temp;
501
+ res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
502
+ this.showCardTypeChoose = res.multiple_info.is_support_multiple === 'Y';
503
+ this.cardTypeList = res.multiple_info.multiple_list.map(item => {
504
+ item.business_codes_name = '';
505
+ res.site_entry_settings.map(Sitem => {
506
+ if (item.business_codes.includes(Sitem.business_code)) {
507
+ item.business_codes_name += Sitem.entry_name + '、';
508
+ }
509
+ })
510
+ item.business_codes_name = item.business_codes_name.slice(0, -1);
511
+ return item;
512
+ })
380
513
  })
381
514
  .catch();
382
515
  },
@@ -406,6 +539,21 @@ export default {
406
539
  this.hasCon = data;
407
540
  }
408
541
  console.log('onJfbCustomEvent',action, data);
542
+ },
543
+ handleConfirmBind(item) {
544
+ if (!item) {
545
+ this.$xdAlert({
546
+ content: "请先选择票券类型",
547
+ time: 1500,
548
+ isClose: false,
549
+ zIndex: 5000,
550
+ });
551
+ return;
552
+ }
553
+ // 处理确认绑定逻辑
554
+ this.multiple_id = item.multiple_id;
555
+ this.multiple_scene = item.multiple_scene;
556
+ this.handleToLink()
409
557
  }
410
558
  },
411
559
  };
@@ -537,6 +685,107 @@ export default {
537
685
  align-items: center;
538
686
  justify-content: center;
539
687
  }
688
+
689
+ &-type-choose {
690
+ background: #F8F8F8;
691
+ display: flex;
692
+ flex-direction: column;
693
+ height: 100%;
694
+
695
+ &-header {
696
+ padding: unit(20, rpx) unit(20, rpx) unit(24, rpx) unit(20, rpx);
697
+ }
698
+
699
+ &-title {
700
+ font-size: unit(28, rpx);
701
+ color: #333;
702
+ margin-bottom: unit(24, rpx);
703
+ text-align: center;
704
+ }
705
+
706
+ &-notice {
707
+ font-size: unit(24, rpx);
708
+ text-align: center;
709
+ }
710
+
711
+ &-scroll {
712
+ flex: 1;
713
+ padding: 0 unit(20, rpx) 0 unit(20, rpx);
714
+ overflow-y: auto;
715
+ max-height: 800rpx;
716
+ }
717
+
718
+ &-item {
719
+ background: #fff;
720
+ border-radius: unit(16, rpx);
721
+ padding: unit(32, rpx);
722
+ margin-bottom: unit(24, rpx);
723
+ border: unit(2, rpx) solid #eee;
724
+
725
+ &-header {
726
+ display: flex;
727
+ align-items: center;
728
+ justify-content: space-between;
729
+ margin-bottom: unit(24, rpx);
730
+ }
731
+
732
+ &-header-left {
733
+ display: flex;
734
+ align-items: center;
735
+ flex: 1;
736
+ }
737
+
738
+ &-icon {
739
+ margin-right: unit(16, rpx);
740
+ }
741
+
742
+ &-title {
743
+ font-size: unit(28, rpx);
744
+ color: #333;
745
+ flex: 1;
746
+ }
747
+
748
+ &-validity {
749
+ font-size: unit(24, rpx);
750
+ color: #999;
751
+ }
752
+
753
+ &-content {
754
+ margin-bottom: unit(24, rpx);
755
+ }
756
+
757
+ &-field {
758
+ font-size: unit(24, rpx);
759
+ color: #333;
760
+
761
+ &:first-child {
762
+ margin-bottom: unit(24, rpx);
763
+ }
764
+ }
765
+
766
+ &-divider {
767
+ height: unit(1, rpx);
768
+ background: #F2F2F2;
769
+ margin-bottom: unit(24, rpx);
770
+ }
771
+
772
+ &-business {
773
+ font-size: unit(24, rpx);
774
+ color: #999;
775
+ line-height: unit(36, rpx);
776
+ }
777
+
778
+ &-btn-wrap {
779
+ display: flex;
780
+ margin-bottom: unit(24, rpx);
781
+ }
782
+
783
+ &-btn-inner {
784
+ margin-left: auto;
785
+ }
786
+ }
787
+ }
788
+
540
789
  }
541
790
  }
542
791
  </style>