jufubao-base 1.0.198-beta1 → 1.0.199
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/commands.js +1 -1
- package/package.json +1 -1
- package/src/ICONS.js +1128 -0
- package/src/components/JfbBaseAddress/Attr.js +109 -1
- package/src/components/JfbBaseAddress/JfbBaseAddress.vue +152 -77
- package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
- package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +13 -41
- package/src/components/JfbBaseFastLink/Attr.js +24 -8
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +37 -21
- package/src/components/JfbBaseFooter/Attr.js +141 -75
- package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
- package/src/components/JfbBaseOrderDetail/Attr.js +147 -65
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +96 -46
- package/src/components/JfbBaseOrderList/Attr.js +59 -2
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
- package/src/components/JfbBaseOrderList/Mock.js +3 -0
- package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
- package/src/components/JfbBaseUserCenter/Attr.js +297 -52
- package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +135 -44
- package/src/components/JfbBaseUserInfo/Attr.js +212 -37
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +89 -60
- package/src/components/JfbBaseUserOrder/Attr.js +332 -30
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +183 -55
- package/src/components/JfbBaseWallet/Attr.js +376 -8
- package/src/components/JfbBaseWallet/JfbBaseWallet.vue +185 -49
- package/src/mixins/componentsMixins.js +210 -35
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import StyleForm from "@/utils/StyleForm";
|
|
3
|
+
import IConList from "@/ICONS"
|
|
3
4
|
let styleForm = new StyleForm(
|
|
4
5
|
{border: null, shadow: null, spacing: '', bgColor:'', margin: null},
|
|
5
6
|
null,
|
|
@@ -11,6 +12,35 @@ export default {
|
|
|
11
12
|
advanced: [],
|
|
12
13
|
content: (data)=>{
|
|
13
14
|
return [
|
|
15
|
+
{
|
|
16
|
+
label: "布局样式配置",
|
|
17
|
+
ele: "xd-radio",
|
|
18
|
+
valueKey: "layout_style",
|
|
19
|
+
value: data.layout_style || 'old',
|
|
20
|
+
list: [
|
|
21
|
+
{label: '布局1', value: 'old'},
|
|
22
|
+
{label: '布局2', value: 'tfk'},
|
|
23
|
+
],
|
|
24
|
+
groupKey: "style",
|
|
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
|
+
},
|
|
14
44
|
{
|
|
15
45
|
label: '选取地区路径:',
|
|
16
46
|
ele: 'xd-select-pages-path',
|
|
@@ -23,7 +53,85 @@ export default {
|
|
|
23
53
|
},
|
|
24
54
|
inline: false,
|
|
25
55
|
},
|
|
26
|
-
...styleForm.getForm(data, '内容列表样式配置')
|
|
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
|
+
},
|
|
76
|
+
{
|
|
77
|
+
label: "底部按钮配置",
|
|
78
|
+
ele: "title",
|
|
79
|
+
groupKey: "style",
|
|
80
|
+
size: "small"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
label: "容器内边距:",
|
|
84
|
+
ele: "xd-margin-padding",
|
|
85
|
+
valueKey: "bottomPadding",
|
|
86
|
+
value: data.bottomPadding || null,
|
|
87
|
+
groupKey: "style",
|
|
88
|
+
setting: {
|
|
89
|
+
type: 'padding',
|
|
90
|
+
},
|
|
91
|
+
placeholder: '请设置边距',
|
|
92
|
+
inline: false,
|
|
93
|
+
notice: '设置内边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
label: "容器背景颜色:",
|
|
97
|
+
ele: "xd-color",
|
|
98
|
+
valueKey: "bottomBgColor",
|
|
99
|
+
value: data.bottomBgColor || null,
|
|
100
|
+
groupKey: "style",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
label: "按钮背景颜色:",
|
|
104
|
+
ele: "xd-color",
|
|
105
|
+
valueKey: "bottomBtnBgColor",
|
|
106
|
+
value: data.bottomBtnBgColor || null,
|
|
107
|
+
groupKey: "style",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
label: "按钮文字颜色:",
|
|
111
|
+
ele: "xd-color",
|
|
112
|
+
valueKey: "bottomBtnTextColor",
|
|
113
|
+
value: data.bottomBtnTextColor || null,
|
|
114
|
+
groupKey: "style",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
label: "按钮圆角:",
|
|
118
|
+
ele: "xd-site-select-list",
|
|
119
|
+
valueKey: "bottomBtnRadius",
|
|
120
|
+
value: data['bottomBtnRadius'] || '',
|
|
121
|
+
groupKey:'style',
|
|
122
|
+
placeholder: '请选择内容圆角设置',
|
|
123
|
+
multiple: false,
|
|
124
|
+
className: 'input80',
|
|
125
|
+
handleCustom({ action, data }) {
|
|
126
|
+
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
127
|
+
.then(res => {
|
|
128
|
+
data.cb(res.list)
|
|
129
|
+
})
|
|
130
|
+
.catch(error => {
|
|
131
|
+
console.error(error);
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
}
|
|
27
135
|
].filter(i=>i)
|
|
28
136
|
},
|
|
29
137
|
}
|
|
@@ -26,81 +26,108 @@
|
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
29
|
+
<template v-if="layout_style === 'old'">
|
|
30
|
+
<view
|
|
31
|
+
:style="{
|
|
32
|
+
marginBottom: jfbListSpacing + 'rpx',
|
|
33
|
+
boxShadow: jfbListShadowComputed,
|
|
34
|
+
border: jfbListBorderComputed,
|
|
35
|
+
backgroundColor: jfbListBgColor,
|
|
36
|
+
borderRadius: cardRadius + 'rpx'
|
|
37
|
+
}"
|
|
38
|
+
class="jfb-base-address__body-address-item"
|
|
39
|
+
v-for="(item, index) in addressList"
|
|
40
|
+
@click="handleSelectAddress(item)"
|
|
41
|
+
:key="index"
|
|
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>
|
|
54
81
|
<view
|
|
55
82
|
:style="{
|
|
56
|
-
|
|
57
|
-
flex: 1,
|
|
58
|
-
paddingRight: item.is_valid === 'N' ? '40rpx' : '',
|
|
83
|
+
backgroundColor: item.is_select === 'Y' ? mainColor : '#CCC',
|
|
59
84
|
}"
|
|
85
|
+
class="jfb-base-address__body-address-item-bottom"
|
|
60
86
|
>
|
|
61
87
|
<view>
|
|
62
|
-
{{ item
|
|
88
|
+
<view style="margin-right: 40rpx">{{ item.name }}</view>
|
|
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>
|
|
63
103
|
</view>
|
|
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
104
|
</view>
|
|
75
105
|
</view>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
</view>
|
|
106
|
+
</template>
|
|
107
|
+
<template v-else>
|
|
79
108
|
<view
|
|
80
109
|
:style="{
|
|
81
|
-
|
|
110
|
+
marginBottom: jfbListSpacing + 'rpx',
|
|
111
|
+
boxShadow: jfbListShadowComputed,
|
|
112
|
+
border: jfbListBorderComputed,
|
|
113
|
+
backgroundColor: jfbListBgColor,
|
|
114
|
+
borderRadius: cardRadius + 'rpx'
|
|
82
115
|
}"
|
|
83
|
-
|
|
116
|
+
v-for="(item, index) in addressList"
|
|
117
|
+
@click="handleSelectAddress(item)"
|
|
118
|
+
:key="index"
|
|
84
119
|
>
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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>
|
|
120
|
+
<xd-tfk-item
|
|
121
|
+
:edit_icon="edit_icon"
|
|
122
|
+
:delete_icon="delete_icon"
|
|
123
|
+
:item="item"
|
|
124
|
+
:dangerColor="dangerColor"
|
|
125
|
+
@editAddress="handleEdit(item)"
|
|
126
|
+
@delAddress="handleDel(item)"
|
|
127
|
+
@setDefault="handleSetDefault(item)"
|
|
128
|
+
></xd-tfk-item>
|
|
102
129
|
</view>
|
|
103
|
-
</
|
|
130
|
+
</template>
|
|
104
131
|
</view>
|
|
105
132
|
<view class="jfb-base-address__body-empty" v-else>
|
|
106
133
|
<xd-font-icon icon="iconbianzu-01" size="120"></xd-font-icon>
|
|
@@ -108,13 +135,19 @@
|
|
|
108
135
|
</view>
|
|
109
136
|
<view style="height: 110rpx"></view>
|
|
110
137
|
<view class="jfb-base-address__body-footer" :style="prod_bottom">
|
|
111
|
-
<
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
138
|
+
<view :style="[bottomBoxStyle]">
|
|
139
|
+
<xd-button
|
|
140
|
+
width="100%"
|
|
141
|
+
type="primary"
|
|
142
|
+
:style="{
|
|
143
|
+
background: bottomBtnBgColor,
|
|
144
|
+
color: bottomBtnTextColor
|
|
145
|
+
}"
|
|
146
|
+
:radius="bottomBtnRadius+'rpx'"
|
|
147
|
+
@click="showAddress = !showAddress"
|
|
148
|
+
>+新增收货地址
|
|
149
|
+
</xd-button>
|
|
150
|
+
</view>
|
|
118
151
|
<xd-down-drawer
|
|
119
152
|
v-if="showAddress"
|
|
120
153
|
:show.sync="showAddress"
|
|
@@ -150,6 +183,7 @@ import componentsMixins from "@/mixins/componentsMixins";
|
|
|
150
183
|
import extsMixins from "@/mixins/extsMixins";
|
|
151
184
|
import StyleForm from "@/utils/StyleForm";
|
|
152
185
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
186
|
+
import XdTfkItem from "./XdTfkItem"
|
|
153
187
|
let styleForm = new StyleForm(
|
|
154
188
|
{
|
|
155
189
|
border: null,
|
|
@@ -174,6 +208,7 @@ export default {
|
|
|
174
208
|
XdButton,
|
|
175
209
|
XdDownDrawer,
|
|
176
210
|
XdAddress,
|
|
211
|
+
XdTfkItem,
|
|
177
212
|
},
|
|
178
213
|
mixins: [componentsMixins, extsMixins, JfbBaseAddressMixin],
|
|
179
214
|
data() {
|
|
@@ -185,7 +220,16 @@ export default {
|
|
|
185
220
|
addressList: null,
|
|
186
221
|
...styleForm.getDataItem(),
|
|
187
222
|
version: '',
|
|
188
|
-
|
|
223
|
+
cache_key: '',
|
|
224
|
+
layout_style: "old",
|
|
225
|
+
edit_icon: "",
|
|
226
|
+
delete_icon: "",
|
|
227
|
+
cardRadius: 16,
|
|
228
|
+
bottomPadding: "",
|
|
229
|
+
bottomBgColor: "",
|
|
230
|
+
bottomBtnBgColor: "",
|
|
231
|
+
bottomBtnTextColor: "",
|
|
232
|
+
bottomBtnRadius: "",
|
|
189
233
|
};
|
|
190
234
|
},
|
|
191
235
|
filters: {
|
|
@@ -211,6 +255,16 @@ export default {
|
|
|
211
255
|
return this.fixedStyle({ height: 0, zIndex: 111 });
|
|
212
256
|
},
|
|
213
257
|
...styleForm.getComputedItem(),
|
|
258
|
+
bottomBoxStyle(){
|
|
259
|
+
let padding = `${this.checkValue(this.bottomPadding.top, 20)}rpx`;
|
|
260
|
+
padding = `${padding} ${this.checkValue(this.bottomPadding.right, 20)}rpx`;
|
|
261
|
+
padding = `${padding} ${this.checkValue(this.bottomPadding.bottom, 20)}rpx`;
|
|
262
|
+
padding = `${padding} ${this.checkValue(this.bottomPadding.left, 20)}rpx`;
|
|
263
|
+
return {
|
|
264
|
+
padding: padding,
|
|
265
|
+
backgroundColor: this.bottomBgColor,
|
|
266
|
+
}
|
|
267
|
+
}
|
|
214
268
|
},
|
|
215
269
|
methods: {
|
|
216
270
|
onJfbLoad(options) {
|
|
@@ -240,6 +294,16 @@ export default {
|
|
|
240
294
|
{ value: "" }
|
|
241
295
|
).value;
|
|
242
296
|
styleForm.getInitItem(this, value);
|
|
297
|
+
this.layout_style = getContainerPropsValue(value, "content.layout_style", "old");
|
|
298
|
+
this.edit_icon = getContainerPropsValue(value, "content.edit_icon", "iconbianji-01");
|
|
299
|
+
this.delete_icon = getContainerPropsValue(value, "content.delete_icon", "iconshanchu-01");
|
|
300
|
+
this.cardRadius = getContainerPropsValue(value, "content.cardRadius", 16);
|
|
301
|
+
this.bottomPadding = getContainerPropsValue(value, "content.bottomPadding", {});
|
|
302
|
+
this.bottomBgColor = getContainerPropsValue(value, "content.bottomBgColor", "#FFFFFF");
|
|
303
|
+
this.bottomBtnBgColor = getContainerPropsValue(value, "content.bottomBtnBgColor", this.mainColor);
|
|
304
|
+
this.bottomBtnTextColor = getContainerPropsValue(value, "content.bottomBtnTextColor", "#FFFFFF");
|
|
305
|
+
this.bottomBtnRadius = getContainerPropsValue(value, "content.bottomBtnRadius", 40);
|
|
306
|
+
console.log("bottomBtnRadius", this.bottomBtnRadius)
|
|
243
307
|
},
|
|
244
308
|
getList(callback) {
|
|
245
309
|
this.$xdShowLoading({});
|
|
@@ -498,7 +562,8 @@ export default {
|
|
|
498
562
|
})
|
|
499
563
|
.catch(this.$xdLog.catch);
|
|
500
564
|
},
|
|
501
|
-
|
|
565
|
+
//接口数据接口映射到组件数据接口
|
|
566
|
+
apiDataMapCompData(item){
|
|
502
567
|
let city_name = [
|
|
503
568
|
item["province_name"],
|
|
504
569
|
item["city_name"],
|
|
@@ -511,13 +576,15 @@ export default {
|
|
|
511
576
|
item["area_code"],
|
|
512
577
|
item["street_code"],
|
|
513
578
|
];
|
|
514
|
-
|
|
579
|
+
return {
|
|
515
580
|
receipt_username: item["name"],
|
|
516
581
|
receipt_address: item["address_detail"],
|
|
517
582
|
receipt_phone: item["phone"],
|
|
518
583
|
receipt_default: item["is_default"] === "Y" ? true : false,
|
|
519
584
|
city_name: city_name,
|
|
520
585
|
city_code: city_code,
|
|
586
|
+
receipt_city_code: city_code,
|
|
587
|
+
receipt_city_name: city_name,
|
|
521
588
|
receipt_region_name: city_name.join(" "),
|
|
522
589
|
city_selected_data: city_name.map((item, index) => {
|
|
523
590
|
return { label: item, value: city_code[index] };
|
|
@@ -526,11 +593,20 @@ export default {
|
|
|
526
593
|
latitude: item["latitude"] || null,
|
|
527
594
|
longitude: item["longitude"] || null,
|
|
528
595
|
house_number: item["house_number"],
|
|
529
|
-
}
|
|
596
|
+
}
|
|
597
|
+
},
|
|
598
|
+
handleEdit(item) {
|
|
599
|
+
this.defaultValue = this.apiDataMapCompData(item);
|
|
530
600
|
|
|
531
601
|
console.log("handleEdit", item, this.defaultValue);
|
|
532
602
|
this.showAddress = true;
|
|
533
603
|
},
|
|
604
|
+
handleSetDefault(item){
|
|
605
|
+
let is_default = item.is_default === "Y" ? "N" : "Y";
|
|
606
|
+
this.$set(item, 'is_default', is_default);
|
|
607
|
+
let saveData = this.apiDataMapCompData({...item, is_default});
|
|
608
|
+
this.handleSave(saveData);
|
|
609
|
+
},
|
|
534
610
|
handleDel(item) {
|
|
535
611
|
console.log("handleDel", item);
|
|
536
612
|
this.$xdConfirm({
|
|
@@ -679,9 +755,10 @@ export default {
|
|
|
679
755
|
|
|
680
756
|
&-address {
|
|
681
757
|
&-item {
|
|
682
|
-
border-radius: unit(16, rpx);
|
|
758
|
+
// border-radius: unit(16, rpx);
|
|
683
759
|
margin-bottom: unit(20, rpx);
|
|
684
760
|
box-shadow: 0px 0px unit(20, rpx) 0px rgba(0, 0, 0, 0.1);
|
|
761
|
+
overflow: hidden;
|
|
685
762
|
|
|
686
763
|
&-top {
|
|
687
764
|
display: flex;
|
|
@@ -704,7 +781,7 @@ export default {
|
|
|
704
781
|
padding: unit(20, rpx) unit(40, rpx);
|
|
705
782
|
font-size: unit(28, rpx);
|
|
706
783
|
color: #fff;
|
|
707
|
-
border-radius: 0px 0px unit(16, rpx) unit(16, rpx);
|
|
784
|
+
// border-radius: 0px 0px unit(16, rpx) unit(16, rpx);
|
|
708
785
|
|
|
709
786
|
& > view {
|
|
710
787
|
display: flex;
|
|
@@ -718,9 +795,7 @@ export default {
|
|
|
718
795
|
position: fixed;
|
|
719
796
|
left: 0;
|
|
720
797
|
right: 0;
|
|
721
|
-
padding-top: unit(20, rpx);
|
|
722
798
|
background: #fff;
|
|
723
|
-
height: unit(100, rpx);
|
|
724
799
|
}
|
|
725
800
|
}
|
|
726
801
|
}
|
|
@@ -0,0 +1,117 @@
|
|
|
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>
|