jufubao-mall 2.0.32 → 2.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/src/components/CusCouponChose/CusCouponChose.vue +10 -13
  3. package/src/components/CusEnter/CusEnter.vue +9 -1
  4. package/src/components/CusListItem/CusListItem.vue +141 -0
  5. package/src/components/CusPoster/CusPoster.vue +17 -62
  6. package/src/components/CusPrice/CusPrice.vue +391 -0
  7. package/src/components/CusProduct/CusProduct.vue +576 -184
  8. package/src/components/CusShops/CusShops.vue +409 -209
  9. package/src/components/CusTab/CusTab.vue +159 -22
  10. package/src/components/CusVipList/CusVipList.vue +169 -0
  11. package/src/components/JfbMallConfirm/Api.js +1 -1
  12. package/src/components/JfbMallConfirm/Attr.js +167 -453
  13. package/src/components/JfbMallConfirm/JfbMallConfirm.vue +362 -162
  14. package/src/components/JfbMallConfirm/Mock.js +61 -43
  15. package/src/components/JfbMallConfirm/XdAddrDefault.vue +26 -13
  16. package/src/components/JfbMallConfirm/XdAddrOld.vue +9 -7
  17. package/src/components/JfbMallConfirm/XdListItem.vue +10 -2
  18. package/src/components/JfbMallConfirm/cusAttr/advanced.js +91 -0
  19. package/src/components/JfbMallConfirm/cusAttr/content.js +355 -0
  20. package/src/components/JfbMallConfirm/cusAttr/style.js +628 -0
  21. package/src/components/JfbMallConfirm/shopList.vue +84 -42
  22. package/src/components/JfbMallNetworkMedia/Api.js +94 -0
  23. package/src/components/JfbMallNetworkMedia/Attr.js +20 -0
  24. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMedia.vue +1167 -0
  25. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaLess.less +80 -0
  26. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaMixin.js +30 -0
  27. package/src/components/JfbMallNetworkMedia/Mock.js +372 -0
  28. package/src/components/JfbMallNetworkMedia/cusAttr/advanced.js +60 -0
  29. package/src/components/JfbMallNetworkMedia/cusAttr/content.js +230 -0
  30. package/src/components/JfbMallNetworkMedia/cusAttr/font.js +123 -0
  31. package/src/components/JfbMallNetworkMedia/cusAttr/icon.js +257 -0
  32. package/src/components/JfbMallNetworkMedia/cusAttr/style.js +12 -0
  33. package/src/components/JfbMallProductInfo/cusAttr/content.js +2 -0
  34. package/src/components/JfbMallProductList/JfbMallProductList.vue +7 -1
  35. package/src/components/JfbMallProductList/XdCateV1.vue +0 -1
  36. package/src/components/JfbMallShop/JfbMallShop.vue +1 -1
  37. package/src/components/JfbMallShop/cusAttr/content.js +1 -1
  38. package/src/components/SkeProduct/SkeProduct.vue +88 -3
@@ -15,16 +15,10 @@
15
15
  </view>
16
16
  </view>
17
17
  <!-- #endif -->
18
- <view class="jfb-mall-confirm__body" :style="{
19
- minHeight: layoutInfo.bodyMinHeight,
20
- '--main-color': mainColor,
21
- '--section-height': sectionHeight + 'px',
22
- '--order-line-height': (orderInfoHeight * $rpxNum) + 'px',
23
- '--money-box-height': moneyBoxHeight + 'px'
24
- }">
18
+ <view class="jfb-mall-confirm__body" :style="[bodyStyleComp]">
25
19
  <template>
26
- <view class="section">
27
- <view v-if="showTopLine === 'Y'" class="decorate"></view>
20
+ <view class="section" :style="[addrStyleComp]">
21
+ <view v-if="showTopLine === 'T'" class="decorate" style="top:0;"></view>
28
22
  <view v-if="show_pick_up_address==='Y'" @click="toAddress('Y')">
29
23
  <xd-addr-old v-if="address_layout==='old'" :curAddr="curCacheAddr"></xd-addr-old>
30
24
  <xd-addr-default v-else :curAddr="curCacheAddr"></xd-addr-default>
@@ -33,14 +27,15 @@
33
27
  <xd-addr-old v-if="address_layout==='old'" :curAddr="curAddr"></xd-addr-old>
34
28
  <xd-addr-default v-else :curAddr="curCacheAddr"></xd-addr-default>
35
29
  </view>
30
+ <view v-if="showTopLine === 'B'" class="decorate" style="bottom: 0;"></view>
36
31
  </view>
37
- <view v-if="showBuyer == 'Y'" class="buyer_info section">
38
- <view>订购人信息</view>
39
- <input v-model="buyer_phone_number" class="uni-input" :focus="true" placeholder="订购人手机号" />
32
+ <view v-if="showBuyer == 'Y'" class="buyer_info section" :style=[blockSectionStyleComp]>
33
+ <view>订购信息</view>
34
+ <input v-model="buyer_phone_number" class="uni-input" :focus="true" placeholder="请填写订购人手机号" />
40
35
  </view>
41
36
  <!-- 商品信息 -->
42
37
  <view class="prod_info_wrap">
43
- <view v-for="(shop, shopIndex) in shopList" :key="shopIndex" class="shop_item section">
38
+ <view v-for="(shop, shopIndex) in shopList" :key="shopIndex" class="shop_item section" :style=[blockSectionStyleComp]>
44
39
  <view class="shop_name">{{shop.repo_name || "未命名"}}</view>
45
40
  <view class="prod_list">
46
41
  <view v-for="(prod,i) in shop.product" :key="i">
@@ -54,7 +49,7 @@
54
49
  prod_tit_one:prod.brand_name||prod.product_sku_name||(showActivityPrice==='Y'&&prod.is_activity==='Y')
55
50
  }">{{prod.product_name}}</view>
56
51
  <view class="prod_brand" :style="{color:brandTextColor}" v-if="prod.brand_name">{{prod.brand_name}}</view>
57
- <view class="prod_specs" v-if="prod.product_sku_name">{{prod.product_sku_name}}</view>
52
+ <view class="prod_specs" v-if="prod.product_sku_name">规格:{{prod.product_sku_name}}</view>
58
53
  <view class="prod_price">
59
54
  <view style="display:flex;align-items:center">
60
55
  <!-- <xd-unit :price="prod.sale_price" :isOld="false" color="#333" :iconSize="0.3" :fontSize="32"/> -->
@@ -78,50 +73,55 @@
78
73
  </view>
79
74
  </view>
80
75
  </view>
