jufubao-base 1.0.56 → 1.0.61-beta1002

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.
Files changed (32) hide show
  1. package/package.json +2 -2
  2. package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +19 -1
  3. package/src/components/JfbBaseCardDetailEntry/Api.js +58 -0
  4. package/src/components/JfbBaseCardDetailEntry/Attr.js +30 -0
  5. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +920 -0
  6. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntryLess.less +80 -0
  7. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntryMixin.js +30 -0
  8. package/src/components/JfbBaseCardDetailEntry/Mock.js +106 -0
  9. package/src/components/JfbBaseCardDetailEntry/XdEditPwd.vue +299 -0
  10. package/src/components/JfbBaseCardDetailEntry/XdPwPay.vue +214 -0
  11. package/src/components/JfbBaseCardDisabledEntry/Api.js +12 -7
  12. package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +39 -12
  13. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +37 -1
  14. package/src/components/JfbBaseCardInfoEntry/Api.js +71 -0
  15. package/src/components/JfbBaseCardInfoEntry/Attr.js +37 -0
  16. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +768 -0
  17. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntryLess.less +80 -0
  18. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntryMixin.js +30 -0
  19. package/src/components/JfbBaseCardInfoEntry/Mock.js +122 -0
  20. package/src/components/JfbBaseCardMergeEntry/Api.js +61 -0
  21. package/src/components/JfbBaseCardMergeEntry/Attr.js +237 -0
  22. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +443 -0
  23. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntryLess.less +80 -0
  24. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntryMixin.js +30 -0
  25. package/src/components/JfbBaseCardMergeEntry/Mock.js +32 -0
  26. package/src/components/JfbBaseCardShiftEntry/Api.js +51 -0
  27. package/src/components/JfbBaseCardShiftEntry/Attr.js +237 -0
  28. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +593 -0
  29. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntryLess.less +80 -0
  30. package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntryMixin.js +30 -0
  31. package/src/components/JfbBaseCardShiftEntry/Mock.js +5 -0
  32. package/src/mixins/colorCardMixins.js +1 -1
