jufubao-base 1.0.119-beta12 → 1.0.119-beta14

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.
@@ -2,109 +2,797 @@
2
2
  <view
3
3
  class="jfb-base-wallet-index"
4
4
  @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
5
+ :class="{ editx: isEditx && active }"
6
6
  >
7
7
  <!--#ifdef H5-->
8
8
  <view
9
9
  class="jfb-base-wallet-index__edit"
10
- :class="{ editx : isEditx && active }"
10
+ :class="{ editx: isEditx && active }"
11
11
  v-if="isEditx && active"
12
12
  >
13
- <view class="jfb-base-wallet-index__edit-icon" @click="delEdit">删除</view>
13
+ <view class="jfb-base-wallet-index__edit-icon" @click="delEdit"
14
+ >删除</view
15
+ >
14
16
  </view>
15
17
  <!-- #endif -->
16
- <view class="jfb-base-wallet-index__body">
17
- <view>测试插件( {{containerId}} )</view>
18
+ <view v-if="status" class="jfb-base-wallet-index__body">
19
+ <view
20
+ style="padding: 32rpx 40rpx"
21
+ class="jfb-base-wallet-index__body-wrap"
22
+ >
23
+ <view class="jfb-base-wallet-index__body-header">
24
+ <view class="jfb-base-wallet-index__body-header-total">
25
+ <view>
26
+ <XdFontIcon
27
+ :icon="type === 'wallet' ? 'iconyuanbao' : 'iconjifenjilu'"
28
+ ></XdFontIcon>
29
+ <text>{{ show_name }}</text>
30
+ </view>
31
+ <view>{{ total_amount }}</view>
32
+ </view>
33
+ <XdFontIcon
34
+ v-if="typeList.length"
35
+ @click="handleShowQrcode"
36
+ style="align-items: flex-start"
37
+ color="#999999"
38
+ size="60"
39
+ icon="iconerweima"
40
+ ></XdFontIcon>
41
+ </view>
42
+ <view
43
+ :style="{
44
+ justifyContent:
45
+ typeList.length === 2
46
+ ? 'space-between'
47
+ : typeList.length === 1
48
+ ? 'center'
49
+ : '',
50
+ }"
51
+ class="jfb-base-wallet-index__body-type"
52
+ >
53
+ <view
54
+ :style="{
55
+ width:
56
+ typeList.length === 2
57
+ ? '50%'
58
+ : typeList.length === 1
59
+ ? '100%'
60
+ : '33%',
61
+ }"
62
+ v-for="(item, index) in typeList"
63
+ :key="index"
64
+ class="jfb-base-wallet-index__body-type-item"
65
+ @click="handleToWalletDetail(item)"
66
+ >
67
+ <view>{{ dividePrice(item.amount) }}</view>
68
+ <view :style="{ color: mainColor }">{{ item.wallet_name }}</view>
69
+ </view>
70
+ </view>
71
+ </view>
72
+ <view class="jfb-base-wallet-index__body-title">收支明细</view>
73
+ <view class="jfb-base-wallet-index__body-wrap">
74
+ <view class="jfb-base-wallet-index__body-filter">
75
+ <picker
76
+ fields="month"
77
+ mode="date"
78
+ :value="date"
79
+ @change="bindDateChange"
80
+ >
81
+ <view class="jfb-base-wallet-index__body-filter-condition">
82
+ <text>全部月份</text>
83
+ <XdFontIcon size="24" icon="iconxia_down"></XdFontIcon>
84
+ </view>
85
+ </picker>
86
+ <picker
87
+ mode="selector"
88
+ range-key="label"
89
+ :value="operate_type"
90
+ :range="buySale"
91
+ @change="bindOperateChange"
92
+ >
93
+ <view class="jfb-base-wallet-index__body-filter-condition">
94
+ <text>全部收支</text>
95
+ <XdFontIcon size="24" icon="iconxia_down"></XdFontIcon>
96
+ </view>
97
+ </picker>
98
+ </view>
99
+ <view class="jfb-base-wallet-index__body-list">
100
+ <view v-if="detailList.length">
101
+ <view
102
+ v-for="(item, index) in detailList"
103
+ :key="index"
104
+ class="jfb-base-wallet-index__body-list-item"
105
+ @click="handleToBillDetail(item)"
106
+ >
107
+ <view>
108
+ <XdFontIcon
109
+ :icon="
110
+ item.operate_type === 'A' ? 'iconshouru' : 'iconzhichu'
111
+ "
112
+ ></XdFontIcon>
113
+ <text style="margin-left:10rpx">消费{{ item.operate_type_name }}</text>
114
+ </view>
115
+ <view>
116
+ <view
117
+ >{{ item.operate_type === "A" ? "+" : "-" }}
118
+ {{ dividePrice(item.amount) }}</view
119
+ >
120
+ <view>{{ item.created_time }}</view>
121
+ </view>
122
+ </view>
123
+ </view>
124
+ <view class="jfb-base-wallet-index__body-list-empty" v-else
125
+ >暂无数据</view
126
+ >
127
+ </view>
128
+ </view>
129
+ <XdDailog
130
+ :show.sync="showQrcode"
131
+ :cancel="false"
132
+ :confirm="false"
133
+ @close="handleClose"
134
+ title=""
135
+ >
136
+ <view class="jfb-base-wallet-index__body-qrcode">
137
+ <view>
138
+ <view>
139
+ <image mode="aspectFit" :src="dynamic_barcode"></image>
140
+ </view>
141
+ </view>
142
+ <view>
143
+ <image
144
+ :style="{ width: '300rpx', height: '300rpx' }"
145
+ :src="dynamic_qrcode"
146
+ ></image>
147
+ </view>
148
+ <view v-if="timeStr"> {{ timeStr }}后自动刷新</view>
149
+ <view class="jfb-base-wallet-index__body-qrcode-refresh">
150
+ <XdFontIcon icon="iconmian-loading"></XdFontIcon>
151
+ <text @click="getQrcode">刷新二维码</text>
152
+ </view>
153
+ </view>
154
+ <view class="jfb-base-wallet-index__body-pay">
155
+ <view class="jfb-base-wallet-index__body-pay-type">
156
+ <view>付款方式</view>
157
+ <view>
158
+ <view> {{ qrcodeInfo.wallet_name }} </view>
159
+ <XdFontIcon size="20" icon="iconxia_down"></XdFontIcon>
160
+ </view>
161
+ </view>
162
+ <view class="jfb-base-wallet-index__body-pay-id"
163
+ >ID:{{ qrcodeInfo.wallet_virtual_number }}</view
164
+ >
165
+ </view>
166
+ </XdDailog>
167
+ <XdDownDrawer @close="handleDrawerClose" :show.sync="showPayType">
168
+ <view style="max-height: 70vh; overflow-y: auto">
169
+ <view style="text-align: center; color: #666; padding: 24rpx 0"
170
+ >请选择付款方式</view
171
+ >
172
+ <view
173
+ v-for="(item, index) in typeList"
174
+ :key="index"
175
+ class="jfb-base-wallet-index__body-wrap jfb-base-wallet-index__body-chose"
176
+ >
177
+ <view class="jfb-base-wallet-index__body-chose-select">
178
+ <view class="jfb-base-wallet-index__body-chose-select-left">
179
+ <view>
180
+ <XdFontIcon
181
+ :icon="type === 'wallet' ? 'iconyuanbao' : 'iconjifenjilu'"
182
+ ></XdFontIcon>
183
+ <text>{{ item.wallet_name }}</text>
184
+ </view>
185
+ <view>{{ dividePrice(item.amount) }}</view>
186
+ </view>
187
+ <XdRadio
188
+ @change="(flat) => handlerChosePay(flat, item)"
189
+ :value="wallet_type == item.wallet_type"
190
+ size="mini"
191
+ ></XdRadio>
192
+ </view>
193
+ <view class="jfb-base-wallet-index__body-chose-bussiness">
194
+ <view>使用范围</view>
195
+ <view>{{ item.business_codes_name }}</view>
196
+ </view>
197
+ </view>
198
+ <view style="height: 150rpx"></view>
199
+ <view v-if="showPayType" class="bottom_btn" :style="alert_bottom">
200
+ <xd-button
201
+ :disabled="!wallet_type"
202
+ @click="handleUse"
203
+ width="360rpx"
204
+ type="primary"
205
+ radius="50rpx"
206
+ >确认使用</xd-button
207
+ >
208
+ </view>
209
+ </view>
210
+ </XdDownDrawer>
18
211
  </view>
