jufubao-base 1.0.182-beta1 → 1.0.183
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/JfbBaseAddress/Attr.js +1 -50
- package/src/components/JfbBaseAddress/JfbBaseAddress.vue +68 -120
- package/src/components/JfbBaseOrderDetail/Attr.js +0 -10
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +97 -16
- package/src/components/JfbBaseOrderDetail/Mock.js +5 -0
- package/src/components/JfbBaseOrderList/Attr.js +0 -23
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +86 -117
- package/src/components/JfbBasePay/JfbBasePay.vue +4 -4
- package/src/components/JfbBaseAddress/XdTfkItem.vue +0 -117
- package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +0 -246
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import StyleForm from "@/utils/StyleForm";
|
|
3
|
-
import IConList from "@/ICONS"
|
|
4
3
|
let styleForm = new StyleForm(
|
|
5
4
|
{border: null, shadow: null, spacing: '', bgColor:'', margin: null},
|
|
6
5
|
null,
|
|
@@ -12,35 +11,6 @@ export default {
|
|
|
12
11
|
advanced: [],
|
|
13
12
|
content: (data)=>{
|
|
14
13
|
return [
|
|
15
|
-
{
|
|
16
|
-
label: "布局样式配置",
|
|
17
|
-
ele: "xd-radio",
|
|
18
|
-
valueKey: "layout_style",
|
|
19
|
-
value: data.layout_style || 'old',
|
|
20
|
-
list: [
|
|
21
|
-
{label: '原有布局', value: 'old'},
|
|
22
|
-
{label: '淘福客布局', value: 'tfk'},
|
|
23
|
-
],
|
|
24
|
-
groupKey: "content",
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
label: "编辑图标",
|
|
28
|
-
ele: "xd-select-list",
|
|
29
|
-
valueKey: "edit_icon",
|
|
30
|
-
value: data.edit_icon || 'iconbianji-01',
|
|
31
|
-
list: IConList,
|
|
32
|
-
className: 'input80',
|
|
33
|
-
groupKey: "content",
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
label: "删除图标",
|
|
37
|
-
ele: "xd-select-list",
|
|
38
|
-
valueKey: "delete_icon",
|
|
39
|
-
value: data.delete_icon || 'iconshanchu-01',
|
|
40
|
-
list: IConList,
|
|
41
|
-
className: 'input80',
|
|
42
|
-
groupKey: "content",
|
|
43
|
-
},
|
|
44
14
|
{
|
|
45
15
|
label: '选取地区路径:',
|
|
46
16
|
ele: 'xd-select-pages-path',
|
|
@@ -53,26 +23,7 @@ export default {
|
|
|
53
23
|
},
|
|
54
24
|
inline: false,
|
|
55
25
|
},
|
|
56
|
-
...styleForm.getForm(data, '内容列表样式配置')
|
|
57
|
-
{
|
|
58
|
-
label: "圆角设置",
|
|
59
|
-
ele: 'xd-site-select-list',
|
|
60
|
-
valueKey: 'cardRadius',
|
|
61
|
-
value: data['cardRadius'] || '',
|
|
62
|
-
groupKey:'style',
|
|
63
|
-
placeholder: '请选择内容圆角设置',
|
|
64
|
-
multiple: false,
|
|
65
|
-
className: 'input80',
|
|
66
|
-
handleCustom({ action, data }) {
|
|
67
|
-
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
68
|
-
.then(res => {
|
|
69
|
-
data.cb(res.list)
|
|
70
|
-
})
|
|
71
|
-
.catch(error => {
|
|
72
|
-
console.error(error);
|
|
73
|
-
});
|
|
74
|
-
},
|
|
75
|
-
}
|
|
26
|
+
...styleForm.getForm(data, '内容列表样式配置')
|
|
76
27
|
].filter(i=>i)
|
|
77
28
|
},
|
|
78
29
|
}
|
|
@@ -26,108 +26,81 @@
|
|
|
26
26
|
class="jfb-base-address__body-address"
|
|
27
27
|
v-if="addressList && addressList.length > 0"
|
|
28
28
|
>
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
>
|
|
43
|
-
<view class="jfb-base-address__body-address-item-top">
|
|
44
|
-
<view
|
|
45
|
-
v-if="item.is_default === 'Y'"
|
|
46
|
-
:style="{
|
|
47
|
-
backgroundColor: mainColor,
|
|
48
|
-
color: '#fff',
|
|
49
|
-
fontSize: '24rpx',
|
|
50
|
-
padding: '4rpx 10rpx',
|
|
51
|
-
borderRadius: '4rpx',
|
|
52
|
-
marginRight: '20rpx',
|
|
53
|
-
}"
|
|
54
|
-
>默认</view
|
|
55
|
-
>
|
|
56
|
-
<view
|
|
57
|
-
:style="{
|
|
58
|
-
color: '#999999',
|
|
59
|
-
flex: 1,
|
|
60
|
-
paddingRight: item.is_valid === 'N' ? '40rpx' : '',
|
|
61
|
-
}"
|
|
62
|
-
>
|
|
63
|
-
<view>
|
|
64
|
-
{{ item | getCodeName }}
|
|
65
|
-
</view>
|
|
66
|
-
</view>
|
|
67
|
-
<view
|
|
68
|
-
style="position: absolute; right: 40rpx; width: 50rpx"
|
|
69
|
-
v-if="item.is_valid === 'N'"
|
|
70
|
-
>
|
|
71
|
-
<xd-font-icon
|
|
72
|
-
size="32"
|
|
73
|
-
:color="dangerColor"
|
|
74
|
-
icon="iconmingchengtubiao"
|
|
75
|
-
></xd-font-icon>
|
|
76
|
-
</view>
|
|
77
|
-
</view>
|
|
78
|
-
<view class="jfb-base-address__body-address-item-middle">
|
|
79
|
-
{{ item.address_detail }} {{ item.house_number }}
|
|
80
|
-
</view>
|
|
29
|
+
<view
|
|
30
|
+
:style="{
|
|
31
|
+
marginBottom: jfbListSpacing + 'rpx',
|
|
32
|
+
boxShadow: jfbListShadowComputed,
|
|
33
|
+
border: jfbListBorderComputed,
|
|
34
|
+
backgroundColor: jfbListBgColor,
|
|
35
|
+
}"
|
|
36
|
+
class="jfb-base-address__body-address-item"
|
|
37
|
+
v-for="(item, index) in addressList"
|
|
38
|
+
@click="handleSelectAddress(item)"
|
|
39
|
+
:key="index"
|
|
40
|
+
>
|
|
41
|
+
<view class="jfb-base-address__body-address-item-top">
|
|
81
42
|
<view
|
|
43
|
+
v-if="item.is_default === 'Y'"
|
|
82
44
|
:style="{
|
|
83
|
-
backgroundColor:
|
|
45
|
+
backgroundColor: mainColor,
|
|
46
|
+
color: '#fff',
|
|
47
|
+
fontSize: '24rpx',
|
|
48
|
+
padding: '4rpx 10rpx',
|
|
49
|
+
borderRadius: '4rpx',
|
|
50
|
+
marginRight: '20rpx',
|
|
51
|
+
}"
|
|
52
|
+
>默认</view
|
|
53
|
+
>
|
|
54
|
+
<view
|
|
55
|
+
:style="{
|
|
56
|
+
color: '#999999',
|
|
57
|
+
flex: 1,
|
|
58
|
+
paddingRight: item.is_valid === 'N' ? '40rpx' : '',
|
|
84
59
|
}"
|
|
85
|
-
class="jfb-base-address__body-address-item-bottom"
|
|
86
60
|
>
|
|
87
61
|
<view>
|
|
88
|
-
|
|
89
|
-
<view>{{ item.phone }}</view>
|
|
90
|
-
</view>
|
|
91
|
-
<view>
|
|
92
|
-
<xd-font-icon
|
|
93
|
-
@click.native.stop="handleEdit(item)"
|
|
94
|
-
style="margin-right: 40rpx"
|
|
95
|
-
icon="iconbianji-01"
|
|
96
|
-
size="32"
|
|
97
|
-
></xd-font-icon>
|
|
98
|
-
<xd-font-icon
|
|
99
|
-
@click.native.stop="handleDel(item)"
|
|
100
|
-
icon="iconshanchu-01"
|
|
101
|
-
size="32"
|
|
102
|
-
></xd-font-icon>
|
|
62
|
+
{{ item | getCodeName }}
|
|
103
63
|
</view>
|
|
104
64
|
</view>
|
|
65
|
+
<view
|
|
66
|
+
style="position: absolute; right: 40rpx; width: 50rpx"
|
|
67
|
+
v-if="item.is_valid === 'N'"
|
|
68
|
+
>
|
|
69
|
+
<xd-font-icon
|
|
70
|
+
size="32"
|
|
71
|
+
:color="dangerColor"
|
|
72
|
+
icon="iconmingchengtubiao"
|
|
73
|
+
></xd-font-icon>
|
|
74
|
+
</view>
|
|
75
|
+
</view>
|
|
76
|
+
<view class="jfb-base-address__body-address-item-middle">
|
|
77
|
+
{{ item.address_detail }} {{ item.house_number }}
|
|
105
78
|
</view>
|
|
106
|
-
</template>
|
|
107
|
-
<template v-else>
|
|
108
79
|
<view
|
|
109
80
|
:style="{
|
|
110
|
-
|
|
111
|
-
boxShadow: jfbListShadowComputed,
|
|
112
|
-
border: jfbListBorderComputed,
|
|
113
|
-
backgroundColor: jfbListBgColor,
|
|
114
|
-
borderRadius: cardRadius + 'rpx'
|
|
81
|
+
backgroundColor: item.is_select === 'Y' ? mainColor : '#CCC',
|
|
115
82
|
}"
|
|
116
|
-
|
|
117
|
-
@click="handleSelectAddress(item)"
|
|
118
|
-
:key="index"
|
|
83
|
+
class="jfb-base-address__body-address-item-bottom"
|
|
119
84
|
>
|
|
120
|
-
<
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
85
|
+
<view>
|
|
86
|
+
<view style="margin-right: 40rpx">{{ item.name }}</view>
|
|
87
|
+
<view>{{ item.phone }}</view>
|
|
88
|
+
</view>
|
|
89
|
+
<view>
|
|
90
|
+
<xd-font-icon
|
|
91
|
+
@click.native.stop="handleEdit(item)"
|
|
92
|
+
style="margin-right: 40rpx"
|
|
93
|
+
icon="iconbianji-01"
|
|
94
|
+
size="32"
|
|
95
|
+
></xd-font-icon>
|
|
96
|
+
<xd-font-icon
|
|
97
|
+
@click.native.stop="handleDel(item)"
|
|
98
|
+
icon="iconshanchu-01"
|
|
99
|
+
size="32"
|
|
100
|
+
></xd-font-icon>
|
|
101
|
+
</view>
|
|
129
102
|
</view>
|
|
130
|
-
</
|
|
103
|
+
</view>
|
|
131
104
|
</view>
|
|
132
105
|
<view class="jfb-base-address__body-empty" v-else>
|
|
133
106
|
<xd-font-icon icon="iconbianzu-01" size="120"></xd-font-icon>
|
|
@@ -177,7 +150,6 @@ import componentsMixins from "@/mixins/componentsMixins";
|
|
|
177
150
|
import extsMixins from "@/mixins/extsMixins";
|
|
178
151
|
import StyleForm from "@/utils/StyleForm";
|
|
179
152
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
180
|
-
import XdTfkItem from "./XdTfkItem"
|
|
181
153
|
let styleForm = new StyleForm(
|
|
182
154
|
{
|
|
183
155
|
border: null,
|
|
@@ -202,7 +174,6 @@ export default {
|
|
|
202
174
|
XdButton,
|
|
203
175
|
XdDownDrawer,
|
|
204
176
|
XdAddress,
|
|
205
|
-
XdTfkItem,
|
|
206
177
|
},
|
|
207
178
|
mixins: [componentsMixins, extsMixins, JfbBaseAddressMixin],
|
|
208
179
|
data() {
|
|
@@ -213,12 +184,7 @@ export default {
|
|
|
213
184
|
location_url: "",
|
|
214
185
|
addressList: null,
|
|
215
186
|
...styleForm.getDataItem(),
|
|
216
|
-
version: ''
|
|
217
|
-
|
|
218
|
-
layout_style: "old",
|
|
219
|
-
edit_icon: "",
|
|
220
|
-
delete_icon: "",
|
|
221
|
-
cardRadius: 16,
|
|
187
|
+
version: ''
|
|
222
188
|
};
|
|
223
189
|
},
|
|
224
190
|
filters: {
|
|
@@ -270,11 +236,6 @@ export default {
|
|
|
270
236
|
{ value: "" }
|
|
271
237
|
).value;
|
|
272
238
|
styleForm.getInitItem(this, value);
|
|
273
|
-
this.layout_style = getContainerPropsValue(value, "content.layout_style", "old");
|
|
274
|
-
this.edit_icon = getContainerPropsValue(value, "content.edit_icon", "iconbianji-01");
|
|
275
|
-
this.delete_icon = getContainerPropsValue(value, "content.delete_icon", "iconshanchu-01");
|
|
276
|
-
this.cardRadius = getContainerPropsValue(value, "content.cardRadius", 16);
|
|
277
|
-
console.log("edit_icon", this.edit_icon)
|
|
278
239
|
},
|
|
279
240
|
getList(callback) {
|
|
280
241
|
this.$xdShowLoading({});
|
|
@@ -529,8 +490,7 @@ export default {
|
|
|
529
490
|
})
|
|
530
491
|
.catch(this.$xdLog.catch);
|
|
531
492
|
},
|
|
532
|
-
|
|
533
|
-
apiDataMapCompData(item){
|
|
493
|
+
handleEdit(item) {
|
|
534
494
|
let city_name = [
|
|
535
495
|
item["province_name"],
|
|
536
496
|
item["city_name"],
|
|
@@ -543,15 +503,13 @@ export default {
|
|
|
543
503
|
item["area_code"],
|
|
544
504
|
item["street_code"],
|
|
545
505
|
];
|
|
546
|
-
|
|
506
|
+
this.defaultValue = {
|
|
547
507
|
receipt_username: item["name"],
|
|
548
508
|
receipt_address: item["address_detail"],
|
|
549
509
|
receipt_phone: item["phone"],
|
|
550
510
|
receipt_default: item["is_default"] === "Y" ? true : false,
|
|
551
511
|
city_name: city_name,
|
|
552
512
|
city_code: city_code,
|
|
553
|
-
receipt_city_code: city_code,
|
|
554
|
-
receipt_city_name: city_name,
|
|
555
513
|
receipt_region_name: city_name.join(" "),
|
|
556
514
|
city_selected_data: city_name.map((item, index) => {
|
|
557
515
|
return { label: item, value: city_code[index] };
|
|
@@ -560,20 +518,11 @@ export default {
|
|
|
560
518
|
latitude: item["latitude"] || null,
|
|
561
519
|
longitude: item["longitude"] || null,
|
|
562
520
|
house_number: item["house_number"],
|
|
563
|
-
}
|
|
564
|
-
},
|
|
565
|
-
handleEdit(item) {
|
|
566
|
-
this.defaultValue = this.apiDataMapCompData(item);
|
|
521
|
+
};
|
|
567
522
|
|
|
568
523
|
console.log("handleEdit", item, this.defaultValue);
|
|
569
524
|
this.showAddress = true;
|
|
570
525
|
},
|
|
571
|
-
handleSetDefault(item){
|
|
572
|
-
let is_default = item.is_default === "Y" ? "N" : "Y";
|
|
573
|
-
this.$set(item, 'is_default', is_default);
|
|
574
|
-
let saveData = this.apiDataMapCompData({...item, is_default});
|
|
575
|
-
this.handleSave(saveData);
|
|
576
|
-
},
|
|
577
526
|
handleDel(item) {
|
|
578
527
|
console.log("handleDel", item);
|
|
579
528
|
this.$xdConfirm({
|
|
@@ -721,10 +670,9 @@ export default {
|
|
|
721
670
|
|
|
722
671
|
&-address {
|
|
723
672
|
&-item {
|
|
724
|
-
|
|
673
|
+
border-radius: unit(16, rpx);
|
|
725
674
|
margin-bottom: unit(20, rpx);
|
|
726
675
|
box-shadow: 0px 0px unit(20, rpx) 0px rgba(0, 0, 0, 0.1);
|
|
727
|
-
overflow: hidden;
|
|
728
676
|
|
|
729
677
|
&-top {
|
|
730
678
|
display: flex;
|
|
@@ -747,7 +695,7 @@ export default {
|
|
|
747
695
|
padding: unit(20, rpx) unit(40, rpx);
|
|
748
696
|
font-size: unit(28, rpx);
|
|
749
697
|
color: #fff;
|
|
750
|
-
|
|
698
|
+
border-radius: 0px 0px unit(16, rpx) unit(16, rpx);
|
|
751
699
|
|
|
752
700
|
& > view {
|
|
753
701
|
display: flex;
|
|
@@ -331,16 +331,6 @@ export default {
|
|
|
331
331
|
inline: false,
|
|
332
332
|
notice: '间距设置,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
333
333
|
},
|
|
334
|
-
{
|
|
335
|
-
label: "主体信息行间距:",
|
|
336
|
-
ele: 'el-input',
|
|
337
|
-
type: 'number',
|
|
338
|
-
valueKey: 'lineHeight',
|
|
339
|
-
groupKey:'style',
|
|
340
|
-
value: data['lineHeight'] || 20,
|
|
341
|
-
placeholder: '请输入主体信息行间距',
|
|
342
|
-
className: 'input80',
|
|
343
|
-
},
|
|
344
334
|
{
|
|
345
335
|
ele: 'title',
|
|
346
336
|
label: '投影设置',
|
|
@@ -129,9 +129,6 @@
|
|
|
129
129
|
v-for="(Ditem, Dindex) in info.film_show.detail.items"
|
|
130
130
|
:key="Dindex"
|
|
131
131
|
class="jfb-base-order-detail__body-delivery-bottom-item"
|
|
132
|
-
:style="{
|
|
133
|
-
marginBottom: lineHeight + 'rpx'
|
|
134
|
-
}"
|
|
135
132
|
>
|
|
136
133
|
<view style="width: 130rpx"
|
|
137
134
|
>{{ Ditem.label }} <span v-if="Ditem.label">:</span>
|
|
@@ -217,9 +214,6 @@
|
|
|
217
214
|
v-for="(Ditem, Dindex) in item.info"
|
|
218
215
|
:key="Dindex"
|
|
219
216
|
class="jfb-base-order-detail__body-delivery-bottom-item"
|
|
220
|
-
:style="{
|
|
221
|
-
marginBottom: lineHeight + 'rpx'
|
|
222
|
-
}"
|
|
223
217
|
>
|
|
224
218
|
<view style="width: 130rpx;display: flex;">
|
|
225
219
|
<view v-html="Ditem.label"></view>
|
|
@@ -516,9 +510,6 @@
|
|
|
516
510
|
v-for="(item, index) in info.detail"
|
|
517
511
|
:key="index"
|
|
518
512
|
class="jfb-base-order-detail__body-order"
|
|
519
|
-
:style="{
|
|
520
|
-
marginBottom: lineHeight + 'rpx'
|
|
521
|
-
}"
|
|
522
513
|
>
|
|
523
514
|
<view :style="{ fontWeight: item.style }">
|
|
524
515
|
<view style="display: flex;">
|
|
@@ -550,9 +541,6 @@
|
|
|
550
541
|
<view
|
|
551
542
|
v-if="item.type !== 'line'"
|
|
552
543
|
class="jfb-base-order-detail__body-price"
|
|
553
|
-
:style="{
|
|
554
|
-
marginBottom: lineHeight + 'rpx'
|
|
555
|
-
}"
|
|
556
544
|
>
|
|
557
545
|
<view :style="{ fontWeight: item.style }">{{ item.label }}</view>
|
|
558
546
|
<xd-unit
|
|
@@ -578,7 +566,7 @@
|
|
|
578
566
|
></xd-font-icon>
|
|
579
567
|
</view>
|
|
580
568
|
<view class="jfb-base-order-detail__body-show" v-else>
|
|
581
|
-
|
|
569
|
+
<text>使用{{ info.pay_info.cards.length }}张票券 收起</text>
|
|
582
570
|
<xd-font-icon
|
|
583
571
|
style="margin-left: 8rpx"
|
|
584
572
|
@click="showPayCard = false"
|
|
@@ -594,7 +582,7 @@
|
|
|
594
582
|
:key="index"
|
|
595
583
|
>
|
|
596
584
|
<view>票券:{{ item.card_type_name }}</view>
|
|
597
|
-
<view>
|
|
585
|
+
<view class="list-item">
|
|
598
586
|
<view>编号:{{ item.card_number }}</view>
|
|
599
587
|
<xd-unit
|
|
600
588
|
:fontSize="28"
|
|
@@ -602,6 +590,7 @@
|
|
|
602
590
|
:price="item.card_use_point"
|
|
603
591
|
:unit="item['card_unit']"
|
|
604
592
|
></xd-unit>
|
|
593
|
+
<view v-if="item['card_discount_use_point'] > 0" class="discount">已优惠:{{item['card_discount_use_point']}}</view>
|
|
605
594
|
</view>
|
|
606
595
|
</view>
|
|
607
596
|
</view>
|
|
@@ -628,6 +617,35 @@
|
|
|
628
617
|
</view>
|
|
629
618
|
</view>
|
|
630
619
|
</view>
|
|
620
|
+
<!--旅游模块-->
|
|
621
|
+
<view
|
|
622
|
+
v-if="info.extras &&
|
|
623
|
+
info.extras.travel_booking_info &&
|
|
624
|
+
info.extras.travel_booking_info['travelers'] &&
|
|
625
|
+
info.extras.travel_booking_info['travelers'].length > 0"
|
|
626
|
+
:style="{
|
|
627
|
+
background: backgroundColor,
|
|
628
|
+
border: borderBox,
|
|
629
|
+
borderRadius: radius + 'rpx',
|
|
630
|
+
boxShadow: shadowBox,
|
|
631
|
+
marginBottom: padding + 'rpx',
|
|
632
|
+
}"
|
|
633
|
+
class="jfb-base-order-detail__body-card jfb-base-order-detail__body-booking"
|
|
634
|
+
>
|
|
635
|
+
<view class="jfb-base-order-detail__body-delivery-bottom-title">预订信息</view>
|
|
636
|
+
<view class="jfb-base-order-detail__body-line"></view>
|
|
637
|
+
<view class="jfb-base-order-detail__body-booking-list">
|
|
638
|
+
<view v-for="(item,index) in info.extras.travel_booking_info.travelers" :key="index" class="jfb-base-order-detail__body-booking-list-item">
|
|
639
|
+
<view :style="{color:mainColor,background:bgColor}" class="jfb-base-order-detail__body-booking-list-item-num">游客{{index+1}}</view>
|
|
640
|
+
<view class="jfb-base-order-detail__body-booking-list-item-info">
|
|
641
|
+
<view class="jfb-base-order-detail__body-booking-list-item-info-name">{{item.name}}</view>
|
|
642
|
+
<view v-if="item.id_card_no" class="jfb-base-order-detail__body-booking-list-item-info-item">身份证:{{item.id_card_no}}</view>
|
|
643
|
+
<view v-if="item.mobile" class="jfb-base-order-detail__body-booking-list-item-info-item">手机号:{{item.mobile}}</view>
|
|
644
|
+
</view>
|
|
645
|
+
</view>
|
|
646
|
+
</view>
|
|
647
|
+
</view>
|
|
648
|
+
<!--旅游模块-->
|
|
631
649
|
<view
|
|
632
650
|
v-if="info.productDetail"
|
|
633
651
|
class="jfb-base-order-detail__body-card jfb-base-order-detail__body-shop"
|
|
@@ -815,7 +833,6 @@ export default {
|
|
|
815
833
|
},
|
|
816
834
|
is_hot: "Y",
|
|
817
835
|
logo: "",
|
|
818
|
-
lineHeight: 20,
|
|
819
836
|
|
|
820
837
|
noticeBgc:'',
|
|
821
838
|
};
|
|
@@ -909,6 +926,17 @@ export default {
|
|
|
909
926
|
.then((res) => {
|
|
910
927
|
this.biz_code = res.biz_code;
|
|
911
928
|
this.is_not_show_price = res.is_not_show_price;
|
|
929
|
+
|
|
930
|
+
//旅游模块
|
|
931
|
+
if(res.extras && res.extras.travel_booking_info) {
|
|
932
|
+
try{
|
|
933
|
+
res.extras.travel_booking_info = JSON.parse(res.extras.travel_booking_info)
|
|
934
|
+
}catch(e){
|
|
935
|
+
res.extras.travel_booking_info = {}
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
//预览模块
|
|
912
940
|
if (this.isPreview) {
|
|
913
941
|
switch (this.viewStatus) {
|
|
914
942
|
case "mall":
|
|
@@ -973,6 +1001,12 @@ export default {
|
|
|
973
1001
|
item.card_use_point,
|
|
974
1002
|
100
|
|
975
1003
|
);
|
|
1004
|
+
if(item['card_discount_use_point'] !== undefined && item['card_discount_use_point'] > 0) {
|
|
1005
|
+
item.card_discount_use_point = this.$xdUniHelper.divisionFloatNumber(
|
|
1006
|
+
item.card_discount_use_point,
|
|
1007
|
+
100
|
|
1008
|
+
);
|
|
1009
|
+
}
|
|
976
1010
|
return item;
|
|
977
1011
|
});
|
|
978
1012
|
res.codes =
|
|
@@ -1085,7 +1119,6 @@ export default {
|
|
|
1085
1119
|
this.viewStatus = getContainerPropsValue(container, "content.viewStatus", "mall");
|
|
1086
1120
|
this.is_show_support_shop = getContainerPropsValue(container, "content.is_show_support_shop", "N");
|
|
1087
1121
|
this.is_show_delete_order = getContainerPropsValue(container, "content.is_show_delete_order", "N");
|
|
1088
|
-
this.lineHeight = getContainerPropsValue(container, "content.lineHeight", 20);
|
|
1089
1122
|
},
|
|
1090
1123
|
getCountDown() {
|
|
1091
1124
|
this.timer = setInterval(() => {
|
|
@@ -1673,6 +1706,37 @@ export default {
|
|
|
1673
1706
|
}
|
|
1674
1707
|
}
|
|
1675
1708
|
|
|
1709
|
+
&-booking {
|
|
1710
|
+
&-list {
|
|
1711
|
+
&-item {
|
|
1712
|
+
display: flex;
|
|
1713
|
+
align-items: baseline;
|
|
1714
|
+
margin-bottom: 40rpx;
|
|
1715
|
+
&-num {
|
|
1716
|
+
font-size: 24rpx;
|
|
1717
|
+
margin-right: 24rpx;
|
|
1718
|
+
width: 120rpx;
|
|
1719
|
+
height: 50rpx;
|
|
1720
|
+
text-align: center;
|
|
1721
|
+
line-height: 50rpx;
|
|
1722
|
+
border-radius: 16rpx;
|
|
1723
|
+
}
|
|
1724
|
+
&-info {
|
|
1725
|
+
flex: 1;
|
|
1726
|
+
&-name {
|
|
1727
|
+
font-size: 32rpx;
|
|
1728
|
+
margin-bottom: 20rpx;
|
|
1729
|
+
}
|
|
1730
|
+
&-item {
|
|
1731
|
+
font-size: 24rpx;
|
|
1732
|
+
color: #666;
|
|
1733
|
+
margin-bottom: 16rpx;
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
}
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1676
1740
|
&-line {
|
|
1677
1741
|
border-bottom: unit(2, rpx) solid #f2f2f2;
|
|
1678
1742
|
margin-bottom: unit(40, rpx);
|
|
@@ -1718,5 +1782,22 @@ export default {
|
|
|
1718
1782
|
border-radius: unit(12, rpx);
|
|
1719
1783
|
padding: unit(14, rpx) unit(28, rpx);
|
|
1720
1784
|
}
|
|
1785
|
+
|
|
1786
|
+
.list-item {
|
|
1787
|
+
position: relative;
|
|
1788
|
+
|
|
1789
|
+
& > .discount {
|
|
1790
|
+
position: absolute;
|
|
1791
|
+
left:0;
|
|
1792
|
+
right:0;
|
|
1793
|
+
bottom:-20rpx;
|
|
1794
|
+
height: 20rpx;
|
|
1795
|
+
font-size: 20rpx;
|
|
1796
|
+
line-height: 20rpx;
|
|
1797
|
+
color: #aaa;
|
|
1798
|
+
text-align: right;
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
}
|
|
1721
1802
|
}
|
|
1722
1803
|
</style>
|
|
@@ -17,6 +17,11 @@ module.exports = {
|
|
|
17
17
|
"loading": false,
|
|
18
18
|
"loading_timeout": -1
|
|
19
19
|
},
|
|
20
|
+
"extras": {
|
|
21
|
+
"first_logistics_package_id": "",
|
|
22
|
+
"logistics_count": 0,
|
|
23
|
+
"travel_booking_info": "{\"travelers\":[{\"name\":\"\\u6d4b\\u8bd5\",\"mobile\":\"18888888889\",\"id_card_no\":\"130102198304285898\",\"id_card_type\":\"1\"}]}"
|
|
24
|
+
},
|
|
20
25
|
"film_show": {
|
|
21
26
|
"name": "聚福宝-万里归途",
|
|
22
27
|
"thumb": "https:\/\/p0.pipi.cn\/mmdb\/25bfd6ddb53c7e5015d23c5bc24d876c03d41.jpg?imageMogr2\/thumbnail\/1246x1246%3E",
|
|
@@ -4,17 +4,6 @@ export default {
|
|
|
4
4
|
style: [],
|
|
5
5
|
content: (data)=>{
|
|
6
6
|
return [
|
|
7
|
-
{
|
|
8
|
-
label: "布局样式配置",
|
|
9
|
-
ele: "xd-radio",
|
|
10
|
-
valueKey: "layout_style",
|
|
11
|
-
value: data.layout_style || 'old',
|
|
12
|
-
list: [
|
|
13
|
-
{label: '原有布局', value: 'old'},
|
|
14
|
-
{label: '淘福客布局', value: 'tfk'},
|
|
15
|
-
],
|
|
16
|
-
groupKey: "content",
|
|
17
|
-
},
|
|
18
7
|
{
|
|
19
8
|
label: '设置订单状态:',
|
|
20
9
|
ele: 'xd-order-setting',
|
|
@@ -41,18 +30,6 @@ export default {
|
|
|
41
30
|
{required: true, message: '设置订单配置错误!请检查配置', trigger: 'change'},
|
|
42
31
|
],
|
|
43
32
|
},
|
|
44
|
-
{
|
|
45
|
-
label: "是否展示订单号:",
|
|
46
|
-
ele: 'xd-radio',
|
|
47
|
-
valueKey: 'isShowOrderNo',
|
|
48
|
-
value: data['isShowOrderNo'] || 'Y',
|
|
49
|
-
groupKey:'style',
|
|
50
|
-
list: [
|
|
51
|
-
{label: '是', value: 'Y'},
|
|
52
|
-
{label: '否', value: 'N'},
|
|
53
|
-
],
|
|
54
|
-
hidden: data.layout_style !== 'tfk'
|
|
55
|
-
},
|
|
56
33
|
{
|
|
57
34
|
label: '外填充:',
|
|
58
35
|
ele: 'xd-margin-padding',
|
|
@@ -64,129 +64,104 @@
|
|
|
64
64
|
class="jfb-base-order-list__body-order"
|
|
65
65
|
:style="{ padding: outMargin }"
|
|
66
66
|
>
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
>
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
<view
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
<view
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
>
|
|
100
|
-
|
|
101
|
-
<view class="jfb-base-order-list__body-order-item-content-info">
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<view
|
|
106
|
-
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
<text>{{ Sitem.product_num }}</text>
|
|
110
|
-
</view>
|
|
67
|
+
<view
|
|
68
|
+
@click="handleToLink(detailPath, item)"
|
|
69
|
+
class="jfb-base-order-list__body-order-item"
|
|
70
|
+
v-for="item in orderList"
|
|
71
|
+
:key="item.main_order_id"
|
|
72
|
+
:style="{
|
|
73
|
+
background: backgroundColor,
|
|
74
|
+
border: borderBox,
|
|
75
|
+
borderRadius: radius + 'rpx',
|
|
76
|
+
boxShadow: shadowBox,
|
|
77
|
+
marginBottom: padding + 'rpx',
|
|
78
|
+
}"
|
|
79
|
+
>
|
|
80
|
+
<view class="jfb-base-order-list__body-order-item-biz">
|
|
81
|
+
<xd-font-icon
|
|
82
|
+
v-if="item.biz_code_icon"
|
|
83
|
+
:icon="item.biz_code_icon"
|
|
84
|
+
:size="item['biz_code_icon_size']"
|
|
85
|
+
></xd-font-icon>
|
|
86
|
+
<view :class="{ marginLeft: item.biz_code_icon }">{{item.biz_code_name }}</view>
|
|
87
|
+
</view>
|
|
88
|
+
<view class="jfb-base-order-list__body-order-item-title">
|
|
89
|
+
<view>订单编号:{{ item.main_order_id }}</view>
|
|
90
|
+
<view :style="{color:item.status.status_type !== 'error' ? mainColor : '#999999',}">{{ 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.key"
|
|
97
|
+
v-if="(item['isOpen'] === false && Sindex < showLen) || item['isOpen']"
|
|
98
|
+
>
|
|
99
|
+
<image :src="Sitem.product_thumb" style="background: #ffffff" mode="aspectFit"></image>
|
|
100
|
+
<view class="jfb-base-order-list__body-order-item-content-info">
|
|
101
|
+
<view class="jfb-base-order-list__body-order-item-content-info-name">{{ Sitem.product_name }}</view>
|
|
102
|
+
<view class="brand-name" v-if="Sitem.brand_name" :style="{color:brandTextColor}">{{ Sitem.brand_name }}</view>
|
|
103
|
+
<view v-if="Sitem.product_sku_name" class="jfb-base-order-list__body-order-item-content-info-skuname">规格:{{ Sitem.product_sku_name }}</view>
|
|
104
|
+
<view class="jfb-base-order-list__body-order-item-content-info-price">
|
|
105
|
+
<view></view>
|
|
106
|
+
<view class="info-price">
|
|
107
|
+
<text>X</text>
|
|
108
|
+
<text>{{ Sitem.product_num }}</text>
|
|
111
109
|
</view>
|
|
112
110
|
</view>
|
|
113
111
|
</view>
|
|
114
|
-
<view
|
|
115
|
-
class="order-list-icon"
|
|
116
|
-
:style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
|
|
117
|
-
v-if="item.products.length > showLen"
|
|
118
|
-
@click.stop="switchOpen(item)"
|
|
119
|
-
>
|
|
120
|
-
<view :style="{ background: backgroundColor }">
|
|
121
|
-
<xd-font-icon
|
|
122
|
-
color="#666"
|
|
123
|
-
:icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
|
|
124
|
-
size="24"
|
|
125
|
-
></xd-font-icon>
|
|
126
|
-
</view>
|
|
127
|
-
</view>
|
|
128
|
-
</view>
|
|
129
|
-
<view class="jfb-base-order-list__body-order-item-bottom">
|
|
130
|
-
<view>下单时间:{{ item.created_time_text }}</view>
|
|
131
|
-
<view v-if="item.biz_code !== 'gift' && item.is_not_show_price !== 'Y'">
|
|
132
|
-
<text>合计:</text>
|
|
133
|
-
<xd-unit
|
|
134
|
-
:isOld="false"
|
|
135
|
-
:price="item.total_amount"
|
|
136
|
-
:color="mainColor"
|
|
137
|
-
:fontSize="28"
|
|
138
|
-
></xd-unit>
|
|
139
|
-
</view>
|
|
140
|
-
<view style="color:#999" v-if="item['main_user_server_amount'] !== undefined && item['main_user_server_amount'] > 0">
|
|
141
|
-
<text>(平台服务费:</text>
|
|
142
|
-
<xd-unit
|
|
143
|
-
:isOld="false"
|
|
144
|
-
:price="item['main_user_server_amount']"
|
|
145
|
-
:fontSize="24"
|
|
146
|
-
:is-gray="true"
|
|
147
|
-
color="#999"
|
|
148
|
-
:icon-size=".25"
|
|
149
|
-
></xd-unit>
|
|
150
|
-
<text>)</text>
|
|
151
|
-
</view>
|
|
152
112
|
</view>
|
|
153
113
|
<view
|
|
154
|
-
class="
|
|
155
|
-
|
|
114
|
+
class="order-list-icon"
|
|
115
|
+
:style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
|
|
116
|
+
v-if="item.products.length > showLen"
|
|
117
|
+
@click.stop="switchOpen(item)"
|
|
156
118
|
>
|
|
157
|
-
<view
|
|
158
|
-
<xd-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
119
|
+
<view :style="{ background: backgroundColor }">
|
|
120
|
+
<xd-font-icon
|
|
121
|
+
color="#666"
|
|
122
|
+
:icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
|
|
123
|
+
size="24"
|
|
124
|
+
></xd-font-icon>
|
|
163
125
|
</view>
|
|
164
126
|
</view>
|
|
165
127
|
</view>
|
|
166
|
-
|
|
167
|
-
|
|
128
|
+
<view class="jfb-base-order-list__body-order-item-bottom">
|
|
129
|
+
<view>下单时间:{{ item.created_time_text }}</view>
|
|
130
|
+
<view v-if="item.biz_code !== 'gift' && item.is_not_show_price !== 'Y'">
|
|
131
|
+
<text>合计:</text>
|
|
132
|
+
<xd-unit
|
|
133
|
+
:isOld="false"
|
|
134
|
+
:price="item.total_amount"
|
|
135
|
+
:color="mainColor"
|
|
136
|
+
:fontSize="28"
|
|
137
|
+
></xd-unit>
|
|
138
|
+
</view>
|
|
139
|
+
<view style="color:#999" v-if="item['main_user_server_amount'] !== undefined && item['main_user_server_amount'] > 0">
|
|
140
|
+
<text>(平台服务费:</text>
|
|
141
|
+
<xd-unit
|
|
142
|
+
:isOld="false"
|
|
143
|
+
:price="item['main_user_server_amount']"
|
|
144
|
+
:fontSize="24"
|
|
145
|
+
:is-gray="true"
|
|
146
|
+
color="#999"
|
|
147
|
+
:icon-size=".25"
|
|
148
|
+
></xd-unit>
|
|
149
|
+
<text>)</text>
|
|
150
|
+
</view>
|
|
151
|
+
</view>
|
|
168
152
|
<view
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
v-for="item in orderList"
|
|
172
|
-
:key="item.main_order_id"
|
|
173
|
-
:style="{
|
|
174
|
-
background: backgroundColor,
|
|
175
|
-
border: borderBox,
|
|
176
|
-
borderRadius: radius + 'rpx',
|
|
177
|
-
boxShadow: shadowBox,
|
|
178
|
-
marginBottom: padding + 'rpx',
|
|
179
|
-
}"
|
|
153
|
+
class="jfb-base-order-list__body-order-item-pay"
|
|
154
|
+
v-if="item.buttons.length"
|
|
180
155
|
>
|
|
181
|
-
<
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
156
|
+
<view v-for="(btn,index) in item.buttons" :key="btn.key">
|
|
157
|
+
<xd-button
|
|
158
|
+
:type="getBtnType(btn.action)"
|
|
159
|
+
size="mini"
|
|
160
|
+
@click="handleBtnEvent(btn.action, item)"
|
|
161
|
+
>{{ btn.text }}</xd-button>
|
|
162
|
+
</view>
|
|
188
163
|
</view>
|
|
189
|
-
</
|
|
164
|
+
</view>
|
|
190
165
|
</view>
|
|
191
166
|
<view v-else class="jfb-base-order-list__body-no">
|
|
192
167
|
<xd-font-icon
|
|
@@ -214,7 +189,6 @@ import extsMixins from "@/mixins/extsMixins";
|
|
|
214
189
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
215
190
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
216
191
|
import Color from "color";
|
|
217
|
-
import XdTfkOrderItem from "./XdTfkOrderItem"
|
|
218
192
|
|
|
219
193
|
export default {
|
|
220
194
|
name: "JfbBaseOrderList",
|
|
@@ -223,7 +197,6 @@ export default {
|
|
|
223
197
|
XdTab,
|
|
224
198
|
XdUnit,
|
|
225
199
|
XdButton,
|
|
226
|
-
XdTfkOrderItem,
|
|
227
200
|
},
|
|
228
201
|
mixins: [componentsMixins, extsMixins, JfbBaseOrderListMixin],
|
|
229
202
|
data() {
|
|
@@ -266,8 +239,6 @@ export default {
|
|
|
266
239
|
right: 0,
|
|
267
240
|
bottom: 0,
|
|
268
241
|
},
|
|
269
|
-
layout_style: "old",
|
|
270
|
-
isShowOrderNo: "Y",
|
|
271
242
|
|
|
272
243
|
noticeBgc:'',
|
|
273
244
|
};
|
|
@@ -344,8 +315,6 @@ export default {
|
|
|
344
315
|
|
|
345
316
|
this.detailPath = getContainerPropsValue(container, "content.detailPath", { value: "" }).value;
|
|
346
317
|
this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
|
|
347
|
-
this.layout_style = getContainerPropsValue(container, "content.layout_style", "old");
|
|
348
|
-
this.isShowOrderNo = getContainerPropsValue(container, "content.isShowOrderNo", "Y");
|
|
349
318
|
this.tabList = getContainerPropsValue(container, "content.orderTypeList", []).map((item) => {
|
|
350
319
|
return {
|
|
351
320
|
name: item.customName || item.label,
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
<view class="remain_pay" v-if="payInfo.channel_amount > 0">
|
|
101
101
|
<view style="border-bottom: 2rpx solid #eee;" class="column-group">
|
|
102
102
|
<view class="column-item" style="padding: 30rpx 60rpx">
|
|
103
|
-
<view class="column_label"
|
|
103
|
+
<view class="column_label">仍需扣点<text class="label_sub">(可使用多张票券点数)</text></view>
|
|
104
104
|
<view class="column_value text-primary">
|
|
105
105
|
<xd-unit
|
|
106
106
|
:price="payInfo.channel_amount"
|
|
@@ -112,9 +112,9 @@
|
|
|
112
112
|
</view>
|
|
113
113
|
</view>
|
|
114
114
|
<view class="remain_header">
|
|
115
|
-
<view
|
|
115
|
+
<view>选择以下补差方式</view>
|
|
116
116
|
<view class="flex align-center text-primary">
|
|
117
|
-
<view class="margin-right"
|
|
117
|
+
<view class="margin-right">继续补差</view>
|
|
118
118
|
<xd-unit
|
|
119
119
|
:price="payInfo.channel_amount"
|
|
120
120
|
:is-show-icon="false"
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
type="primary"
|
|
151
151
|
radius="50rpx"
|
|
152
152
|
@click="doThirdPay"
|
|
153
|
-
|
|
153
|
+
>确认</xd-button>
|
|
154
154
|
</view>
|
|
155
155
|
</view>
|
|
156
156
|
</view>
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="xd-tfk-item" @click="handleSelectAddress">
|
|
3
|
-
<view class="item_top">
|
|
4
|
-
<view class="user_info">
|
|
5
|
-
{{ item.name }} <text style="margin-left: 20rpx;">{{ item.phone }}</text>
|
|
6
|
-
<view v-if="item.is_valid === 'N'"
|
|
7
|
-
style="position: absolute; right: 40rpx;top: 0;"
|
|
8
|
-
>
|
|
9
|
-
<xd-font-icon
|
|
10
|
-
size="32"
|
|
11
|
-
:color="dangerColor"
|
|
12
|
-
icon="iconmingchengtubiao"
|
|
13
|
-
></xd-font-icon>
|
|
14
|
-
</view>
|
|
15
|
-
</view>
|
|
16
|
-
<view class="user_adr">{{item.province_name}}{{item.city_name}}{{item.area_name}}{{item.street_name}}{{ item.address_detail }} {{ item.house_number }}</view>
|
|
17
|
-
</view>
|
|
18
|
-
<view class="item_bottom">
|
|
19
|
-
<view class="is_default" @click.native.stop="setDefault">
|
|
20
|
-
<xd-radio :value="item.is_default === 'Y'" :width="52" :height="52" :iconSize="20"></xd-radio>
|
|
21
|
-
<view v-if="item.is_default === 'Y'">默认地址</view>
|
|
22
|
-
<view v-else>设为默认</view>
|
|
23
|
-
</view>
|
|
24
|
-
<view class="item_opera">
|
|
25
|
-
<view class="o_i" style="margin-right: 30rpx;" @click.native.stop="handleEdit">
|
|
26
|
-
<xd-font-icon class="icon" :icon="edit_icon" :size="26"></xd-font-icon> 编辑
|
|
27
|
-
</view>
|
|
28
|
-
<view class="o_i" @click.native.stop="handleDel">
|
|
29
|
-
<xd-font-icon class="icon" :icon="delete_icon" :size="26"></xd-font-icon> 删除
|
|
30
|
-
</view>
|
|
31
|
-
</view>
|
|
32
|
-
</view>
|
|
33
|
-
</view>
|
|
34
|
-
</template>
|
|
35
|
-
<script>
|
|
36
|
-
import XdRadio from "@/components/XdRadio/XdRadio"
|
|
37
|
-
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
|
|
38
|
-
export default{
|
|
39
|
-
name:"XdTfkItem",
|
|
40
|
-
components: {
|
|
41
|
-
XdRadio,
|
|
42
|
-
XdFontIcon,
|
|
43
|
-
},
|
|
44
|
-
props:{
|
|
45
|
-
edit_icon: String,
|
|
46
|
-
delete_icon: String,
|
|
47
|
-
item: Object,
|
|
48
|
-
dangerColor: String,
|
|
49
|
-
},
|
|
50
|
-
data(){
|
|
51
|
-
return{
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
created(){
|
|
55
|
-
},
|
|
56
|
-
methods:{
|
|
57
|
-
handleSelectAddress(){
|
|
58
|
-
this.$emit("selectAddress")
|
|
59
|
-
},
|
|
60
|
-
handleEdit(){
|
|
61
|
-
this.$emit("editAddress", this.item)
|
|
62
|
-
},
|
|
63
|
-
handleDel(){
|
|
64
|
-
this.$emit("delAddress", this.item)
|
|
65
|
-
},
|
|
66
|
-
setDefault(){
|
|
67
|
-
this.$emit("setDefault", this.item)
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
}
|
|
71
|
-
</script>
|
|
72
|
-
<style lang="less" scoped>
|
|
73
|
-
.xd-tfk-item{
|
|
74
|
-
.item_top{
|
|
75
|
-
padding: 30rpx;
|
|
76
|
-
}
|
|
77
|
-
.user_info{
|
|
78
|
-
color: #191a1b;
|
|
79
|
-
font-size: 30rpx;
|
|
80
|
-
position: relative;
|
|
81
|
-
}
|
|
82
|
-
.user_adr{
|
|
83
|
-
color: #797d82;
|
|
84
|
-
font-size: 26rpx;
|
|
85
|
-
margin-top: 6rpx;
|
|
86
|
-
overflow: hidden;
|
|
87
|
-
text-overflow: ellipsis;
|
|
88
|
-
white-space: nowrap;
|
|
89
|
-
}
|
|
90
|
-
.item_bottom{
|
|
91
|
-
display: flex;
|
|
92
|
-
justify-content: space-between;
|
|
93
|
-
padding: 20rpx;
|
|
94
|
-
border-top: 1px solid #ededed;
|
|
95
|
-
}
|
|
96
|
-
.item_opera{
|
|
97
|
-
display: flex;
|
|
98
|
-
color: #797d82;
|
|
99
|
-
align-items: center;
|
|
100
|
-
.o_i{
|
|
101
|
-
display: flex;
|
|
102
|
-
align-items: center;
|
|
103
|
-
font-size: 26rpx;
|
|
104
|
-
|
|
105
|
-
.icon{
|
|
106
|
-
margin-right: 10rpx;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
.is_default{
|
|
111
|
-
display: flex;
|
|
112
|
-
align-items: center;
|
|
113
|
-
font-size: 26rpx;
|
|
114
|
-
color: #797d82;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
</style>
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="xd-tfk-order-item">
|
|
3
|
-
<view class="o_header">
|
|
4
|
-
<view class="h_l">
|
|
5
|
-
<xd-font-icon
|
|
6
|
-
v-if="item.biz_code_icon"
|
|
7
|
-
:icon="item.biz_code_icon"
|
|
8
|
-
:size="item['biz_code_icon_size']"
|
|
9
|
-
></xd-font-icon>
|
|
10
|
-
<view :class="{ marginLeft: item.biz_code_icon }" style="margin-left: 20rpx;">{{item.biz_code_name }}</view>
|
|
11
|
-
</view>
|
|
12
|
-
<view v-if="isShowOrderNo==='N'" class="o_status" :style="{
|
|
13
|
-
color:item.status.status_type !== 'error' ? mainColor : '#999999',
|
|
14
|
-
}">{{ item.status.status_name }}</view>
|
|
15
|
-
</view>
|
|
16
|
-
<view class="o_title" v-if="isShowOrderNo==='Y'">
|
|
17
|
-
<view class="o_number">订单编号:{{ item.main_order_id }}</view>
|
|
18
|
-
<view class="o_status" :style="{
|
|
19
|
-
color:item.status.status_type !== 'error' ? mainColor : '#999999',
|
|
20
|
-
}">{{ item.status.status_name }}</view>
|
|
21
|
-
</view>
|
|
22
|
-
<view class="prod_list">
|
|
23
|
-
<!-- 单个商品展示商品信息 -->
|
|
24
|
-
<template v-if="item.products.length == 1">
|
|
25
|
-
<view class="one_prod" v-for="Sitem in item.products" :key="Sitem.key">
|
|
26
|
-
<view class="prod_img">
|
|
27
|
-
<image :src="Sitem.product_thumb" style="background: #ffffff" mode="aspectFill"></image>
|
|
28
|
-
</view>
|
|
29
|
-
<view class="prod_info">
|
|
30
|
-
<view class="prod_name">{{ Sitem.product_name }}</view>
|
|
31
|
-
<view v-if="Sitem.brand_name" class="prod_brand" :style="{color: brandTextColor}">{{ Sitem.brand_name }}</view>
|
|
32
|
-
<view v-if="Sitem.product_sku_name" class="prod_sku">规格:{{ Sitem.product_sku_name }}</view>
|
|
33
|
-
<view class="prod_price">
|
|
34
|
-
<view>¥448</view>
|
|
35
|
-
<view class="info-price">
|
|
36
|
-
<text>x</text>
|
|
37
|
-
<text>{{ Sitem.product_num }}</text>
|
|
38
|
-
</view>
|
|
39
|
-
</view>
|
|
40
|
-
</view>
|
|
41
|
-
</view>
|
|
42
|
-
</template>
|
|
43
|
-
|
|
44
|
-
<!-- 多个商品展示更多商品信息 -->
|
|
45
|
-
<view v-if="item.products.length > 1" class="more_prod">
|
|
46
|
-
<view class="img_list">
|
|
47
|
-
<view class="prod_img" v-for="prod in item.products" :key="prod.key">
|
|
48
|
-
<image :src="prod.product_thumb" style="background: #ffffff" mode="aspectFit"></image>
|
|
49
|
-
</view>
|
|
50
|
-
</view>
|
|
51
|
-
<view class="right_arrow">
|
|
52
|
-
<xd-font-icon icon='iconxiangyou_xian' :size="26" color="#bdc0c5"></xd-font-icon>
|
|
53
|
-
</view>
|
|
54
|
-
</view>
|
|
55
|
-
</view>
|
|
56
|
-
<view class="prod_total">
|
|
57
|
-
<view></view>
|
|
58
|
-
<view style="display: flex;align-items: center;">
|
|
59
|
-
共{{item.products.length}}件商品 实付
|
|
60
|
-
<xd-unit
|
|
61
|
-
:isOld="false"
|
|
62
|
-
:price="item.total_amount"
|
|
63
|
-
:color="mainColor"
|
|
64
|
-
:fontSize="28"></xd-unit>
|
|
65
|
-
</view>
|
|
66
|
-
</view>
|
|
67
|
-
<view v-if="item.buttons.length" class="prod_footer">
|
|
68
|
-
<view style="flex: 1;"></view>
|
|
69
|
-
<view class="btn"
|
|
70
|
-
v-for="(btn,index) in item.buttons" :key="btn.key"
|
|
71
|
-
@click="handleBtnEvent(btn.action, item)"
|
|
72
|
-
>{{btn.text}}</view>
|
|
73
|
-
</view>
|
|
74
|
-
</view>
|
|
75
|
-
</template>
|
|
76
|
-
|
|
77
|
-
<script>
|
|
78
|
-
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
|
|
79
|
-
import XdUnit from "@/components/XdUnit/XdUnit"
|
|
80
|
-
export default{
|
|
81
|
-
name:"XdTfkOrderItem",
|
|
82
|
-
components: {
|
|
83
|
-
XdFontIcon,
|
|
84
|
-
XdUnit,
|
|
85
|
-
},
|
|
86
|
-
props:{
|
|
87
|
-
item: Object,
|
|
88
|
-
mainColor: String,
|
|
89
|
-
isShowOrderNo: {
|
|
90
|
-
type: String,
|
|
91
|
-
},
|
|
92
|
-
brandTextColor: String
|
|
93
|
-
},
|
|
94
|
-
data(){
|
|
95
|
-
return{
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
methods:{
|
|
99
|
-
handleBtnEvent(action){
|
|
100
|
-
this.$emit('handleBtnEvent', action)
|
|
101
|
-
},
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
</script>
|
|
105
|
-
|
|
106
|
-
<style lang="less" scoped>
|
|
107
|
-
.xd-tfk-order-item{
|
|
108
|
-
padding-left: 30rpx;
|
|
109
|
-
overflow: hidden;
|
|
110
|
-
.o_header{
|
|
111
|
-
height: 90rpx;
|
|
112
|
-
display: flex;
|
|
113
|
-
align-items: center;
|
|
114
|
-
justify-content: space-between;
|
|
115
|
-
border-bottom: 1px solid #EDEDED;
|
|
116
|
-
padding-right: 30rpx;
|
|
117
|
-
color: #333333;
|
|
118
|
-
font-size: 28rpx;
|
|
119
|
-
|
|
120
|
-
.h_l{
|
|
121
|
-
display: flex;
|
|
122
|
-
align-items: center;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
.o_title{
|
|
126
|
-
height: 80rpx;
|
|
127
|
-
display: flex;
|
|
128
|
-
align-items: center;
|
|
129
|
-
justify-content: space-between;
|
|
130
|
-
padding-right: 30rpx;
|
|
131
|
-
color: #333333;
|
|
132
|
-
font-size: 24rpx;
|
|
133
|
-
border-bottom: 1px solid #EDEDED;
|
|
134
|
-
}
|
|
135
|
-
.one_prod{
|
|
136
|
-
display: flex;
|
|
137
|
-
align-items: center;
|
|
138
|
-
width: 100%;
|
|
139
|
-
padding: 30rpx 30rpx 30rpx 0;
|
|
140
|
-
box-sizing: border-box;
|
|
141
|
-
.prod_img{
|
|
142
|
-
width: 140rpx;
|
|
143
|
-
height: 140rpx;
|
|
144
|
-
background-color: #f5f5f9;
|
|
145
|
-
image{
|
|
146
|
-
width: 100%;
|
|
147
|
-
height: 100%;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
.prod_info{
|
|
151
|
-
flex: 1;
|
|
152
|
-
padding-left: 30rpx;
|
|
153
|
-
.prod_name{
|
|
154
|
-
color: #2e2f30;
|
|
155
|
-
font-size: 30rpx;
|
|
156
|
-
}
|
|
157
|
-
.prod_brand{
|
|
158
|
-
font-size: 24rpx;
|
|
159
|
-
margin-top: 8rpx;
|
|
160
|
-
}
|
|
161
|
-
.prod_sku{
|
|
162
|
-
color: #797d82;
|
|
163
|
-
font-size: 24rpx;
|
|
164
|
-
margin-top: 8rpx;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
.prod_price{
|
|
168
|
-
display: flex;
|
|
169
|
-
justify-content: space-between;
|
|
170
|
-
align-items: center;
|
|
171
|
-
color: rgb(46, 47, 48);
|
|
172
|
-
font-size: 30rpx;
|
|
173
|
-
margin-top: 12rpx;
|
|
174
|
-
.info-price{
|
|
175
|
-
display: flex;
|
|
176
|
-
color: #bdc0c5;
|
|
177
|
-
font-size: 26rpx;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
.prod_list{
|
|
182
|
-
position: relative;
|
|
183
|
-
.right_arrow{
|
|
184
|
-
position: absolute;
|
|
185
|
-
right: 0px;
|
|
186
|
-
height: 100%;
|
|
187
|
-
width: 60rpx;
|
|
188
|
-
top: 0;
|
|
189
|
-
background: #FFF;
|
|
190
|
-
display: flex;
|
|
191
|
-
align-items: center;
|
|
192
|
-
justify-content: center;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
.more_prod{
|
|
196
|
-
display: flex;
|
|
197
|
-
flex-wrap: nowrap;
|
|
198
|
-
overflow: auto;
|
|
199
|
-
padding: 30rpx 30rpx 30rpx 0;
|
|
200
|
-
width: 100%;
|
|
201
|
-
.img_list{
|
|
202
|
-
display: flex;
|
|
203
|
-
flex-wrap: nowrap;
|
|
204
|
-
padding-right: 60rpx;
|
|
205
|
-
}
|
|
206
|
-
.prod_img{
|
|
207
|
-
width: 140rpx;
|
|
208
|
-
height: 140rpx;
|
|
209
|
-
display: flex;
|
|
210
|
-
align-items: center;
|
|
211
|
-
justify-content: center;
|
|
212
|
-
image{
|
|
213
|
-
width: 100%;
|
|
214
|
-
height: 100%;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
.prod_total{
|
|
219
|
-
height: 80rpx;
|
|
220
|
-
display: flex;
|
|
221
|
-
align-items: center;
|
|
222
|
-
justify-content: space-between;
|
|
223
|
-
padding-right: 30rpx;
|
|
224
|
-
border-top: 1px solid #EDEDED;
|
|
225
|
-
color: #2e2f30;
|
|
226
|
-
font-size: 26rpx;
|
|
227
|
-
}
|
|
228
|
-
.prod_footer{
|
|
229
|
-
padding: 16rpx 30rpx 16rpx 0;
|
|
230
|
-
display: flex;
|
|
231
|
-
align-items: center;
|
|
232
|
-
border-top: 1px solid #EDEDED;
|
|
233
|
-
.btn{
|
|
234
|
-
width: 170rpx;
|
|
235
|
-
height: 66rpx;
|
|
236
|
-
border: 1px solid #EDEDED;
|
|
237
|
-
display: flex;
|
|
238
|
-
align-items: center;
|
|
239
|
-
justify-content: center;
|
|
240
|
-
margin-left: 20rpx;
|
|
241
|
-
color: #2e2f30;
|
|
242
|
-
font-size: 24rpx;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
</style>
|