jufubao-mall 2.0.99 → 2.0.100-beta2
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/.claude/settings.local.json +17 -0
- package/package.json +1 -1
- package/src/components/CusCouponChose/CusCouponChose.vue +3 -3
- package/src/components/JfbMallCart/JfbMallCart.vue +2 -14
- package/src/components/JfbMallCart/Mock.js +3 -6
- package/src/components/JfbMallCart/cusAttr/content.js +0 -18
- package/src/components/JfbMallConfirm/JfbMallConfirm.vue +4 -48
- package/src/components/JfbMallConfirm/cusAttr/style.js +1 -1
- package/src/components/JfbMallConfirm/orderMixin.js +3 -5
- package/src/components/JfbMallHomeProductList/JfbMallHomeProductList.vue +1 -6
- package/src/components/JfbMallHomeProductList/cusAttr/style.js +1 -33
- package/src/components/JfbMallProductInfo/JfbMallProductInfo.vue +1 -1
- package/src/components/JfbMallProductInfo/XdSku.vue +1 -1
- package/src/components/JfbMallProductInfo/XdSkuJd.vue +1 -1
- package/src/components/JfbMallProductInfo/XdSkuNew.vue +1 -1
- package/src/components/JfbMallProductInfo/cusAttr/style.js +1 -1
- package/src/components/JfbMallProductInfoV2/JfbMallProductInfoV2.vue +1 -1
- package/src/components/JfbMallProductInfoV2/XdSku.vue +1 -1
- package/src/components/JfbMallProductList/cusAttr/content.js +87 -91
- package/src/components/JfbMallResourceShop/Attr.js +205 -196
- package/src/components/JfbMallResourceShop/JfbMallResourceShop.vue +147 -27
- package/src/components/JfbMallResourceShop/cusAttr/advanced.js +80 -0
- package/src/components/JfbMallResourceShop/cusAttr/content.js +258 -0
- package/src/components/JfbMallResourceShop/cusAttr/style.js +347 -0
- package/src/components/JfbMallShop/JfbMallShop.vue +8 -23
- package/src/components/JfbMallShop/QrcodeShow.vue +2 -13
- package/src/components/JfbMallShop/ShowCard.vue +1 -5
- package/src/components/JfbMallShop/ShowQp.vue +6 -6
- package/src/components/JfbMallShop/cusAttr/content.js +3 -16
- package/get.package.path.js +0 -22
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(git checkout *)",
|
|
5
|
+
"Bash(npx lessc *)",
|
|
6
|
+
"Bash(python3 *)",
|
|
7
|
+
"Bash(sips -g pixelWidth -g pixelHeight \"/Users/zxd/Workspaces/jufubao-mall/temp_screenshot.jpg\")",
|
|
8
|
+
"Bash(identify \"/Users/zxd/Workspaces/jufubao-mall/temp_screenshot.jpg\")",
|
|
9
|
+
"Bash(sips *)",
|
|
10
|
+
"Bash(cp src/components/JfbMallResourceShop/cusAttr/content.js /tmp/_check.js)",
|
|
11
|
+
"Bash(sed -i '' 's|from \"@/utils/AttrTools\"|from \"../../../utils/AttrTools\"|; s|from \"@/utils/Attr/PosterAttr\"|from \"../../../utils/Attr/PosterAttr\"|; s|from \"@/utils/Attr/ProductAttr\"|from \"../../../utils/Attr/ProductAttr\"|' /tmp/_check.js)",
|
|
12
|
+
"Bash(node --check /tmp/_check.js)",
|
|
13
|
+
"Bash(rm /tmp/_check.js)",
|
|
14
|
+
"Bash(node --input-type=module --check)"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
</view>
|
|
39
39
|
<view class="column-item">
|
|
40
40
|
<view class="column_label">
|
|
41
|
-
|
|
42
|
-
<view class="label_sub"
|
|
41
|
+
仍需支付
|
|
42
|
+
<view class="label_sub">(可使用多张优惠券支付)</view>
|
|
43
43
|
</view>
|
|
44
44
|
<view class="column_value text-primary">
|
|
45
45
|
<xd-unit
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
type="primary"
|
|
101
101
|
radius="50rpx"
|
|
102
102
|
@click="doTicketPay"
|
|
103
|
-
|
|
103
|
+
>确认支付</xd-button
|
|
104
104
|
>
|
|
105
105
|
</view>
|
|
106
106
|
</view>
|
|
@@ -138,14 +138,9 @@
|
|
|
138
138
|
@change="(num) => handleCartNumSet(num, prod, i)"
|
|
139
139
|
></xd-number>
|
|
140
140
|
</view>
|
|
141
|
-
<view v-if="prod.tip" :style="{color: activityPriceTextColor,fontSize:'24rpx',marginTop:'4rpx'}">
|
|
142
|
-
<text v-html="prod.tip"></text>
|
|
143
|
-
</view>
|
|
141
|
+
<view v-if="prod.tip" :style="{color: activityPriceTextColor,fontSize:'24rpx',marginTop:'4rpx'}">{{ prod.tip }}</view>
|
|
144
142
|
<view v-else-if="showActivityPrice==='Y'&&prod.is_activity==='Y'"
|
|
145
143
|
:style="{color: activityPriceTextColor,fontSize:'24rpx',marginTop:'4rpx'}">活动价</view>
|
|
146
|
-
<view v-if="showOrderSource==='Y'&&prod.source_from_tip" :style="{color: activityPriceTextColor,fontSize:'24rpx',marginTop:'4rpx'}">
|
|
147
|
-
<text v-html="prod.source_from_tip"></text>
|
|
148
|
-
</view>
|
|
149
144
|
</view>
|
|
150
145
|
</view>
|
|
151
146
|
</uni-swipe-action-item>
|
|
@@ -281,7 +276,6 @@ export default {
|
|
|
281
276
|
is_border_w: 0,
|
|
282
277
|
is_border_c: "",
|
|
283
278
|
showActivityPrice: 'N',
|
|
284
|
-
showOrderSource: 'N',
|
|
285
279
|
|
|
286
280
|
listMargin: {},
|
|
287
281
|
listItemBorder: "",
|
|
@@ -491,7 +485,6 @@ export default {
|
|
|
491
485
|
// this.showActivityPrice = getContainerPropsValue(container, 'content.showActivityPrice', 'N');
|
|
492
486
|
console.log(this.mainColor,'mainColor')
|
|
493
487
|
this.showActivityPrice = gCPVal(container, 'showActivityPrice', 'N');
|
|
494
|
-
this.showOrderSource = gCPVal(container, 'showOrderSource', 'N');
|
|
495
488
|
//下间距
|
|
496
489
|
// this.padding = getContainerPropsValue(container, "content.padding", 0);
|
|
497
490
|
this.padding = gCPVal(container,'padding', 0, {sKey:'paddingStatus',fields:['padding']});
|
|
@@ -766,12 +759,7 @@ export default {
|
|
|
766
759
|
};
|
|
767
760
|
}),
|
|
768
761
|
},
|
|
769
|
-
}).then((res) => {
|
|
770
|
-
if(res.is_refresh) {
|
|
771
|
-
this.p_getCartList()
|
|
772
|
-
}
|
|
773
|
-
this.$xdRoot.$emit("restFooterNumber");
|
|
774
|
-
});
|
|
762
|
+
}).then((res) => {});
|
|
775
763
|
},
|
|
776
764
|
|
|
777
765
|
//全选固定商铺
|
|
@@ -21,8 +21,7 @@ module.exports = {
|
|
|
21
21
|
is_select: "N",
|
|
22
22
|
promo_price: 1800,
|
|
23
23
|
is_activity: 'Y',
|
|
24
|
-
tip: ''
|
|
25
|
-
source_from_tip: '产品来源:文字+背景测试新功能(商品V2) 专题'
|
|
24
|
+
tip: ''
|
|
26
25
|
},
|
|
27
26
|
{
|
|
28
27
|
product_id: 60008817,
|
|
@@ -40,8 +39,7 @@ module.exports = {
|
|
|
40
39
|
shop_name: "",
|
|
41
40
|
is_select: "N",
|
|
42
41
|
is_activity: 'Y',
|
|
43
|
-
tip: '已超活动限购数量,将按原价购买'
|
|
44
|
-
source_from_tip: '产品来源:文字+背景测试新功能(商品V2) 专题'
|
|
42
|
+
tip: '已超活动限购数量,将按原价购买'
|
|
45
43
|
},
|
|
46
44
|
{
|
|
47
45
|
product_id: 60007091,
|
|
@@ -60,8 +58,7 @@ module.exports = {
|
|
|
60
58
|
shop_name: "",
|
|
61
59
|
is_select: "N",
|
|
62
60
|
is_activity: 'Y',
|
|
63
|
-
tip: '已超活动限购数量,将按原价购买'
|
|
64
|
-
source_from_tip: '产品来源:文字+背景测试新功能(商品V2) 专题'
|
|
61
|
+
tip: '已超活动限购数量,将按原价购买'
|
|
65
62
|
},
|
|
66
63
|
{
|
|
67
64
|
product_id: 60008820,
|
|
@@ -144,24 +144,6 @@ export default (data, gValue, gColor, oldData) => {
|
|
|
144
144
|
ele:'xd-line',
|
|
145
145
|
groupKey:'content'
|
|
146
146
|
},
|
|
147
|
-
{
|
|
148
|
-
label: '订单来源',
|
|
149
|
-
ele: 'xd-cus-switch',
|
|
150
|
-
valueKey: 'showOrderSource',
|
|
151
|
-
value: dataVal({data, key:'showOrderSource', dValue:"N", gValue}),
|
|
152
|
-
className: 'input100',
|
|
153
|
-
groupKey:'content',
|
|
154
|
-
labelInline:true,
|
|
155
|
-
cusStyle:{marginBottom: '10px'},
|
|
156
|
-
setting: {
|
|
157
|
-
tips:['显示','不显示'],
|
|
158
|
-
isBackType: 'string'
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
ele:'xd-line',
|
|
163
|
-
groupKey:'content'
|
|
164
|
-
},
|
|
165
147
|
{
|
|
166
148
|
label: '随便逛逛',
|
|
167
149
|
ele: 'xd-cus-switch',
|
|
@@ -54,11 +54,8 @@
|
|
|
54
54
|
<view style="display:flex;align-items:center">
|
|
55
55
|
<!-- <xd-unit :price="prod.sale_price" :isOld="false" color="#333" :iconSize="0.3" :fontSize="32"/> -->
|
|
56
56
|
<CusPrice :isPlus="is_plus_site" :type="order" :showPrice="prod.show_prices"></CusPrice>
|
|
57
|
-
<view style="font-size: 28rpx;color:#999;margin-left: 16rpx;">{{prod['product_num'] ? 'x': ''}} {{prod['product_num']}}</view>
|
|
58
|
-
</view>
|
|
59
|
-
<view v-if="prod['paid_amount'] && prod['paid_amount'] > 0" class="coupon_paid">
|
|
60
|
-
实付: <xd-unit :price="prod['paid_amount']" :isOld="false" color="#333" :iconSize="0.3" :fontSize="32"/>
|
|
61
57
|
</view>
|
|
58
|
+
<view style="font-size: 28rpx;color:#999">{{prod['product_num'] ? 'x': ''}} {{prod['product_num']}}</view>
|
|
62
59
|
</view>
|
|
63
60
|
<view v-if="prod.error_message" :style="{color:priceTextColor,fontSize:'24rpx'}">{{prod.error_message}}</view>
|
|
64
61
|
<view v-else-if="showActivityPrice==='Y'&&prod.is_activity==='Y'"
|
|
@@ -972,7 +969,7 @@
|
|
|
972
969
|
this.bottomPadding = gCPVal(container, 'bottomPadding', [16], {sKey: "bottomPaddingStatus", fields: ['bottomPadding']});
|
|
973
970
|
this.bottomBtnRadius = gCPVal(container, 'bottomBtnRadius', [40], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
|
|
974
971
|
this.bottomBtnHeight = gCPVal(container, 'bottomBtnHeight', [60], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
|
|
975
|
-
this.bottomPayText = gCPVal(container, 'bottomPayText', ["
|
|
972
|
+
this.bottomPayText = gCPVal(container, 'bottomPayText', ["支付"], {sKey: "btnStyleStatus", fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText']});
|
|
976
973
|
this.bottomPricePosition = gCPVal(container, 'bottomPricePosition', ['flex-start'], {sKey: "btnPriceStatus", fields: ['bottomPricePosition']});
|
|
977
974
|
|
|
978
975
|
//优惠券样式升级为不在面板设置
|
|
@@ -1073,46 +1070,11 @@
|
|
|
1073
1070
|
if(!this.canUseCoupon) return;
|
|
1074
1071
|
this.showCouponChose = true;
|
|
1075
1072
|
},
|
|
1076
|
-
//选择完优惠券,需要在商品上展示实付款信息(商品价格-优惠券优惠价格)
|
|
1077
|
-
handleCouponChoseResult(data){
|
|
1078
|
-
//data.total_coupon_parts: [{"card_number":"10001000008865","part_id":"60031172_0_0","sale_amount":8000,"coupon_amount":5000,"coupon_split":"[{\"card_number\":\"10001000008865\",\"coupon_amount\":5000,\"coupon_point\":5000}]","coupon_point":5000}]
|
|
1079
|
-
if(!data || !this.shopList) return;
|
|
1080
|
-
// total_coupon_parts 为空字符串或空数组代表取消选择优惠券,清除已展示的实付金额
|
|
1081
|
-
if(!data.total_coupon_parts || data.total_coupon_parts.length === 0){
|
|
1082
|
-
this.shopList.forEach(shop => {
|
|
1083
|
-
if(!shop.product) return;
|
|
1084
|
-
shop.product.forEach(prod => {
|
|
1085
|
-
delete prod.paid_amount;
|
|
1086
|
-
});
|
|
1087
|
-
});
|
|
1088
|
-
return;
|
|
1089
|
-
}
|
|
1090
|
-
// 按 part_id 建立映射,快速查找
|
|
1091
|
-
const couponMap = {};
|
|
1092
|
-
data.total_coupon_parts.forEach(item => {
|
|
1093
|
-
couponMap[item.part_id] = item;
|
|
1094
|
-
});
|
|
1095
|
-
// 遍历 shopList 下每个商品的 product,匹配 part_id 计算实付金额
|
|
1096
|
-
this.shopList.forEach(shop => {
|
|
1097
|
-
if(!shop.product) return;
|
|
1098
|
-
shop.product.forEach(prod => {
|
|
1099
|
-
const partId = prod.part_id;
|
|
1100
|
-
const couponItem = couponMap[partId];
|
|
1101
|
-
if(couponItem) {
|
|
1102
|
-
// sale_price、coupon_point 均为分,实付金额 = 商品价格 x 数量 - 优惠券优惠价格
|
|
1103
|
-
prod.paid_amount = (prod.sale_price || 0) * (prod.product_num || 1) - (couponItem.coupon_point || 0);
|
|
1104
|
-
} else {
|
|
1105
|
-
prod.paid_amount = (prod.sale_price || 0) * (prod.product_num || 1);
|
|
1106
|
-
}
|
|
1107
|
-
});
|
|
1108
|
-
});
|
|
1109
|
-
},
|
|
1110
1073
|
//only选择满减券结果
|
|
1111
1074
|
handleCouponChose(data){
|
|
1112
1075
|
console.log(data,'alalalal')
|
|
1113
1076
|
this.choseCoupon = data;
|
|
1114
1077
|
this.showCouponChose = false;
|
|
1115
|
-
this.handleCouponChoseResult(data);
|
|
1116
1078
|
//共同使用模式:优惠券 + 积分 + 钱包可叠加
|
|
1117
1079
|
//串行逻辑:先选积分 → 积分选完后检查 orderNeedPayPrice > 0 才选钱包
|
|
1118
1080
|
if(this.is_wallet_use_with_coupon === "Y"){
|
|
@@ -1391,7 +1353,7 @@
|
|
|
1391
1353
|
return new Promise((resolve, reject) => {
|
|
1392
1354
|
this.$xdConfirm({
|
|
1393
1355
|
title: '提示',
|
|
1394
|
-
content: '
|
|
1356
|
+
content: '您当前未使用票券,您将全部用微信支付',
|
|
1395
1357
|
confirmText: '我知道了',
|
|
1396
1358
|
width: '85%',
|
|
1397
1359
|
isTitle: true,
|
|
@@ -1399,7 +1361,7 @@
|
|
|
1399
1361
|
if (res.confirm) {
|
|
1400
1362
|
resolve();
|
|
1401
1363
|
} else if (res.cancel) {
|
|
1402
|
-
reject("
|
|
1364
|
+
reject("取消支付");
|
|
1403
1365
|
}
|
|
1404
1366
|
}
|
|
1405
1367
|
});
|
|
@@ -2074,12 +2036,6 @@
|
|
|
2074
2036
|
align-items: flex-end;
|
|
2075
2037
|
justify-content: space-between;
|
|
2076
2038
|
}
|
|
2077
|
-
.coupon_paid{
|
|
2078
|
-
font-size: 28rpx;
|
|
2079
|
-
color:#999;
|
|
2080
|
-
display:flex;
|
|
2081
|
-
align-items: center;
|
|
2082
|
-
}
|
|
2083
2039
|
}
|
|
2084
2040
|
.postage_tip{
|
|
2085
2041
|
color: rgb(229, 116, 112);
|
|
@@ -473,7 +473,7 @@ export default function (data={},gValue={},gColor={},oldData) {
|
|
|
473
473
|
value: dataVal({data, key:'bottomPayText', dValue: '', gValue}),
|
|
474
474
|
hidden: !statusShow({data, key: 'btnStyleStatus', fields: ['bottomBtnRadius', 'bottomBtnHeight', 'bottomPayText'], gValue}),
|
|
475
475
|
labelInline: true,
|
|
476
|
-
placeholder: '
|
|
476
|
+
placeholder: '支付按钮文字,默认“支付”',
|
|
477
477
|
className: 'input80',
|
|
478
478
|
},
|
|
479
479
|
{ele: "group_end"},
|
|
@@ -105,14 +105,12 @@ export default {
|
|
|
105
105
|
this.showShopList = false;
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
|
+
|
|
108
109
|
jfbRootExec("getShopTakeTime", {
|
|
109
110
|
vm: this,
|
|
110
111
|
data: {
|
|
111
112
|
resource_shop_id: shop.resource_shop_id,
|
|
112
|
-
shop_id: shop.shop_id
|
|
113
|
-
cart_order_id: this.order_id,
|
|
114
|
-
address_nnid: this.curAddr ? this.curAddr.address_nnid : "",
|
|
115
|
-
delivery_method: curShop.deliveryPickValue
|
|
113
|
+
shop_id: shop.shop_id
|
|
116
114
|
}
|
|
117
115
|
}).then(res => {
|
|
118
116
|
this.shopList = this.shopList.map((item, index) => {
|
|
@@ -452,7 +450,7 @@ export default {
|
|
|
452
450
|
this.handleToPay(val);
|
|
453
451
|
}else{
|
|
454
452
|
this.$xdAlert({
|
|
455
|
-
content: '
|
|
453
|
+
content: '余额不足,请选择其他票券',
|
|
456
454
|
time: 3000,
|
|
457
455
|
isClose: true,
|
|
458
456
|
zIndex: 5000
|
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
v-if="navList.length"
|
|
33
33
|
class="xd-tab"
|
|
34
34
|
:height="110"
|
|
35
|
-
:nav-padding="navPadding"
|
|
36
35
|
:key="tagNameKey"
|
|
37
36
|
:line-bottom="lineBottom"
|
|
38
37
|
:footer-style="titleFooterStyle"
|
|
@@ -239,7 +238,6 @@
|
|
|
239
238
|
titleStyleDesc:{},
|
|
240
239
|
navRadius:'0',
|
|
241
240
|
titleTabShadow:'',
|
|
242
|
-
navPadding:{}, //导航内边界
|
|
243
241
|
|
|
244
242
|
|
|
245
243
|
//特别推荐
|
|
@@ -331,8 +329,7 @@
|
|
|
331
329
|
top: (this.layoutInfo.top - 2) + 'rpx',
|
|
332
330
|
borderRadius: this.navRadius + 'rpx',
|
|
333
331
|
overflow: 'hidden',
|
|
334
|
-
boxShadow:this.titleTabShadow
|
|
335
|
-
padding: this.getMarginAndPadding(this.navPadding,0),
|
|
332
|
+
boxShadow:this.titleTabShadow
|
|
336
333
|
}
|
|
337
334
|
},
|
|
338
335
|
listPaddingComp(){
|
|
@@ -490,7 +487,6 @@
|
|
|
490
487
|
this.titleBgcColor = gCPVal(container,'titleBgcColor', '#fff', {sKey:'titleBgcColorStatus',fields:['titleBgcColor']});
|
|
491
488
|
this.titleColor = gCPVal(container, 'titleColor', '#333');
|
|
492
489
|
this.titleBorder = gCPVal(container, 'titleBorder', {});
|
|
493
|
-
this.navPadding = gCPVal(container,'navPadding', [0], {sKey:'navPaddingStatus',fields:['navPadding'],isPMR: true});
|
|
494
490
|
//兼容老写法
|
|
495
491
|
this.is_title_border = gCPVal(container, 'is_title_border', 'N');
|
|
496
492
|
this.is_title_border_c = gCPVal(container, 'is_title_border_c', '#fff');
|
|
@@ -888,7 +884,6 @@
|
|
|
888
884
|
right: 0;
|
|
889
885
|
background: #fff;
|
|
890
886
|
z-index: 10000;
|
|
891
|
-
border-radius: 0!important;
|
|
892
887
|
&-height{
|
|
893
888
|
height: unit(112, rpx);
|
|
894
889
|
}
|
|
@@ -166,39 +166,7 @@ export default function (data={},gValue={},gColor={},oldData) {
|
|
|
166
166
|
size: 'small',
|
|
167
167
|
groupKey:'style',
|
|
168
168
|
},
|
|
169
|
-
|
|
170
|
-
label: '导航边距',
|
|
171
|
-
ele: 'xd-radio',
|
|
172
|
-
groupKey: 'style',
|
|
173
|
-
valueKey: 'navPaddingStatus',
|
|
174
|
-
value: statusDataVal({data, key: 'navPaddingStatus', fields:['navPadding'], gValue}),
|
|
175
|
-
labelInline:true,
|
|
176
|
-
list: [
|
|
177
|
-
{label: '默认', value: 'D'},
|
|
178
|
-
{label: '自定义', value: 'C'},
|
|
179
|
-
]
|
|
180
|
-
},
|
|
181
|
-
{ele: 'group_start'},
|
|
182
|
-
{
|
|
183
|
-
label: '',
|
|
184
|
-
ele: 'xd-margin-padding',
|
|
185
|
-
groupKey:'style',
|
|
186
|
-
valueKey: 'navPadding',
|
|
187
|
-
value: dataVal({
|
|
188
|
-
data,
|
|
189
|
-
key:'navPadding',
|
|
190
|
-
dValue:0,
|
|
191
|
-
gValue,
|
|
192
|
-
isPM: true,
|
|
193
|
-
}),
|
|
194
|
-
hidden: !statusShow({data, key: 'navPaddingStatus', fields:['navPadding'], gValue}),
|
|
195
|
-
labelInline:true,
|
|
196
|
-
setting: {
|
|
197
|
-
type: 'margin',
|
|
198
|
-
},
|
|
199
|
-
inline: false,
|
|
200
|
-
},
|
|
201
|
-
{ele: 'group_end'},
|
|
169
|
+
|
|
202
170
|
{
|
|
203
171
|
label: '导航名称',
|
|
204
172
|
ele: 'xd-radio',
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
]"
|
|
151
151
|
:bg-color="buyButtonStyle.buyBtnBgColor"
|
|
152
152
|
:radius="otherButtonStyle.bottomBtnRadius + 'rpx'"
|
|
153
|
-
type="subPrimary" style="width:250rpx;margin:0 20rpx" size="small" @click="onConfirm('buy')"
|
|
153
|
+
type="subPrimary" style="width:250rpx;margin:0 20rpx" size="small" @click="onConfirm('buy')">立即购买</xd-button>
|
|
154
154
|
</template>
|
|
155
155
|
</view>
|
|
156
156
|
</view>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<xd-button
|
|
47
47
|
v-if="btnBuyNow"
|
|
48
48
|
:disabled="!btnBuyNow.enabled"
|
|
49
|
-
type="subPrimary" style="width:250rpx" size="small" @click="onConfirm('buy')"
|
|
49
|
+
type="subPrimary" style="width:250rpx" size="small" @click="onConfirm('buy')">立即购买</xd-button>
|
|
50
50
|
</template>
|
|
51
51
|
</view>
|
|
52
52
|
</view>
|
|
@@ -58,9 +58,78 @@ export default (data, gValue,gColor,oldData)=>{
|
|
|
58
58
|
|
|
59
59
|
let categoryParentType = dataVal({data, key:'categoryParentType', dValue:'root', gValue});
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
|
|
62
|
+
return[
|
|
63
|
+
{
|
|
64
|
+
ele: 'title',
|
|
65
|
+
label: '基础',
|
|
66
|
+
size: 'small',
|
|
67
|
+
groupKey:'content',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: "业务线",
|
|
71
|
+
ele: "xd-choose-namespace",
|
|
72
|
+
valueKey: "xnamespace",
|
|
73
|
+
groupKey:'content',
|
|
74
|
+
placeholder: '请选择业务线',
|
|
75
|
+
notice:'空继承上级业务线',
|
|
76
|
+
inline: false,
|
|
77
|
+
labelInline:true,
|
|
78
|
+
value: dataVal({data, key:'xnamespace', dValue:null, gValue}),
|
|
79
|
+
className: 'input100',
|
|
80
|
+
handleCustom: (cb) => {
|
|
81
|
+
XdBus.getParentApi('getOptionsNamespaces')()
|
|
82
|
+
.then(res => {
|
|
83
|
+
cb(res.list)
|
|
84
|
+
})
|
|
85
|
+
.catch();
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
label: "商品排序",
|
|
90
|
+
ele: "xd-select-list",
|
|
91
|
+
valueKey: "sort",
|
|
92
|
+
labelInline: true,
|
|
93
|
+
value: dataVal({data, key:'sort', dValue:'default', gValue}),
|
|
94
|
+
groupKey:'content',
|
|
95
|
+
className: 'input100',
|
|
96
|
+
list: [
|
|
97
|
+
{label: "综合排序",notice:'默认排序,多维度综合计算后的排序', value: "default"},
|
|
98
|
+
{label: "销量由高到低", value: "sale_num_desc"},
|
|
99
|
+
{label: "价格由高到低", value: "price_desc"},
|
|
100
|
+
{label: "价格由低到高", value: "price_asc"},
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
ele: 'title',
|
|
105
|
+
label: '组件布局',
|
|
106
|
+
size: 'small',
|
|
107
|
+
groupKey:'content',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
label: "分类布局",
|
|
111
|
+
ele: "xd-style-image",
|
|
112
|
+
groupKey: 'content',
|
|
113
|
+
valueKey: "category",
|
|
114
|
+
value: category,
|
|
115
|
+
labelInline:true,
|
|
116
|
+
isTplRef:true,
|
|
117
|
+
className: 'input100',
|
|
118
|
+
handleCustom(cusRes) {
|
|
119
|
+
XdBus.getParentApi('getCompStylesOptions')({
|
|
120
|
+
layout_ids: '25g7ZD0RxIFu0oaAbPYQ5',
|
|
121
|
+
key: Date.now(),
|
|
122
|
+
filter: false
|
|
123
|
+
})
|
|
124
|
+
.then(res => {
|
|
125
|
+
cusRes.data.cb(res)
|
|
126
|
+
})
|
|
127
|
+
.catch(error => {
|
|
128
|
+
console.error(error);
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
data.category !== 'none' && [
|
|
64
133
|
{ele: 'group_start'},
|
|
65
134
|
{
|
|
66
135
|
label: "全部名称",
|
|
@@ -168,81 +237,8 @@ export default (data, gValue,gColor,oldData)=>{
|
|
|
168
237
|
],
|
|
169
238
|
},
|
|
170
239
|
{ele: 'group_end'},
|
|
171
|
-
]
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return[
|
|
176
|
-
{
|
|
177
|
-
ele: 'title',
|
|
178
|
-
label: '基础',
|
|
179
|
-
size: 'small',
|
|
180
|
-
groupKey:'content',
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
label: "业务线",
|
|
184
|
-
ele: "xd-choose-namespace",
|
|
185
|
-
valueKey: "xnamespace",
|
|
186
|
-
groupKey:'content',
|
|
187
|
-
placeholder: '请选择业务线',
|
|
188
|
-
notice:'空继承上级业务线',
|
|
189
|
-
inline: false,
|
|
190
|
-
labelInline:true,
|
|
191
|
-
value: dataVal({data, key:'xnamespace', dValue:null, gValue}),
|
|
192
|
-
className: 'input100',
|
|
193
|
-
handleCustom: (cb) => {
|
|
194
|
-
XdBus.getParentApi('getOptionsNamespaces')()
|
|
195
|
-
.then(res => {
|
|
196
|
-
cb(res.list)
|
|
197
|
-
})
|
|
198
|
-
.catch();
|
|
199
|
-
}
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
label: "商品排序",
|
|
203
|
-
ele: "xd-select-list",
|
|
204
|
-
valueKey: "sort",
|
|
205
|
-
labelInline: true,
|
|
206
|
-
value: dataVal({data, key:'sort', dValue:'default', gValue}),
|
|
207
|
-
groupKey:'content',
|
|
208
|
-
className: 'input100',
|
|
209
|
-
list: [
|
|
210
|
-
{label: "综合排序",notice:'默认排序,多维度综合计算后的排序', value: "default"},
|
|
211
|
-
{label: "销量由高到低", value: "sale_num_desc"},
|
|
212
|
-
{label: "价格由高到低", value: "price_desc"},
|
|
213
|
-
{label: "价格由低到高", value: "price_asc"},
|
|
214
|
-
]
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
ele: 'title',
|
|
218
|
-
label: '组件布局',
|
|
219
|
-
size: 'small',
|
|
220
|
-
groupKey:'content',
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
label: "分类布局",
|
|
224
|
-
ele: "xd-style-image",
|
|
225
|
-
groupKey: 'content',
|
|
226
|
-
valueKey: "category",
|
|
227
|
-
value: category,
|
|
228
|
-
labelInline:true,
|
|
229
|
-
isTplRef:true,
|
|
230
|
-
className: 'input100',
|
|
231
|
-
handleCustom(cusRes) {
|
|
232
|
-
XdBus.getParentApi('getCompStylesOptions')({
|
|
233
|
-
layout_ids: '25g7ZD0RxIFu0oaAbPYQ5',
|
|
234
|
-
key: Date.now(),
|
|
235
|
-
filter: false
|
|
236
|
-
})
|
|
237
|
-
.then(res => {
|
|
238
|
-
cusRes.data.cb(res)
|
|
239
|
-
})
|
|
240
|
-
.catch(error => {
|
|
241
|
-
console.error(error);
|
|
242
|
-
});
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
...allItem,
|
|
240
|
+
],
|
|
241
|
+
|
|
246
242
|
{
|
|
247
243
|
label: "分类样式",
|
|
248
244
|
ele: "xd-style-image",
|
|
@@ -270,19 +266,19 @@ export default (data, gValue,gColor,oldData)=>{
|
|
|
270
266
|
});
|
|
271
267
|
},
|
|
272
268
|
},
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
269
|
+
{ele: 'group_start'},
|
|
270
|
+
0&&{
|
|
271
|
+
label: '底部距离',
|
|
272
|
+
ele: 'el-input',
|
|
273
|
+
type: 'number',
|
|
274
|
+
labelInline: true,
|
|
275
|
+
valueKey: 'lineBottom',
|
|
276
|
+
value: dataVal({data, key:'lineBottom', dValue:'10', gValue}),
|
|
277
|
+
groupKey:'content',
|
|
278
|
+
className: 'input100',
|
|
279
|
+
hidden: !['v1','v5'].includes(category) || ['desc','none','center','triangle'].includes(data['navStyle']),
|
|
280
|
+
},
|
|
281
|
+
{ele: 'group_end'},
|
|
286
282
|
{
|
|
287
283
|
label: "商品布局",
|
|
288
284
|
ele: "xd-style-image",
|