jufubao-base 1.0.56-beta8 → 1.0.56

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.56-beta8",
3
+ "version": "1.0.56",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -29,7 +29,7 @@
29
29
  }"
30
30
  >
31
31
  <xd-font-icon
32
- style="margin-bottom: 15rpx"
32
+ :style="{marginBottom: '15rpx'}"
33
33
  size="80"
34
34
  icon="iconsaoma"
35
35
  ></xd-font-icon>
@@ -45,7 +45,7 @@
45
45
  }"
46
46
  >
47
47
  <xd-font-icon
48
- style="margin-bottom: 15rpx"
48
+ :style="{marginBottom: '15rpx'}"
49
49
  size="80"
50
50
  icon="iconyuechi"
51
51
  ></xd-font-icon>
@@ -67,7 +67,7 @@
67
67
  </view>
68
68
  </template>
69
69
  </view>
70
- <view class="jfb-base-card__body-line"></view>
70
+ <view class="jfb-base-card__body-line" v-if="!notice"></view>
71
71
  <view
72
72
  class="jfb-base-card__body-notice"
73
73
  :style="{ background: noticeBackgroundColor }"
@@ -119,10 +119,9 @@
119
119
  </view>
120
120
  <view
121
121
  class="jfb-base-card__body-tips"
122
- :style="{ color: mainColor }"
122
+ :style="{ color: warningColor }"
123
123
  v-if="tabIndex === 2"
124
- >*目前仅支持电影票兑换券进行转换</view
125
- >
124
+ >* 目前仅支持电影票兑换券进行转换</view>
126
125
  <view
127
126
  v-if="tabIndex === 2 || tabIndex === 1"
128
127
  class="jfb-base-card__body-card"