81
- <!-- 配送信息 -->
82
- <view v-if="shop.support_delivery_method_options.length" class="delivery">
83
- <xd-list-item v-if="shop.sub_show_delivery_method==='Y'" label="配送方式" showRight paddingLR="60rpx" showBottom size="large">
84
- <picker @change="e => bindPickerChange(e, shopIndex)"
85
- range-key="label" :range="shop.support_delivery_method_options"
86
- :value="shop.support_delivery_method_options.findIndex(ll => ll.value == shop.deliveryPickValue)"
87
- >
88
- <view style="color: #999999;">{{shop.deliveryPickLabel || "选择配送方式"}}</view>
89
- </picker>
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="isCardLayout ? '32rpx' : '48rpx'" paddingTB="24rpx" showBottom size="large" class="xd-my-list-item">
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="isCardLayout ? '32rpx' : '48rpx'" paddingTB="24rpx" class="xd-my-list-item">
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'" class="xd-my-list-item"
91
+ :label="shop.time_label" showRight :paddingLR="isCardLayout ? '32rpx' : '48rpx'" paddingTB="24rpx" showBottom
92
+ @click="toSetSelectTime(shopIndex,shop)">
93
+ {{shop.selectTime ? shop.selectTime.dateTime : "请选择"}}
90
94
  </xd-list-item>
91
- <view>
92
- <xd-list-item v-if="shop.sub_show_delivery_price==='Y'" label="配送费" paddingLR="60rpx">
93
- <xd-unit :price="shop.user_logistics_amount_origin" :isOld="false"></xd-unit>
95
+ <template v-if="shop.deliveryPickValue === 'takeout'" >
96
+ <!-- 配送方式:到店自提 -->
97
+ <xd-list-item label="选择门店" show-right :paddingLR="isCardLayout ? '32rpx' : '48rpx'" paddingTB="24rpx" showBottom @click="toSetSelectShop(shopIndex)" class="xd-my-list-item">
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>
94
101
  </xd-list-item>
95
- <xd-list-item v-if="shop.deliveryPickValue === 'samecity' && shop.is_support_delivery == 'Y'" :label="shop.time_label" showRight paddingLR="60rpx" @click="toSetSelectTime(shopIndex,shop)">
96
- {{shop.selectTime ? shop.selectTime.dateTime : "请选择"}}
102
+ <xd-list-item v-if="shop.takeoutTimeList" :label="shop.time_label" show-right :paddingLR="isCardLayout ? '32rpx' : '48rpx'" paddingTB="24rpx" @click="toSetTakeoutTime(shopIndex,shop)" class="xd-my-list-item">
103
+ <view style="">{{shop.takeoutTime ? shop.takeoutTime.dateTime : '请选择'}}</view>
97
104
  </xd-list-item>
98
- <view v-if="shop.deliveryPickValue === 'takeout'" >
99
- <!-- 配送方式:到店自提 -->
100
- <xd-list-item label="选择门店" show-right paddingLR="60rpx" @click="toSetSelectShop(shopIndex)">
101
- <view style="color: #999999;">
102
- {{shop.choseShop ? shop.choseShop.resource_shop_name : "请选择"}}
103
- </view>
104
- </xd-list-item>
105
- <xd-list-item v-if="shop.takeoutTimeList" :label="shop.time_label" show-right paddingLR="60rpx" @click="toSetTakeoutTime(shopIndex,shop)">
106
- <view style="color: #999999;">{{shop.takeoutTime ? shop.takeoutTime.dateTime : '请选择'}}</view>
107
- </xd-list-item>
108
- </view>
109
- </view>
110
- </view>
111
- <xd-list-item v-if="shop.delivery_message" :label="shop.delivery_message" paddingLR="60rpx" size="large"></xd-list-item>
112
- <view v-if="shop.is_support_delivery == 'N'" :style="{background:bgColor,color:warningColor}" class="err_message">
113
- {{shop.message}}
114
- </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>
115
115
  </view>
116
116
  </view>
117
117
 
118
118
  <!-- 订单备注信息 -->
119
- <view v-if="showOrderComment == 'Y'" class="order_comment section">
119
+ <view v-if="showOrderComment == 'Y'" class="order_comment section" :style=[blockSectionStyleComp]>
120
120
  <view class="title">备注信息</view>
121
- <textarea v-model="comment" :maxlength="50" type="textarea" placeholder="备注信息,限50字以内"/>
121
+ <input v-model="comment" class="order_market" :maxlength="50" placeholder="建议留言前先与平台沟通确认,最多只支持50"/>
122
122
  </view>
123
123
  <!-- 展示vip -->
124
- <view v-if="is_show_vip_card_list === 'Y'" class="section">
124
+ <view v-if="is_show_vip_card_list === 'Y'" class="section" style="overflow: hidden;" :style=[blockSectionStyleComp]>
125
125
  <cus-vip-list :list="vipCardList"
126
126
  :vip_card_id="vip_card_id"
127
127
  :plus_saving_money="orderFee.plus_saving_money"
@@ -130,67 +130,68 @@
130
130
 
131
131
  <!-- 订单费用详情 -->
132
132
  <!-- 礼包不显示订单信息 -->
133
- <view class="order_fee">
133
+ <view class="order_fee" :style=[blockSectionStyleComp]>
134
134
  <view v-if="showPrice === 'Y'" class="money_box">
135
- <xd-list-item label="商品价格" paddingLR="60rpx" size="small">
136
- <xd-unit :price="gift_id ? orderFee.product_amount : orderFee.origin_amount" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
135
+ <xd-list-item v-if="showProductPrice" label="商品价格" :paddingLR="isCardLayout ? '32rpx' : '48rpx'" :showBottom="showLogisticsAmount&&main_show_delivery_price==='Y'">
136
+ <xd-unit :price="gift_id ? orderFee.product_amount : orderFee.origin_amount" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
137
137
  </xd-list-item>
138
- <xd-list-item v-if="showLogisticsAmount&&main_show_delivery_price==='Y'" label="商品运费" paddingLR="60rpx" paddingTB="0" size="small">
139
- <xd-unit :price="orderFee.user_logistics_amount_origin" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
138
+ <xd-list-item v-if="showLogisticsAmount&&main_show_delivery_price==='Y'" label="商品运费" :paddingLR="isCardLayout ? '32rpx' : '48rpx'">
139
+ <xd-unit :price="orderFee.user_logistics_amount_origin" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
140
140
  </xd-list-item>
141
141
  </view>
142
142
  <view v-if="showPrice === 'Y' || otherPayMethod.filter(it => it.method!=='third').length" class="money_box">
143
143
  <template v-if="showPrice === 'Y'">
144
- <xd-list-item v-if="isShowPlusSavingMoney" label="PLUS专享立减" showBottom paddingLR="60rpx" size="small">
145
- <view slot="label" style="color: #86541E;">PLUS专享立减</view>
146
- <xd-unit :largeZero="false" :price="-orderFee.plus_saving_money" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
144
+ <xd-list-item v-if="isShowPlusSavingMoney" label="PLUS专享立减" showBottom :paddingLR="isCardLayout ? '32rpx' : '48rpx'">
145
+ <view slot="label" style="color: #7F5629;">PLUS专享立减</view>
146
+ <xd-unit :largeZero="false" :price="-orderFee.plus_saving_money" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
147
147
  </xd-list-item>
