jufubao-mall 2.0.27-beta3 → 2.0.27-beta4
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/JfbMallConfirm/JfbMallConfirm.vue +67 -42
- package/src/components/JfbMallConfirm/XdAddrDefault.vue +1 -1
- package/src/components/JfbMallConfirm/XdListItem.vue +4 -0
- package/src/components/JfbMallConfirm/cusAttr/content.js +2 -2
- package/src/components/JfbMallConfirm/shopList.vue +68 -32
package/package.json
CHANGED
|
@@ -73,50 +73,52 @@
|
|
|
73
73
|
</view>
|
|
74
74
|
</view>
|
|
75
75
|
</view>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
<!-- 配送信息 -->
|
|
77
|
+
<view v-if="shop.support_delivery_method_options.length" class="delivery">
|
|
78
|
+
<xd-list-item v-if="shop.sub_show_delivery_method==='Y'" label="配送方式" showRight paddingLR="48rpx" paddingTB="24rpx" showBottom size="large">
|
|
79
|
+
<picker @change="e => bindPickerChange(e, shopIndex)"
|
|
80
|
+
range-key="label" :range="shop.support_delivery_method_options"
|
|
81
|
+
:value="shop.support_delivery_method_options.findIndex(ll => ll.value == shop.deliveryPickValue)"
|
|
82
|
+
>
|
|
83
|
+
<view style="color: #333333;">{{shop.deliveryPickLabel || "选择配送方式"}}</view>
|
|
84
|
+
</picker>
|
|
85
|
+
</xd-list-item>
|
|
86
|
+
<template>
|
|
87
|
+
<xd-list-item v-if="shop.sub_show_delivery_price==='Y'" label="配送费用" showBottom paddingLR="48rpx" paddingTB="24rpx">
|
|
88
|
+
<xd-unit :price="shop.user_logistics_amount_origin" :fontSize="28" :isOld="false"></xd-unit>
|
|
89
|
+
</xd-list-item>
|
|
90
|
+
<xd-list-item v-if="shop.deliveryPickValue === 'samecity' && shop.is_support_delivery == 'Y'"
|
|
91
|
+
:label="shop.time_label" showRight paddingLR="48rpx" paddingTB="24rpx" showBottom
|
|
92
|
+
@click="toSetSelectTime(shopIndex,shop)">
|
|
93
|
+
{{shop.selectTime ? shop.selectTime.dateTime : "请选择"}}
|
|
85
94
|
</xd-list-item>
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
<template v-if="shop.deliveryPickValue === 'takeout'" >
|
|
96
|
+
<!-- 配送方式:到店自提 -->
|
|
97
|
+
<xd-list-item label="选择门店" show-right paddingLR="48rpx" paddingTB="24rpx" showBottom @click="toSetSelectShop(shopIndex)">
|
|
98
|
+
<view style="text-overflow: ellipsis;overflow: hidden;white-space: nowrap;width: 460rpx;text-align: right;">
|
|
99
|
+
{{shop.choseShop ? shop.choseShop.resource_shop_name : "请选择"}}
|
|
100
|
+
</view>
|
|
89
101
|
</xd-list-item>
|
|
90
|
-
<xd-list-item v-if="shop.
|
|
91
|
-
{{shop.
|
|
102
|
+
<xd-list-item v-if="shop.takeoutTimeList" :label="shop.time_label" show-right paddingLR="48rpx" paddingTB="24rpx" @click="toSetTakeoutTime(shopIndex,shop)">
|
|
103
|
+
<view style="">{{shop.takeoutTime ? shop.takeoutTime.dateTime : '请选择'}}</view>
|
|
92
104
|
</xd-list-item>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
</view>
|
|
104
|
-
</view>
|
|
105
|
-
</view>
|
|
106
|
-
<!-- <xd-list-item v-if="shop.delivery_message" :label="shop.delivery_message" paddingLR="48rpx" size="large"></xd-list-item> -->
|
|
107
|
-
<view v-if="showLogisticsTip === 'Y' && shop.deliveryPickValue === 'logistics'" class="logistics_tip">
|
|
108
|
-
{{logisticsTipText}}
|
|
109
|
-
</view>
|
|
110
|
-
<view v-if="shop.is_support_delivery == 'N'" :style="{background:bgColor,color:warningColor}" class="err_message">
|
|
111
|
-
{{shop.message}}
|
|
112
|
-
</view>
|
|
105
|
+
</template>
|
|
106
|
+
</template>
|
|
107
|
+
</view>
|
|
108
|
+
<!-- <xd-list-item v-if="shop.delivery_message" :label="shop.delivery_message" paddingLR="48rpx" size="large"></xd-list-item> -->
|
|
109
|
+
<view v-if="showLogisticsTip === 'Y' && shop.deliveryPickValue === 'logistics'" class="logistics_tip">
|
|
110
|
+
{{logisticsTipText}}
|
|
111
|
+
</view>
|
|
112
|
+
<view v-if="shop.is_support_delivery == 'N'" :style="{background:bgColor,color:warningColor}" class="err_message">
|
|
113
|
+
{{shop.message}}
|
|
114
|
+
</view>
|
|
113
115
|
</view>
|
|
114
116
|
</view>
|
|
115
117
|
|
|
116
118
|
<!-- 订单备注信息 -->
|
|
117
119
|
<view v-if="showOrderComment == 'Y'" class="order_comment section" :style=[blockSectionStyleComp]>
|
|
118
120
|
<view class="title">备注信息</view>
|
|
119
|
-
<input v-model="comment" class="order_market" :maxlength="
|
|
121
|
+
<input v-model="comment" class="order_market" :maxlength="50" placeholder="建议留言前先与平台沟通确认,最多只支持50字"/>
|
|
120
122
|
</view>
|
|
121
123
|
<!-- 展示vip -->
|
|
122
124
|
<view v-if="is_show_vip_card_list === 'Y'" class="section" style="overflow: hidden;" :style=[blockSectionStyleComp]>
|
|
@@ -189,7 +191,7 @@
|
|
|
189
191
|
</xd-list-item>
|
|
190
192
|
</view>
|
|
191
193
|
</view>
|
|
192
|
-
<view :style=
|
|
194
|
+
<view :style=[fixedBottomPlaceholder]></view>
|
|
193
195
|
<!-- 靠低支付, 增加淘福客布局 -->
|
|
194
196
|
<view class="fixe_bottom" :style="prod_bottom">
|
|
195
197
|
<view class="fixed_bottom_body" :style="[bottomBoxStyle]">
|
|
@@ -311,7 +313,7 @@
|
|
|
311
313
|
></xd-select-time>
|
|
312
314
|
<xd-down-drawer
|
|
313
315
|
:show.sync="showShopList"
|
|
314
|
-
height="
|
|
316
|
+
height="45vh"
|
|
315
317
|
>
|
|
316
318
|
<template v-if="showShopList">
|
|
317
319
|
<view :style="{height: '100rpx'}"></view>
|
|
@@ -456,6 +458,8 @@
|
|
|
456
458
|
showCouponChose: false,
|
|
457
459
|
couponList: [],
|
|
458
460
|
|
|
461
|
+
fixedBottomBodyHeight: 0,
|
|
462
|
+
|
|
459
463
|
//面板
|
|
460
464
|
xnamespace: "",
|
|
461
465
|
showBuyer: "",
|
|
@@ -612,8 +616,9 @@
|
|
|
612
616
|
return flat;
|
|
613
617
|
},
|
|
614
618
|
fixedBottomPlaceholder() {
|
|
615
|
-
|
|
616
|
-
|
|
619
|
+
return {
|
|
620
|
+
height: (this.fixedBottomBodyHeight + 14) + 'px'
|
|
621
|
+
}
|
|
617
622
|
},
|
|
618
623
|
prod_bottom() {
|
|
619
624
|
return this.fixedStyle({height: 0, zIndex: 111});
|
|
@@ -798,11 +803,11 @@
|
|
|
798
803
|
this.showPrice = "Y"
|
|
799
804
|
}
|
|
800
805
|
|
|
801
|
-
let contStyle = this.getRelationStatus(container,'cont_style',{ sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] }, `{"spacing":
|
|
806
|
+
let contStyle = this.getRelationStatus(container,'cont_style',{ sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] }, `{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}`);
|
|
802
807
|
this.sectionHeight = gCPVal(container, 'sectionHeight', [16], {sKey: "sectionHeightStatus", fields: ['sectionHeight'], cusFields: ['cont_style', 'spacing', contStyle]});
|
|
803
808
|
this.lrPadding = gCPVal(container, 'lrPadding', [0], {sKey:'lrPaddingStatus',fields:['lrPadding'],isPMR: true, cusFields: ['cont_style', 'margin', contStyle]})
|
|
804
809
|
|
|
805
|
-
let addrStyle = this.getRelationStatus(container,'addr_style',{ addrLrPaddingStatus: ['addrLrPadding'] }, `{"margin":{"bottom":0,"top":
|
|
810
|
+
let addrStyle = this.getRelationStatus(container,'addr_style',{ addrLrPaddingStatus: ['addrLrPadding'] }, `{"margin":{"bottom":0,"top":16,"left":16,"right":16}}`);
|
|
806
811
|
this.addrLrPadding = gCPVal(container, 'addrLrPadding', [0], {sKey:'addrLrPaddingStatus',fields:['addrLrPadding'],isPMR: true, cusFields: ['addr_style', 'margin', addrStyle]});
|
|
807
812
|
|
|
808
813
|
this.brandTextColor = gCPVal(container, 'brandTextColor', [this.mainColor], {sKey: "brandTextStatus", fields: ['brandTextColor']})
|
|
@@ -850,6 +855,21 @@
|
|
|
850
855
|
if(this.skipToPay === 'N'){
|
|
851
856
|
this.hasAlertCardChose = true;
|
|
852
857
|
}
|
|
858
|
+
this.$nextTick(() => {
|
|
859
|
+
setTimeout(() => {
|
|
860
|
+
this.getDomReadyRect();
|
|
861
|
+
}, 200)
|
|
862
|
+
});
|
|
863
|
+
},
|
|
864
|
+
getDomReadyRect(){
|
|
865
|
+
return new Promise((resolve, reject) => {
|
|
866
|
+
let query = uni.createSelectorQuery();
|
|
867
|
+
query.select('.fixed_bottom_body').boundingClientRect(rect => {
|
|
868
|
+
console.log('getDomReadyRect', rect);
|
|
869
|
+
this.fixedBottomBodyHeight = rect.height;
|
|
870
|
+
resolve(rect);
|
|
871
|
+
}).exec();
|
|
872
|
+
});
|
|
853
873
|
},
|
|
854
874
|
//选择元宝
|
|
855
875
|
toChoseWallet(){
|
|
@@ -1629,7 +1649,7 @@
|
|
|
1629
1649
|
color: #999999;
|
|
1630
1650
|
}
|
|
1631
1651
|
.logistics_tip{
|
|
1632
|
-
padding:
|
|
1652
|
+
padding: 0 48rpx 24rpx;
|
|
1633
1653
|
font-size: 24rpx;
|
|
1634
1654
|
color: var(--g-theme-dangerColor);
|
|
1635
1655
|
}
|
|
@@ -1637,6 +1657,11 @@
|
|
|
1637
1657
|
padding: 20rpx 48rpx;
|
|
1638
1658
|
font-size: 24rpx;
|
|
1639
1659
|
}
|
|
1660
|
+
.delivery{
|
|
1661
|
+
::v-deep .xd-my-list-item:last-child{
|
|
1662
|
+
border-bottom: none !important;
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1640
1665
|
.shop_name{
|
|
1641
1666
|
padding: 24rpx 48rpx;
|
|
1642
1667
|
border-bottom: 1px solid #eee;
|
|
@@ -103,6 +103,8 @@ export default {
|
|
|
103
103
|
.my-list_label{
|
|
104
104
|
font-size: 28rpx;
|
|
105
105
|
font-weight: 400;
|
|
106
|
+
height: 40rpx;
|
|
107
|
+
line-height: 40rpx;
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
110
|
&.size_default{
|
|
@@ -110,6 +112,8 @@ export default {
|
|
|
110
112
|
.my-list_label{
|
|
111
113
|
font-size: 28rpx;
|
|
112
114
|
font-weight: 400;
|
|
115
|
+
height: 40rpx;
|
|
116
|
+
line-height: 40rpx;
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
&.size_small{
|
|
@@ -179,7 +179,7 @@ export default function (data, gValue,gColor,oldData){
|
|
|
179
179
|
key: 'addr_style',
|
|
180
180
|
gValue,
|
|
181
181
|
fields: { addrLrPaddingStatus: ['addrLrPadding'] },
|
|
182
|
-
sValue: `{"margin":{"bottom":0,"top":
|
|
182
|
+
sValue: `{"margin":{"bottom":0,"top":16,"left":16,"right":16}}`,
|
|
183
183
|
}),
|
|
184
184
|
labelInline:true,
|
|
185
185
|
isTplRef: true, //内容引用模版被禁用
|
|
@@ -209,7 +209,7 @@ export default function (data, gValue,gColor,oldData){
|
|
|
209
209
|
key: 'cont_style',
|
|
210
210
|
gValue,
|
|
211
211
|
fields: { sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] },
|
|
212
|
-
sValue: `{"spacing":
|
|
212
|
+
sValue: `{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}`,
|
|
213
213
|
}),
|
|
214
214
|
labelInline:true,
|
|
215
215
|
isTplRef: true, //内容引用模版被禁用
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="chose_shop_list">
|
|
3
|
-
<view class="
|
|
4
|
-
<input
|
|
5
|
-
class="uni-input"
|
|
6
|
-
placeholder="输入门店名称"
|
|
7
|
-
:value="keyword"
|
|
8
|
-
@input="handleInput"
|
|
9
|
-
@confirm="handleInput"
|
|
10
|
-
/>
|
|
11
|
-
<view>
|
|
12
|
-
<xd-font-icon icon="iconsousuo_mian" color="#666" size="32"></xd-font-icon>
|
|
13
|
-
</view>
|
|
14
|
-
</view>
|
|
15
|
-
<view class="chose_location">
|
|
3
|
+
<view class="shop_header">
|
|
16
4
|
<xd-city-show
|
|
17
5
|
city-location-type="baidu"
|
|
18
6
|
@done="handleCityDone"
|
|
19
7
|
@onChange="handleCityChange"
|
|
20
8
|
color="#333"></xd-city-show>
|
|
21
|
-
<view class="
|
|
9
|
+
<view class="shop-search">
|
|
10
|
+
<input
|
|
11
|
+
class="uni-input"
|
|
12
|
+
placeholder="输入门店名称"
|
|
13
|
+
:value="keyword"
|
|
14
|
+
@input="handleInput"
|
|
15
|
+
@confirm="handleInput"
|
|
16
|
+
/>
|
|
17
|
+
<view>
|
|
18
|
+
<xd-font-icon icon="iconsousuo_mian" color="#999999" size="32"></xd-font-icon>
|
|
19
|
+
</view>
|
|
20
|
+
</view>
|
|
22
21
|
</view>
|
|
22
|
+
|
|
23
23
|
<view class="shop_list" v-if="list && list.length">
|
|
24
24
|
<view
|
|
25
25
|
class="shop_item"
|
|
@@ -33,31 +33,38 @@
|
|
|
33
33
|
<view class="shop_info">
|
|
34
34
|
<view class="shop_name">
|
|
35
35
|
<view class="_name">{{item.resource_shop_name}}</view>
|
|
36
|
-
<view class="distance" v-if="item.distance">{{item.distance}}</view>
|
|
36
|
+
<!-- <view class="distance" v-if="item.distance">{{item.distance}}</view> -->
|
|
37
37
|
</view>
|
|
38
38
|
<view>
|
|
39
39
|
<view class="shop_sub">
|
|
40
|
-
<view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view>
|
|
41
|
-
<view>{{item.address}}</view>
|
|
40
|
+
<!-- <view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view> -->
|
|
41
|
+
<view class="addr_text">{{item.address}}</view>
|
|
42
|
+
<view v-if="item.distance">{{item.distance}}</view>
|
|
42
43
|
</view>
|
|
43
44
|
<view class="shop_sub">
|
|
44
|
-
<view class="_icon"><xd-font-icon size="
|
|
45
|
+
<view class="_icon"><xd-font-icon size="24" icon="icondianhuatubiao"></xd-font-icon></view>
|
|
45
46
|
<view>{{item.phone}}</view>
|
|
46
47
|
</view>
|
|
47
48
|
</view>
|
|
48
49
|
</view>
|
|
49
50
|
</view>
|
|
50
51
|
</view>
|
|
51
|
-
<view v-else class="empty_data"
|
|
52
|
+
<view v-else class="empty_data">
|
|
53
|
+
<xd-no-data :scaleSize="3" iconType="shop">
|
|
54
|
+
<view style="margin-top: -100rpx;">该地区暂无可选门店</view>
|
|
55
|
+
</xd-no-data>
|
|
56
|
+
</view>
|
|
52
57
|
</view>
|
|
53
58
|
</template>
|
|
54
59
|
<script>
|
|
55
60
|
import XdCityShow from "@/components/XdCityShowApi/XdCityShowApi"
|
|
56
61
|
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
|
|
62
|
+
import XdNoData from "@/components/XdNoData/XdNoData"
|
|
57
63
|
export default {
|
|
58
64
|
components: {
|
|
59
65
|
XdCityShow,
|
|
60
|
-
XdFontIcon
|
|
66
|
+
XdFontIcon,
|
|
67
|
+
XdNoData
|
|
61
68
|
},
|
|
62
69
|
props: {
|
|
63
70
|
getCityInfoByLocation: {
|
|
@@ -102,23 +109,42 @@ export default {
|
|
|
102
109
|
<style lang="less" scoped>
|
|
103
110
|
.chose_shop_list{
|
|
104
111
|
background: #F7F7F7;
|
|
105
|
-
padding:
|
|
112
|
+
padding: 16rpx;
|
|
106
113
|
position: relative;
|
|
107
|
-
height:
|
|
114
|
+
height: 45vh;
|
|
108
115
|
}
|
|
116
|
+
.shop_header{
|
|
117
|
+
position: absolute;
|
|
118
|
+
top: -80rpx;
|
|
119
|
+
left: 8rpx;
|
|
120
|
+
display: flex;
|
|
121
|
+
::v-deep .xd-city__name-title{
|
|
122
|
+
color: #999999 !important;
|
|
123
|
+
font-size: 24rpx !important;
|
|
124
|
+
}
|
|
125
|
+
::v-deep .xd-city__name-icon{
|
|
126
|
+
color: #999999 !important;
|
|
109
127
|
|
|
128
|
+
.xd-iconfont {
|
|
129
|
+
font-size: 28rpx !important;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
110
133
|
.shop-search {
|
|
111
|
-
position: absolute;
|
|
112
134
|
border:1px solid #eee;
|
|
113
|
-
|
|
114
|
-
left: 30rpx;
|
|
115
|
-
width: 400rpx;
|
|
135
|
+
width: 420rpx;
|
|
116
136
|
padding: 10rpx 20rpx;
|
|
117
137
|
border-radius: 40rpx;
|
|
118
138
|
background-color: #f8f8f8;
|
|
119
139
|
display: flex;
|
|
120
140
|
justify-content: flex-start;
|
|
121
141
|
align-items: center;
|
|
142
|
+
margin-left: 8rpx;
|
|
143
|
+
|
|
144
|
+
::v-deep .uni-input-placeholder{
|
|
145
|
+
color: #999999;
|
|
146
|
+
}
|
|
147
|
+
|
|
122
148
|
|
|
123
149
|
& .uni-input {
|
|
124
150
|
font-size: 28rpx;
|
|
@@ -155,23 +181,24 @@ export default {
|
|
|
155
181
|
font-size: 28rpx;
|
|
156
182
|
}
|
|
157
183
|
.empty_data{
|
|
158
|
-
line-height: 300rpx;
|
|
159
184
|
text-align: center;
|
|
160
185
|
font-size: 28rpx;
|
|
161
186
|
color: #999999;
|
|
187
|
+
height: 100%;
|
|
162
188
|
}
|
|
163
189
|
.shop_list{
|
|
164
|
-
height:
|
|
190
|
+
height: 100%;
|
|
165
191
|
overflow-y: auto;
|
|
166
192
|
.shop_item{
|
|
167
193
|
display: flex;
|
|
168
194
|
background: #FFFFFF;
|
|
169
|
-
padding:
|
|
195
|
+
padding: 16rpx;
|
|
170
196
|
margin-bottom: 20rpx;
|
|
197
|
+
border-radius: 16rpx;
|
|
171
198
|
}
|
|
172
199
|
.shop_image{
|
|
173
|
-
width:
|
|
174
|
-
height:
|
|
200
|
+
width: 160rpx;
|
|
201
|
+
height: 160rpx;
|
|
175
202
|
border: 1px solid #DDD;
|
|
176
203
|
image{
|
|
177
204
|
width: 100%;
|
|
@@ -185,13 +212,21 @@ export default {
|
|
|
185
212
|
flex: 1;
|
|
186
213
|
margin-left: 24rpx;
|
|
187
214
|
justify-content: space-between;
|
|
215
|
+
|
|
216
|
+
.addr_text{
|
|
217
|
+
width: 420rpx;
|
|
218
|
+
padding-right: 20rpx;
|
|
219
|
+
overflow: hidden;
|
|
220
|
+
text-overflow: ellipsis;
|
|
221
|
+
white-space: nowrap;
|
|
222
|
+
}
|
|
188
223
|
}
|
|
189
224
|
.shop_name{
|
|
190
225
|
display: flex;
|
|
191
226
|
align-items: flex-start;
|
|
192
227
|
justify-content: space-between;
|
|
193
228
|
font-size: 32rpx;
|
|
194
|
-
color: #
|
|
229
|
+
color: #333333;
|
|
195
230
|
._name{
|
|
196
231
|
flex: 1;
|
|
197
232
|
width: 200rpx;
|
|
@@ -207,6 +242,7 @@ export default {
|
|
|
207
242
|
}
|
|
208
243
|
.shop_sub{
|
|
209
244
|
display: flex;
|
|
245
|
+
align-items: center;
|
|
210
246
|
color: #999999;
|
|
211
247
|
font-size: 24rpx;
|
|
212
248
|
margin-top: 20rpx;
|