@@ -0,0 +1,768 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-card-info-entry"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx: isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-card-info-entry__edit"
10
+ :class="{ editx: isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-card-info-entry__edit-icon" @click="delEdit"
14
+ >删除</view
15
+ >
16
+ </view>
17
+ <!-- #endif -->
18
+ <view class="jfb-base-card-info-entry__body" :style="{minHeight: layoutInfo.bodyMinHeightRpx + 'rpx'}">
19
+ <view v-if="!qrcode && showForm">
20
+ <view>
21
+ <view class="jfb-base-card-info-entry__body-form">
22
+ <view class="jfb-base-card-info-entry__body-form-label"
23
+ >票券号码</view
24
+ >
25
+ <input
26
+ type="number"
27
+ max="32"
28
+ v-model="card_number"
29
+ :placeholder="card_num_placeholder"
30
+ />
31
+ </view>
32
+ <view class="jfb-base-card-info-entry__body-form">
33
+ <view class="jfb-base-card-info-entry__body-form-label"
34
+ >票券密码</view
35
+ >
36
+ <input
37
+ max="18"
38
+ :password="isPassword"
39
+ v-model="card_password"
40
+ :placeholder="card_pwd_placeholder"
41
+ />
42
+ <xd-font-icon
43
+ @click="isPassword = !isPassword"
44
+ :icon="isPassword ? 'iconbiyan' : 'iconchakan'"
45
+ ></xd-font-icon>
46
+ </view>
47
+ </view>
48
+ <view :style="{ height: '100rpx' }"></view>
49
+ <view class="fixe_bottom" :style="prod_bottom">
50
+ <xd-button
51
+ type="primary"
52
+ width="360rpx"
53
+ @click="handleGetInfo"
54
+ >确认</xd-button
55
+ >
56
+ </view>
57
+ </view>
58
+
59
+ <view v-if="showInfo && info !== null">
60
+ <view class="card-list" :style="{
61
+ background: headerBg['color'],
62
+ backgroundSize: '100%'
63
+ }">
64
+ <view class="card-list-warp" :style="{backgroundImage: `url(${headerBg['image']})`}">
65
+ <view class="card-list__title"><view>{{info['card_type_name']}}</view></view>
66
+ <div class="card-list__content">
67
+ <view>
68
+ <text>券号:</text>
69
+ <text>{{info.card_number}}</text>
70
+ </view>
71
+ </div>
72
+ <view class="card-list__date">
73
+ <text>有效期:</text>
74
+ <text>{{info.end_time}}</text>
75
+ </view>
76
+ <view class="card-list__yue">
77
+ <text>余额:</text>
78
+ <text>{{info.card_point}} {{ info.unit }}</text>
79
+ </view>
80
+ <view class="card-list__other" v-if="info.other_card_point && info.card_point_type === 2">
81
+ <view><text>购买其他物品可抵:</text><text>{{info.other_card_point}} {{ info.unit }}</text></view>
82
+ </view>
83
+ </view>
84
+ </view>
85
+ <view
86
+ v-if="info.site_entry_settings && info.site_entry_settings.length > 0"
87
+ class="jfb-base-card-info-entry__body-business"
88
+ >
89
+ <view class="jfb-base-card-info-entry__body-business-title">
90
+ 支持业务板块
91
+ </view>
92
+ <view
93
+ style="
94
+ display: flex;
95
+ align-content: center;
96
+ justify-content: center;
97
+ "
98
+ >
99
+ <view class="jfb-base-card-info-entry__body-business-content">
100
+ <view
101
+ class="jfb-base-card-info-entry__body-business-content-item"
102
+ v-for="(item, index) in info.site_entry_settings"
103
+ :key="index"
104
+ >
105
+ <view><image :src="item.image_url"></image></view>
106
+ <view>{{ item.entry_name }}</view>
107
+ </view>
108
+ </view>
109
+ </view>
110
+ </view>
111
+ <view :style="{ height: '100rpx' }"></view>
112
+ <view class="fixe_bottom" :style="prod_bottom">
113
+ <xd-button
114
+ type="primary"
115
+ width="360rpx"
116
+ @click="handleToLink"
117
+ >立即绑定</xd-button
118
+ >
119
+ </view>
120
+ </view>
121
+ </view>
122
+ </view>
123
+ </template>
124
+
125
+ <script>
126
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
127
+ import { jfbRootExec } from "@/utils/xd.event";
128
+ import JfbBaseCardInfoEntryMixin from "./JfbBaseCardInfoEntryMixin";
129
+ import { getContainerPropsValue } from "@/utils/xd.base";
130
+ import getServiceUrl from "@/common/getServiceUrl";
131
+ import componentsMixins from "@/mixins/componentsMixins";
132
+ import extsMixins from "@/mixins/extsMixins";
133
+ import colorCardMixins from "@/mixins/colorCardMixins";
134
+ import XdUnit from "@/components/XdUnit/XdUnit";
135
+ import XdButton from "@/components/XdButton/XdButton";
136
+
137
+ export default {
138
+ name: "JfbBaseCardInfoEntry",
139
+ components: {
140
+ XdFontIcon,
141
+ XdUnit,
142
+ XdButton,
143
+ },
144
+ mixins: [
145
+ componentsMixins, extsMixins, JfbBaseCardInfoEntryMixin,colorCardMixins
146
+ ],
147
+ data() {
148
+ return {
149
+ info: null,
150
+ card_number: "", //卡号
151
+ card_password: "", //卡密码
152
+ isPassword: true,
153
+ card_num_placeholder: "",
154
+ card_pwd_placeholder: "",
155
+
156
+ showInfo: false,
157
+
158
+ qrcode: "", //二维码
159
+ showForm: true,
160
+
161
+ //页面跳转地址
162
+ backUrl: "",
163
+ headerBg: {},
164
+ };
165
+ },
166
+ watch: {
167
+ container(value) {
168
+ this.init(value);
169
+ },
170
+ },
171
+ computed: {
172
+ prod_bottom() {
173
+ return this.fixedStyle({ height: 0, zIndex: 111 });
174
+ },
175
+ },
176
+ created() {},
177
+ methods: {
178
+ handleToLink() {
179
+ if(this.info.card_point===0) {
180
+ this.$xdConfirm({
181
+ $vm: this,
182
+ content: "票券余额为0,是否确认绑定?",
183
+ width: "80%",
184
+ success: (res) => {
185
+ if (res.confirm) {
186
+ this.handleToBind()
187
+ }
188
+ },
189
+ });
190
+ return
191
+ }
192
+ this.handleToBind()
193
+ },
194
+ handleToBind() {
195
+ if (this.qrcode) {
196
+ jfbRootExec("qrCardBindEntry", {
197
+ vm: this,
198
+ data: {
199
+ card_qrcode: this.qrcode,
200
+ },
201
+ })
202
+ .then((res) => {
203
+ this.$xdAlert({
204
+ content: "绑定成功",
205
+ close: () => {
206
+ this.$xdUniHelper.redirectTo({
207
+ url: this.backUrl,
208
+ });
209
+ },
210
+ });
211
+ })
212
+ .catch();
213
+ } else {
214
+ jfbRootExec("pwdCardBindEntry", {
215
+ vm: this,
216
+ data: {
217
+ card_password: this.card_password,
218
+ card_number: this.card_number + "",
219
+ is_show_entry_settings: "Y"
220
+ },
221
+ })
222
+ .then((res) => {
223
+ console.log(this.$xdAlert, "this.$xdAlertfsdfs");
224
+ this.$xdAlert({
225
+ content: "绑定成功",
226
+ close: () => {
227
+ this.$xdUniHelper.redirectTo({
228
+ url: this.backUrl,
229
+ });
230
+ },
231
+ });
232
+ })
233
+ .catch();
234
+ }
235
+ },
236
+ init() {
237
+ this.backUrl = getContainerPropsValue(
238
+ this.container,
239
+ "content.back_url",
240
+ { value: "/pages/card/card" }
241
+ ).value;
242
+ this.card_num_placeholder = getContainerPropsValue(
243
+ this.container,
244
+ "content.card_num_placeholder",
245
+ "请输入券号(电子券除外)"
246
+ );
247
+ this.card_pwd_placeholder = getContainerPropsValue(
248
+ this.container,
249
+ "content.card_pwd_placeholder",
250
+ "请输入密码"
251
+ );
252
+ },
253
+ onJfbLoad(options) {
254
+ this.init();
255
+ this.qrcode = options.qrcode;
256
+ console.log(this.$configProject.isPreview, "898989989");
257
+ //正式环境判断参数错误
258
+ // if(!this.$configProject.isPreview) {
259
+ // if(!this.qrcode) {
260
+ // this.$xdAlert({
261
+ // content: '参数配置错误',
262
+ // type: 'error'
263
+ // });
264
+ // return
265
+ // }
266
+ // }
267
+ if (this.qrcode) {
268
+ jfbRootExec("getByQrCardDetailEntry", {
269
+ vm: this,
270
+ data: {
271
+ card_qrcode: decodeURIComponent(this.qrcode),
272
+ is_show_entry_settings: "Y"
273
+ },
274
+ })
275
+ .then((res) => {
276
+ res.is_exchange_name =
277
+ res.is_exchange === "Y" ? "可转换" : "不可转换";
278
+ let temp = {};
279
+ Object.keys(res).map((key) => {
280
+ if (key === "card_point" || key === "other_card_point") {
281
+ temp[key] = this.$xdUniHelper.divisionFloatNumber(
282
+ res[key],
283
+ 100
284
+ );
285
+ } else if (key === "unit") {
286
+ temp[key] = res[key];
287
+ } else {
288
+ temp[key] = res[key];
289
+ }
290
+ });
291
+ if(res && res.site_entry_settings && res.site_entry_settings.length>0) {
292
+ res.site_entry_settings = res.site_entry_settings.map(item=>{
293
+ item['image_url'] = getServiceUrl(item['image_url'])
294
+ return item
295
+ })
296
+ }
297
+
298
+ this.headerBg = this.getCardThemes(res.card_type_name);
299
+ this.showInfo = true;
300
+ this.info = temp;
301
+ })
302
+ .catch();
303
+ }
304
+ },
305
+ getInfoByCard() {
306
+ jfbRootExec("getByPwdCardDetailEntry", {
307
+ vm: this,
308
+ data: {
309
+ card_password: this.card_password,
310
+ card_number: this.card_number + "",
311
+ is_show_entry_settings: "Y"
312
+ },
313
+ })
314
+ .then((res) => {
315
+ res.is_exchange_name =
316
+ res.is_exchange === "Y" ? "可转换" : "不可转换";
317
+ let temp = {};
318
+ Object.keys(res).map((key) => {
319
+ if (key === "card_point" || key === "other_card_point") {
320
+ temp[key] = this.$xdUniHelper.divisionFloatNumber(res[key], 100);
321
+ // temp[key] = res[key];
322
+ } else if (key === "unit") {
323
+ temp[key] = res[key];
324
+ } else {
325
+ temp[key] = res[key];
326
+ }
327
+ });
328
+ if(res && res.site_entry_settings && res.site_entry_settings.length>0) {
329
+ res.site_entry_settings = res.site_entry_settings.map(item=>{
330
+ item['image_url'] = getServiceUrl(item['image_url'])
331
+ return item
332
+ })
333
+ }
334
+ this.headerBg = this.getCardThemes(res.card_type_name);
335
+ this.showInfo = true;
336
+ this.showForm = false;
337
+ this.info = temp;
338
+ })
339
+ .catch();
340
+ },
341
+ isEmpty(str) {
342
+ if (str === null || str === "") {
343
+ return true;
344
+ }
345
+ return false;
346
+ },
347
+ handleGetInfo() {
348
+ if (this.isEmpty(this.card_password)) {
349
+ this.$xdAlert({
350
+ content: "请填写票券密码",
351
+ time: 1500,
352
+ isClose: false,
353
+ zIndex: 5000,
354
+ });
355
+ return;
356
+ }
357
+ this.getInfoByCard();
358
+ },
359
+ onJfbBack(options) {
360
+ this.$xdUniHelper.navigateBack();
361
+ },
362
+ onJfbShow(options) {
363
+ this.onJfbLoad(options);
364
+ },
365
+ },
366
+ };
367
+ </script>
368
+
369
+ <style scoped lang="less">
370
+ @import "./JfbBaseCardInfoEntryLess.less";
371
+
372
+ .jfb-base-card-info-entry {
373
+ &__body {
374
+ color: #333;
375
+ padding: unit(26, rpx);
376
+ &-form {
377
+ display: flex;
378
+ align-items: center;
379
+ justify-content: flex-start;
380
+ font-size: unit(24, rpx);
381
+ padding: unit(40, rpx);
382
+ border-bottom: unit(2, rpx) solid #eeeeee;
383
+ background: #fff;
384
+
385
+ &-label {
386
+ width: unit(120, rpx);
387
+ color: #a6a6a6;
388
+ margin-right: unit(70, rpx);
389
+ text-align: center;
390
+ }
391
+
392
+ input {
393
+ font-size: unit(24, rpx);
394
+ }
395
+
396
+ &-value {
397
+ flex: 1;
398
+ }
399
+
400
+ &-code {
401
+ background: #f5f5f5;
402
+ border-radius: unit(6, rpx);
403
+ width: unit(180, rpx);
404
+ height: unit(80, rpx);
405
+ line-height: unit(80, rpx);
406
+ font-size: unit(48, rpx);
407
+ color: #a6a6a6;
408
+ text-align: center;
409
+ }
410
+ }
411
+ .logo-icon {
412
+ width: unit(100, rpx) !important;
413
+ height: unit(100, rpx) !important;
414
+ position: absolute;
415
+ top: 50%;
416
+ left: 50%;
417
+ transform: translate(-50rpx, -50rpx);
418
+ }
419
+ .card-list {
420
+ overflow: hidden;
421
+ border-radius: unit(16, rpx);
422
+ margin-bottom: unit(30, rpx);
423
+
424
+ &:last-child {
425
+ margin-bottom: 0;
426
+ }
427
+
428
+
429
+ &__title {
430
+ height: unit(56, rpx);
431
+ display: flex;
432
+ justify-content: flex-start;
433
+ align-items: center;
434
+
435
+ & > view {
436
+ padding: 0 unit(80, rpx);
437
+ font-size: unit(24, rpx);
438
+ line-height: unit(56, rpx);
439
+ background: rgba(102, 102, 102, 0.4);
440
+ color: #fff;
441
+ border-radius: 0 0 unit(16, rpx) 0;
442
+ }
443
+
444
+ }
445
+
446
+ &__content {
447
+ padding: unit(10, rpx) unit(40, rpx) 0;
448
+ height: unit(86, rpx);
449
+ display: flex;
450
+ justify-content: space-between;
451
+ align-items: center;
452
+
453
+ & > view:first-child {
454
+ font-size: unit(36, rpx);
455
+ line-height: unit(86, rpx);
456
+ color: #fff;
457
+ font-weight: 700;
458
+ }
459
+
460
+ & > view:nth-child(2) {
461
+ font-size: unit(24, rpx);
462
+ display: flex;
463
+ justify-content: space-between;
464
+ align-items: center;
465
+ flex-flow: wrap;
466
+ flex-direction: column;
467
+ color: #fff;
468
+ }
469
+ }
470
+
471
+ &__date {
472
+ padding: 0 unit(40, rpx);
473
+ font-size: unit(28, rpx);
474
+ line-height: unit(32, rpx);
475
+ color: #fff;
476
+ }
477
+
478
+ &__yue {
479
+ padding: unit(10, rpx) unit(40, rpx) 0;
480
+ font-size: unit(28, rpx);
481
+ line-height: unit(32, rpx);
482
+ color: #fff;
483
+
484
+ & > text:nth-child(2) {
485
+ font-weight: 700;
486
+ }
487
+ }
488
+
489
+ &__other {
490
+ display: flex;
491
+ justify-content: flex-start;
492
+ align-items: center;
493
+ padding: unit(20, rpx) unit(40, rpx) 0;
494
+ margin-top: unit(0, rpx);
495
+
496
+ & > view {
497
+ border-radius:unit(8, rpx);
498
+ background: rgba(255, 255, 255, 0.2);
499
+ height: unit(48, rpx);
500
+ line-height: unit(48, rpx);
501
+ display: flex;
502
+ justify-content: flex-start;
503
+ align-items: center;
504
+ font-weight: 400;
505
+ font-size: unit(24, rpx);
506
+ padding: 0 unit(20, rpx);
507
+ color: #fff;
508
+ }
509
+
510
+
511
+ }
512
+
513
+ &__nodata {
514
+ padding: unit(20, rpx) unit(40, rpx) 0;
515
+ margin-top: unit(0, rpx);
516
+ color: #fff;
517
+ font-size: unit(28, rpx);
518
+ }
519
+
520
+ &__entry {
521
+ padding: unit(20, rpx) unit(40, rpx) 0;
522
+ & > view {
523
+ line-height: unit(64, rpx);
524
+ text-align: center;
525
+ font-size: unit(26, rpx);
526
+ border-radius: unit(32, rpx);
527
+ background: rgba(255, 255, 255, 1);
528
+ box-shadow: 0 unit(4, rpx) unit(8, rpx) rgba(156, 62, 0, 0.11);
529
+ font-weight: 500;
530
+ }
531
+ }
532
+
533
+ &__entrys {
534
+ margin: unit(20, rpx) unit(20, rpx) 0;
535
+ padding: unit(30, rpx);
536
+ border-radius: unit(16, rpx);
537
+ background: rgba(255, 255, 255, 1);
538
+ box-shadow: 0 unit(4, rpx) unit(8, rpx) rgba(156, 62, 0, 0.11);
539
+
540
+ &-title {
541
+ display: flex;
542
+ justify-content: space-between;
543
+ align-items: center;
544
+
545
+
546
+ & > view:first-child {
547
+ font-size: unit(28, rpx);
548
+ font-weight: 500;
549
+ flex: 1;
550
+ }
551
+
552
+ & > view:nth-child(2) {
553
+ display: flex;
554
+ justify-content: flex-start;
555
+ align-items: center;
556
+ flex-shrink: 0;
557
+ font-size: unit(20, rpx);
558
+ color: #999;
559
+ }
560
+ }
561
+
562
+ &-scroll {
563
+
564
+ }
565
+
566
+ &-item {
567
+ display: flex;
568
+ justify-content: flex-start;
569
+ align-items: center;
570
+ flex-flow: nowrap;
571
+ margin-left: unit(-14, rpx);
572
+ padding-top: unit(20, rpx);
573
+
574
+ & > view {
575
+ width: unit(120, rpx);
576
+ margin-right: unit(10, rpx);
577
+ flex-shrink: 0;
578
+ display: flex;
579
+ justify-content: center;
580
+ flex-direction: column;
581
+ align-items: center;
582
+
583
+ & > view:first-child {
584
+ width: unit(76, rpx);
585
+ height: unit(76, rpx);
586
+ overflow: hidden;
587
+
588
+ & > image {
589
+ height: 100%;
590
+ width: 100%;
591
+ }
592
+ }
593
+
594
+ & > view:nth-child(2) {
595
+ margin-top: unit(10, rpx);
596
+ font-size: unit(24, rpx);
597
+ line-height: unit(36, rpx);
598
+ margin-bottom: unit(10, rpx);
599
+ }
600
+
601
+ & > view:nth-child(3) {
602
+ display: flex;
603
+ justify-content: flex-start;
604
+ align-items: center;
605
+ flex-shrink: 0;
606
+ font-size: unit(20, rpx);
607
+ color: #999;
608
+ }
609
+
610
+ &:last-child {
611
+ margin-right: 0;
612
+ }
613
+
614
+ }
615
+
616
+
617
+ }
618
+ }
619
+
620
+ &-warp {
621
+ width: unit(700, rpx);
622
+ min-height: unit(290, rpx);
623
+ position: relative;
624
+ border-radius: unit(16, rpx);
625
+ background-size: 100%;
626
+ padding-bottom: unit(20, rpx);
627
+ }
628
+ }
629
+
630
+ &-qrcode {
631
+ text-align: center;
632
+ font-size: @xd-font-size-base;
633
+ line-height: unit(36, rpx);
634
+ background: #fff;
635
+ border-radius: unit(16, rpx);
636
+ margin-top: unit(24, rpx);
637
+ padding: unit(20, rpx) unit(70, rpx) unit(70, rpx) unit(70, rpx);
638
+
639
+ & > view {
640
+ // margin-bottom: unit(20, rpx);
641
+
642
+ & > view {
643
+ margin-bottom: 0;
644
+ }
645
+ }
646
+
647
+ & > view:nth-child(1) {
648
+ display: flex;
649
+ justify-content: center;
650
+ align-items: center;
651
+ box-sizing: border-box;
652
+ height: unit(200, rpx);
653
+ width: 100%;
654
+ margin-top: unit(20, rpx);
655
+
656
+ & > view {
657
+ width: 100%;
658
+ height: unit(200, rpx);
659
+ padding: unit(10, rpx);
660
+ display: flex;
661
+ justify-content: center;
662
+ align-items: center;
663
+
664
+ & > image {
665
+ max-width: 100%;
666
+ max-height: unit(200, rpx);
667
+ }
668
+ }
669
+ }
670
+
671
+ & > view:nth-child(2) {
672
+ display: flex;
673
+ justify-content: center;
674
+ align-items: center;
675
+ padding: unit(20, rpx);
676
+
677
+ & > view {
678
+ width: unit(450, rpx);
679
+ height: unit(450, rpx);
680
+ padding: unit(10, rpx);
681
+
682
+ & > image {
683
+ width: unit(450, rpx);
684
+ height: unit(450, rpx);
685
+ }
686
+ }
687
+ }
688
+ }
689
+
690
+ &-business {
691
+ background: #fff;
692
+ border-radius: unit(16, rpx);
693
+ margin-top: unit(24, rpx);
694
+
695
+ &-title {
696
+ font-size: unit(28, rpx);
697
+ font-weight: 500;
698
+ text-align: center;
699
+ padding: unit(28, rpx);
700
+ }
701
+
702
+ &-content {
703
+ display: flex;
704
+ justify-content: flex-start;
705
+ align-items: center;
706
+ flex-flow: wrap;
707
+ padding-left: unit(30, rpx);
708
+
709
+ & > view {
710
+ width: unit(120, rpx);
711
+ margin-right: unit(10, rpx);
712
+ flex-shrink: 0;
713
+ display: flex;
714
+ justify-content: center;
715
+ flex-direction: column;
716
+ align-items: center;
717
+
718
+ & > view:first-child {
719
+ width: unit(76, rpx);
720
+ height: unit(76, rpx);
721
+ overflow: hidden;
722
+
723
+ & > image {
724
+ height: 100%;
725
+ width: 100%;
726
+ }
727
+ }
728
+
729
+ & > view:nth-child(2) {
730
+ margin-top: unit(10, rpx);
731
+ font-size: unit(24, rpx);
732
+ line-height: unit(36, rpx);
733
+ margin-bottom: unit(10, rpx);
734
+ }
735
+
736
+ & > view:nth-child(3) {
737
+ display: flex;
738
+ justify-content: flex-start;
739
+ align-items: center;
740
+ flex-shrink: 0;
741
+ font-size: unit(20, rpx);
742
+ color: #999;
743
+ }
744
+
745
+ &:last-child {
746
+ margin-right: 0;
747
+ }
748
+ }
749
+ }
750
+ }
751
+
752
+ .fixe_bottom {
753
+ display: flex;
754
+ align-items: center;
755
+ justify-content: space-between;
756
+ height: unit(100, rpx);
757
+ padding: 0 unit(40, rpx);
758
+ background: #fff;
759
+ box-shadow: 0 0 unit(16, rpx) rgba(0, 0, 0, 0.05);
760
+ .flex_l {
761
+ display: flex;
762
+ align-items: center;
763
+ font-size: unit(32, rpx);
764
+ }
765
+ }
766
+ }
767
+ }
768
+ </style>