148
- <xd-list-item v-if="showLogisticsDiscount&&main_show_delivery_price==='Y'" label="运费减免" :showBottom="!!showPayMethods.length" paddingLR="60rpx" size="small">
149
- <xd-unit :largeZero="false" :price="-orderFee.user_logistics_discount_amount" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
148
+ <xd-list-item v-if="showLogisticsDiscount&&main_show_delivery_price==='Y'" label="运费减免" :showBottom="!!showPayMethods.length" :paddingLR="isCardLayout ? '32rpx' : '48rpx'">
149
+ <xd-unit :largeZero="false" :price="-orderFee.user_logistics_discount_amount" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
150
150
  </xd-list-item>
151
151
  </template>
152
- <!-- <xd-list-item label="账户余额" paddingLR="60rpx" size="small" showRight>
153
- <view>45.00</view>
154
- </xd-list-item> -->
152
+
155
153
  <template v-for="item in otherPayMethod">
156
- <xd-list-item v-if="item.method === 'card'" :key="item.method" :label="item.show_name" paddingLR="60rpx" size="small" :showRight="!(choseCoupon && choseCoupon.cardPayPrice)" @click="toChoseCard">
154
+ <xd-list-item v-if="item.method === 'card'" :key="item.method" :label="item.show_name" :paddingLR="isCardLayout ? '32rpx' : '48rpx'" showBottom :showRight="!(choseCoupon && choseCoupon.cardPayPrice)" @click="toChoseCard">
157
155
  <view slot="label">{{item.show_name}} <text v-if="choseCard && choseCard.cardPayPrice" style="color:red;margin-left: 4px;">(已选{{ choseCard.selectedCardList.length }}张)</text></view>
158
156
  <view v-if="(choseCoupon && choseCoupon.cardPayPrice)">
159
- <view style="color:#CCCCCC;font-size: 20rpx">已使用其他票券,不可用</view>
157
+ <view style="color:#CCCCCC;font-size: 24rpx">已使用其他票券,不可用</view>
160
158
  </view>
161
159
  <view v-else>
162
160
  <!-- <view v-if="choseCard && choseCard.cardPayPrice" slot="label">{{item.show_name}} <text style="color:red;margin-left: 4px;">(已选{{ choseCard.selectedCardList.length }}张)</text></view> -->
163
- <xd-unit v-if="choseCard && choseCard.cardPayPrice" :price="choseCard.cardPayPrice" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
164
- <view v-else>请选择</view>
161
+ <xd-unit v-if="choseCard && choseCard.cardPayPrice" :price="choseCard.cardPayPrice" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
162
+ <view v-else>{{cardList.length}}张可用</view>
165
163
  </view>
166
164
  </xd-list-item>
167
- <xd-list-item v-if="item.method === 'wallet'" :key="item.method" :label="item.show_name" paddingLR="60rpx" size="small" :showRight="!(choseCoupon && choseCoupon.cardPayPrice)" @click="toChoseWallet">
165
+ <xd-list-item v-if="item.method === 'wallet'" :key="item.method" :label="item.show_name" :paddingLR="isCardLayout ? '32rpx' : '48rpx'" showBottom :showRight="!(choseCoupon && choseCoupon.cardPayPrice)" @click="toChoseWallet">
166
+ <view slot="label">
167
+ {{ item.show_name }}<text :style="{color:mainColor}" style="margin-left: 8px;font-size: 24rpx;">(剩余{{ wallet_total_amount }})</text>
168
+ </view>
168
169
  <view v-if="(choseCoupon && choseCoupon.cardPayPrice)">
169
- <view style="color:#CCCCCC;font-size: 20rpx">已使用其他票券,不可用</view>
170
+ <view style="color:#CCCCCC;font-size: 24rpx">已使用其他票券,不可用</view>
170
171
  </view>
171
172
  <view v-else>
172
- <xd-unit v-if="choseWallet && choseWallet.walletPayPrice" :price='choseWallet.walletPayPrice' :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
173
+ <xd-unit v-if="choseWallet && choseWallet.walletPayPrice" :price='choseWallet.walletPayPrice' :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
173
174
  <view v-else>请选择</view>
174
175
  </view>
175
176
  </xd-list-item>
176
- <xd-list-item v-if="item.method === 'coupon'" :key="item.method" :label="item.show_name" paddingLR="60rpx" size="small" :showRight="!(choseCard && choseCard.cardPayPrice)" @click="toChoseCoupon">
177
+ <xd-list-item v-if="item.method === 'coupon'" :key="item.method" :label="item.show_name" :paddingLR="isCardLayout ? '32rpx' : '48rpx'" showBottom :showRight="!(choseCard && choseCard.cardPayPrice)" @click="toChoseCoupon">
177
178
  <view v-if="(choseCoupon && choseCoupon.cardPayPrice)" slot="label">
178
179
  {{item.show_name}} <text style="color:red;margin-left: 4px;">(已选{{ choseCoupon.selectedCardList.length }}张)</text>
179
180
  </view>
180
181
  <view v-else>
181
- <view style="color:#CCCCCC;font-size: 20rpx" v-if="(choseWallet && choseWallet.walletPayPrice)||(choseCard && choseCard.cardPayPrice)">已使用其他票券,不可用</view>
182
- <view v-else>请选择</view>
182
+ <view style="color:#CCCCCC;font-size: 24rpx" v-if="(choseWallet && choseWallet.walletPayPrice)||(choseCard && choseCard.cardPayPrice)">已使用其他票券,不可用</view>
183
+ <view v-else>{{couponList.length}}张可用</view>
183
184
  </view>
184
185
  </xd-list-item>
185
186
  </template>
186
187
  </view>
187
188
  <view v-if="!is_plus_site && orderFee.total_amount && showPrice === 'Y'" class="money_box">
188
- <xd-list-item label="订单总额" paddingLR="60rpx" size="small">
189
- <xd-unit :price="orderFee.total_amount" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit>
189
+ <xd-list-item label="订单金额" :paddingLR="isCardLayout ? '32rpx' : '48rpx'">
190
+ <xd-unit :price="orderFee.total_amount" :isOld="false" :fontSize="28" :iconSize="0.3"></xd-unit>
190
191
  </xd-list-item>
191
192
  </view>
192
193
  </view>
193
- <view :style="{height: '100rpx'}"></view>
194
+ <view :style=[fixedBottomPlaceholder]></view>
194
195
  <!-- 靠低支付, 增加淘福客布局 -->
195
196
  <view class="fixe_bottom" :style="prod_bottom">
196
197
  <view class="fixed_bottom_body" :style="[bottomBoxStyle]">
@@ -204,12 +205,16 @@
204
205
  </view>
205
206
  <view v-else class="flex_l" :style="{
206
207
  justifyContent: bottomPricePosition
