jufubao-base 1.0.76 → 1.0.77-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 +1 -1
- package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +101 -44
- package/src/components/JfbBaseCard/JfbBaseCard.vue +75 -65
- package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +93 -43
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +161 -92
- package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +101 -45
- package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +24 -14
- package/src/components/JfbBaseLogin/Attr.js +29 -6
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +112 -15
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +176 -107
- package/src/components/JfbBasePoster/JfbBasePoster.vue +1 -1
- package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +95 -30
|
@@ -4,6 +4,32 @@ export default {
|
|
|
4
4
|
style: [],
|
|
5
5
|
advanced: [],
|
|
6
6
|
content: [
|
|
7
|
+
{
|
|
8
|
+
label: 'LOGO文字颜色:',
|
|
9
|
+
ele: 'xd-color',
|
|
10
|
+
valueKey: 'logoTextColor',
|
|
11
|
+
value: '',
|
|
12
|
+
placeholder: '请输入LOGO文字颜色',
|
|
13
|
+
classNmae: 'input80',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
label: '是否使用体验码功能:',
|
|
17
|
+
ele: 'xd-radio',
|
|
18
|
+
valueKey: 'isPreview',
|
|
19
|
+
value: 'N',
|
|
20
|
+
placeholder: '请选择是否使用体验码功能',
|
|
21
|
+
multiple: false,
|
|
22
|
+
className: 'input80',
|
|
23
|
+
list: [
|
|
24
|
+
{label: '是', value: 'Y'},
|
|
25
|
+
{label: '否', value: 'N'},
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
ele: 'title',
|
|
30
|
+
label: '页面连接设置',
|
|
31
|
+
size: 'small',
|
|
32
|
+
},
|
|
7
33
|
{
|
|
8
34
|
label: '快速授权失败访问地址:', //label
|
|
9
35
|
ele: 'xd-select-pages-path', //package 名称
|
|
@@ -60,12 +86,9 @@ export default {
|
|
|
60
86
|
inline: false,
|
|
61
87
|
},
|
|
62
88
|
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
value: '',
|
|
67
|
-
placeholder: '请输入logo文字颜色',
|
|
68
|
-
classNmae: 'input80',
|
|
89
|
+
ele: 'title',
|
|
90
|
+
label: '服务设置',
|
|
91
|
+
size: 'small',
|
|
69
92
|
},
|
|
70
93
|
{
|
|
71
94
|
label: '隐私政策:',
|
|
@@ -170,6 +170,24 @@
|
|
|
170
170
|
>忘记密码</view
|
|
171
171
|
>
|
|
172
172
|
</view>
|
|
173
|
+
<view class="bottom_btn" :style="prod_bottom" v-if="isPreview === 'Y'">
|
|
174
|
+
<view @click="dialogPreview = true" :style="{
|
|
175
|
+
color: mainColor,
|
|
176
|
+
border: `1px solid ${mainColor}`
|
|
177
|
+
}">进入体验 ></view>
|
|
178
|
+
</view>
|
|
179
|
+
<xd-dailog
|
|
180
|
+
v-if="dialogPreview"
|
|
181
|
+
title="体验码"
|
|
182
|
+
:show.sync="dialogPreview"
|
|
183
|
+
:cancel="false"
|
|
184
|
+
confirm-text="进入体验模式"
|
|
185
|
+
@onBtn="handlePreview"
|
|
186
|
+
>
|
|
187
|
+
<view class="preview-login">
|
|
188
|
+
<input v-model="previewAccout" type="text" class="preview-login-input" placeholder="请输入体验码">
|
|
189
|
+
</view>
|
|
190
|
+
</xd-dailog>
|
|
173
191
|
</view>
|
|
174
192
|
</view>
|
|
175
193
|
</template>
|
|
@@ -187,6 +205,7 @@ import XdFormCheckbox from "@/components/XdFormCheckbox/XdFormCheckbox";
|
|
|
187
205
|
import XdFormInput from "@/components/XdFormInput/XdFormInput";
|
|
188
206
|
import XdForm from "@/components/XdForm/XdForm";
|
|
189
207
|
import XdFormItem from "@/components/XdFormItem/XdFormItem";
|
|
208
|
+
import XdDailog from "@/components/XdDailog/XdDailog.vue";
|
|
190
209
|
import { Base64 } from "js-base64";
|
|
191
210
|
import { mapState } from "vuex";
|
|
192
211
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
@@ -208,15 +227,19 @@ export default {
|
|
|
208
227
|
XdFormInput,
|
|
209
228
|
XdForm,
|
|
210
229
|
XdFormItem,
|
|
230
|
+
XdDailog
|
|
211
231
|
},
|
|
212
232
|
mixins: [componentsMixins, extsMixins, JfbBaseLoginMixin, privacyMixins],
|
|
213
233
|
data() {
|
|
214
234
|
return {
|
|
235
|
+
//体验模式
|
|
236
|
+
dialogPreview: false,
|
|
237
|
+
previewAccout: '',
|
|
238
|
+
|
|
215
239
|
showStep: 1,
|
|
216
240
|
panel_1_checked: "",
|
|
217
241
|
panel_2_checked: "",
|
|
218
242
|
password: "",
|
|
219
|
-
//todo
|
|
220
243
|
accountLoginType: "phone", //phone: 验证码登录 pwd: 密码登录
|
|
221
244
|
accountForm: {
|
|
222
245
|
phone_number: "", //15801505541
|
|
@@ -255,6 +278,7 @@ export default {
|
|
|
255
278
|
logo: "",
|
|
256
279
|
partnerName: "",
|
|
257
280
|
logoTextColor: "",
|
|
281
|
+
isPreview:'N', //是否启用体验码模式
|
|
258
282
|
};
|
|
259
283
|
},
|
|
260
284
|
computed: {
|
|
@@ -265,6 +289,9 @@ export default {
|
|
|
265
289
|
panelTwoIsChecked() {
|
|
266
290
|
return this.panel_2_checked.includes(1);
|
|
267
291
|
},
|
|
292
|
+
prod_bottom() {
|
|
293
|
+
return this.fixedStyle({ height: 0, zIndex: 111 });
|
|
294
|
+
},
|
|
268
295
|
},
|
|
269
296
|
watch: {
|
|
270
297
|
container(value) {
|
|
@@ -296,16 +323,46 @@ export default {
|
|
|
296
323
|
url: `/pages/content/content?${params}`
|
|
297
324
|
})
|
|
298
325
|
},
|
|
299
|
-
|
|
300
|
-
|
|
326
|
+
|
|
327
|
+
loginPreview(experience_code){
|
|
328
|
+
return new Promise((resolve,reject)=>{
|
|
329
|
+
jfbRootExec("loginExperience", {
|
|
330
|
+
vm: this,
|
|
331
|
+
data: {experience_code},
|
|
332
|
+
}).then(res=>{
|
|
333
|
+
resolve(res)
|
|
334
|
+
}).catch(err=>{
|
|
335
|
+
reject(err)
|
|
336
|
+
})
|
|
337
|
+
})
|
|
338
|
+
},
|
|
339
|
+
|
|
340
|
+
async handlePreview(){
|
|
341
|
+
if(!this.previewAccout) {
|
|
342
|
+
this.$xdAlert({
|
|
343
|
+
content: '请输入体验码',
|
|
344
|
+
type:'error'
|
|
345
|
+
});
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
this.$xdShowLoading({});
|
|
349
|
+
try{
|
|
350
|
+
const res = await this.loginPreview(this.previewAccout);
|
|
351
|
+
if(res) this.jfbAuthorize.setAllToken(res);
|
|
352
|
+
this.toHomeAfterLogin();
|
|
353
|
+
this.$xdHideLoading();
|
|
354
|
+
}catch (e){
|
|
355
|
+
this.$xdHideLoading();
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
|
|
359
|
+
|
|
301
360
|
onJfbLoad(options) {
|
|
302
361
|
this.redirect_url = options.redirect_url ? Base64.decode(options.redirect_url): '';
|
|
303
362
|
// #ifdef MP-WEIXIN
|
|
304
363
|
this.authWxMpListProviders();
|
|
305
364
|
// #endif
|
|
306
|
-
|
|
307
365
|
this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.start')
|
|
308
|
-
|
|
309
366
|
// #ifdef H5
|
|
310
367
|
try{
|
|
311
368
|
this.authH5ListProviders();
|
|
@@ -313,7 +370,6 @@ export default {
|
|
|
313
370
|
this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.error');
|
|
314
371
|
this.$xdLog.setARMSError(error);
|
|
315
372
|
}
|
|
316
|
-
|
|
317
373
|
//#endif
|
|
318
374
|
|
|
319
375
|
// if (options.isDebug === "1") {
|
|
@@ -354,7 +410,7 @@ export default {
|
|
|
354
410
|
this.phone_number_collect_url = getContainerPropsValue(value, "content.phone_number_collect_url", {value: ''}).value;
|
|
355
411
|
this.forget_pwd_url = getContainerPropsValue(value, "content.forget_pwd_url", {value: ''}).value;
|
|
356
412
|
this.error_callback_url = getContainerPropsValue(value, "content.error_url", {value: ''}).value;
|
|
357
|
-
|
|
413
|
+
this.isPreview = getContainerPropsValue(value, "content.isPreview", 'N');
|
|
358
414
|
},
|
|
359
415
|
|
|
360
416
|
/**
|
|
@@ -464,22 +520,22 @@ export default {
|
|
|
464
520
|
"62fde99f2583a19c58fd937b",
|
|
465
521
|
"62fde9432583a19c58fd937a",
|
|
466
522
|
];
|
|
467
|
-
|
|
523
|
+
|
|
468
524
|
let { redirect_url, callback_url } = this;
|
|
469
|
-
|
|
525
|
+
|
|
470
526
|
//不同项目直接域名替换
|
|
471
527
|
if (/^(@site_domain@).+$/.test(redirect_url)) {
|
|
472
528
|
redirect_url = redirect_url.replace(/@site_domain@/, location.origin)
|
|
473
529
|
}
|
|
474
|
-
|
|
530
|
+
|
|
475
531
|
try {
|
|
476
532
|
let redirectURL = new URL(redirect_url);
|
|
477
533
|
redirect_url = redirectURL.href;
|
|
478
534
|
} catch (e) {
|
|
479
535
|
redirect_url = location.origin + this.base + redirect_url;
|
|
480
536
|
}
|
|
481
|
-
|
|
482
|
-
|
|
537
|
+
|
|
538
|
+
|
|
483
539
|
let params = {
|
|
484
540
|
providers: providers.join(","),
|
|
485
541
|
callback_url: redirect_url,
|
|
@@ -487,9 +543,9 @@ export default {
|
|
|
487
543
|
phone_number_collect_url: location.origin + this.base + this.phone_number_collect_url,
|
|
488
544
|
error_callback_url: location.origin + this.base + this.error_callback_url,
|
|
489
545
|
};
|
|
490
|
-
|
|
546
|
+
|
|
491
547
|
this.$xdLog.setProject('JfbBaseLogin', 'JfbBaseLogin.onJfbLoad.loading..');
|
|
492
|
-
|
|
548
|
+
|
|
493
549
|
jfbRootExec("listSiteProvider", {
|
|
494
550
|
vm: this,
|
|
495
551
|
data: params,
|
|
@@ -701,7 +757,7 @@ export default {
|
|
|
701
757
|
margin-left: unit(20,rpx) !important;
|
|
702
758
|
}
|
|
703
759
|
}
|
|
704
|
-
|
|
760
|
+
|
|
705
761
|
.form-group {
|
|
706
762
|
padding: 40rpx 70rpx;
|
|
707
763
|
}
|
|
@@ -851,4 +907,45 @@ export default {
|
|
|
851
907
|
.login-pub {
|
|
852
908
|
margin-top: unit(40, rpx);
|
|
853
909
|
}
|
|
910
|
+
.bottom_btn {
|
|
911
|
+
position: fixed;
|
|
912
|
+
width: 100%;
|
|
913
|
+
display:flex;
|
|
914
|
+
justify-content: center;
|
|
915
|
+
align-items: center;
|
|
916
|
+
height: unit(100, rpx);
|
|
917
|
+
background: #ffffff;
|
|
918
|
+
|
|
919
|
+
& > view {
|
|
920
|
+
height: unit(44, rpx);
|
|
921
|
+
line-height: unit(44, rpx);
|
|
922
|
+
width: unit(150, rpx);
|
|
923
|
+
text-align: center;
|
|
924
|
+
cursor: pointer;
|
|
925
|
+
font-size: unit(24, rpx);
|
|
926
|
+
border-radius: unit(12, rpx);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
.preview-login {
|
|
931
|
+
padding: unit(40, rpx) 0;
|
|
932
|
+
|
|
933
|
+
&-input {
|
|
934
|
+
height: unit(70, rpx);
|
|
935
|
+
border-radius: unit(12, rpx);
|
|
936
|
+
padding: 0 unit(20, rpx);
|
|
937
|
+
text-align: left;
|
|
938
|
+
border: 1px solid #eee;
|
|
939
|
+
background: #F7F7F7;
|
|
940
|
+
color: #666;
|
|
941
|
+
transition: box-shadow 0.5s;
|
|
942
|
+
box-shadow: 0 0 0 rgba(0,0,0,0);
|
|
943
|
+
|
|
944
|
+
&:hover {
|
|
945
|
+
box-shadow: 0 0 unit(10, rpx) rgba(0,0,0,.1);
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
|
|
854
951
|
</style>
|
|
@@ -26,130 +26,161 @@
|
|
|
26
26
|
show-footer-line
|
|
27
27
|
@onTab="handleChange"
|
|
28
28
|
></xd-tab>
|
|
29
|
-
<view
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
:style="{ padding: outMargin }"
|
|
33
|
-
>
|
|
34
|
-
<view
|
|
35
|
-
@click="handleToLink(detailPath, item)"
|
|
36
|
-
class="jfb-base-order-list__body-order-item"
|
|
37
|
-
v-for="item in orderList"
|
|
38
|
-
:key="item.main_order_id"
|
|
39
|
-
:style="{
|
|
40
|
-
background: backgroundColor,
|
|
41
|
-
border: borderBox,
|
|
42
|
-
borderRadius: radius + 'rpx',
|
|
43
|
-
boxShadow: shadowBox,
|
|
44
|
-
marginBottom: padding + 'rpx',
|
|
45
|
-
}"
|
|
29
|
+
<view v-if="loadingList" class="jfb-base-order-list__body-order skeleton-wrap">
|
|
30
|
+
<view class="jfb-base-order-list__body-order-item"
|
|
31
|
+
v-for="i in 5" :key="i"
|
|
46
32
|
>
|
|
47
|
-
<view class="jfb-base-order-list__body-order-item-biz">
|
|
48
|
-
<xd-font-icon
|
|
49
|
-
v-if="item.biz_code_icon"
|
|
50
|
-
:icon="item.biz_code_icon"
|
|
51
|
-
:size="item['biz_code_icon_size']"
|
|
52
|
-
></xd-font-icon>
|
|
53
|
-
<view :class="{ marginLeft: item.biz_code_icon }">{{
|
|
54
|
-
item.biz_code_name
|
|
55
|
-
}}</view>
|
|
56
|
-
</view>
|
|
33
|
+
<view class="jfb-base-order-list__body-order-item-biz"><view></view></view>
|
|
57
34
|
<view class="jfb-base-order-list__body-order-item-title">
|
|
58
|
-
<view
|
|
59
|
-
<view
|
|
60
|
-
:style="{color:item.status.status_type !== 'error' ? mainColor : '#999999',}"
|
|
61
|
-
>{{ item.status.status_name }}</view>
|
|
35
|
+
<view></view>
|
|
36
|
+
<view></view>
|
|
62
37
|
</view>
|
|
63
38
|
<view class="order-list">
|
|
64
39
|
<view
|
|
65
|
-
class="jfb-base-order-list__body-order-item-content"
|
|
66
|
-
|
|
67
|
-
:key="Sitem.product_id + Sindex"
|
|
68
|
-
v-if="(item['isOpen'] === false && Sindex < showLen) || item['isOpen']">
|
|
69
|
-
<image
|
|
70
|
-
:src="Sitem.product_thumb"
|
|
71
|
-
style="background: #ffffff"
|
|
72
|
-
mode="aspectFit"
|
|
73
|
-
></image>
|
|
40
|
+
class="jfb-base-order-list__body-order-item-content">
|
|
41
|
+
<image></image>
|
|
74
42
|
<view class="jfb-base-order-list__body-order-item-content-info">
|
|
75
|
-
<view
|
|
76
|
-
|
|
77
|
-
>
|
|
78
|
-
|
|
79
|
-
<view
|
|
80
|
-
v-if="Sitem.product_sku_name"
|
|
81
|
-
class="jfb-base-order-list__body-order-item-content-info-skuname"
|
|
82
|
-
>规格:{{ Sitem.product_sku_name }}</view
|
|
83
|
-
>
|
|
84
|
-
<view
|
|
85
|
-
class="jfb-base-order-list__body-order-item-content-info-price"
|
|
86
|
-
>
|
|
87
|
-
<view :style="{ fontSize: '32rpx', color: mainColor }">
|
|
88
|
-
<xd-unit
|
|
89
|
-
:isOld="false"
|
|
90
|
-
:price="Sitem.sale_price"
|
|
91
|
-
:color="mainColor"
|
|
92
|
-
:fontSize="32"
|
|
93
|
-
v-if="item.biz_code !== 'gift'"
|
|
94
|
-
></xd-unit>
|
|
95
|
-
</view>
|
|
96
|
-
<view class="info-price">
|
|
97
|
-
<text>X</text>
|
|
98
|
-
<text>{{ Sitem.product_num }}</text>
|
|
99
|
-
</view>
|
|
43
|
+
<view class="jfb-base-order-list__body-order-item-content-info-name"></view>
|
|
44
|
+
<view class="jfb-base-order-list__body-order-item-content-info-price">
|
|
45
|
+
<view></view>
|
|
46
|
+
<view class="info-price"></view>
|
|
100
47
|
</view>
|
|
101
48
|
</view>
|
|
102
49
|
</view>
|
|
103
|
-
<view
|
|
104
|
-
class="order-list-icon"
|
|
105
|
-
:style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
|
|
106
|
-
v-if="item.products.length > showLen"
|
|
107
|
-
@click.stop="item['isOpen'] = !item['isOpen']"
|
|
108
|
-
>
|
|
109
|
-
<view :style="{ background: backgroundColor }">
|
|
110
|
-
<xd-font-icon
|
|
111
|
-
color="#666"
|
|
112
|
-
:icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
|
|
113
|
-
size="24"
|
|
114
|
-
></xd-font-icon>
|
|
115
|
-
</view>
|
|
116
|
-
</view>
|
|
117
50
|
</view>
|
|
118
51
|
<view class="jfb-base-order-list__body-order-item-bottom">
|
|
119
|
-
<view
|
|
120
|
-
<view
|
|
121
|
-
<text>合计:</text>
|
|
122
|
-
<xd-unit
|
|
123
|
-
:isOld="false"
|
|
124
|
-
:price="item.total_amount"
|
|
125
|
-
:color="mainColor"
|
|
126
|
-
:fontSize="28"
|
|
127
|
-
></xd-unit>
|
|
128
|
-
</view>
|
|
52
|
+
<view></view>
|
|
53
|
+
<view></view>
|
|
129
54
|
</view>
|
|
55
|
+
</view>
|
|
56
|
+
</view>
|
|
57
|
+
<template v-else>
|
|
58
|
+
<view
|
|
59
|
+
v-if="orderList && orderList.length > 0"
|
|
60
|
+
class="jfb-base-order-list__body-order"
|
|
61
|
+
:style="{ padding: outMargin }"
|
|
62
|
+
>
|
|
130
63
|
<view
|
|
131
|
-
|
|
132
|
-
|
|
64
|
+
@click="handleToLink(detailPath, item)"
|
|
65
|
+
class="jfb-base-order-list__body-order-item"
|
|
66
|
+
v-for="item in orderList"
|
|
67
|
+
:key="item.main_order_id"
|
|
68
|
+
:style="{
|
|
69
|
+
background: backgroundColor,
|
|
70
|
+
border: borderBox,
|
|
71
|
+
borderRadius: radius + 'rpx',
|
|
72
|
+
boxShadow: shadowBox,
|
|
73
|
+
marginBottom: padding + 'rpx',
|
|
74
|
+
}"
|
|
133
75
|
>
|
|
134
|
-
<view
|
|
135
|
-
<xd-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
76
|
+
<view class="jfb-base-order-list__body-order-item-biz">
|
|
77
|
+
<xd-font-icon
|
|
78
|
+
v-if="item.biz_code_icon"
|
|
79
|
+
:icon="item.biz_code_icon"
|
|
80
|
+
:size="item['biz_code_icon_size']"
|
|
81
|
+
></xd-font-icon>
|
|
82
|
+
<view :class="{ marginLeft: item.biz_code_icon }">{{
|
|
83
|
+
item.biz_code_name
|
|
84
|
+
}}</view>
|
|
85
|
+
</view>
|
|
86
|
+
<view class="jfb-base-order-list__body-order-item-title">
|
|
87
|
+
<view>订单编号:{{ item.main_order_id }}</view>
|
|
88
|
+
<view
|
|
89
|
+
:style="{color:item.status.status_type !== 'error' ? mainColor : '#999999',}"
|
|
90
|
+
>{{ item.status.status_name }}</view>
|
|
91
|
+
</view>
|
|
92
|
+
<view class="order-list">
|
|
93
|
+
<view
|
|
94
|
+
class="jfb-base-order-list__body-order-item-content"
|
|
95
|
+
v-for="(Sitem, Sindex) in item.products"
|
|
96
|
+
:key="Sitem.product_id + Sindex"
|
|
97
|
+
v-if="(item['isOpen'] === false && Sindex < showLen) || item['isOpen']">
|
|
98
|
+
<image
|
|
99
|
+
:src="Sitem.product_thumb"
|
|
100
|
+
style="background: #ffffff"
|
|
101
|
+
mode="aspectFit"
|
|
102
|
+
></image>
|
|
103
|
+
<view class="jfb-base-order-list__body-order-item-content-info">
|
|
104
|
+
<view
|
|
105
|
+
class="jfb-base-order-list__body-order-item-content-info-name"
|
|
106
|
+
>{{ Sitem.product_name }}</view
|
|
107
|
+
>
|
|
108
|
+
<view
|
|
109
|
+
v-if="Sitem.product_sku_name"
|
|
110
|
+
class="jfb-base-order-list__body-order-item-content-info-skuname"
|
|
111
|
+
>规格:{{ Sitem.product_sku_name }}</view
|
|
112
|
+
>
|
|
113
|
+
<view
|
|
114
|
+
class="jfb-base-order-list__body-order-item-content-info-price"
|
|
115
|
+
>
|
|
116
|
+
<view :style="{ fontSize: '32rpx', color: mainColor }">
|
|
117
|
+
<xd-unit
|
|
118
|
+
:isOld="false"
|
|
119
|
+
:price="Sitem.sale_price"
|
|
120
|
+
:color="mainColor"
|
|
121
|
+
:fontSize="32"
|
|
122
|
+
v-if="item.biz_code !== 'gift'"
|
|
123
|
+
></xd-unit>
|
|
124
|
+
</view>
|
|
125
|
+
<view class="info-price">
|
|
126
|
+
<text>X</text>
|
|
127
|
+
<text>{{ Sitem.product_num }}</text>
|
|
128
|
+
</view>
|
|
129
|
+
</view>
|
|
130
|
+
</view>
|
|
131
|
+
</view>
|
|
132
|
+
<view
|
|
133
|
+
class="order-list-icon"
|
|
134
|
+
:style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
|
|
135
|
+
v-if="item.products.length > showLen"
|
|
136
|
+
@click.stop="item['isOpen'] = !item['isOpen']"
|
|
137
|
+
>
|
|
138
|
+
<view :style="{ background: backgroundColor }">
|
|
139
|
+
<xd-font-icon
|
|
140
|
+
color="#666"
|
|
141
|
+
:icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
|
|
142
|
+
size="24"
|
|
143
|
+
></xd-font-icon>
|
|
144
|
+
</view>
|
|
145
|
+
</view>
|
|
146
|
+
</view>
|
|
147
|
+
<view class="jfb-base-order-list__body-order-item-bottom">
|
|
148
|
+
<view>下单时间:{{ item.created_time_text }}</view>
|
|
149
|
+
<view v-if="item.biz_code !== 'gift'">
|
|
150
|
+
<text>合计:</text>
|
|
151
|
+
<xd-unit
|
|
152
|
+
:isOld="false"
|
|
153
|
+
:price="item.total_amount"
|
|
154
|
+
:color="mainColor"
|
|
155
|
+
:fontSize="28"
|
|
156
|
+
></xd-unit>
|
|
157
|
+
</view>
|
|
158
|
+
</view>
|
|
159
|
+
<view
|
|
160
|
+
class="jfb-base-order-list__body-order-item-pay"
|
|
161
|
+
v-if="item.buttons.length"
|
|
162
|
+
>
|
|
163
|
+
<view v-for="(btn,index) in item.buttons" :key="btn.action+index">
|
|
164
|
+
<xd-button
|
|
165
|
+
:type="getBtnType(btn.action)"
|
|
166
|
+
size="mini"
|
|
167
|
+
@click="handleBtnEvent(btn.action, item)"
|
|
168
|
+
>{{ btn.text }}
|
|
169
|
+
</xd-button>
|
|
170
|
+
</view>
|
|
141
171
|
</view>
|
|
142
172
|
</view>
|
|
143
173
|
</view>
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
icon
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
</
|
|
174
|
+
<view v-else class="jfb-base-order-list__body-no">
|
|
175
|
+
<xd-font-icon
|
|
176
|
+
size="120"
|
|
177
|
+
color="#ccc"
|
|
178
|
+
icon="iconzanwudingdan"
|
|
179
|
+
></xd-font-icon>
|
|
180
|
+
<view>暂无订单</view>
|
|
181
|
+
</view>
|
|
182
|
+
</template>
|
|
183
|
+
|
|
153
184
|
</view>
|
|
154
185
|
</view>
|
|
155
186
|
</template>
|
|
@@ -189,6 +220,7 @@ export default {
|
|
|
189
220
|
payPath: "",
|
|
190
221
|
status: null, //全部、已完成、已取消
|
|
191
222
|
initStatus: false,
|
|
223
|
+
loadingList: false,
|
|
192
224
|
|
|
193
225
|
//基础
|
|
194
226
|
radius: 0,
|
|
@@ -387,6 +419,7 @@ export default {
|
|
|
387
419
|
this.$xdShowLoading({});
|
|
388
420
|
let tab = "all";
|
|
389
421
|
if (status) tab = this.tabList[this.tabIndex].status;
|
|
422
|
+
this.loadingList = true;
|
|
390
423
|
jfbRootExec("getBaseOrderList", {
|
|
391
424
|
vm: this,
|
|
392
425
|
data: {
|
|
@@ -396,6 +429,7 @@ export default {
|
|
|
396
429
|
},
|
|
397
430
|
})
|
|
398
431
|
.then((res) => {
|
|
432
|
+
this.loadingList = false;
|
|
399
433
|
this.$xdHideLoading();
|
|
400
434
|
console.log(res.list, "list");
|
|
401
435
|
let list = res.list.map((item) => {
|
|
@@ -496,6 +530,12 @@ export default {
|
|
|
496
530
|
}
|
|
497
531
|
&-order {
|
|
498
532
|
&-item {
|
|
533
|
+
.skeleton-wrap & {
|
|
534
|
+
background-color: #FFFFFF;
|
|
535
|
+
border: 1px solid #EEEEEE;
|
|
536
|
+
border-radius: 10rpx;
|
|
537
|
+
margin: 20rpx;
|
|
538
|
+
}
|
|
499
539
|
&-biz {
|
|
500
540
|
color: #333333;
|
|
501
541
|
font-size: unit(28, rpx);
|
|
@@ -504,6 +544,12 @@ export default {
|
|
|
504
544
|
border-bottom: unit(2, rpx) solid #eee;
|
|
505
545
|
display: flex;
|
|
506
546
|
align-items: center;
|
|
547
|
+
|
|
548
|
+
& > view{
|
|
549
|
+
.skeleton-wrap &{
|
|
550
|
+
.skeleton-item(100rpx, 28rpx);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
507
553
|
}
|
|
508
554
|
|
|
509
555
|
&-title {
|
|
@@ -517,9 +563,15 @@ export default {
|
|
|
517
563
|
|
|
518
564
|
& > view:first-child {
|
|
519
565
|
color: #333;
|
|
566
|
+
.skeleton-wrap &{
|
|
567
|
+
.skeleton-item(300rpx, 28rpx);
|
|
568
|
+
}
|
|
520
569
|
}
|
|
521
570
|
|
|
522
571
|
& > view:nth-child(2) {
|
|
572
|
+
.skeleton-wrap &{
|
|
573
|
+
.skeleton-item(100rpx, 28rpx);
|
|
574
|
+
}
|
|
523
575
|
}
|
|
524
576
|
}
|
|
525
577
|
|
|
@@ -534,6 +586,9 @@ export default {
|
|
|
534
586
|
height: unit(160, rpx);
|
|
535
587
|
border-radius: unit(8, rpx);
|
|
536
588
|
flex-shrink: 0;
|
|
589
|
+
.skeleton-wrap &{
|
|
590
|
+
.skeleton-item(160rpx, 160rpx);
|
|
591
|
+
}
|
|
537
592
|
}
|
|
538
593
|
|
|
539
594
|
&-info {
|
|
@@ -549,6 +604,10 @@ export default {
|
|
|
549
604
|
font-weight: 500;
|
|
550
605
|
.uni-max-cut(1, 64);
|
|
551
606
|
line-height: unit(64, rpx);
|
|
607
|
+
|
|
608
|
+
.skeleton-wrap &{
|
|
609
|
+
.skeleton-item(160rpx, 48rpx);
|
|
610
|
+
}
|
|
552
611
|
}
|
|
553
612
|
|
|
554
613
|
&-skuname {
|
|
@@ -573,6 +632,10 @@ export default {
|
|
|
573
632
|
display: flex;
|
|
574
633
|
justify-content: space-between;
|
|
575
634
|
align-items: center;
|
|
635
|
+
.skeleton-wrap &{
|
|
636
|
+
.skeleton-item(100%, 32rpx);
|
|
637
|
+
margin-top: 20rpx;
|
|
638
|
+
}
|
|
576
639
|
}
|
|
577
640
|
}
|
|
578
641
|
}
|
|
@@ -588,6 +651,9 @@ export default {
|
|
|
588
651
|
|
|
589
652
|
& > view:first-child {
|
|
590
653
|
color: #999;
|
|
654
|
+
.skeleton-wrap &{
|
|
655
|
+
.skeleton-item(300rpx, 28rpx);
|
|
656
|
+
}
|
|
591
657
|
}
|
|
592
658
|
|
|
593
659
|
& > view:nth-child(2) {
|
|
@@ -596,6 +662,9 @@ export default {
|
|
|
596
662
|
& > view {
|
|
597
663
|
margin-left: unit(10, rpx);
|
|
598
664
|
}
|
|
665
|
+
.skeleton-wrap &{
|
|
666
|
+
.skeleton-item(300rpx, 28rpx);
|
|
667
|
+
}
|
|
599
668
|
}
|
|
600
669
|
}
|
|
601
670
|
|