@@ -300,15 +299,17 @@ export default {
300
299
  this.noticeBackgroundColor = Color(this.warningColor).alpha(0.2).toString();
301
300
  this.isPreview = this.$configProject.isPreview;
302
301
 
303
-
304
302
  //#ifdef H5
305
- this.isWx = isWechat();
303
+ this.isWx = this.isPreview || isWechat();
304
+
306
305
  if (!this.$configProject.isPreview) {
307
306
  jfbRootExec("getH5WxAuthorize", {
308
307
  vm: this,
309
308
  data: {site_id: "wx_pub"},
310
309
  })
311
- .then()
310
+ .then(res => {
311
+ console.log(0)
312
+ })
312
313
  .catch(error=>{
313
314
  this.$xdAlert({
314
315
  content: error,
@@ -330,6 +331,7 @@ export default {
330
331
  this.allEntryPath = getContainerPropsValue(container,"content.allEntryPath",{value: ""}).value;
331
332
  this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
332
333
  },
334
+
333
335
  handleToLink(path) {
334
336
  this.$xdUniHelper.navigateTo({
335
337
  url: path,
@@ -621,13 +623,13 @@ export default {
621
623
 
622
624
  &-line {
623
625
  width: 120%;
624
- height: unit(4, rpx);
626
+ height: 1px;
625
627
  background: #eee;
626
628
  margin: unit(60, rpx) unit(-35, rpx) 0 unit(-35, rpx);
627
629
  }
628
630
 
629
631
  &-notice {
630
- margin: 0 unit(-35, rpx) 0 unit(-35, rpx);
632
+ margin: unit(46, rpx) unit(-35, rpx) 0 unit(-35, rpx);
631
633
  padding: unit(22, rpx) unit(35, rpx);
632
634
  line-height: unit(70, rpx);
633
635
  }
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description API模型
5
+ * 建议:Ffff=>模块 Xxxx=>自定义名字
6
+ * 获取单记录(getByIdFfffXxxx)
7
+ * 获取列表记录(getByListFfffXxxx)
8
+ * 添加列表记录(addFfffXxxxx)
9
+ * 删除列表记录(removeFfffXxxxx|deleteFfffXxxx)
10
+ * 更新列表记录(updateFfffXxxxx)
11
+ * @type {*[]}
12
+ */
13
+ module.exports = [
14
+ {
15
+ mapFnName: 'disabledCardUnbindEntry',
16
+ isRule: false,
17
+ title: '解绑卡',
18
+ prefix: 'unbind',
19
+ path: '/card/v1/card-bind/unbind-card',
20
+ data: {
21
+ card_number: ['卡号', 'String', '必选'],
22
+ },
23
+ disabled: true,
24
+ },
25
+ {
26
+ mapFnName: 'getDisableCardListEntry',
27
+ isRule: false,
28
+ title: '获得绑定卡',
29
+ prefix: 'list',
30
+ path: '/card/v1/card-bind/list-bind-card',
31
+ params: {},
32
+ disabled: true,
33
+ },
34
+ ];
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+
11
+ ].filter(i => i)
12
+ },
13
+ advanced: [],
14
+ };
@@ -0,0 +1,555 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-card-disabled-entry"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx: isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-card-disabled-entry__edit"
10
+ :class="{ editx: isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-card-disabled-entry__edit-icon" @click="delEdit"
14
+ >删除</view
15
+ >
16
+ </view>
17
+ <!-- #endif -->
18
+ <view class="jfb-base-card-disabled-entry__body">
19
+ <view
20
+ v-if="disableList && disableList.length > 0"
21
+ class="jfb-base-card-entry__body-card"
22
+ >
23
+ <view
24
+ v-for="(item) in disableList"
25
+ class="card-list"
26
+ :key="item.card_number"
27
+ :style="{
28
+ background: item['theme']['color'],
29
+ backgroundSize: '100%'
30
+ }"
31
+ >
32
+ <view class="card-list-warp" :style="{backgroundImage: 'url('+ item['theme']['image'] +')'}">
33
+ <view class="card-list__title">
34
+ <view>{{item['card_type_name']}}</view>
35
+ </view>
36
+ <div class="card-list__content">
37
+ <view>
38
+ <text>券号:</text>
39
+ <text>{{item.card_number}}</text>
40
+ </view>
41
+ <view @click.stop="toDetail(item)" v-if="0">
42
+ <view>
43
+ <xd-font-icon icon="iconerweima" width="56" height="56" size="50" color="#fff"></xd-font-icon>
44
+ </view>
45
+ <view>点击查看</view>
46
+ </view>
47
+ </div>
48
+ <view class="card-list__date">
49
+ <text>有效期:</text>
50
+ <text>--</text>
51
+ </view>
52
+ <view class="card-list__yue">
53
+ <text>余额:</text>
54
+ <text>--</text>
55
+ </view>
56
+ <view class="card-list__other" v-if="item.other_card_point && item.card_point_type === 2 ">
57
+ <view>
58
+ <text>购买其他物品可抵:</text>
59
+ <text>--</text>
60
+ </view>
61
+ </view>
62
+ <template>
63
+ <view class="card-list__entry" v-if="item.entries.length > 0">
64
+ <view
65
+ @click.stop="handleUnBindCard(item)"
66
+ :style="{color: item['theme']['color']}"
67
+ >解绑</view>
68
+ </view>
69
+ <view class="card-list__nodata" v-else>暂无支持服务列表</view>
70
+ </template>
71
+ </view>
72
+ </view>
73
+ </view>
74
+ <view class="bottom_btn-mask"></view>
75
+ <view class="bottom_btn" :style="prod_bottom">
76
+ <xd-button
77
+ width="680rpx"
78
+ radius="50rpx"
79
+ color="#bbb"
80
+ @click="handleAllUnBindCard"
81
+ >一键解绑</xd-button>
82
+ </view>
83
+ </view>
84
+ </view>
85
+ </template>
86
+
87
+ <script>
88
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
89
+ import { jfbRootExec } from "@/utils/xd.event";
90
+ import JfbBaseCardDisabledEntryMixin from "./JfbBaseCardDisabledEntryMixin";
91
+ import componentsMixins from "@/mixins/componentsMixins";
92
+ import colorCardMixins from "@/mixins/colorCardMixins";
93
+ import XdButton from "@/components/XdButton/XdButton";
94
+ import XdNoData from '@/components/XdNoData/XdNoData'
95
+ import extsMixins from "@/mixins/extsMixins";
96
+ export default {
97
+ name: "JfbBaseCardDisabledEntry",
98
+ components: {
99
+ XdFontIcon,
100
+ XdNoData,
101
+ XdButton
102
+ },
103
+ mixins: [componentsMixins, extsMixins, JfbBaseCardDisabledEntryMixin, colorCardMixins],
104
+ data() {
105
+ return {
106
+ disableList: [],
107
+ isShowUnbind: false
108
+ };
109
+ },
110
+ computed:{
111
+ prod_bottom() {
112
+ return this.fixedStyle({height: 0, zIndex: 111});
113
+ },
114
+ },
115
+ watch: {
116
+ container(value) {
117
+ this.init(value);
118
+ },
119
+ },
120
+ created() {
121
+ this.init(this.container);
122
+
123
+ },
124
+ methods: {
125
+ onJfbLoad(options) {
126
+ this.getCardList();
127
+ },
128
+
129
+ getCardList() {
130
+ this.$xdShowLoading({});
131
+ jfbRootExec("getDisableCardListEntry", {vm: this, data: {is_all: "Y", is_show_entry_settings: 'Y'},})
132
+ .then((res) => {
133
+ this.isShowUnbind = (res["is_can_unbind"] === 'Y' || res["is_can_unbind"] === undefined);
134
+ res.list = res.list.map((item) => {
135
+ return {
136
+ ...item,
137
+ card_point: this.$xdUniHelper.divisionFloatNumber(
138
+ item.card_point,
139
+ 100
140
+ ),
141
+ other_card_point: this.$xdUniHelper.divisionFloatNumber(
142
+ item.other_card_point,
143
+ 100
144
+ ),
145
+ };
146
+ });
147
+ this.disableList = this.getCardGroupItem(res.list.filter((item) => {
148
+ return item["is_valid"] === "N";
149
+ }), res['site_entry_settings'], 'Y');
150
+ this.$xdHideLoading();
151
+ })
152
+ .catch(() => this.$xdHideLoading());
153
+ },
154
+
155
+ handleAllUnBindCard(){
156
+ this.$xdConfirm({
157
+ $vm: this,
158
+ content: "您确定要解除绑定所有票券吗?",
159
+ title: "系统提示",
160
+ width: "80%",
161
+ isTitle: true,
162
+ zIndex: 2000,
163
+ vm: this,
164
+ success: (res) => {
165
+ if (res.confirm) {
166
+ let cardIds = this.disableList.map(item=>{
167
+ return item.card_number + ''
168
+ });
169
+ jfbRootExec("disabledCardUnbindEntry", {vm: this, data: {card_number: cardIds.join(','),},})
170
+ .then((res) => {
171
+ this.$xdAlert({
172
+ content: "解绑成功",
173
+ close: () => {
174
+ this.getCardList();
175
+ },
176
+ });
177
+ })
178
+ .catch((err) => {
179
+ this.$xdLog.catch(err);
180
+ console.log(err, "err");
181
+ });
182
+ }
183
+ },
184
+ });
185
+
186
+ },
187
+
188
+ handleUnBindCard(item) {
189
+ this.$xdConfirm({
190
+ $vm: this,
191
+ content: "您确定要解除绑定票券吗?",
192
+ title: "系统提示",
193
+ width: "80%",
194
+ isTitle: true,
195
+ zIndex: 2000,
196
+ vm: this,
197
+ success: (res) => {
198
+ if (res.confirm) {
199
+ jfbRootExec("disabledCardUnbindEntry", {
200
+ vm: this,
201
+ data: {
202
+ card_number: item.card_number + "",
203
+ },
204
+ })
205
+ .then((res) => {
206
+ this.$xdAlert({
207
+ content: "解绑成功",
208
+ close: () => {
209
+ this.getCardList();
210
+ },
211
+ });
212
+ })
213
+ .catch((err) => {
214
+ this.$xdLog.catch(err);
215
+ console.log(err, "err");
216
+ });
217
+ }
218
+ },
219
+ });
220
+ },
221
+
222
+ /**
223
+ * @description 监听事件变化
224
+ * @param container {object} 业务组件对象自己
225
+ */
226
+ init(container) {},
227
+
228
+ onJfbBack(options) {
229
+ console.log("event.onJfbBack", options);
230
+ },
231
+ },
232
+ };
233
+ </script>
234
+
235
+ <style scoped lang="less">
236
+ @import "./JfbBaseCardDisabledEntryLess.less";
237
+
238
+ .jfb-base-card-disabled-entry {
239
+ &__body {
240
+ padding: unit(30, rpx) unit(30, rpx);
241
+ color: #333;
242
+
243
+ &-card {
244
+ border: 1px dashed rgba(0, 0, 0, 0);
245
+ box-sizing: border-box;
246
+ &-item {
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: flex-start;
250
+ border: unit(2, rpx) solid #eeeeee;
251
+ border-radius: unit(20, rpx);
252
+ margin-bottom: unit(30, rpx);
253
+ background: #fff;
254
+
255
+ &-left {
256
+ width: unit(200, rpx);
257
+ display: flex;
258
+ flex-direction: column;
259
+ align-items: center;
260
+ justify-content: center;
261
+ font-size: unit(24, rpx);
262
+ }
263
+
264
+ &-right {
265
+ flex: 1;
266
+ border-left: unit(2, rpx) solid #eeeeeeff;
267
+
268
+ &-top {
269
+ border-bottom: unit(2, rpx) solid #eeeeeeff;
270
+ padding: unit(30, rpx) unit(40, rpx);
271
+
272
+ & > view:nth-child(1) {
273
+ display: flex;
274
+ font-size: unit(28, rpx);
275
+ margin-bottom: unit(18, rpx);
276
+ }
277
+
278
+ & > view:nth-child(2) {
279
+ font-size: unit(24, rpx);
280
+ color: #bbb;
281
+
282
+ & > view:nth-child(1) {
283
+ margin-right: unit(30, rpx);
284
+ }
285
+ }
286
+ }
287
+
288
+ &-bottom {
289
+ display: flex;
290
+ justify-content: space-between;
291
+ align-items: center;
292
+ padding: unit(30, rpx) unit(40, rpx);
293
+
294
+ &-info {
295
+ &-residue {
296
+ font-size: unit(24, rpx);
297
+ margin-bottom: unit(8, rpx);
298
+ }
299
+
300
+ &-deduction {
301
+ font-size: unit(24, rpx);
302
+ color: #bbb;
303
+ }
304
+ }
305
+
306
+ & > view:nth-child(2) {
307
+ width: unit(80, rpx);
308
+ height: unit(40, rpx);
309
+ border-radius: unit(40, rpx);
310
+ font-size: unit(22, rpx);
311
+ color: #fff;
312
+ text-align: center;
313
+ line-height: unit(40, rpx);
314
+ padding: unit(5, rpx) unit(9, rpx);
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+
321
+ &-disabled {
322
+ font-size: unit(28, rpx);
323
+ color: #b8b7be;
324
+ margin-bottom: unit(30, rpx);
325
+ }
326
+ }
327
+ }
328
+
329
+ .card-list {
330
+ overflow: hidden;
331
+ border-radius: unit(16, rpx);
332
+ margin-bottom: unit(30, rpx);
333
+
334
+ &:last-child {
335
+ margin-bottom: 0;
336
+ }
337
+
338
+
339
+ &__title {
340
+ height: unit(56, rpx);
341
+ display: flex;
342
+ justify-content: flex-start;
343
+ align-items: center;
344
+
345
+ & > view {
346
+ padding: 0 unit(80, rpx);
347
+ font-size: unit(24, rpx);
348
+ line-height: unit(56, rpx);
349
+ background: rgba(102, 102, 102, 0.4);
350
+ color: #fff;
351
+ border-radius: 0 0 unit(16, rpx) 0;
352
+ }
353
+
354
+ }
355
+
356
+ &__content {
357
+ padding: unit(10, rpx) unit(40, rpx) 0;
358
+ height: unit(86, rpx);
359
+ display: flex;
360
+ justify-content: space-between;
361
+ align-items: center;
362
+
363
+ & > view:first-child {
364
+ font-size: unit(36, rpx);
365
+ line-height: unit(86, rpx);
366
+ color: #fff;
367
+ font-weight: 700;
368
+ }
369
+
370
+ & > view:nth-child(2) {
371
+ font-size: unit(24, rpx);
372
+ display: flex;
373
+ justify-content: space-between;
374
+ align-items: center;
375
+ flex-flow: wrap;
376
+ flex-direction: column;
377
+ color: #fff;
378
+ }
379
+ }
380
+
381
+ &__date {
382
+ padding: 0 unit(40, rpx);
383
+ font-size: unit(28, rpx);
384
+ line-height: unit(32, rpx);
385
+ color: #fff;
386
+ }
387
+
388
+ &__yue {
389
+ padding: unit(10, rpx) unit(40, rpx) 0;
390
+ font-size: unit(28, rpx);
391
+ line-height: unit(32, rpx);
392
+ color: #fff;
393
+
394
+ & > text:nth-child(2) {
395
+ font-weight: 700;
396
+ }
397
+ }
398
+
399
+ &__other {
400
+ display: flex;
401
+ justify-content: flex-start;
402
+ align-items: center;
403
+ padding: unit(20, rpx) unit(40, rpx) 0;
404
+ margin-top: unit(0, rpx);
405
+
406
+ & > view {
407
+ border-radius: unit(8, rpx);
408
+ background: rgba(255, 255, 255, 0.2);
409
+ height: unit(48, rpx);
410
+ line-height: unit(48, rpx);
411
+ display: flex;
412
+ justify-content: flex-start;
413
+ align-items: center;
414
+ font-weight: 400;
415
+ font-size: unit(24, rpx);
416
+ padding: 0 unit(20, rpx);
417
+ color: #fff;
418
+ }
419
+
420
+
421
+ }
422
+
423
+ &__nodata {
424
+ padding: unit(20, rpx) unit(40, rpx) 0;
425
+ margin-top: unit(0, rpx);
426
+ color: #fff;
427
+ font-size: unit(28, rpx);
428
+ }
429
+
430
+ &__entry {
431
+ padding: unit(20, rpx) unit(40, rpx) 0;
432
+
433
+ & > view {
434
+ line-height: unit(64, rpx);
435
+ text-align: center;
436
+ font-size: unit(26, rpx);
437
+ border-radius: unit(32, rpx);
438
+ background: rgba(255, 255, 255, 1);
439
+ box-shadow: 0 unit(4, rpx) unit(8, rpx) rgba(156, 62, 0, 0.11);
440
+ font-weight: 500;
441
+ }
442
+ }
443
+
444
+ &__entrys {
445
+ margin: unit(20, rpx) unit(20, rpx) 0;
446
+ padding: unit(30, rpx);
447
+ border-radius: unit(16, rpx);
448
+ background: rgba(255, 255, 255, 1);
449
+ box-shadow: 0 unit(4, rpx) unit(8, rpx) rgba(156, 62, 0, 0.11);
450
+
451
+ &-title {
452
+ display: flex;
453
+ justify-content: space-between;
454
+ align-items: center;
455
+
456
+
457
+ & > view:first-child {
458
+ font-size: unit(28, rpx);
459
+ font-weight: 500;
460
+ flex: 1;
461
+ }
462
+
463
+ & > view:nth-child(2) {
464
+ display: flex;
465
+ justify-content: flex-start;
466
+ align-items: center;
467
+ flex-shrink: 0;
468
+ font-size: unit(20, rpx);
469
+ color: #999;
470
+ }
471
+ }
472
+
473
+ &-scroll {
474
+
475
+ }
476
+
477
+ &-item {
478
+ display: flex;
479
+ justify-content: flex-start;
480
+ align-items: center;
481
+ flex-flow: nowrap;
482
+ margin-left: unit(-14, rpx);
483
+ padding-top: unit(20, rpx);
484
+
485
+ & > view {
486
+ width: unit(120, rpx);
487
+ margin-right: unit(10, rpx);
488
+ flex-shrink: 0;
489
+ display: flex;
490
+ justify-content: center;
491
+ flex-direction: column;
492
+ align-items: center;
493
+
494
+ & > view:first-child {
495
+ width: unit(76, rpx);
496
+ height: unit(76, rpx);
497
+ overflow: hidden;
498
+
499
+ & > image {
500
+ height: 100%;
501
+ width: 100%;
502
+ }
503
+ }
504
+
505
+ & > view:nth-child(2) {
506
+ margin-top: unit(10, rpx);
507
+ font-size: unit(24, rpx);
508
+ line-height: unit(36, rpx);
509
+ margin-bottom: unit(10, rpx);
510
+ }
511
+
512
+ & > view:nth-child(3) {
513
+ display: flex;
514
+ justify-content: flex-start;
515
+ align-items: center;
516
+ flex-shrink: 0;
517
+ font-size: unit(20, rpx);
518
+ color: #999;
519
+ }
520
+
521
+ &:last-child {
522
+ margin-right: 0;
523
+ }
524
+
525
+ }
526
+
527
+
528
+ }
529
+ }
530
+
531
+
532
+ &-warp {
533
+ width: unit(700, rpx);
534
+ min-height: unit(310, rpx);
535
+ position: relative;
536
+ border-radius: unit(16, rpx);
537
+ background-size: 100%;
538
+ padding-bottom: unit(20, rpx);
539
+ }
540
+ }
541
+
542
+ .bottom_btn {
543
+ position: fixed;
544
+ width: 100%;
545
+ display: flex;
546
+ justify-content: center;
547
+ align-items: center;
548
+ height: unit(120, rpx);
549
+ background: #ffffff;
550
+
551
+ &-mask {
552
+ height: unit(120, rpx);
553
+ }
554
+ }
555
+ </style>