207
- }">实付:<xd-unit :price="orderNeedPayPrice" :isOld="false"></xd-unit>
208
+ }">
209
+ <view>
210
+ <view class="t_price">实付:<xd-unit :price="orderNeedPayPrice" :isOld="false"></xd-unit></view>
211
+ <view v-if="orderDiscountPrice > 0" class="b_price">共省<xd-unit :price="orderDiscountPrice" :isOld="false" :fontSize="24" :iconSize="0.3"></xd-unit></view>
212
+ </view>
208
213
  </view>
209
214
  <view>
210
215
  <xd-button :disabled="is_can_buy!=='Y'"
211
216
  :radius="bottomBtnRadius + 'rpx'"
212
- :style="{
217
+ :cusStyle="{
213
218
  height: bottomBtnHeight + 'rpx',
214
219
  lineHeight: bottomBtnHeight + 'rpx',
215
220
  }"
@@ -252,12 +257,14 @@
252
257
  :addSettleCard="addSettleCard"
253
258
  @onChose="handleCardChose"
254
259
  @onAlert="handleCardChoseAlert"
260
+ @onInit="handleCardInit"
255
261
  >
256
262
  </xd-card-pay-chose>
257
263
  </template>
258
264
  <xd-wallet-chose
259
265
  v-if="payWallet"
260
266
  ref="xdWalletChose"
267
+ :defaultUseFirst="defaultUseWalletFirst"
261
268
  :hadChoseWallet="choseWallet && choseWallet.selectedWalletList"
262
269
  :layoutInfo="layoutInfo"
263
270
  :show.sync="showWalletChose"
@@ -265,15 +272,9 @@
265
272
  :useBindedWallet="useBindedWallet"
266
273
  @onChose="handleWalletChose"
267
274
  @onAlert="() => hasAlertCardChose = true"
275
+ @onInit="handleWalletInit"
268
276
  ></xd-wallet-chose>
269
277
  <cus-coupon-chose
270
- :couponRadius="couponRadius"
271
- :couponImageUrl="couponImageUrl"
272
- :couponTitleBgColor="couponTitleBgColor"
273
- :couponUseBtnPadding="couponUseBtnPadding"
274
- :couponBtnRadius="couponBtnRadius"
275
- :couponBtnTextStyle="couponBtnTextStyle"
276
- :couponLeftBgColor="couponLeftBgColor"
277
278
  v-if="payCoupon"
278
279
  ref="xdCouponChose"
279
280
  :hadChoseCoupon="choseCoupon && choseCoupon.selectedCardList"
@@ -289,6 +290,8 @@
289
290
  :orderNeedPayPrice="orderNeedPayPrice"
290
291
  :getSettleListCoupons="getSettleListCoupons"
291
292
  :setSettleSelectCoupon="setSettleSelectCoupon"
293
+ :layoutStyle="coupon_layout"
294
+ @onInit="handleCouponInit"
292
295
  ></cus-coupon-chose>
293
296
  <xd-select-time
294
297
  v-if="showSelectTime"
@@ -314,7 +317,7 @@
314
317
  ></xd-select-time>
315
318
  <xd-down-drawer
316
319
  :show.sync="showShopList"
317
- height="60vh"
320
+ height="45vh"
318
321
  >
319
322
  <template v-if="showShopList">
320
323
  <view :style="{height: '100rpx'}"></view>
@@ -363,7 +366,7 @@
363
366
  import JfbMallConfirmMixin from "./JfbMallConfirmMixin";
364
367
  import componentsMixins from "@/mixins/componentsMixins";
365
368
  import extsMixins from "@/mixins/extsMixins"
366
- import { getContainerPropsValue } from "@/utils/xd.base";
369
+ import { getContainerPropsValue, gCPVal } from "@/utils/xd.base";
367
370
  import getServiceUrl from "@/common/getServiceUrl"
368
371
  import OrderMixin from "./orderMixin"
369
372
  import { mapState } from "vuex"
@@ -372,6 +375,9 @@
372
375
  import CusPrice from '@/components/CusPrice/CusPrice'
373
376
  import CusVipList from "@/components/CusVipList/CusVipList"
374
377
  export default {
378
+ // #ifdef MP-WEIXIN
379
+ options: { styleIsolation: 'shared' },
380
+ // #endif
375
381
  name: "JfbMallConfirm",
376
382
  components: {
377
383
  XdFontIcon,
@@ -395,6 +401,7 @@
395
401
  data() {
396
402
  return {
397
403
  closeMask:true,
404
+ isPreview: false,
398
405
  isVip: false,
399
406
  keyword:'',
400
407
  page_size: 10,
@@ -418,7 +425,7 @@
418
425
  scene: "",
419
426
  buyer_phone_number: "", //订购人手机号
420
427
  comment: "", //订单备注
421
-
428
+ optionsBlessing: {},
422
429
 
423
430
  gift_id: "",
424
431
  gift_mode: "",
@@ -447,13 +454,18 @@
447
454
  showCardPayChoseWay: "", //支付按钮: pay_btn; 选择票券:chose_card
448
455
  choseCard: null,
449
456
  hasAlertCardChose: false,
457
+ cardList: [],
450
458
 
451
459
  showWalletChose: false,
452
460
  choseWallet: null,
461
+ wallet_total_amount: "",
453
462
 
454
463
  //优惠券
455
464
  choseCoupon: null,
456
465
  showCouponChose: false,
466
+ couponList: [],
467
+
468
+ fixedBottomBodyHeight: 0,
457
469
 
458
470
  //面板
459
471
  xnamespace: "",
@@ -474,9 +486,9 @@
474
486
  blessFontSize: 24, //动态输入语提示字体大小
475
487
  brandTextColor:'',
476
488
  address_layout: 'old',
477
- sectionHeight: 8,
489
+ sectionHeight: 16,
478
490
  orderInfoHeight: 16,
479
- showTopLine: "N",
491
+ showTopLine: "B",
480
492
  blessTextColor: "",
481
493
  priceTextColor: "",
482
494
  bottomPadding: {},
@@ -485,6 +497,18 @@
485
497
  bottomPayText: "",
486
498
  bottomPricePosition: "",
487
499
 
500
+ bodyPadding: {},
501
+
502
+ cont_style: "",
503
+ isCardLayout: false,
504
+ lrPadding: {},
505
+ radius: 0,
506
+ blockShadow: '',
507
+
508
+ addrLrPadding: {},
509
+ addrRadius: 0,
510
+ addrShadow: '',
511
+
488
512
  //优惠券
489
513
  couponBtnRadius: 16,
490
514
  couponLeftBgColor: "",
@@ -493,6 +517,7 @@
493
517
  couponUseBtnPadding: {},
494
518
  couponImageUrl: "",
495
519
  moneyBoxHeight: 16,
520
+ coupon_layout: '1',
496
521
 
497
522
  show_pick_up_address: 'N', //显示取货地址
498
523
  show_receive_address: 'Y', //显示收货地址
@@ -505,6 +530,11 @@
505
530
  is_plus_site: false,
506
531
  skipTip: "N",
507
532
  skipToPay: "",
533
+ guidePay: "",
534
+ showLogisticsTip: "Y",
535
+ logisticsTipText: "",
536
+ checkPayMethod: [],
537
+ ticketPositionStatus: "N"
508
538
  }
509
539
  },
510
540
  computed: {
@@ -514,6 +544,10 @@
514
544
  brandInfo: state => state.brandInfo,
515
545
  siteInfo: state => state.siteInfo,
516
546
  }),
547
+ showProductPrice(){
548
+ let price = this.gift_id ? this.orderFee.product_amount : this.orderFee.origin_amount;
549
+ return price;
550
+ },
517
551
  //是否展示plus立减
518
552
  isShowPlusSavingMoney(){
519
553
  if(this.is_show_vip_card_list === 'Y') return this.vip_card_id;
@@ -595,6 +629,11 @@
595
629
  })
