jufubao-mall 2.0.21 → 2.0.23-beta1
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/CusProduct/CusProduct.vue +1 -1
- package/src/components/JfbMallBrandWall/Attr.js +10 -449
- package/src/components/JfbMallBrandWall/JfbMallBrandWall.vue +783 -308
- package/src/components/JfbMallBrandWall/cusAttr/advanced.js +61 -0
- package/src/components/JfbMallBrandWall/cusAttr/brand.js +341 -0
- package/src/components/JfbMallBrandWall/cusAttr/content.js +251 -0
- package/src/components/JfbMallBrandWall/cusAttr/style.js +252 -0
- package/src/components/JfbMallBrandWall/cusAttr/tab.js +471 -0
- package/src/components/JfbMallHomeProductList/JfbMallHomeProductList.vue +3 -1
- package/src/components/JfbMallHomeProductList/cusAttr/content.js +1 -2
- package/src/components/JfbMallNetworkMedia/Api.js +58 -0
- package/src/components/JfbMallNetworkMedia/Attr.js +20 -0
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMedia.vue +84 -0
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaLess.less +80 -0
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaMixin.js +30 -0
- package/src/components/JfbMallNetworkMedia/Mock.js +13 -0
- package/src/components/JfbMallNetworkMedia/cusAttr/advanced.js +60 -0
- package/src/components/JfbMallNetworkMedia/cusAttr/content.js +125 -0
- package/src/components/JfbMallNetworkMedia/cusAttr/filter.js +333 -0
- package/src/components/JfbMallNetworkMedia/cusAttr/font.js +114 -0
- package/src/components/JfbMallNetworkMedia/cusAttr/icon.js +298 -0
- package/src/components/{JfbMallProductList → JfbMallNetworkMedia/cusAttr}/style.js +15 -50
- package/src/components/JfbMallProductInfo/JfbMallProductInfo.vue +27 -23
- package/src/components/JfbMallProductInfo/cusAttr/content.js +1 -1
- package/src/components/JfbMallProductInfoV2/Api.js +1 -1
- package/src/components/JfbMallProductInfoV2/Attr.js +134 -41
- package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +136 -127
- package/src/components/JfbMallProductInfoV2/Mock.js +38 -10
- package/src/components/JfbMallProductList/Api.js +7 -7
- package/src/components/JfbMallProductList/Attr.js +7 -762
- package/src/components/JfbMallProductList/ComFilterQuery.vue +950 -0
- package/src/components/JfbMallProductList/JfbMallProductList.vue +807 -792
- package/src/components/JfbMallProductList/Mock.js +168 -255
- package/src/components/JfbMallProductList/XdCateV1.vue +335 -122
- package/src/components/JfbMallProductList/XdCateV2.vue +144 -76
- package/src/components/JfbMallProductList/XdQueryCommon.vue +189 -0
- package/src/components/JfbMallProductList/XdQueryFilter.vue +94 -76
- package/src/components/JfbMallProductList/XdQuerySort.vue +100 -109
- package/src/components/JfbMallProductList/cateMixins.js +103 -0
- package/src/components/JfbMallProductList/{advanced.js → cusAttr/advanced.js} +12 -4
- package/src/components/JfbMallProductList/cusAttr/content.js +465 -0
- package/src/components/JfbMallProductList/cusAttr/filter.js +333 -0
- package/src/components/JfbMallProductList/cusAttr/font.js +114 -0
- package/src/components/JfbMallProductList/cusAttr/icon.js +298 -0
- package/src/components/JfbMallProductList/cusAttr/style.js +91 -0
- package/src/components/JfbMallRecommendProduct/Attr.js +8 -366
- package/src/components/JfbMallRecommendProduct/JfbMallRecommendProduct.vue +218 -187
- package/src/components/JfbMallRecommendProduct/Mock.js +236 -693
- package/src/components/JfbMallRecommendProduct/cusAttr/advanced.js +79 -0
- package/src/components/JfbMallRecommendProduct/cusAttr/content.js +202 -0
- package/src/components/JfbMallRecommendProduct/cusAttr/style.js +594 -0
- package/src/components/JfbMallResourceShopList/Mock.js +4 -6
- package/src/components/JfbMallTestNormal/JfbMallTestNormal.vue +23 -2
- package/src/components/JfbMallTestNormal/data.js +152 -0
- package/src/mixins/componentsMixins.js +1 -0
- package/src/mixins/productCompMixins.js +29 -19
- package/src/components/JfbMallProductList/PosterAttr.js +0 -327
- package/src/components/JfbMallProductList/ProductAttr.js +0 -164
- package/src/components/JfbMallProductList/XdQueryBrand.vue +0 -150
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</view>
|
|
16
16
|
</view>
|
|
17
17
|
<!-- #endif -->
|
|
18
|
-
<view class="jfb-mall-product-info-v2__body">
|
|
18
|
+
<view class="jfb-mall-product-info-v2__body" :style="[borderRadiusComp]">
|
|
19
19
|
<view class="xd-store-product__swiper">
|
|
20
20
|
<xd-swiper
|
|
21
21
|
:list="images"
|
|
@@ -33,11 +33,10 @@
|
|
|
33
33
|
</view>
|
|
34
34
|
<view v-if="base_info && base_info.prices" class="info-section base">
|
|
35
35
|
<view class="line_one">
|
|
36
|
-
<xd-unit :price="base_info.prices.sale_price" :isOld="false" :fontSize="
|
|
36
|
+
<xd-unit :price="base_info.prices.sale_price" :isOld="false" :fontSize="48" iconSize="0.4"></xd-unit>
|
|
37
37
|
</view>
|
|
38
38
|
<view class="prod_title">{{base_info.product_name}}</view>
|
|
39
39
|
<view class="prod_sub" v-if="base_info.sub_title">{{base_info.sub_title}}</view>
|
|
40
|
-
<view v-if="showTip==='Y' && 0" class="prod_tip">新疆、西藏、港澳台及境外地区暂不支持发货</view>
|
|
41
40
|
<view v-if="buyButton.post_scope_text" class="prod_warning">{{buyButton.post_scope_text}}</view>
|
|
42
41
|
<view v-if="showPromise==='Y' && base_info.product_tags && base_info.product_tags.length" class="promise">
|
|
43
42
|
<view class="_tag" v-for="tag in base_info.product_tags" :key="tag">{{tag}}</view>
|
|
@@ -51,16 +50,15 @@
|
|
|
51
50
|
</view>
|
|
52
51
|
</view>
|
|
53
52
|
<view>
|
|
54
|
-
<view v-if="btnViewShops" class="info-section mapWrap" @click="handleSupportShop">
|
|
53
|
+
<view v-if="btnViewShops" class="info-section mapWrap" :class="{one: !btnViewDeliveryScope}" @click="handleSupportShop">
|
|
55
54
|
<view class="map_tit">{{ btnViewShops.text || '支持门店' }}</view>
|
|
56
55
|
<xd-font-icon size="28" icon="iconxiangyou_xian" color="#999999"></xd-font-icon>
|
|
57
56
|
</view>
|
|
58
|
-
<view v-if="btnViewDeliveryScope" class="info-section mapWrap" @click="handleToMapArea">
|
|
57
|
+
<view v-if="btnViewDeliveryScope" class="info-section mapWrap" :class="{one: !btnViewShops}" @click="handleToMapArea">
|
|
59
58
|
<view class="map_tit">{{ btnViewDeliveryScope.text || '查看配送范围' }}</view>
|
|
60
59
|
<xd-font-icon size="28" icon="iconxiangyou_xian" color="#999999"></xd-font-icon>
|
|
61
60
|
</view>
|
|
62
61
|
</view>
|
|
63
|
-
|
|
64
62
|
<view v-if="showShop==='Y' && (brand_info.brand_icon || brand_info.brand_name)" class="info-section shopInfo" @click="toShopInfo">
|
|
65
63
|
<view class="shop_logo">
|
|
66
64
|
<image mode="scaleToFill" :src="brand_info.brand_icon" v-if="brand_info.brand_icon"></image>
|
|
@@ -72,10 +70,10 @@
|
|
|
72
70
|
</view>
|
|
73
71
|
</view>
|
|
74
72
|
|
|
75
|
-
<xd-button type="primary" size="small" @click="toShopInfo"
|
|
73
|
+
<xd-button type="primary" size="small" @click="toShopInfo">{{shopBtnName}}</xd-button>
|
|
76
74
|
</view>
|
|
77
75
|
<view class="app-content-title">
|
|
78
|
-
<xd-more>宝贝详情</xd-more>
|
|
76
|
+
<xd-more :color="titleStyle">宝贝详情</xd-more>
|
|
79
77
|
</view>
|
|
80
78
|
<view class="prod_info">
|
|
81
79
|
<xd-content-xss v-if="content" :html="content"></xd-content-xss>
|
|
@@ -85,9 +83,12 @@
|
|
|
85
83
|
v-if="buyButton.alert_text"
|
|
86
84
|
class="alert_bottom"
|
|
87
85
|
:style="alert_bottom"
|
|
88
|
-
@click="handleAlter"
|
|
89
|
-
|
|
90
|
-
<
|
|
86
|
+
@click="handleAlter"
|
|
87
|
+
>
|
|
88
|
+
<view :style="{color: warningColor, backgroundColor: noticeBackgroundColor}">
|
|
89
|
+
<xd-font-icon :color="warningColor" icon="iconmingchengtubiao" size="36" style="margin-right: 4rpx;"></xd-font-icon>
|
|
90
|
+
<text>{{buyButton.alert_text}}</text>
|
|
91
|
+
</view>
|
|
91
92
|
</view>
|
|
92
93
|
<view class="prod_bottom" :style="prod_bottom">
|
|
93
94
|
<view class="btns">
|
|
@@ -124,13 +125,16 @@
|
|
|
124
125
|
import XdContentXss from "@/components/XdContentXss/XdContentXss"
|
|
125
126
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
126
127
|
import JfbMallProductInfoV2Mixin from "./JfbMallProductInfoV2Mixin";
|
|
127
|
-
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
128
|
+
import { getContainerPropsValue,gCPVal } from "@/utils/xd.base";
|
|
128
129
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
129
130
|
import extsMixins from "@/mixins/extsMixins";
|
|
130
131
|
import getServiceUrl from '@/common/getServiceUrl'
|
|
131
132
|
import XdSwiper from '@/components/XdSwiper/XdSwiper';
|
|
132
133
|
import XdSku from "./XdSku.vue"
|
|
133
134
|
import { mapState } from "vuex"
|
|
135
|
+
const Color = require('color');
|
|
136
|
+
|
|
137
|
+
|
|
134
138
|
export default {
|
|
135
139
|
name: "JfbMallProductInfoV2",
|
|
136
140
|
components: {
|
|
@@ -149,6 +153,7 @@
|
|
|
149
153
|
],
|
|
150
154
|
data() {
|
|
151
155
|
return {
|
|
156
|
+
closeMask: true,
|
|
152
157
|
swiperCurrent: 0,
|
|
153
158
|
skuShow: false,
|
|
154
159
|
curSku: null,
|
|
@@ -166,23 +171,23 @@
|
|
|
166
171
|
cart_total: "", //购物车总数
|
|
167
172
|
buyButton: {},
|
|
168
173
|
action: "", //cart:加入购物车 buy: 立即购买
|
|
169
|
-
|
|
170
174
|
order_id: "",
|
|
171
175
|
cart_num: "",
|
|
176
|
+
noticeBackgroundColor:'',
|
|
172
177
|
|
|
173
178
|
//面板
|
|
174
179
|
showPromise: "Y",
|
|
175
180
|
showShop: "Y",
|
|
176
|
-
showCart: "Y", //是否展示购物车
|
|
177
|
-
shopPath: "",
|
|
178
|
-
cartPath: "",
|
|
179
181
|
xnamespace: "",
|
|
182
|
+
shopBtnName:'去逛逛',//
|
|
183
|
+
titleStyle:'#999',
|
|
184
|
+
|
|
185
|
+
//高级
|
|
186
|
+
shopPath: "",
|
|
180
187
|
addressListPath: "",
|
|
181
|
-
// orderConfirmPath: "",
|
|
182
188
|
mapAreaPath: "",
|
|
183
189
|
supportShopPath: "",
|
|
184
190
|
paySuccessPath: "",
|
|
185
|
-
// payPath: "",
|
|
186
191
|
|
|
187
192
|
//icon
|
|
188
193
|
indexIcon: '',
|
|
@@ -201,12 +206,15 @@
|
|
|
201
206
|
stateCity: state => state.cityLocation.city,
|
|
202
207
|
brandInfo: state => state.brandInfo
|
|
203
208
|
}),
|
|
209
|
+
borderRadiusComp(){
|
|
210
|
+
return {'--g--border--radius': (this.gStyleValue.radius * this.$rpxNum) + 'px'}
|
|
211
|
+
},
|
|
204
212
|
curAddr(){
|
|
205
213
|
if(!this.addressList.length) return null;
|
|
206
214
|
else{
|
|
207
|
-
let curClickChoose = this.addressList.find(item => item.address_nnid
|
|
208
|
-
let curSelect = this.addressList.find(item => item.is_select
|
|
209
|
-
let curDefault = this.addressList.find(item => item.is_default
|
|
215
|
+
let curClickChoose = this.addressList.find(item => item.address_nnid === this.address_nnid);
|
|
216
|
+
let curSelect = this.addressList.find(item => item.is_select === "Y");
|
|
217
|
+
let curDefault = this.addressList.find(item => item.is_default === "Y");
|
|
210
218
|
return curClickChoose || curSelect || curDefault || this.addressList[0];
|
|
211
219
|
}
|
|
212
220
|
},
|
|
@@ -240,24 +248,21 @@
|
|
|
240
248
|
},
|
|
241
249
|
|
|
242
250
|
alert_bottom(){
|
|
243
|
-
return this.fixedStyle({paddingBottom:
|
|
251
|
+
return this.fixedStyle({paddingBottom: 108, zIndex: 110})
|
|
244
252
|
},
|
|
245
253
|
prod_bottom() {
|
|
246
254
|
return this.fixedStyle({paddingBottom: 24, zIndex: 111})
|
|
247
255
|
},
|
|
248
256
|
bottomFixedStylePlaceholder() {
|
|
249
|
-
let buy = (this.buyButton && this.buyButton.alert_text) ?
|
|
250
|
-
return this.fixedStyle({paddingBottom:
|
|
257
|
+
let buy = (this.buyButton && this.buyButton.alert_text) ? 80: 0
|
|
258
|
+
return this.fixedStyle({paddingBottom: 108 + buy, zIndex: 110}, 'bottom', false);
|
|
251
259
|
}
|
|
252
260
|
},
|
|
253
261
|
created() {
|
|
262
|
+
this.noticeBackgroundColor = Color(this.warningColor).alpha(0.15).toString();
|
|
254
263
|
this.init(this.container);
|
|
255
|
-
this.$xdRoot.$on('onGetSelectAddress', (address)=>{
|
|
256
|
-
|
|
257
|
-
title: "onGetSelectAddress"
|
|
258
|
-
})
|
|
259
|
-
console.log("onGetSelectAddress", address);
|
|
260
|
-
});
|
|
264
|
+
this.$xdRoot.$on('onGetSelectAddress', (address)=>{});
|
|
265
|
+
|
|
261
266
|
},
|
|
262
267
|
methods: {
|
|
263
268
|
animationfinish(e) {
|
|
@@ -267,43 +272,52 @@
|
|
|
267
272
|
this.setNameSpace(options);
|
|
268
273
|
this.product_id = options.product_id || "60000012";
|
|
269
274
|
this.$xdShowLoading({});
|
|
275
|
+
//商品信息
|
|
270
276
|
jfbRootExec("getProductItemInfoV2", {
|
|
271
277
|
vm: this,
|
|
272
278
|
data: {
|
|
273
279
|
xnamespace: this.xnamespace,
|
|
274
280
|
product_id: this.product_id
|
|
275
281
|
}
|
|
276
|
-
})
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
282
|
+
})
|
|
283
|
+
.then(res => {
|
|
284
|
+
const { base_info, brand_info, delivery_methods, images, parameters, skus, videos } = res;
|
|
285
|
+
if(brand_info['brand_icon']) {
|
|
286
|
+
brand_info['brand_icon'] = getServiceUrl(brand_info['brand_icon'], 'size1')
|
|
287
|
+
}
|
|
288
|
+
this.brand_info = brand_info;
|
|
289
|
+
this.base_info = {...base_info, thumb: base_info.thumb ? getServiceUrl(base_info.thumb):""};
|
|
290
|
+
this.delivery_methods = delivery_methods;
|
|
291
|
+
this.images = images.map(img => {
|
|
292
|
+
img['src'] = getServiceUrl(img.src);
|
|
293
|
+
return img;
|
|
294
|
+
});
|
|
295
|
+
this.parameters = parameters;
|
|
296
|
+
this.skus = skus;
|
|
297
|
+
this.videos = videos;
|
|
298
|
+
})
|
|
299
|
+
.catch(err=>{
|
|
300
|
+
console.error(err);
|
|
301
|
+
this.$xdLog.catch(err);
|
|
302
|
+
this.$xdHideLoading();
|
|
303
|
+
|
|
287
304
|
});
|
|
288
|
-
this.parameters = parameters;
|
|
289
|
-
this.skus = skus;
|
|
290
|
-
this.videos = videos;
|
|
291
|
-
}).catch(err=>{
|
|
292
|
-
console.error(err);
|
|
293
|
-
this.$xdLog.catch(err);
|
|
294
|
-
this.$xdHideLoading();
|
|
295
305
|
|
|
296
|
-
|
|
306
|
+
//商品内容
|
|
297
307
|
jfbRootExec("getProductItemContentV2", {
|
|
298
308
|
vm: this,
|
|
299
309
|
data: {
|
|
300
310
|
xnamespace: this.xnamespace,
|
|
301
311
|
product_id: this.product_id
|
|
302
312
|
}
|
|
303
|
-
}).then(res => {
|
|
304
|
-
this.content = res.content;
|
|
305
313
|
})
|
|
306
|
-
|
|
314
|
+
.then(res => {
|
|
315
|
+
this.content = res.content;
|
|
316
|
+
})
|
|
317
|
+
.catch(err=>{
|
|
318
|
+
this.$xdLog.catch(err);
|
|
319
|
+
});
|
|
320
|
+
|
|
307
321
|
this.p_getAddressList();
|
|
308
322
|
if(!this.$configProject.isPreview) {
|
|
309
323
|
this.p_getTotal();
|
|
@@ -311,27 +325,26 @@
|
|
|
311
325
|
},
|
|
312
326
|
/**
|
|
313
327
|
* @description 监听事件变化
|
|
314
|
-
* @param
|
|
328
|
+
* @param container {object} 业务组件对象自己
|
|
315
329
|
*/
|
|
316
|
-
init(
|
|
317
|
-
|
|
318
|
-
this.
|
|
319
|
-
this.
|
|
320
|
-
this.
|
|
321
|
-
this.
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
this.
|
|
325
|
-
|
|
326
|
-
this.mapAreaPath =
|
|
327
|
-
this.supportShopPath =
|
|
328
|
-
this.paySuccessPath =
|
|
329
|
-
// this.payPath = getContainerPropsValue(value, "content.payPath", {value: ""}).value;
|
|
330
|
+
init(container) {
|
|
331
|
+
this.xnamespace = gCPVal(container, 'xnamespace', this.projectAttr.business_code||this.xnamespace);
|
|
332
|
+
this.showPromise = gCPVal(container, 'showPromise', "Y");
|
|
333
|
+
this.showShop = gCPVal(container, 'showShop', "Y");
|
|
334
|
+
this.shopBtnName = gCPVal(container, 'shopBtnName', "去逛逛");
|
|
335
|
+
this.titleStyle = gCPVal(container, 'titleStyle', '#999',{sKey:'titleStyleStatus', fields:['titleStyle']});
|
|
336
|
+
|
|
337
|
+
//高级
|
|
338
|
+
this.shopPath = gCPVal(container, "shopPath", {value: ""},{}).value;
|
|
339
|
+
this.addressListPath = gCPVal(container, "addressListPath", {value: ""}, {}).value;
|
|
340
|
+
this.mapAreaPath = gCPVal(container, "mapAreaPath", {value: ""},{}).value;
|
|
341
|
+
this.supportShopPath = gCPVal(container, "supportShopPath", {value: ""},{}).value;
|
|
342
|
+
this.paySuccessPath = gCPVal(container, "paySuccessPath", {value: ""},{}).value;
|
|
330
343
|
|
|
331
344
|
//icon
|
|
332
|
-
this.indexIcon =
|
|
333
|
-
this.cartIcon =
|
|
334
|
-
this.iconColor =
|
|
345
|
+
this.indexIcon = gCPVal(container, 'indexIcon', 'iconshouye1');
|
|
346
|
+
this.cartIcon = gCPVal(container, 'cartIcon', 'icongouwuche1');
|
|
347
|
+
this.iconColor = gCPVal(container, 'iconColor', '#999');
|
|
335
348
|
},
|
|
336
349
|
handleToMapArea(){
|
|
337
350
|
let city_code = "";
|
|
@@ -408,18 +421,21 @@
|
|
|
408
421
|
})
|
|
409
422
|
},
|
|
410
423
|
p_getAddressList(){
|
|
411
|
-
jfbRootExec("
|
|
424
|
+
jfbRootExec("getAddressListV2", {
|
|
412
425
|
vm: this,
|
|
413
426
|
data: {}
|
|
414
427
|
}).then(res => {
|
|
415
428
|
if(!res.address_nnid) this.addressList = [];
|
|
416
429
|
else this.addressList = [res];
|
|
417
430
|
this.p_getProductBuyButton();
|
|
431
|
+
}).catch(err => {
|
|
432
|
+
this.$xdHideLoading();
|
|
433
|
+
this.$xdLog.catch(err);
|
|
418
434
|
})
|
|
419
435
|
},
|
|
420
436
|
handleAlter(){
|
|
421
437
|
const { alert_button } = this.buyButton;
|
|
422
|
-
if(alert_button.action
|
|
438
|
+
if(alert_button.action === "add-address"){
|
|
423
439
|
this.toChooseAddress();
|
|
424
440
|
}
|
|
425
441
|
},
|
|
@@ -454,15 +470,6 @@
|
|
|
454
470
|
addCart(){
|
|
455
471
|
this.skuShow = true;
|
|
456
472
|
this.action = "cart";
|
|
457
|
-
// if(this.skus.length){
|
|
458
|
-
// //有sku,
|
|
459
|
-
// this.skuShow = true;
|
|
460
|
-
// this.action = "cart";
|
|
461
|
-
// }else{
|
|
462
|
-
// this.p_addCart({}, (res) => {
|
|
463
|
-
// this.p_getTotal();
|
|
464
|
-
// });
|
|
465
|
-
// }
|
|
466
473
|
},
|
|
467
474
|
//点击立即购买
|
|
468
475
|
addCartAndBuy(){
|
|
@@ -484,6 +491,7 @@
|
|
|
484
491
|
})
|
|
485
492
|
},
|
|
486
493
|
doNowBuy(){
|
|
494
|
+
if(this.$configProject.isPreview) return;
|
|
487
495
|
let curSku = this.curSku || {};
|
|
488
496
|
this.$xdShowLoading({});
|
|
489
497
|
jfbRootExec("nowBuyPay", {
|
|
@@ -509,20 +517,17 @@
|
|
|
509
517
|
this.skuShow = true;
|
|
510
518
|
},
|
|
511
519
|
toChooseAddress(){
|
|
520
|
+
if(this.$configProject.isPreview) return;
|
|
512
521
|
this.$xdUniHelper.navigateTo({
|
|
513
522
|
url: this.addressListPath + "?back=true"
|
|
514
523
|
})
|
|
515
524
|
},
|
|
516
525
|
toShopInfo(){
|
|
526
|
+
if(this.$configProject.isPreview) return;
|
|
517
527
|
this.$xdUniHelper.navigateTo({
|
|
518
528
|
url: this.shopPath + `?brand_id=${this.brand_info.brand_id}`
|
|
519
529
|
})
|
|
520
530
|
},
|
|
521
|
-
toCart(){
|
|
522
|
-
this.$xdUniHelper.navigateTo({
|
|
523
|
-
url: this.cartPath
|
|
524
|
-
})
|
|
525
|
-
},
|
|
526
531
|
handleConfirmSku(curSku){
|
|
527
532
|
console.log('handleConfirmSku', curSku);
|
|
528
533
|
const {number, price, product_sku, type} = curSku;
|
|
@@ -569,26 +574,25 @@
|
|
|
569
574
|
})
|
|
570
575
|
},
|
|
571
576
|
p_getOrderInfo(options, cb){
|
|
572
|
-
|
|
573
577
|
this.$xdShowLoading({});
|
|
574
578
|
jfbRootExec("getOrderStatus", {
|
|
575
579
|
vm: this,
|
|
576
580
|
data: options
|
|
577
581
|
}).then(res => {
|
|
578
|
-
if(res
|
|
582
|
+
if(res['handle_status'] === 'Y'){
|
|
579
583
|
this.$xdHideLoading();
|
|
580
584
|
cb({
|
|
581
585
|
order_id: res.main_order_id,
|
|
582
586
|
pay_order_id: res.pay_order_id
|
|
583
587
|
})
|
|
584
|
-
}else if(res
|
|
588
|
+
}else if(res['handle_status'] === 'U'){
|
|
585
589
|
this.orderTimer = setTimeout(() => {
|
|
586
590
|
this.p_getOrderInfo(options, cb);
|
|
587
591
|
}, 2000)
|
|
588
|
-
}else if(res
|
|
592
|
+
}else if(res['handle_status'] === 'N') {
|
|
589
593
|
this.$xdHideLoading();
|
|
590
594
|
this.$xdAlert({
|
|
591
|
-
content: res
|
|
595
|
+
content: res['error_msg'],
|
|
592
596
|
time: 2500,
|
|
593
597
|
isClose: false,
|
|
594
598
|
zIndex: 5000
|
|
@@ -597,12 +601,12 @@
|
|
|
597
601
|
})
|
|
598
602
|
},
|
|
599
603
|
handleCreateSuccess(val) {
|
|
600
|
-
console.log(val, '111111');
|
|
601
604
|
if(val.need_pay_price === 0){
|
|
602
605
|
this.$xdUniHelper.redirectTo({
|
|
603
606
|
url: this.paySuccessPath + `?order_id=${val['order_id']}`
|
|
604
607
|
}, false, true)
|
|
605
608
|
}else{
|
|
609
|
+
//todo
|
|
606
610
|
// this.$xdUniHelper.redirectTo({
|
|
607
611
|
// url: this.payPath + `?order_id=${val['pay_order_id']}&main_order_id=${val['order_id']}`
|
|
608
612
|
// }, false, true)
|
|
@@ -610,6 +614,7 @@
|
|
|
610
614
|
},
|
|
611
615
|
/** end cardPay */
|
|
612
616
|
onJfbShow(options) {
|
|
617
|
+
if(!this.$configProject.isPreview) return;
|
|
613
618
|
this.p_getAddressList();
|
|
614
619
|
this.p_getTotal();
|
|
615
620
|
},
|
|
@@ -662,10 +667,10 @@
|
|
|
662
667
|
}
|
|
663
668
|
|
|
664
669
|
.info-section{
|
|
665
|
-
background: #
|
|
666
|
-
border-radius:
|
|
667
|
-
margin:
|
|
668
|
-
padding:
|
|
670
|
+
background: #fff;
|
|
671
|
+
border-radius: var(--g--border--radius);
|
|
672
|
+
margin: 16rpx;
|
|
673
|
+
padding: 16rpx 40rpx;
|
|
669
674
|
&.base{
|
|
670
675
|
.line_one{
|
|
671
676
|
display: flex;
|
|
@@ -674,15 +679,17 @@
|
|
|
674
679
|
margin-top: unit(-5, rpx);
|
|
675
680
|
}
|
|
676
681
|
.prod_title{
|
|
677
|
-
font-size:
|
|
682
|
+
font-size: 32rpx;
|
|
678
683
|
color: #333;
|
|
679
|
-
font-weight:
|
|
684
|
+
font-weight: 500;
|
|
680
685
|
margin: 14rpx 0 unit(10, rpx);
|
|
686
|
+
line-height: 1.5rem;
|
|
681
687
|
}
|
|
682
688
|
.prod_sub{
|
|
683
689
|
font-size: 28rpx;
|
|
684
690
|
color: #999;
|
|
685
|
-
margin-top: unit(
|
|
691
|
+
margin-top: unit(16, rpx);
|
|
692
|
+
font-weight: 400;
|
|
686
693
|
}
|
|
687
694
|
.prod_tip{
|
|
688
695
|
height: 60rpx;
|
|
@@ -714,8 +721,8 @@
|
|
|
714
721
|
}
|
|
715
722
|
}
|
|
716
723
|
&.mapWrap{
|
|
724
|
+
padding: 20rpx 40rpx;
|
|
717
725
|
font-size: 28rpx;
|
|
718
|
-
font-weight: 500;
|
|
719
726
|
display: flex;
|
|
720
727
|
justify-content: space-between;
|
|
721
728
|
align-items: center;
|
|
@@ -723,17 +730,20 @@
|
|
|
723
730
|
border-bottom: 1px solid #eee;
|
|
724
731
|
&:nth-of-type(1){
|
|
725
732
|
margin-top: 20rpx;
|
|
726
|
-
border-radius:
|
|
733
|
+
border-radius: var(--g--border--radius) var(--g--border--radius) 0 0;
|
|
727
734
|
}
|
|
728
735
|
&:nth-last-of-type(1){
|
|
729
736
|
margin-bottom: 20rpx;
|
|
730
|
-
border-radius: 0 0
|
|
737
|
+
border-radius: 0 0 var(--g--border--radius) var(--g--border--radius);
|
|
731
738
|
border-bottom: none;
|
|
732
739
|
}
|
|
740
|
+
&.one{
|
|
741
|
+
border-radius: var(--g--border--radius) !important;
|
|
742
|
+
}
|
|
733
743
|
.map_tit{
|
|
734
|
-
font-
|
|
735
|
-
color: #
|
|
736
|
-
font-weight:
|
|
744
|
+
font-size: 28rpx;
|
|
745
|
+
color: #333;
|
|
746
|
+
font-weight: 400;
|
|
737
747
|
}
|
|
738
748
|
|
|
739
749
|
}
|
|
@@ -760,10 +770,9 @@
|
|
|
760
770
|
line-height: 48rpx;
|
|
761
771
|
margin: 10rpx 0;
|
|
762
772
|
.label{
|
|
763
|
-
font-weight: 500;
|
|
764
773
|
min-width: 80rpx;
|
|
765
774
|
max-width: 200rpx;
|
|
766
|
-
font-size:
|
|
775
|
+
font-size: 28rpx;
|
|
767
776
|
color: #888888;
|
|
768
777
|
font-weight: 400;
|
|
769
778
|
.uni-one-cut(48);
|
|
@@ -774,7 +783,6 @@
|
|
|
774
783
|
padding-left: 20rpx;
|
|
775
784
|
font-size: 26rpx;
|
|
776
785
|
color: #333333;
|
|
777
|
-
font-weight: 400;
|
|
778
786
|
}
|
|
779
787
|
._ext{
|
|
780
788
|
margin-left: 20rpx;
|
|
@@ -807,9 +815,9 @@
|
|
|
807
815
|
flex-direction: column;
|
|
808
816
|
}
|
|
809
817
|
.shop_name{
|
|
810
|
-
font-size:
|
|
818
|
+
font-size: 32rpx;
|
|
811
819
|
color: #333333;
|
|
812
|
-
font-weight:
|
|
820
|
+
font-weight: 400;
|
|
813
821
|
}
|
|
814
822
|
.star_list{
|
|
815
823
|
display: flex;
|
|
@@ -821,30 +829,29 @@
|
|
|
821
829
|
}
|
|
822
830
|
&.info-params{
|
|
823
831
|
.params_title{
|
|
824
|
-
font-size:
|
|
832
|
+
font-size: 28rpx;
|
|
825
833
|
font-weight: 500;
|
|
826
|
-
color: #
|
|
834
|
+
color: #333;
|
|
827
835
|
margin-bottom: 24rpx;
|
|
828
836
|
}
|
|
829
837
|
.specs_item{
|
|
830
838
|
margin: 0;
|
|
831
839
|
.label{
|
|
832
840
|
width: 140rpx;
|
|
833
|
-
color: #
|
|
834
|
-
font-size:
|
|
841
|
+
color: #999;
|
|
842
|
+
font-size: 28rpx;
|
|
835
843
|
font-weight: 400;
|
|
836
844
|
text-align: left;
|
|
837
845
|
.uni-one-cut(48);
|
|
838
|
-
font-weight: 400;
|
|
839
846
|
padding: 8rpx 0;
|
|
840
847
|
position: relative;
|
|
841
848
|
align-self: stretch;
|
|
842
849
|
height: auto;
|
|
843
850
|
}
|
|
844
851
|
.value{
|
|
845
|
-
padding: 8rpx 0
|
|
852
|
+
padding: 8rpx 0;
|
|
846
853
|
color: #333333;
|
|
847
|
-
font-size:
|
|
854
|
+
font-size: 28rpx;
|
|
848
855
|
font-weight: 400;
|
|
849
856
|
word-break: break-all;
|
|
850
857
|
}
|
|
@@ -866,27 +873,29 @@
|
|
|
866
873
|
}
|
|
867
874
|
}
|
|
868
875
|
.alert_bottom{
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
display: flex;
|
|
872
|
-
justify-content: center;
|
|
873
|
-
text-align: center;
|
|
874
|
-
height: 60rpx;
|
|
875
|
-
line-height: 60rpx;
|
|
876
|
-
font-size: 24rpx;
|
|
876
|
+
height: 80rpx;
|
|
877
|
+
line-height: 80rpx;
|
|
877
878
|
position: fixed;
|
|
878
879
|
right:0;
|
|
879
880
|
left:0;
|
|
880
881
|
bottom:0;
|
|
881
882
|
width: 100%;
|
|
882
883
|
z-index: 111;
|
|
884
|
+
background-color: #fff;
|
|
885
|
+
& > view {
|
|
886
|
+
display: flex;
|
|
887
|
+
justify-content: center;
|
|
888
|
+
text-align: center;
|
|
889
|
+
font-size: 24rpx;
|
|
890
|
+
background-color: rgba(0,0,0,.15);
|
|
891
|
+
}
|
|
883
892
|
}
|
|
884
893
|
.prod_bottom{
|
|
885
894
|
position: fixed;
|
|
886
895
|
right: 0;
|
|
887
896
|
left: 0;
|
|
888
897
|
bottom: 0;
|
|
889
|
-
background: #
|
|
898
|
+
background: #fff;
|
|
890
899
|
width: 100%;
|
|
891
900
|
display: flex;
|
|
892
901
|
justify-content: space-between;
|
|
@@ -925,7 +934,7 @@
|
|
|
925
934
|
flex: 1;
|
|
926
935
|
justify-content: flex-end;
|
|
927
936
|
.btn{
|
|
928
|
-
margin: 0 10rpx;
|
|
937
|
+
margin: 0 10rpx!important;
|
|
929
938
|
}
|
|
930
939
|
}
|
|
931
940
|
}
|
|
@@ -46,18 +46,46 @@ module.exports = {
|
|
|
46
46
|
request_id: "5e7ee35239718e4c"
|
|
47
47
|
},
|
|
48
48
|
getProductItemContentV2: {
|
|
49
|
-
content: '<p><img class="tinymce-image" src="//sandbox-img.jufubao.cn/uploads/20230522/61f22091cc434863e2d52cce0d769221.jpg" /><img class="tinymce-image" src="//sandbox-img.jufubao.cn/uploads/20230522/eaeae42676bdb063283385c43877ee73.jpg"
|
|
49
|
+
content: '<p><img class="tinymce-image" src="//sandbox-img.jufubao.cn/uploads/20230522/61f22091cc434863e2d52cce0d769221.jpg" /><img class="tinymce-image" src="//sandbox-img.jufubao.cn/uploads/20230522/eaeae42676bdb063283385c43877ee73.jpg" /></p>',
|
|
50
50
|
request_id: "11438a7010425aff"
|
|
51
51
|
},
|
|
52
52
|
getProductItemBuyButtonV2: {
|
|
53
|
-
post_scope_text:
|
|
54
|
-
alert_text:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
"post_scope_text":"",
|
|
54
|
+
"alert_text":"请填写收货地址",
|
|
55
|
+
"alert_button":{"action":"add-address","params":[]},
|
|
56
|
+
"alert_reason":"",
|
|
57
|
+
"need_login":false,
|
|
58
|
+
"buttons":[{"text":"立即购买","code":"buy-now","enabled":false}],
|
|
59
|
+
"buy_limit":{"min_buy":1,"max_buy":999},
|
|
60
|
+
"delivery_methods":[{"label":"同城配送","value":"samecity"}],
|
|
61
|
+
"page_buttons":[{"text":"查看配送范围","code":"view-delivery-scope","params":{"brand_id":"20001","supplier_id":"133189","region_limit_tpl_id":"csd_133189_34376","channel_code":"d2lsbG5pY2VfY2FrZXxXMDIwMjMwMDcyMzc%3D","channel_product_id":"W02023007237"}}],
|
|
62
|
+
"request_id":"953cd3bd0dc7d795"},
|
|
63
|
+
getAddressListV2: {
|
|
64
|
+
address_nnid: "UXp8xO1L-MD5foOjzCEgn",
|
|
65
|
+
user_id: 5000020,
|
|
66
|
+
user_name: "",
|
|
67
|
+
province_code: "5",
|
|
68
|
+
city_code: "248",
|
|
69
|
+
area_code: "261",
|
|
70
|
+
street_code: "48381",
|
|
71
|
+
province_name: "河北",
|
|
72
|
+
city_name: "秦皇岛市",
|
|
73
|
+
area_name: "卢龙县",
|
|
74
|
+
street_name: "卢龙镇",
|
|
75
|
+
address_detail: "qww",
|
|
76
|
+
house_number: "",
|
|
77
|
+
name: "测试",
|
|
78
|
+
phone: "18843854566",
|
|
79
|
+
is_default: "Y",
|
|
80
|
+
tag: 0,
|
|
81
|
+
is_select: "Y",
|
|
82
|
+
latitude: "39.898761934519",
|
|
83
|
+
longitude: "118.88581070309",
|
|
84
|
+
partner_id: 161,
|
|
85
|
+
site_id: "17928cc37788be02",
|
|
86
|
+
created_time: 1720073377,
|
|
87
|
+
updated_time: 1726122196,
|
|
88
|
+
is_valid: "Y",
|
|
89
|
+
request_id: "eada79fa50f57273"
|
|
62
90
|
}
|
|
63
91
|
};
|