jufubao-base 1.0.56-beta9 → 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-beta9",
3
+ "version": "1.0.56",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -299,15 +299,17 @@ export default {
299
299
  this.noticeBackgroundColor = Color(this.warningColor).alpha(0.2).toString();
300
300
  this.isPreview = this.$configProject.isPreview;
301
301
 
302
-
303
302
  //#ifdef H5
304
- this.isWx = isWechat();
303
+ this.isWx = this.isPreview || isWechat();
304
+
305
305
  if (!this.$configProject.isPreview) {
306
306
  jfbRootExec("getH5WxAuthorize", {
307
307
  vm: this,
308
308
  data: {site_id: "wx_pub"},
309
309
  })
310
- .then()
310
+ .then(res => {
311
+ console.log(0)
312
+ })
311
313
  .catch(error=>{
312
314
  this.$xdAlert({
313
315
  content: error,
@@ -329,6 +331,7 @@ export default {
329
331
  this.allEntryPath = getContainerPropsValue(container,"content.allEntryPath",{value: ""}).value;
330
332
  this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
331
333
  },
334
+
332
335
  handleToLink(path) {
333
336
  this.$xdUniHelper.navigateTo({
334
337
  url: path,
@@ -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>
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @desc 获取绝对路径完整地址
3
+ * @param @path
4
+ **/
5
+ //例如:https://image.jufubao.cn/20220501010108/image/bg/default_gonghui_bg.png
6
+ @basePath: 'business/';
7
+ @doMain: '//sandbox-img.jufubao.cn/';
8
+
9
+ .getBusinessImageUrl(@path, @size: 'size8') {
10
+ @url: "@{doMain}@{basePath}@{path}?x-oss-process=style/@{size}";
11
+ background-image: url(@url);
12
+ }
13
+
14
+ //start
15
+ .jfb-base-card-disabled-entry {
16
+ border: 1px dashed rgba(0, 0, 0, 0);
17
+ box-sizing: border-box;
18
+ min-height: unit(100, rpx);
19
+
20
+ &__body{
21
+ position: relative;
22
+ overflow: hidden;
23
+ z-index: 2
24
+ }
25
+
26
+ &.editx {
27
+ position: relative;
28
+ border: 1px dashed blue;
29
+ box-sizing: border-box;
30
+ z-index: 3
31
+
32
+ }
33
+
34
+ &:hover {
35
+ border: 1px dashed blue;
36
+ }
37
+
38
+ &.noBorder {
39
+ border-color: rgba(0,0,0,0);
40
+ border-width: 0;
41
+ }
42
+
43
+
44
+ &__edit {
45
+ cursor: pointer;
46
+ position: absolute;
47
+ right: unit(0, rpx);
48
+ top: unit(-52, rpx);
49
+ height: unit(50, rpx);
50
+ line-height: unit(50, rpx);
51
+ display: flex;
52
+ justify-content: center;
53
+ align-items: center;
54
+ background: rgba(0, 0, 0, .6);
55
+ border-radius: unit(10, rpx);
56
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
57
+ color: #fff;
58
+ font-size: unit(22, rpx);
59
+
60
+ &-icon{
61
+ padding: 0 unit(20, rpx);
62
+ }
63
+
64
+ &.editx {
65
+ box-sizing: border-box;
66
+
67
+ }
68
+ }
69
+ }
70
+ //end
71
+
72
+
73
+ /**notPreview**/
74
+ .jfb-base-card-disabled-entry {
75
+ &:before {
76
+ content: " ";
77
+ display: table;
78
+ }
79
+ }
80
+ /**endNotPreview**/