596
630
  return flat;
597
631
  },
632
+ fixedBottomPlaceholder() {
633
+ return {
634
+ height: (this.fixedBottomBodyHeight + 14) + 'px'
635
+ }
636
+ },
598
637
  prod_bottom() {
599
638
  return this.fixedStyle({height: 0, zIndex: 111});
600
639
  },
@@ -637,15 +676,57 @@
637
676
  let result = this.$xdUniHelper.cutFloatNumber(total_amount, total);
638
677
  return result;
639
678
  },
679
+ orderDiscountPrice(){
680
+ let total = 0;
681
+ if(this.orderFee.user_logistics_discount_amount){
682
+ total = this.$xdUniHelper.addFloatNumber(total, this.orderFee.user_logistics_discount_amount);
683
+ }
684
+ if(this.isShowPlusSavingMoney){
685
+ total = this.$xdUniHelper.addFloatNumber(total, this.orderFee.plus_saving_money);
686
+ }
687
+ return total;
688
+ },
640
689
  bottomBoxStyle(){
641
- let padding = `${this.checkValue(this.bottomPadding.top, 20)}rpx`;
642
- padding = `${padding} ${this.checkValue(this.bottomPadding.right, 20)}rpx`;
643
- padding = `${padding} ${this.checkValue(this.bottomPadding.bottom, 20)}rpx`;
644
- padding = `${padding} ${this.checkValue(this.bottomPadding.left, 20)}rpx`;
645
690
  return {
646
- padding: padding
691
+ padding: this.getMarginAndPadding(this.bottomPadding, 16)
692
+ }
693
+ },
694
+ bodyStyleComp(){
695
+ let defaultStr = '{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}';
696
+ let isCard = this.cont_style === defaultStr;
697
+ console.log( 'bodyStyleComp', isCard);
698
+ return {
699
+ minHeight: this.layoutInfo.bodyMinHeight,
700
+ '--main-color': this.mainColor,
701
+ '--section-height': (this.sectionHeight * this.$rpxNum) + 'px',
702
+ '--order-line-height': (this.orderInfoHeight * this.$rpxNum) + 'px',
703
+ '--money-box-height': (this.moneyBoxHeight * this.$rpxNum) + 'px',
704
+ '--cont-lr-padding': isCard ? '16px' : '24px',
705
+ padding: this.getMarginAndPadding(this.bodyPadding,0),
706
+ }
707
+ },
708
+ blockSectionStyleComp(){
709
+ return {
710
+ marginLeft: this.lrPadding.left + 'rpx',
711
+ marginRight: this.lrPadding.right + 'rpx',
712
+ borderRadius: this.radius + 'rpx',
713
+ boxShadow: this.blockShadow,
647
714
  }
648
715
  },
716
+ addrStyleComp(){
717
+ let style = {
718
+ marginLeft: this.addrLrPadding.left + 'rpx',
719
+ marginRight: this.addrLrPadding.right + 'rpx',
720
+ marginTop: this.addrLrPadding.top + 'rpx',
721
+ borderRadius: this.addrRadius + 'rpx',
722
+ boxShadow: this.addrShadow,
723
+ overflow: 'hidden'
724
+ }
725
+ return style;
726
+ },
727
+ defaultUseWalletFirst(){
728
+ return this.checkPayMethod.includes('wallet');
729
+ }
649
730
  },
650
731
  watch: {
651
732
  container(value,oldValue) {
@@ -681,6 +762,7 @@
681
762
  }
682
763
  },