19
212
  </view>
20
213
  </template>
21
214
 
22
215
  <script>
23
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
- import { jfbRootExec } from "@/utils/xd.event";
25
- import JfbBaseWalletIndexMixin from "./JfbBaseWalletIndexMixin";
26
- import { getContainerPropsValue } from "@/utils/xd.base";
27
- import componentsMixins from "@/mixins/componentsMixins";
28
- import extsMixins from "@/mixins/extsMixins";
29
- export default {
30
- name: "JfbBaseWalletIndex",
31
- components: {
32
- XdFontIcon
33
- },
34
- mixins: [
35
- componentsMixins, extsMixins, JfbBaseWalletIndexMixin
36
- ],
37
- data() {
38
- return {
216
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
217
+ import { jfbRootExec } from "@/utils/xd.event";
218
+ import JfbBaseWalletIndexMixin from "./JfbBaseWalletIndexMixin";
219
+ import XdDailog from "@/components/XdDailog/XdDailog";
220
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer";
221
+ import XdButton from "@/components/XdButton/XdButton";
222
+ import XdRadio from "@/components/XdRadio/XdRadio";
223
+ import { getContainerPropsValue } from "@/utils/xd.base";
224
+ import componentsMixins from "@/mixins/componentsMixins";
225
+ import extsMixins from "@/mixins/extsMixins";
226
+ export default {
227
+ name: "JfbBaseWalletIndex",
228
+ components: {
229
+ XdFontIcon,
230
+ XdDailog,
231
+ XdDownDrawer,
232
+ XdRadio,
233
+ XdButton,
234
+ },
235
+ mixins: [componentsMixins, extsMixins, JfbBaseWalletIndexMixin],
236
+ data() {
237
+ return {
238
+ typeList: [],
239
+ detailList: [],
240
+ buySale: [
241
+ {
242
+ label: "全部",
243
+ value: "",
244
+ },
245
+ {
246
+ label: "支出",
247
+ value: "R",
248
+ },
249
+ {
250
+ label: "收入",
251
+ value: "A",
252
+ },
253
+ ],
254
+ qrcodeInfo: {},
255
+ date: "",
256
+ operate_type: "",
257
+ hasNext: true,
258
+ next_page_token: "",
259
+ page_size: 10,
260
+ page_token: 1,
261
+ billDetailPath: "",
262
+ walletDetailPath: "",
263
+ dynamic_qrcode: "",
264
+ dynamic_barcode: "",
265
+ timeStr: "",
266
+ timeer: null,
267
+ showQrcode: false,
268
+ showPayType: false,
269
+ wallet_type: null,
270
+ type: "",
271
+ total_amount: 0,
272
+ show_name: "",
273
+ status: false,
274
+ };
275
+ },
276
+ watch: {
277
+ container(value) {
278
+ this.init(value);
279
+ },
280
+ },
281
+ created() {
282
+ this.init(this.container);
39
283
 
40
- //todo
41
- }
284
+ //todo
285
+ },
286
+ computed: {
287
+ alert_bottom() {
288
+ return this.fixedStyle({ paddingBottom: 24, zIndex: 110 });
42
289
  },
43
- watch: {
44
- container(value) {
45
- this.init(value)
46
- }
290
+ },
291
+ destroyed() {
292
+ if (this.timeer) {
293
+ clearTimeout(this.timeer);
294
+ this.timeStr = "00分00秒";
295
+ }
296
+ },
297
+ methods: {
298
+ async onJfbLoad(options) {
299
+ this.type = options.type;
300
+ await jfbRootExec("getWalletList", {
301
+ vm: this,
302
+ data: { support_method: this.type },
303
+ })
304
+ .then((res) => {
305
+ this.total_amount = this.dividePrice(res.total_amount);
306
+ this.show_name = res.show_name;
307
+ this.typeList = res.list.map((item) => {
308
+ if (item.business_codes_name) {
309
+ const codes = item.business_codes_name.split(",");
310
+ const newCodes = codes.map((code) => code.trim()).join("、");
311
+ item.business_codes_name = newCodes;
312
+ }
313
+ return item;
314
+ });
315
+ console.log(this.typeList, "pppppp");
316
+ })
317
+ .catch(this.$xdLog.catch);
318
+ await this.getList();
319
+ this.status = true;
47
320
  },
48
- created() {
49
- this.init(this.container);
50
-
321
+ getList() {
322
+ console.log(this.data, this.operate_type, "operate_typeoperate_type");
323
+ jfbRootExec("getWalletRecordList", {
324
+ vm: this,
325
+ data: {
326
+ support_method: this.type,
327
+ month: this.date,
328
+ page_size: this.page_size,
329
+ page_token: this.page_token,
330
+ operate_type: this.operate_type,
331
+ },
332
+ })
333
+ .then((res) => {
334
+ try {
335
+ let list = res.list.map((item) => {
336
+ const timestamp = item.created_time * 1000;
337
+ const date = new Date(timestamp);
338
+ const year = date.getFullYear();
339
+ const month = ("0" + (date.getMonth() + 1)).slice(-2);
340
+ const day = ("0" + date.getDate()).slice(-2);
341
+ const hours = ("0" + date.getHours()).slice(-2);
342
+ const minutes = ("0" + date.getMinutes()).slice(-2);
343
+ const seconds = ("0" + date.getSeconds()).slice(-2);
344
+ const formattedDate =
345
+ year +
346
+ "-" +
347
+ month +
348
+ "-" +
349
+ day +
350
+ " " +
351
+ hours +
352
+ ":" +
353
+ minutes +
354
+ ":" +
355
+ seconds;
356
+ item.created_time = formattedDate;
357
+ return item;
358
+ });
359
+ if (this.page_token === 1) {
360
+ this.detailList = list;
361
+ } else {
362
+ this.detailList = this.detailList.concat(list);
363
+ }
364
+ this.hasNext = res.next_page_token !== "";
365
+ this.next_page_token = res.next_page_token;
366
+ } catch (error) {
367
+ console.log(error, "alaakakakak");
368
+ }
369
+ })
370
+ .catch(this.$xdLog.catch);
371
+ },
372
+ dividePrice(num) {
373
+ return this.$xdUniHelper.divisionFloatNumber(num, 100);
374
+ },
375
+ getQrcode() {
51
376
  //todo
377
+ jfbRootExec("getWalletQrcode", {
378
+ vm: this,
379
+ data: {
380
+ wallet_type: this.wallet_type,
381
+ },
382
+ })
383
+ .then((res) => {
384
+ this.dynamic_qrcode = res.dynamic_qrcode;
385
+ this.dynamic_barcode = res.dynamic_barcode;
386
+ this.qrcodeInfo = res.wallet;
387
+ this.showQrcode = true;
388
+ if (this.timeer) {
389
+ clearInterval(this.timeer);
390
+ this.timeer = null;
391
+ }
392
+ this.setInval(res.dynamic_qrcode_expired);
393
+ })
394
+ .catch(this.$xdLog.catch);
395
+ },
396
+ setInval(time) {
397
+ console.log("pppppp", time);
398
+ this.timeer = setInterval(() => {
399
+ if (time === 0) {
400
+ this.timeStr = "00分00秒";
401
+ clearInterval(this.timeer);
402
+ this.getQrcode();
403
+ } else {
404
+ time--;
405
+ let f = Math.floor(time / 60);
406
+ f = f < 10 ? "0" + f : f;
407
+ let m = time % 60;
408
+ m = m < 10 ? "0" + m : m;
409
+ this.timeStr = `${f}分${m}秒`;
410
+ }
411
+ }, 1000);
52
412
  },
53
- methods: {
54
- onJfbLoad(options) {
413
+ bindDateChange(e) {
414
+ console.log(e, "mmmmmm");
55
415
 
56
- // jfbRootExec('baiduUserLogin', {
416
+ //调用搜索
417
+ this.detailList = [];
418
+ this.page_token = 1;
419
+ this.hasNext = true;
420
+ this.date = e.detail.value;
421
+ this.getList();
422
+ },
423
+ bindOperateChange(e) {
424
+ //调用搜索
425
+ this.detailList = [];
426
+ this.page_token = 1;
427
+ this.hasNext = true;
428
+ this.operate_type = this.buySale[e.detail.value].value;
429
+ this.getList();
430
+ },
431
+ dividePrice(num) {
432
+ return this.$xdUniHelper.divisionFloatNumber(num, 100);
433
+ },
434
+ /**
435
+ * @description 监听事件变化
436
+ * @param container {object} 业务组件对象自己
437
+ */
438
+ init(container) {
439
+ this.billDetailPath = getContainerPropsValue(
440
+ container,
441
+ "content.billDetailPath",
442
+ {
443
+ value: "",
444
+ }
445
+ ).value;
446
+ this.walletDetailPath = getContainerPropsValue(
447
+ container,
448
+ "content.walletDetailPath",
449
+ {
450
+ value: "",
451
+ }
452
+ ).value;
453
+ },
454
+ handleToWalletDetail(item) {
455
+ this.$xdUniHelper.navigateTo({
456
+ url: `${this.walletDetailPath}?wallet_type=${item.wallet_type}&type=${this.type}`,
457
+ });
458
+ },
459
+ handleToBillDetail(item) {
460
+ this.$xdUniHelper.navigateTo({
461
+ url: `${this.billDetailPath}?trade_id=${item.trade_id}`,
462
+ });
463
+ },
464
+ handleShowQrcode() {
465
+ if (this.typeList.length === 1) {
466
+ this.wallet_type = this.typeList[0].wallet_type;
467
+ this.getQrcode();
468
+ } else {
469
+ this.showPayType = true;
470
+ }
471
+ },
472
+ handlerChosePay(flat, item) {
473
+ console.log(flat, item, "alalaalaal");
474
+ if (flat) {
475
+ this.wallet_type = item.wallet_type;
476
+ } else {
477
+ this.wallet_type = null;
478
+ }
479
+ },
480
+ handleUse() {
481
+ this.showPayType = false;
482
+ this.getQrcode();
483
+ },
484
+ handleClose() {
485
+ this.qrcodeInfo = {};
486
+ if (this.timeer) {
487
+ clearInterval(this.timeer);
488
+ this.timeer = null;
489
+ }
490
+ this.wallet_type = null;
491
+ this.timeStr = "00分00秒";
492
+ },
493
+ handleDrawerClose() {
494
+ this.wallet_type = null;
495
+ },
496
+ onJfbScroll(options) {
497
+ console.log("event.onJfbScroll", options);
498
+ },
499
+ onJfbReachBottom(options) {
500
+ console.log("1111");
501
+ if (this.hasNext) {
502
+ this.page_token = this.next_page_token;
503
+ this.getList();
504
+ }
505
+ },
506
+ onJfbShow(options) {
507
+ console.log("event.onJfbShow", options);
508
+ },
509
+ onJfbHide(options) {
510
+ if (this.timeer) {
511
+ clearInterval(this.timeer);
512
+ this.timeer = null;
513
+ }
514
+ this.timeStr = "00分00秒";
515
+ },
516
+ onJfbBack(options) {
517
+ if (this.timeer) {
518
+ clearInterval(this.timeer);
519
+ this.timeer = null;
520
+ }
521
+ this.timeStr = "00分00秒";
522
+ this.$xdUniHelper.navigateBack();
523
+ },
524
+ onJfbUnload() {
525
+ if (this.timeer) {
526
+ clearInterval(this.timeer);
527
+ this.timeer = null;
528
+ }
529
+ this.timeStr = "00分00秒";
530
+ },
531
+ onJfbUpdate(...data) {
532
+ console.log("event.onJfbUpdate", data);
533
+ },
534
+ onJfbCustomEvent(options) {
535
+ console.log("event.onJfbReachBottom", options);
536
+ },
537
+ },
538
+ };
539
+ </script>
57
540
 
58
- // vm: this,// data: {
541
+ <style scoped lang="less">
542
+ @import "./JfbBaseWalletIndexLess.less";
59
543
 
60
- // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
544
+ .jfb-base-wallet-index {
545
+ &__body {
546
+ &-wrap {
547
+ border-radius: 20rpx;
548
+ background: #ffffff;
549
+ border: 1rpx solid #eeeeee;
550
+ margin: 20rpx 20rpx 0 20rpx;
551
+ }
552
+ &-header {
553
+ display: flex;
554
+ justify-content: space-between;
555
+ font-size: 28rpx;
556
+ color: #333333;
557
+ border-bottom: 1px solid #eee;
558
+ padding-bottom: 28rpx;
559
+ &-total {
560
+ & > view:first-child {
561
+ display: flex;
562
+ align-items: center;
563
+ font-size: 24rpx;
564
+ & > text {
565
+ margin-left: 10rpx;
566
+ }
567
+ }
568
+ & > view:last-child {
569
+ font-size: 64rpx;
570
+ color: #333;
571
+ }
572
+ }
573
+ }
574
+ &-type {
575
+ padding-top: 28rpx;
576
+ display: flex;
577
+ flex-wrap: wrap;
578
+ &-item {
579
+ text-align: center;
580
+ margin-bottom: 20rpx;
581
+ & > view:first-child {
582
+ font-size: 36rpx;
583
+ }
584
+ & > view:last-child {
585
+ font-size: 24rpx;
586
+ margin-top: 20rpx;
587
+ }
588
+ }
589
+ }
590
+ &-title {
591
+ font-size: 28rpx;
592
+ padding: 40rpx 60rpx 20rpx 60rpx;
593
+ }
594
+ &-filter {
595
+ display: flex;
596
+ justify-content: space-around;
597
+ padding: 40rpx 0;
598
+ border-bottom: 2rpx solid #eee;
599
+ color: #666666;
600
+ font-size: 24rpx;
601
+ &-condition {
602
+ display: flex;
603
+ align-items: center;
604
+ font-size: 28rpx;
605
+ & > text {
606
+ margin-right: 10rpx;
607
+ }
608
+ }
609
+ }
610
+ &-list {
611
+ padding: 40rpx 40rpx 0 40rpx;
612
+ color: #333;
613
+ &-item {
614
+ display: flex;
615
+ justify-content: space-between;
616
+ padding-bottom: 40rpx;
617
+ & > view:first-child {
618
+ display: flex;
619
+ align-items: center;
620
+ text-align: left;
621
+ font-size: 28rpx;
622
+ }
623
+ & > view:nth-child(2) {
624
+ & > view:first-child {
625
+ color: #666;
626
+ font-size: 32rpx;
627
+ font-weight: 700;
628
+ text-align: right;
629
+ }
630
+ & > view:nth-child(2) {
631
+ color: #999;
632
+ font-size: 22rpx;
633
+ margin-top: 24rpx;
634
+ }
635
+ }
636
+ }
637
+ &-empty {
638
+ display: flex;
639
+ justify-content: center;
640
+ align-items: center;
641
+ padding-bottom: 40rpx;
642
+ color: #999;
643
+ font-size: 28rpx;
644
+ }
645
+ }
646
+ &-qrcode {
647
+ text-align: center;
648
+ font-size: @xd-font-size-base;
649
+ line-height: unit(36, rpx);
650
+ padding-top: 20rpx;
61
651
 
62
- // }
652
+ & > view {
653
+ // margin-bottom: unit(20, rpx);
63
654
 
64
- // }).then().catch()
65
- },
66
- /**
67
- * @description 监听事件变化
68
- * @param container {object} 业务组件对象自己
69
- */
70
- init(container) {
655
+ & > view {
656
+ margin-bottom: 0;
657
+ }
658
+ }
71
659
 
72
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
660
+ & > view:nth-child(1) {
661
+ display: flex;
662
+ justify-content: center;
663
+ align-items: center;
664
+ box-sizing: border-box;
665
+ height: unit(140, rpx);
666
+ width: 100%;
667
+ margin-top: unit(20, rpx);
73
668
 
74
- //this.height = getContainerPropsValue(container, 'content.height', 10);
75
- },
76
- onJfbScroll(options) {
77
- console.log('event.onJfbScroll', options)
78
- },
79
- onJfbReachBottom(options) {
80
- console.log('event.onJfbReachBottom', options)
81
- },
82
- onJfbShow(options) {
83
- console.log('event.onJfbShow', options)
84
- },
85
- onJfbHide(options) {
86
- console.log('event.onJfbHide', options)
87
- },
88
- onJfbBack(options) {
89
- console.log('event.onJfbBack', options)
90
- },
91
- onJfbUpdate(...data) {
92
- console.log('event.onJfbUpdate', data)
93
- },
94
- onJfbCustomEvent(options) {
95
- console.log('event.onJfbReachBottom', options)
96
- },
97
- }
98
- }
669
+ & > view {
670
+ width: 100%;
671
+ height: unit(140, rpx);
672
+ padding: unit(10, rpx);
673
+ display: flex;
674
+ justify-content: center;
675
+ align-items: center;
99
676
 
100
- </script>
677
+ & > image {
678
+ max-width: 100%;
679
+ max-height: unit(140, rpx);
680
+ }
681
+ }
682
+ }
101
683
 
102
- <style scoped lang="less">
103
- @import "./JfbBaseWalletIndexLess.less";
684
+ & > view:nth-child(2) {
685
+ display: flex;
686
+ justify-content: center;
687
+ align-items: center;
688
+ padding: unit(20, rpx);
104
689
 
105
- .jfb-base-wallet-index {
106
- &__body{
690
+ & > view {
691
+ width: unit(450, rpx);
692
+ height: unit(450, rpx);
693
+ padding: unit(10, rpx);
107
694
 
695
+ & > image {
696
+ width: unit(450, rpx);
697
+ height: unit(450, rpx);
698
+ }
699
+ }
700
+ }
701
+ &-refresh {
702
+ border-radius: 50rpx;
703
+ border: 2rpx solid #999999;
704
+ display: flex;
705
+ justify-content: center;
706
+ align-items: center;
707
+ padding: 20rpx 0 20rpx 0;
708
+ color: #999;
709
+ width: 300rpx;
710
+ position: relative;
711
+ left: 50%;
712
+ transform: translateX(-50%);
713
+ margin-top: 30rpx;
714
+ & > text {
715
+ margin-left: 20rpx;
716
+ }
717
+ }
108
718
  }
719
+ &-pay {
720
+ border-radius: 16rpx;
721
+ border: 2rpx solid #eeeeee;
722
+ display: flex;
723
+ flex-direction: column;
724
+ padding: 24rpx;
725
+ margin-top: 30rpx;
726
+ font-size: 28rpx;
727
+ &-type {
728
+ display: flex;
729
+ justify-content: space-between;
730
+ align-items: center;
731
+ font-size: 28rpx;
732
+ color: #666666;
733
+ & > view:nth-child(2) {
734
+ display: flex;
735
+ align-items: center;
736
+ }
737
+ }
738
+ &-id {
739
+ color: #333;
740
+ font-weight: 500;
741
+ text-align: right;
742
+ margin-top: 24rpx;
743
+ }
744
+ }
745
+ &-chose {
746
+ padding: 28rpx 40rpx;
747
+ &-select {
748
+ display: flex;
749
+ justify-content: space-between;
750
+ align-items: center;
751
+ border-bottom: 2rpx solid #eee;
752
+ padding-bottom: 24rpx;
753
+ &-left {
754
+ display: flex;
755
+ align-items: center;
756
+ flex-direction: column;
757
+ & > view:first-child {
758
+ display: flex;
759
+ align-items: center;
760
+ font-size: 24rpx;
761
+ color: #333;
762
+ & > text {
763
+ margin-left: 10rpx;
764
+ }
765
+ }
766
+ & > view:last-child {
767
+ font-size: 48rpx;
768
+ font-weight: 500;
769
+ color: #333;
770
+ margin-top: 12rpx;
771
+ }
772
+ }
773
+ }
774
+ &-bussiness {
775
+ padding-top: 24rpx;
776
+ font-size: 24rpx;
777
+ & > view:first-child {
778
+ color: #666;
779
+ }
780
+ & > view:last-child {
781
+ color: #999;
782
+ margin-top: 20rpx;
783
+ }
784
+ }
785
+ }
786
+ }
787
+ .bottom_btn {
788
+ position: fixed;
789
+ width: 100%;
790
+ padding: 24rpx 0;
791
+ background: #ffffff;
792
+ box-shadow: 0 0 0px 1px rgba(0, 0, 0, 0.1);
793
+ transition: 500ms all;
794
+ padding-bottom: calc(24rpx + env(safe-area-inset-bottom));
795
+ padding-bottom: calc(24rpx + constant(safe-area-inset-bottom));
109
796
  }
797
+ }
110
798
  </style>