683
764
  created() {
765
+ this.isPreview = this.$configProject['isPreview'];
684
766
  this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
685
767
  this.init(this.container);
686
768
  this.isVip = this.getTokenForKey('user_level') === 'VIP';
@@ -692,8 +774,15 @@
692
774
  this.order_id = options.order_id || '';
693
775
  this.gift_id = options['gift_partner'] || "";
694
776
  this.gift_mode = options.mode || "";
695
-
696
777
  this.scene = options.scene || "";
778
+ //祝福语从链接参数传递过来
779
+ if(options.blessing){
780
+ try{
781
+ this.optionsBlessing = JSON.parse(Base64.decode(options.blessing));
782
+ }catch(e){
783
+ console.error("blessing解析失败", e);
784
+ }
785
+ }
697
786
 
698
787
  await this.p_getAddrList(); //收货
699
788
  await this.p_getCacheAddrList(); //取货
@@ -725,45 +814,93 @@
725
814
  this.paySuccessPath = getContainerPropsValue(container, 'content.paySuccessPath', {value: ""}).value;
726
815
  this.choseCityPath = getContainerPropsValue(container, 'content.choseCityPath',{value: "/system/system/city"}).value;
727
816
  this.preview = getContainerPropsValue(container, 'content.preview', "N");
728
- this.blessFontSize = getContainerPropsValue(container, 'content.blessFontSize', "24");
817
+
729
818
  this.showActivityPrice = getContainerPropsValue(container, 'content.showActivityPrice', 'N');
730
819
  this.bindCard = getContainerPropsValue(container,"content.bindCard","1");
731
820
  this.useMode = getContainerPropsValue(container, 'content.useMode', "market");
732
821
  this.showPrice = getContainerPropsValue(container, 'content.showPrice', "Y");
733
- this.brandTextColor = getContainerPropsValue(container, "content.brandTextColor", this.mainColor);
734
822
  this.address_layout = getContainerPropsValue(container, 'content.address_layout', "old");
735
- this.sectionHeight = getContainerPropsValue(container, 'content.sectionHeight', "8");
736
- this.orderInfoHeight = getContainerPropsValue(container, 'content.orderInfoHeight', "16");
737
- this.showTopLine = getContainerPropsValue(container, 'content.showTopLine', "N");
738
- this.blessTextColor = getContainerPropsValue(container, 'content.blessTextColor', this.mainColor);
739
- this.priceTextColor = getContainerPropsValue(container, 'content.priceTextColor', this.mainColor);
740
- this.bottomPadding = getContainerPropsValue(container, 'content.bottomPadding', {});
741
- this.bottomBtnRadius = getContainerPropsValue(container, 'content.bottomBtnRadius', "");
742
- this.bottomBtnHeight = getContainerPropsValue(container, 'content.bottomBtnHeight', 60);
743
- this.bottomPayText = getContainerPropsValue(container, 'content.bottomPayText', "支付");
744
- this.bottomPricePosition = getContainerPropsValue(container, 'content.bottomPricePosition', "left");
823
+ this.showTopLine = getContainerPropsValue(container, 'content.showTopLine', "B");
824
+ this.skipTip = getContainerPropsValue(container, "content.skipTip", "N");
825
+ this.skipToPay = getContainerPropsValue(container, "content.skipToPay", "Y");
826
+ this.guidePay = getContainerPropsValue(container, "content.guidePay", "");
827
+ this.showLogisticsTip = gCPVal(container, 'showLogisticsTip', "Y");
828
+ this.logisticsTipText = gCPVal(container, 'logisticsTipText', '订单生成后72小时发货,如遇节假日发货顺延');
829
+ this.ticketPositionStatus = gCPVal(container, 'ticketPositionStatus', "N")
830
+ console.log("this.showLogisticsTip", this.showLogisticsTip);
745
831
  if(this.useMode === "market"){
746
832
  this.showPrice = "Y"
747
833
  }
748
834
 
749
- this.couponBtnRadius = getContainerPropsValue(container, "content.couponBtnRadius", 16);
750
- this.couponUseBtnPadding = getContainerPropsValue(container, "content.couponUseBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
751
- this.couponBtnTextStyle = getContainerPropsValue(container, "content.couponBtnTextStyle", {
752
- color: '#fff',
753
- bgColor: '#ff5722',
754
- fontSize: '30rpx',
755
- fontWeight: 'normal'
756
- });
757
- this.couponTitleBgColor = getContainerPropsValue(container, "content.couponTitleBgColor", 'rgba(255, 87, 51, 0.1)');
758
- this.couponRadius = getContainerPropsValue(container, "content.couponRadius", 16);
759
- this.couponLeftBgColor = getContainerPropsValue(container, "content.couponLeftBgColor", "linear-gradient(180deg, #FFA852 0%, #FF5733 100%)");
760
- this.couponImageUrl = getContainerPropsValue(container, "content.couponImageUrl", "");
761
- this.moneyBoxHeight = getContainerPropsValue(container, "content.moneyBoxHeight", 16);
762
- this.skipTip = getContainerPropsValue(container, "content.skipTip", "N");
763
- this.skipToPay = getContainerPropsValue(container, "content.skipToPay", "N");
764
- if(this.skipToPay === 'Y'){
835
+ 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)"}`);
836
+ this.cont_style = contStyle;
837
+ this.isCardLayout = '{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}' === contStyle;
838
+ this.sectionHeight = gCPVal(container, 'sectionHeight', [16], {sKey: "sectionHeightStatus", fields: ['sectionHeight'], cusFields: ['cont_style', 'spacing', contStyle]});
839
+ this.lrPadding = gCPVal(container, 'lrPadding', [0], {sKey:'lrPaddingStatus',fields:['lrPadding'],isPMR: true, cusFields: ['cont_style', 'margin', contStyle]})
840
+
841
+ let addrStyle = this.getRelationStatus(container,'addr_style',{ addrLrPaddingStatus: ['addrLrPadding'] }, `{"margin":{"bottom":0,"top":16,"left":16,"right":16}}`);
842
+ this.addrLrPadding = gCPVal(container, 'addrLrPadding', [0], {sKey:'addrLrPaddingStatus',fields:['addrLrPadding'],isPMR: true, cusFields: ['addr_style', 'margin', addrStyle]});
843
+
844
+ this.brandTextColor = gCPVal(container, 'brandTextColor', [this.mainColor], {sKey: "brandTextStatus", fields: ['brandTextColor']})
845
+ this.blessFontSize = gCPVal(container, 'blessFontSize', [24], {sKey: 'formTipStatus', fields: ['blessFontSize', 'blessTextColor']});
846
+ this.blessTextColor = gCPVal(container, 'blessTextColor', [this.dangerColor], {sKey: "formTipStatus", fields: ['blessFontSize', 'blessTextColor']});
847
+ this.priceTextColor = gCPVal(container, 'priceTextColor', [this.mainColor], {sKey: "activityPriceStatus", fields: ['priceTextColor']})
848
+ this.bottomPadding = gCPVal(container, 'bottomPadding', [16], {sKey: "bottomPaddingStatus", fields: ['bottomPadding']});
849
+ this.bottomBtnRadius = gCPVal(container, 'bottomBtnRadius', [40], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
850
+ this.bottomBtnHeight = gCPVal(container, 'bottomBtnHeight', [60], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
851
+ this.bottomPayText = gCPVal(container, 'bottomPayText', ["支付"], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
852
+ this.bottomPricePosition = gCPVal(container, 'bottomPricePosition', ['flex-start'], {sKey: "btnPriceStatus", fields: ['bottomPricePosition']});
853
+
854
+ //优惠券样式升级为不在面板设置
855
+ // this.couponBtnRadius = getContainerPropsValue(container, "content.couponBtnRadius", 16);
856
+ // this.couponUseBtnPadding = getContainerPropsValue(container, "content.couponUseBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
857
+ // this.couponBtnTextStyle = getContainerPropsValue(container, "content.couponBtnTextStyle", {
858
+ // color: '#fff',
859
+ // bgColor: '#ff5722',
860
+ // fontSize: '30rpx',
861
+ // fontWeight: 'normal'
862
+ // });
863
+ // this.couponTitleBgColor = getContainerPropsValue(container, "content.couponTitleBgColor", 'rgba(255, 87, 51, 0.1)');
864
+ // this.couponRadius = getContainerPropsValue(container, "content.couponRadius", 16);
865
+ // this.couponLeftBgColor = getContainerPropsValue(container, "content.couponLeftBgColor", "linear-gradient(180deg, #FFA852 0%, #FF5733 100%)");
866
+ // this.couponImageUrl = getContainerPropsValue(container, "content.couponImageUrl", "");
867
+
868
+ //取公用盒间距;2.0改版要求
869
+ // this.moneyBoxHeight = getContainerPropsValue(container, "content.moneyBoxHeight", 16);
870
+ this.moneyBoxHeight = this.sectionHeight;
871
+ // this.orderInfoHeight = 20;
872
+
873
+ this.bodyPadding = gCPVal(container,'bodyPadding', [0], {sKey:'bodyPaddingStatus',fields:['bodyPadding'],isPMR: true});
874
+
875
+ this.radius = gCPVal(container, 'radius', [this.gStyleValue.radius, 0], {sKey: "radiusStatus", fields: ['radius']})||0
876
+ let blockShadow = gCPVal(container, 'blockShadow', ['none'], {sKey: "blockShadowStatus", fields: ['blockShadow']});
877
+ this.blockShadow = blockShadow ? this.getBSStr(blockShadow, 'shadow') : 'none';
878
+
879
+ this.addrRadius = gCPVal(container, 'addrRadius', [this.gStyleValue.radius, 0], {sKey:'addrRadiusStatus',fields:['addrRadius']})||0;
880
+ let addrShadow = gCPVal(container, 'addrShadow', ['none'], {sKey: "addrShadowStatus", fields: ['addrShadow']});
881
+ this.addrShadow = addrShadow ? this.getBSStr(addrShadow, 'shadow') : 'none';
882
+ this.coupon_layout = gCPVal(container, 'coupon_layout', ['1']);
883
+ this.checkPayMethod = gCPVal(container, 'checkPayMethod', []);
884
+ console.log("this.checkPayMethod", this.checkPayMethod);
885
+
886
+ if(this.skipToPay === 'N'){
765
887
  this.hasAlertCardChose = true;
766
888
  }
889
+ this.$nextTick(() => {
890
+ setTimeout(() => {
891
+ this.getDomReadyRect();
892
+ }, 200)
893
+ });
894
+ },
895
+ getDomReadyRect(){
896
+ return new Promise((resolve, reject) => {
897
+ let query = uni.createSelectorQuery();
898
+ query.select('.fixed_bottom_body').boundingClientRect(rect => {
899
+ console.log('getDomReadyRect', rect);
900
+ this.fixedBottomBodyHeight = rect.height;
901
+ resolve(rect);
902
+ }).exec();
903
+ });
767
904
  },
768
905
  //选择元宝
769
906
  toChoseWallet(){
@@ -779,6 +916,9 @@
779
916
  console.log(this.choseWallet)
780
917
  this.showWalletChose = false;
781
918
  },
919
+ handleWalletInit(total){
920
+ this.wallet_total_amount = this.$xdUniHelper.divisionFloatNumber(total, 100);
921
+ },
782
922
 
783
923
  //only选择满减券
784
924
  toChoseCoupon(){
@@ -791,6 +931,9 @@
791
931
  this.choseCoupon = data;
792
932
  this.showCouponChose = false;
793
933
  },
934
+ handleCouponInit(coupList){
935
+ this.couponList = coupList;
936
+ },
794
937
 
795
938
  //only选择卡片
796
939
  toChoseCard(){
@@ -808,11 +951,17 @@
808
951
  },
809
952
  handleCardChoseAlert(){
810
953
  this.hasAlertCardChose = true;
811
- //滚动到底部
812
- uni.pageScrollTo({
813
- scrollTop: 99999,
814
- duration: 0
815
- })
954
+ if(this.ticketPositionStatus === 'Y'){
955
+ //滚动到底部
956
+ uni.pageScrollTo({
957
+ scrollTop: 99999,
958
+ duration: 0
959
+ })
960
+ }
961
+
962
+ },
963
+ handleCardInit(cardList){
964
+ this.cardList = cardList;
816
965
  },
817
966
  getUserWalletList(cb){
818
967
  jfbRootExec("getUserWallet", {
@@ -924,7 +1073,7 @@
924
1073
  }
925
1074
  this.useTickAndWalletPay(selected_card_list, selected_wallet_list);
926
1075
  }else{
927
- if(this.skipToPay === 'N'){
1076
+ if(this.skipToPay === 'Y'){
928
1077
  this.showCardPay = true;
929
1078
  }else{
930
1079
  this.useTickAndWalletPay([], [])
@@ -1289,9 +1438,16 @@
1289
1438
  var formData = JSON.parse(prod.product_form_data);
1290
1439
  if(formData.length > 0){
1291
1440
  prod['blessingKey'] = true;
1292
- prod['blessingData'] = formData[0];
1441
+ let blessingData = formData[0]
1442
+ prod['blessingData'] = blessingData;
1293
1443
  //复制祝福语从临时存入量
1294
1444
  if(tempProd.blessing) prod['blessing'] = tempProd.blessing;
1445
+ else{
1446
+ let blessKey = blessingData.id;
1447
+ if(this.optionsBlessing['product_id'] == prod.product_id && this.optionsBlessing[blessKey]){
1448
+ prod['blessing'] = this.optionsBlessing[blessKey];
1449
+ }
1450
+ }
1295
1451
  }
1296
1452
  return prod;
1297
1453
  }catch(err){
@@ -1356,7 +1512,7 @@
1356
1512
  },
1357
1513
 
1358
1514
  p_getPayMethod(support_methods){
1359
- jfbRootExec("getPayMethod", {
1515
+ jfbRootExec("getMallPayMethod", {
1360
1516
  vm: this,
1361
1517
  data: {
1362
1518
  support_methods: JSON.stringify(support_methods)
@@ -1371,6 +1527,7 @@
1371
1527
  // if (this.preview === 'Y') {
1372
1528
  // return this.$xdAlert({content: "体验模式不支持配送地址设置", width: '65vw'})
1373
1529
  // }
1530
+ if(this.isPreview) return;
1374
1531
  if(isCache === 'Y') {
1375
1532
  this.$xdUniHelper.navigateTo({
1376
1533
  url: this.shipAddressPath + "?back=true&cache_key="+ this.order_id
@@ -1384,7 +1541,14 @@
1384
1541
 
1385
1542
  bindPickerChange(e, index){
1386
1543
  let pickIndex = e.detail.value;
1387
- this.tempShopList = this.$xdUniHelper.cloneDeep(this.shopList);
1544
+ let tempShopList = this.$xdUniHelper.cloneDeep(this.shopList);
1545
+ this.tempShopList = tempShopList.map((item, ii) => {
1546
+ if(index === ii){
1547
+ item.takeoutTime = null;
1548
+ item.selectTime = null;
1549
+ }
1550
+ return item;
1551
+ });
1388
1552
  this.shopList = this.shopList.map((item,ii) => {
1389
1553
  if(index === ii){
1390
1554
  let cur = item.support_delivery_method_options[pickIndex];
@@ -1414,7 +1578,8 @@
1414
1578
  @padding_l_r: 50rpx;
1415
1579
  .jfb-mall-confirm {
1416
1580
  &__body{
1417
- // background: #F7F7F7;
1581
+ overflow: auto;
1582
+ color: #333333;
1418
1583
  .section{
1419
1584
  margin-bottom: var(--section-height);
1420
1585
  background: #FFFFFF;
@@ -1440,26 +1605,20 @@
1440
1605
  width: 100%;
1441
1606
  height: 3px;
1442
1607
  position: absolute;
1443
- top: 0;
1444
1608
  left: 0;
1445
1609
  }
1446
1610
  .order_fee{
1447
- // padding: var(--order-line-height) 0;
1611
+ overflow: hidden;
1448
1612
  ::v-deep .xd-my-list-item{
1449
- padding-bottom: var(--order-line-height) !important;
1450
- padding-top: var(--order-line-height) !important;
1451
- // padding-top: 0 !important;
1452
- // padding-bottom: 0 !important;
1453
-
1454
- &.logistics_discount{
1455
- // padding-top: var(--order-line-height) !important;
1456
- }
1613
+ &.logistics_discount{}
1457
1614
  }
1458
1615
 
1459
1616
  .money_box{
1460
1617
  margin-bottom: var(--money-box-height);
1461
1618
  background-color: #FFFFFF;
1462
- padding: var(--order-line-height) 0;
1619
+ &:last-child{
1620
+ margin-bottom: 0;
1621
+ }
1463
1622
  }
1464
1623
  }
1465
1624
  .shipping-address{
@@ -1500,10 +1659,13 @@
1500
1659
  }
1501
1660
  }
1502
1661
  .buyer_info{
1503
- padding: 24rpx 60rpx;
1662
+ padding: 24rpx var(--cont-lr-padding);
1504
1663
  display: flex;
1505
1664
  align-items: center;
1506
1665
  font-size: 28rpx;
1666
+ ::v-deep .uni-input-placeholder{
1667
+ color: #999999;
1668
+ }
1507
1669
  .uni-input{
1508
1670
  font-size: 28rpx;
1509
1671
  height: 64rpx;
@@ -1515,17 +1677,39 @@
1515
1677
  }
1516
1678
  }
1517
1679
  .prod_info_wrap{
1680
+ ::v-deep .uni-input-placeholder{
1681
+ color: #999999;
1682
+ }
1683
+ .logistics_tip{
1684
+ padding: 0 var(--cont-lr-padding) 24rpx;
1685
+ font-size: 24rpx;
1686
+ color: var(--g-theme-dangerColor);
1687
+ }
1518
1688
  .err_message{
1519
- padding: 16rpx 60rpx;
1520
- font-size: 28rpx;
1689
+ padding: 20rpx var(--cont-lr-padding);
1690
+ font-size: 24rpx;
1691
+ }
1692
+ .delivery{
1693
+ // #ifdef H5
1694
+ ::v-deep .xd-my-list-item:last-child{
1695
+ border-bottom: none !important;
1696
+ }
1697
+ // #endif
1698
+ // #ifdef MP-WEIXIN
1699
+ .xd-my-list-item:last-child{
1700
+ ::v-deep .xd-my-list-item{
1701
+ border-bottom: none !important;
1702
+ }
1703
+ }
1704
+ // #endif
1521
1705
  }
1522
1706
  .shop_name{
1523
- padding: 24rpx 60rpx;
1707
+ padding: 24rpx var(--cont-lr-padding);
1524
1708
  border-bottom: 1px solid #eee;
1525
1709
  font-size: 28rpx;
1526
1710
  }
1527
1711
  .prod_item{
1528
- padding: 24rpx 60rpx;
1712
+ padding: 24rpx var(--cont-lr-padding);
1529
1713
  box-sizing: border-box;
1530
1714
  height: auto;
1531
1715
  background: #FFFFFF;
@@ -1533,10 +1717,9 @@
1533
1717
  border-radius: 10rpx;
1534
1718
 
1535
1719
  .prod_img{
1536
- width: 160rpx;
1537
- height: 160rpx;
1720
+ width: 180rpx;
1721
+ height: 180rpx;
1538
1722
  margin-right: 24rpx;
1539
- background: #DDD;
1540
1723
  image{
1541
1724
  width: 100%;
1542
1725
  height: 100%;
@@ -1550,7 +1733,7 @@
1550
1733
  width: 100rpx;
1551
1734
  }
1552
1735
  .prod_tit{
1553
- font-size: 32rpx;
1736
+ font-size: 28rpx;
1554
1737
  .uni-max-cut(2, 80);
1555
1738
  line-height: unit(40, rpx);
1556
1739
  }
@@ -1559,15 +1742,15 @@
1559
1742
  }
1560
1743
 
1561
1744
  .prod_brand {
1562
- font-size: 26rpx;
1563
- padding-top: unit(10, rpx);
1564
- line-height: unit(32, rpx);
1745
+ font-size: 24rpx;
1746
+ padding-top: 4rpx;
1747
+ line-height: 32rpx;
1565
1748
  }
1566
1749
 
1567
1750
  .prod_specs{
1568
- padding-top: unit(10, rpx);
1751
+ padding-top: unit(4, rpx);
1569
1752
  display: block;
1570
- font-size: 26rpx;
1753
+ font-size: 24rpx;
1571
1754
  color: #999999;
1572
1755
  line-height: unit(32, rpx);
1573
1756
  }
@@ -1578,7 +1761,7 @@
1578
1761
  }
1579
1762
  }
1580
1763
  .wish_comment{
1581
- padding: 24rpx 60rpx;
1764
+ padding: 0 var(--cont-lr-padding);
1582
1765
  input{
1583
1766
  background: #F7F7F7;
1584
1767
  height: 68rpx;
@@ -1588,24 +1771,28 @@
1588
1771
  }
1589
1772
  .bless_tip{
1590
1773
  font-size: 26rpx;
1591
- margin: 16rpx 0;
1774
+ margin: 20rpx 0 24rpx;
1592
1775
  }
1593
1776
  }
1594
1777
  }
1595
1778
  .order_comment{
1596
- padding: 24rpx 60rpx;
1779
+ padding: 24rpx var(--cont-lr-padding);
1597
1780
  .title{
1598
1781
  font-size: 28rpx;
1599
1782
  margin-bottom: 24rpx;
1600
1783
  }
1601
- textarea{
1784
+ .order_market{
1602
1785
  border-radius: 8rpx;
1603
1786
  box-sizing: border-box;
1604
1787
  background: #F7F7F7;
1605
1788
  width: 100%;
1606
1789
  padding: 20rpx;
1607
- height: 168rpx;
1608
1790
  font-size: unit(24,rpx);
1791
+ height: 74rpx;
1792
+
1793
+ ::v-deep .uni-input-placeholder{
1794
+ color: #999999;
1795
+ }
1609
1796
  }
1610
1797
  }
1611
1798
  .fixe_bottom{
@@ -1624,6 +1811,19 @@
1624
1811
  padding: 0 32rpx;
1625
1812
  color: #ff5733;
1626
1813
  }
1814
+ .t_price{
1815
+ display: flex;
1816
+ align-items: center;
1817
+ font-weight: 500;
1818
+ color: #FF2C18;
1819
+ }
1820
+ .b_price{
1821
+ display: flex;
1822
+ align-items: center;
1823
+ font-size: 24rpx;
1824
+ color: #FF2C18;
1825
+ font-weight: 400;
1826
+ }
1627
1827
  }
1628
1828
  }
1629
1829
  }