jufubao-base 1.0.237-beta2 → 1.0.237-beta5
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/JfbBaseBalance/JfbBaseBalance.vue +0 -1
- package/src/components/JfbBaseCodeOpenVip/Api.js +1 -2
- package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +0 -2
- package/src/components/JfbBaseConsumpCode/Attr.js +1 -1
- package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +14 -2
- package/src/components/JfbBaseFastLink/Attr.js +12 -1
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +63 -0
- package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +2 -2
- package/src/components/JfbBaseOpenVip/Api.js +1 -1
- package/src/components/JfbBaseOpenVip/Attr.js +50 -1
- package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +40 -15
- package/src/components/JfbBaseOpenVip/Mock.js +1 -1
- package/src/components/JfbBaseOpenVip/XdVipList.vue +4 -1
- package/src/components/JfbBaseOpenVipDetail/Api.js +1 -2
- package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +2 -3
- package/src/components/JfbBaseOpenVipDetail/Mock.js +13 -11
- package/src/components/JfbBasePay/Attr.js +40 -0
- package/src/components/JfbBasePay/JfbBasePay.vue +12 -4
- package/src/components/JfbBasePay/Mock.js +0 -9
- package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +1 -1
- package/src/components/JfbBasePoster/Attr.js +1 -1
- package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +2 -2
- package/src/components/JfbBasePosterGroup/Api.js +7 -43
- package/src/components/JfbBasePosterGroup/Attr.js +124 -26
- package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +189 -34
- package/src/components/JfbBaseShare/JfbBaseShare.vue +16 -5
- package/src/components/JfbBaseTfkSearch/ContentProduct.vue +1 -0
- package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +4 -0
- package/src/components/JfbBaseTfkSearch/listMixins.js +2 -1
- package/src/components/JfbBaseUserInfo/Attr.js +12 -0
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +9 -2
- package/src/components/JfbBaseUserOrder/Attr.js +16 -0
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +11 -2
- package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +15 -3
package/package.json
CHANGED
|
@@ -8,10 +8,9 @@ module.exports = [
|
|
|
8
8
|
{
|
|
9
9
|
mapFnName: "getExchangeCode",
|
|
10
10
|
title: "兑换码",
|
|
11
|
-
path: "/member/v1
|
|
11
|
+
path: "/member/v1/exchange/:exchange_code",
|
|
12
12
|
isRule: true,
|
|
13
13
|
params: {
|
|
14
|
-
xnamespace: ['命名空间', 'String', '必选'],
|
|
15
14
|
exchange_code: ['兑换码', 'String', '必选']
|
|
16
15
|
},
|
|
17
16
|
isConsole: true,
|
|
@@ -106,7 +106,6 @@
|
|
|
106
106
|
},
|
|
107
107
|
methods: {
|
|
108
108
|
onJfbLoad(options) {
|
|
109
|
-
this.setNameSpace(options);
|
|
110
109
|
},
|
|
111
110
|
/**
|
|
112
111
|
* @description 监听事件变化
|
|
@@ -130,7 +129,6 @@
|
|
|
130
129
|
jfbRootExec("getExchangeCode", {
|
|
131
130
|
vm: this,
|
|
132
131
|
data: {
|
|
133
|
-
xnamespace: this.xnamespace,
|
|
134
132
|
exchange_code: this.exchange_code
|
|
135
133
|
}
|
|
136
134
|
}).then(res => {
|
|
@@ -47,9 +47,9 @@ export default {
|
|
|
47
47
|
ele: 'xd-select-pages-path',
|
|
48
48
|
valueKey: 'cash_pay_path',
|
|
49
49
|
placeholder: '请选择核销支付路径',
|
|
50
|
+
value: data.cash_pay_path || null,
|
|
50
51
|
className: 'input100',
|
|
51
52
|
groupKey:'advanced',
|
|
52
|
-
value: null,
|
|
53
53
|
setting: {
|
|
54
54
|
router: XdBus.getParentApi('getPagesTree')
|
|
55
55
|
},
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
|
|
80
80
|
</view>
|
|
81
81
|
</view>
|
|
82
|
-
<XdDialog :show.sync="showDialog" :showClose="false" :showTitle="
|
|
82
|
+
<XdDialog :show.sync="showDialog" :showClose="false" :showTitle="true">
|
|
83
83
|
<view class="dialog-title" slot="title">门店确认</view>
|
|
84
84
|
<view class="dialog-content">
|
|
85
85
|
<view>当前门店:<span :style="{color:mainColor}">{{shopName}}</span></view>
|
|
@@ -192,6 +192,8 @@
|
|
|
192
192
|
}
|
|
193
193
|
},
|
|
194
194
|
created() {
|
|
195
|
+
console.log(this.siteInfo,'configProject');
|
|
196
|
+
|
|
195
197
|
this.init(this.container);
|
|
196
198
|
},
|
|
197
199
|
methods: {
|
|
@@ -725,11 +727,12 @@
|
|
|
725
727
|
.jfb-base-consump-code {
|
|
726
728
|
&__body {
|
|
727
729
|
.content-box {
|
|
728
|
-
margin:
|
|
730
|
+
margin: 0 30rpx 0 30rpx;
|
|
729
731
|
background-color: #fff;
|
|
730
732
|
padding: 81rpx 32rpx 32rpx 32rpx;
|
|
731
733
|
border-radius: 24rpx;
|
|
732
734
|
position: relative;
|
|
735
|
+
top: 158rpx;
|
|
733
736
|
display: flex;
|
|
734
737
|
flex-direction: column;
|
|
735
738
|
align-items: center;
|
|
@@ -886,16 +889,20 @@
|
|
|
886
889
|
&-item {
|
|
887
890
|
display: flex;
|
|
888
891
|
margin-top: 60rpx;
|
|
892
|
+
align-items: baseline;
|
|
889
893
|
|
|
890
894
|
&-label {
|
|
891
895
|
color: #999999;
|
|
892
896
|
font-size: 30rpx;
|
|
893
897
|
margin-right: 64rpx;
|
|
898
|
+
width: 117rpx;
|
|
899
|
+
flex-shrink: 0;
|
|
894
900
|
}
|
|
895
901
|
|
|
896
902
|
&-tags {
|
|
897
903
|
display: flex;
|
|
898
904
|
align-items: flex-start;
|
|
905
|
+
flex-wrap: wrap;
|
|
899
906
|
|
|
900
907
|
&>view {
|
|
901
908
|
margin-right: 32rpx;
|
|
@@ -904,6 +911,11 @@
|
|
|
904
911
|
padding: 16rpx 24rpx;
|
|
905
912
|
border: 2rpx solid #EEEEEE;
|
|
906
913
|
color: #CCCCCC;
|
|
914
|
+
margin-bottom: 18rpx;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
&>view:last-child {
|
|
918
|
+
margin-bottom: 0;
|
|
907
919
|
}
|
|
908
920
|
|
|
909
921
|
}
|
|
@@ -24,7 +24,8 @@ export default {
|
|
|
24
24
|
multiple: false,
|
|
25
25
|
className: 'input80',
|
|
26
26
|
list: [
|
|
27
|
-
{label: '
|
|
27
|
+
{label: '垂直', value: 'noraml'},
|
|
28
|
+
{label: '水平', value: 'horizontal'},
|
|
28
29
|
{label: '悬浮', value: 'fixed'},
|
|
29
30
|
],
|
|
30
31
|
inline: false,
|
|
@@ -53,6 +54,16 @@ export default {
|
|
|
53
54
|
placeholder: '请输入自定义名称',
|
|
54
55
|
className: 'input80',
|
|
55
56
|
},
|
|
57
|
+
{
|
|
58
|
+
label: '自定义服务名称:',
|
|
59
|
+
ele: 'el-input',
|
|
60
|
+
type: 'text',
|
|
61
|
+
groupKey:'content',
|
|
62
|
+
valueKey: 'customName',
|
|
63
|
+
value: data['customName']? data['customName']: '我的服务',
|
|
64
|
+
placeholder: '请输入自定义服务名称',
|
|
65
|
+
className: 'input80',
|
|
66
|
+
},
|
|
56
67
|
{
|
|
57
68
|
label: '背景颜色:',
|
|
58
69
|
ele: 'xd-color',
|
|
@@ -56,6 +56,22 @@
|
|
|
56
56
|
:layoutInfo="layoutInfo"
|
|
57
57
|
></xd-fast-nav>
|
|
58
58
|
</template>
|
|
59
|
+
<template v-if="is_layout === 'horizontal'">
|
|
60
|
+
<view :style="[horizontalStyle]">
|
|
61
|
+
<view class="x-line"></view>
|
|
62
|
+
<view class="fast-link__horizontal-title">{{customName}}</view>
|
|
63
|
+
<view class="fast-link__horizontal" v-if="list.length > 0">
|
|
64
|
+
<view :style="[horizontalItemStyle]" class="fast-link__horizontal-item" v-for="item in list" :key="item.key" @click="handleClick(item)">
|
|
65
|
+
<view class="fast-link__horizontal-item-icon" v-if="item.icon">
|
|
66
|
+
<xd-font-icon :color="iconColor" :size="item.size" :icon="item.icon"></xd-font-icon>
|
|
67
|
+
</view>
|
|
68
|
+
<view class="fast-link__horizontal-item-text" :style="{color: color, fontSize: fontSize + 'rpx'}">
|
|
69
|
+
<view>{{item.name}}</view>
|
|
70
|
+
</view>
|
|
71
|
+
</view>
|
|
72
|
+
</view>
|
|
73
|
+
</view>
|
|
74
|
+
</template>
|
|
59
75
|
</view>
|
|
60
76
|
</view>
|
|
61
77
|
</template>
|
|
@@ -107,6 +123,8 @@
|
|
|
107
123
|
margin: {},
|
|
108
124
|
padding:{},
|
|
109
125
|
rowSpacing: 20, //间距
|
|
126
|
+
|
|
127
|
+
customName: '我的服务'
|
|
110
128
|
}
|
|
111
129
|
},
|
|
112
130
|
watch: {
|
|
@@ -117,6 +135,22 @@
|
|
|
117
135
|
},
|
|
118
136
|
|
|
119
137
|
computed: {
|
|
138
|
+
horizontalStyle(){
|
|
139
|
+
let border = 0;
|
|
140
|
+
if (this.is_border === 'Y') border = `${this.is_border_w}rpx solid ${this.is_border_c}`;
|
|
141
|
+
return {
|
|
142
|
+
margin: this.getMarginAndPadding(this.margin, 20),
|
|
143
|
+
padding:this.getMarginAndPadding(this.padding, 20),
|
|
144
|
+
border,
|
|
145
|
+
background: this.backgroundColor,
|
|
146
|
+
borderRadius: this.radius + 'rpx',
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
horizontalItemStyle(){
|
|
150
|
+
return {
|
|
151
|
+
marginBottom: this.rowSpacing + 'rpx',
|
|
152
|
+
}
|
|
153
|
+
},
|
|
120
154
|
bodyStyle(){
|
|
121
155
|
let margin = `${this.checkValue(this.margin.top, 20)}rpx`;
|
|
122
156
|
margin = `${margin} ${this.checkValue(this.margin.right, 20)}rpx`;
|
|
@@ -199,6 +233,7 @@
|
|
|
199
233
|
this.subColor = getContainerPropsValue(container, 'content.textSubColor', '#000');
|
|
200
234
|
this.fontSubSize = getContainerPropsValue(container, 'content.fontSubSize', 24);
|
|
201
235
|
this.isNotExpand = getContainerPropsValue(container, 'content.isNotExpand', 'Y');
|
|
236
|
+
this.customName = getContainerPropsValue(container, 'content.customName', '我的服务');
|
|
202
237
|
if(this.is_layout === 'fixed') {
|
|
203
238
|
this.listNave = this.list.map(item=>{
|
|
204
239
|
let {appValue,path} = item.path
|
|
@@ -228,6 +263,14 @@
|
|
|
228
263
|
return index < 3
|
|
229
264
|
});
|
|
230
265
|
|
|
266
|
+
} else if(this.is_layout === 'horizontal'){
|
|
267
|
+
const remainder = this.list.length % 4;
|
|
268
|
+
if (remainder !== 0) {
|
|
269
|
+
const needed = 4 - remainder;
|
|
270
|
+
for (let i = 0; i < needed; i++) {
|
|
271
|
+
this.list.push({}); // 或者你可以插入其他默认值
|
|
272
|
+
}
|
|
273
|
+
}
|
|
231
274
|
}
|
|
232
275
|
},
|
|
233
276
|
}
|
|
@@ -285,6 +328,26 @@
|
|
|
285
328
|
align-items: center;
|
|
286
329
|
}
|
|
287
330
|
}
|
|
331
|
+
&__horizontal {
|
|
332
|
+
display: flex;
|
|
333
|
+
justify-content: space-around;
|
|
334
|
+
&-title {
|
|
335
|
+
color: #000000;
|
|
336
|
+
font-size: 26rpx;
|
|
337
|
+
font-weight: 500;
|
|
338
|
+
margin-bottom: 43rpx;
|
|
339
|
+
padding-left: 36rpx;
|
|
340
|
+
}
|
|
341
|
+
&-item {
|
|
342
|
+
display: flex;
|
|
343
|
+
flex-direction: column;
|
|
344
|
+
justify-content: center;
|
|
345
|
+
align-items: center;
|
|
346
|
+
&-icon {
|
|
347
|
+
margin-bottom: 22rpx;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
288
351
|
}
|
|
289
352
|
|
|
290
353
|
</style>
|
|
@@ -139,7 +139,7 @@ export default {
|
|
|
139
139
|
this.contentList = res.list
|
|
140
140
|
this.currentImage = getServiceUrl(
|
|
141
141
|
this.contentList[0].image_url,
|
|
142
|
-
"
|
|
142
|
+
"size8"
|
|
143
143
|
);
|
|
144
144
|
this.currentLinkUrl = this.getLinkUrl(
|
|
145
145
|
this.contentList[0].redirect_data
|
|
@@ -216,7 +216,7 @@ export default {
|
|
|
216
216
|
);
|
|
217
217
|
this.currentImage = getServiceUrl(
|
|
218
218
|
this.contentList[this.currentIndex].image_url,
|
|
219
|
-
"
|
|
219
|
+
"size8"
|
|
220
220
|
);
|
|
221
221
|
},
|
|
222
222
|
handleToLink() {
|
|
@@ -7,6 +7,17 @@ export default {
|
|
|
7
7
|
style: [],
|
|
8
8
|
content: (data) => {
|
|
9
9
|
return [
|
|
10
|
+
{
|
|
11
|
+
label: "是否展示兑换码",
|
|
12
|
+
ele: "xd-radio",
|
|
13
|
+
valueKey: 'showExchangeCode',
|
|
14
|
+
value: data.showExchangeCode || "Y",
|
|
15
|
+
groupKey: "content",
|
|
16
|
+
list: [
|
|
17
|
+
{label: "展示", value: "Y"},
|
|
18
|
+
{label: "不展示", value: "N"},
|
|
19
|
+
]
|
|
20
|
+
},
|
|
10
21
|
{
|
|
11
22
|
label: '共享PLUS会员用户协议:',
|
|
12
23
|
ele: 'xd-site-news',
|
|
@@ -232,6 +243,29 @@ export default {
|
|
|
232
243
|
inline: false,
|
|
233
244
|
notice: '',
|
|
234
245
|
},
|
|
246
|
+
{
|
|
247
|
+
label: "PLUS会员banner背景图",
|
|
248
|
+
ele: 'xd-upload',
|
|
249
|
+
valueKey: "bannerBgImg",
|
|
250
|
+
groupKey: "content",
|
|
251
|
+
value: data.bannerBgImg || {},
|
|
252
|
+
defaultValue: data.bannerBgImg || null,
|
|
253
|
+
slot: true,
|
|
254
|
+
oneWidth: 355,
|
|
255
|
+
oneHeight: 92,
|
|
256
|
+
elinputClassName: 'input40',
|
|
257
|
+
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">710px</span>,高度<span style="color:red">184px</span>',
|
|
258
|
+
type: ['jpg', 'png', 'jpeg'],
|
|
259
|
+
styleType: 'one',
|
|
260
|
+
uploadType: 'aliyun',
|
|
261
|
+
size: 5,
|
|
262
|
+
action: 'action',
|
|
263
|
+
sort: true,
|
|
264
|
+
maxlen: 100,
|
|
265
|
+
rules: [
|
|
266
|
+
{required: true, message: '请添加背景图', trigger: 'change'},
|
|
267
|
+
],
|
|
268
|
+
},
|
|
235
269
|
{
|
|
236
270
|
label: '4大特权图片:',
|
|
237
271
|
ele: 'xd-upload',
|
|
@@ -243,7 +277,7 @@ export default {
|
|
|
243
277
|
oneWidth: 375,
|
|
244
278
|
oneHeight: 500,
|
|
245
279
|
elinputClassName: 'input40',
|
|
246
|
-
tipsformet: '上传文件格式:@imageType@,不超过@size@MB
|
|
280
|
+
tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议宽度为<span style="color:red">750px</span>,高度自适应',
|
|
247
281
|
type: ['jpg', 'png', 'jpeg'],
|
|
248
282
|
styleType: 'one',
|
|
249
283
|
uploadType: 'aliyun',
|
|
@@ -251,6 +285,9 @@ export default {
|
|
|
251
285
|
action: 'action',
|
|
252
286
|
sort: true,
|
|
253
287
|
maxlen: 100,
|
|
288
|
+
rules: [
|
|
289
|
+
{required: true, message: '请添加特权图片', trigger: 'change'},
|
|
290
|
+
],
|
|
254
291
|
},
|
|
255
292
|
{
|
|
256
293
|
label: '会员详情路径:',
|
|
@@ -264,6 +301,18 @@ export default {
|
|
|
264
301
|
},
|
|
265
302
|
inline: false,
|
|
266
303
|
},
|
|
304
|
+
{
|
|
305
|
+
label: '兑换码详情路径:',
|
|
306
|
+
ele: 'xd-select-pages-path',
|
|
307
|
+
valueKey: 'exchangeCodePath',
|
|
308
|
+
groupKey:'advanced',
|
|
309
|
+
placeholder: '请选择兑换码详情路径',
|
|
310
|
+
value: data['exchangeCodePath'] || null,
|
|
311
|
+
setting: {
|
|
312
|
+
router: XdBus.getParentApi('getPagesTree'),
|
|
313
|
+
},
|
|
314
|
+
inline: false,
|
|
315
|
+
},
|
|
267
316
|
].filter(i=>i)
|
|
268
317
|
},
|
|
269
318
|
advanced: [],
|
|
@@ -31,19 +31,22 @@
|
|
|
31
31
|
</view>
|
|
32
32
|
</view>
|
|
33
33
|
<view v-if="isVip" class="buy_btn" @click="showDrawer=true">立即续费</view>
|
|
34
|
-
<view v-else class="buy_btn" @click="showDrawer=true">立即开通</view>
|
|
34
|
+
<!-- <view v-else class="buy_btn" @click="showDrawer=true">立即开通</view> -->
|
|
35
35
|
</view>
|
|
36
36
|
|
|
37
37
|
<!-- plus会员权益 -->
|
|
38
38
|
<view class="vip_info">
|
|
39
|
-
<view class="vip_box"
|
|
39
|
+
<view class="vip_box" :style="{
|
|
40
|
+
backgroundImage: `url(${bannerBgImg})`,
|
|
41
|
+
}">
|
|
40
42
|
<view class="vip_box-left">
|
|
41
43
|
<view class="vip_box-title">PLUS会员</view>
|
|
42
|
-
<view
|
|
44
|
+
<view v-if="isVip">有效期至:{{ vip_expire_time }}</view>
|
|
45
|
+
<view v-else>开通享受更多权益</view>
|
|
43
46
|
</view>
|
|
44
|
-
<view class="vip_logo">
|
|
47
|
+
<!-- <view class="vip_logo">
|
|
45
48
|
<image :src="siteLogo" mode="aspectFill"></image>
|
|
46
|
-
</view>
|
|
49
|
+
</view> -->
|
|
47
50
|
</view>
|
|
48
51
|
</view>
|
|
49
52
|
<view>
|
|
@@ -72,14 +75,14 @@
|
|
|
72
75
|
</view> -->
|
|
73
76
|
</view>
|
|
74
77
|
|
|
75
|
-
<xd-vip-list v-if="!isVip" :list="
|
|
78
|
+
<xd-vip-list v-if="!isVip" :list="showVipCardList"
|
|
76
79
|
@handlePrivacy="handlePrivacy"
|
|
77
80
|
@toVipDetail="toVipDetail"
|
|
78
81
|
></xd-vip-list>
|
|
79
82
|
|
|
80
83
|
<xd-down-drawer :show.sync="showDrawer" height="480rpx">
|
|
81
84
|
<view class="drawer_title">立即续费</view>
|
|
82
|
-
<xd-vip-list :list="
|
|
85
|
+
<xd-vip-list :list="showVipCardList"
|
|
83
86
|
@handlePrivacy="handlePrivacy"
|
|
84
87
|
@toVipDetail="toVipDetail"
|
|
85
88
|
></xd-vip-list>
|
|
@@ -118,14 +121,22 @@
|
|
|
118
121
|
|
|
119
122
|
showDrawer: false,
|
|
120
123
|
uInfo: {},
|
|
121
|
-
xnamespace: "",
|
|
122
124
|
vipCardList: [],
|
|
123
125
|
save_amount: 0,
|
|
126
|
+
vip_expire_time: "",
|
|
124
127
|
|
|
125
128
|
siteLogo: "",
|
|
129
|
+
exchangeCodeVip: {
|
|
130
|
+
product_name: "兑换码",
|
|
131
|
+
sale_price: 0,
|
|
132
|
+
vip_card_id: -1
|
|
133
|
+
},
|
|
126
134
|
//todo
|
|
127
135
|
vipDetailPath: "",
|
|
136
|
+
bannerBgImg: "",
|
|
128
137
|
specialImage: "",
|
|
138
|
+
showExchangeCode: "",
|
|
139
|
+
exchangeCodePath: "",
|
|
129
140
|
}
|
|
130
141
|
},
|
|
131
142
|
computed: {
|
|
@@ -137,6 +148,9 @@
|
|
|
137
148
|
},
|
|
138
149
|
isVip(){
|
|
139
150
|
return this.uInfo.user_level === 'VIP';
|
|
151
|
+
},
|
|
152
|
+
showVipCardList(){
|
|
153
|
+
return this.showExchangeCode === 'Y' ? [this.exchangeCodeVip, ...this.vipCardList] : [...this.vipCardList]
|
|
140
154
|
}
|
|
141
155
|
},
|
|
142
156
|
watch: {
|
|
@@ -152,7 +166,6 @@
|
|
|
152
166
|
},
|
|
153
167
|
methods: {
|
|
154
168
|
onJfbLoad(options) {
|
|
155
|
-
this.setNameSpace(options);
|
|
156
169
|
this.p_getBaseUserInfo();
|
|
157
170
|
this.p_getVipMoneySaving();
|
|
158
171
|
this.p_getVipList();
|
|
@@ -163,7 +176,10 @@
|
|
|
163
176
|
*/
|
|
164
177
|
init(container) {
|
|
165
178
|
this.vipDetailPath = getContainerPropsValue(container, 'content.vipDetailPath', {value: "/system/system/vipdetail"}).value;
|
|
179
|
+
this.bannerBgImg = getServiceUrl(getContainerPropsValue(container, 'content.bannerBgImg', {url: ""}).url);
|
|
166
180
|
this.specialImage = getServiceUrl(getContainerPropsValue(container, 'content.specialImage', {url: ""}).url);
|
|
181
|
+
this.exchangeCodePath = getContainerPropsValue(container, 'content.exchangeCodePath', {value: ""}).value;
|
|
182
|
+
this.showExchangeCode = getContainerPropsValue(container, 'content.showExchangeCode', '');
|
|
167
183
|
},
|
|
168
184
|
p_getBaseUserInfo(){
|
|
169
185
|
jfbRootExec("getOpenBaseUserInfo", {
|
|
@@ -171,6 +187,7 @@
|
|
|
171
187
|
data: {}
|
|
172
188
|
}).then(res => {
|
|
173
189
|
this.uInfo = res;
|
|
190
|
+
this.vip_expire_time = this.$xdUniHelper.getDate(res.vip_expire_time * 1000 ).fullTime;
|
|
174
191
|
})
|
|
175
192
|
},
|
|
176
193
|
p_getVipMoneySaving(){
|
|
@@ -184,9 +201,7 @@
|
|
|
184
201
|
p_getVipList(){
|
|
185
202
|
jfbRootExec("getVipList", {
|
|
186
203
|
vm: this,
|
|
187
|
-
data: {
|
|
188
|
-
namespace: this.xnamespace,
|
|
189
|
-
}
|
|
204
|
+
data: {}
|
|
190
205
|
}).then(res => {
|
|
191
206
|
this.vipCardList = res.list;
|
|
192
207
|
})
|
|
@@ -199,6 +214,12 @@
|
|
|
199
214
|
})
|
|
200
215
|
},
|
|
201
216
|
toVipDetail(vip_card_id){
|
|
217
|
+
if(vip_card_id === -1){
|
|
218
|
+
this.$xdUniHelper.navigateTo({
|
|
219
|
+
url: this.exchangeCodePath
|
|
220
|
+
})
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
202
223
|
this.$xdUniHelper.navigateTo({
|
|
203
224
|
url: `${this.vipDetailPath}?vip_card_id=${vip_card_id}`
|
|
204
225
|
})
|
|
@@ -291,12 +312,16 @@
|
|
|
291
312
|
}
|
|
292
313
|
|
|
293
314
|
.vip_info{
|
|
294
|
-
padding: 20rpx;
|
|
315
|
+
// padding: 20rpx;
|
|
295
316
|
.vip_box{
|
|
296
|
-
width:
|
|
317
|
+
width: 710rpx;
|
|
297
318
|
height: 184rpx;
|
|
319
|
+
margin: auto;
|
|
298
320
|
border-radius: 24rpx;
|
|
299
|
-
background:
|
|
321
|
+
background-color: #E8A841;
|
|
322
|
+
// background: linear-gradient(90deg, #E8A841 0%, #FAD48E 100%);
|
|
323
|
+
background-size: 100% 100%;
|
|
324
|
+
background-repeat: no-repeat;
|
|
300
325
|
display: flex;
|
|
301
326
|
align-items: center;
|
|
302
327
|
justify-content: space-between;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
-
getOpenBaseUserInfo: {"user_name":"","user_code":"Uf4zx6EPfV","nickname":"未来~","real_name":"","head_url":"https:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/Q0j4TwGTfTJsajZzh53IB56crRSdmKvRbjT4V1Ha8v5uCOkASbWS0GibgLeic8OKBzAwUyBa3vZGhjwmd6RfpG9g\/132","province_code":"","city_code":"","province_name":"","city_name":"","sex":"","sex_name":"未知","birthday_date":"","phone_number":"13611111111","show_user_name":"未来~","user_level":"
|
|
4
|
+
getOpenBaseUserInfo: {"user_name":"","user_code":"Uf4zx6EPfV","nickname":"未来~","real_name":"","head_url":"https:\/\/thirdwx.qlogo.cn\/mmopen\/vi_32\/Q0j4TwGTfTJsajZzh53IB56crRSdmKvRbjT4V1Ha8v5uCOkASbWS0GibgLeic8OKBzAwUyBa3vZGhjwmd6RfpG9g\/132","province_code":"","city_code":"","province_name":"","city_name":"","sex":"","sex_name":"未知","birthday_date":"","phone_number":"13611111111","show_user_name":"未来~","user_level":"","vip_expire_time":1745026677,"request_id":"250e5709e6c95066"},
|
|
5
5
|
getVipList: {"total_size":3,"next_page_token":"","list":[{"vip_card_id":3,"product_id":60038520,"product_name":"体验卡","sale_price":200,"vip_card_icon":""},{"vip_card_id":2,"product_id":60038519,"product_name":"月卡","sale_price":2678,"vip_card_icon":""},{"vip_card_id":1,"product_id":60038515,"product_name":"测1","sale_price":20085,"vip_card_icon":""}],"request_id":"6b4aef5e06411d8a"},
|
|
6
6
|
getVipMoneySaving: { "save_amount": 100 , "request_id": "6b4aef5e06411d8a" }
|
|
7
7
|
}
|
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
</view>
|
|
11
11
|
</view>
|
|
12
12
|
<view class="vip_pay">
|
|
13
|
-
<view class="pay_btn" @click="toVipDetail"
|
|
13
|
+
<view class="pay_btn" @click="toVipDetail">
|
|
14
|
+
<template v-if="vip_card_id===-1">0元开通</template>
|
|
15
|
+
<template v-else>立即支付 ¥{{ $xdUniHelper.divisionFloatNumber(curVipCard.sale_price, 100) }}</template>
|
|
16
|
+
</view>
|
|
14
17
|
<view class="vip_tip">开通视为同意<text @click.stop="handlePrivacy('privacy_service')">《共享PLUS会员用户协议》</text></view>
|
|
15
18
|
</view>
|
|
16
19
|
</view>
|
|
@@ -8,11 +8,10 @@ module.exports = [
|
|
|
8
8
|
{
|
|
9
9
|
mapFnName: "getVipConfirm",
|
|
10
10
|
title: "获取vip确认信息",
|
|
11
|
-
path: "/member/v1
|
|
11
|
+
path: "/member/v1/order/confirm",
|
|
12
12
|
isRule: false,
|
|
13
13
|
data: {
|
|
14
14
|
vip_card_id: ["vip卡id", "Number", "必选"],
|
|
15
|
-
xnamespace: ['业务线', 'String', '必选']
|
|
16
15
|
},
|
|
17
16
|
isConsole: true,
|
|
18
17
|
disabled: true,
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
<xd-list-item label="套餐期限" paddingLR="40rpx">{{ vipInfo.life_cycle_label }}</xd-list-item>
|
|
21
21
|
</view>
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
<!-- #13418 开通plus会员:此版本没有平台优惠 -->
|
|
24
|
+
<view v-if="0" class="combo_section">
|
|
24
25
|
<xd-list-item label="套餐金额" paddingLR="40rpx">¥{{ $xdUniHelper.divisionFloatNumber(vipInfo.user_pay_amount, 100) }}</xd-list-item>
|
|
25
26
|
<xd-list-item label="平台优惠" paddingLR="40rpx">-¥{{ $xdUniHelper.divisionFloatNumber(vipInfo.platform_discount_amount, 100) }}</xd-list-item>
|
|
26
27
|
</view>
|
|
@@ -98,7 +99,6 @@
|
|
|
98
99
|
},
|
|
99
100
|
methods: {
|
|
100
101
|
onJfbLoad(options) {
|
|
101
|
-
this.setNameSpace(options);
|
|
102
102
|
this.vip_card_id = options.vip_card_id;
|
|
103
103
|
this.p_getVipConfirm();
|
|
104
104
|
},
|
|
@@ -115,7 +115,6 @@
|
|
|
115
115
|
vm: this,
|
|
116
116
|
data: {
|
|
117
117
|
vip_card_id: this.vip_card_id,
|
|
118
|
-
xnamespace: this.xnamespace
|
|
119
118
|
}
|
|
120
119
|
}).then(res => {
|
|
121
120
|
this.vipInfo = res;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
4
|
+
getVipConfirm: {
|
|
5
|
+
vip_card_id: 1,
|
|
6
|
+
product_id: 60038515,
|
|
7
|
+
product_name: "年卡会员",
|
|
8
|
+
sale_price: 20000,
|
|
9
|
+
platform_discount_amount: 120,
|
|
10
|
+
user_pay_amount: 20000,
|
|
11
|
+
life_cycle_label: "1年",
|
|
12
|
+
request_id: "cc61b6e3a8e0931f"
|
|
13
|
+
},
|
|
14
|
+
createVipOrder: {}
|
|
15
|
+
};
|
|
@@ -8,6 +8,46 @@ export default {
|
|
|
8
8
|
advanced: [],
|
|
9
9
|
content: data=>{
|
|
10
10
|
return [
|
|
11
|
+
{
|
|
12
|
+
label: "【仍需扣点】文案:",
|
|
13
|
+
ele: "el-input",
|
|
14
|
+
valueKey: "text1",
|
|
15
|
+
value: data.text1 || "仍需扣点",
|
|
16
|
+
groupKey: "content",
|
|
17
|
+
inline: false,
|
|
18
|
+
className: "input80",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
label: "【(可使用多张票券点数)】文案:",
|
|
22
|
+
ele: "el-input",
|
|
23
|
+
valueKey: "text2",
|
|
24
|
+
value: data.text2 || '',
|
|
25
|
+
placeholder: '(可使用多张票券点数)',
|
|
26
|
+
groupKey: "content",
|
|
27
|
+
inline: false,
|
|
28
|
+
className: "input80",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
label: "【选择以下补差方式】文案:",
|
|
32
|
+
ele: "el-input",
|
|
33
|
+
valueKey: "text3",
|
|
34
|
+
value: data.text3 || '选择以下补差方式',
|
|
35
|
+
groupKey: "content",
|
|
36
|
+
inline: false,
|
|
37
|
+
className: "input80",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: "是否展示继续补差",
|
|
41
|
+
ele: "xd-radio",
|
|
42
|
+
valueKey: "showContinuePay",
|
|
43
|
+
value: data.showContinuePay || 'Y',
|
|
44
|
+
groupKey: "content",
|
|
45
|
+
inline: true,
|
|
46
|
+
list: [
|
|
47
|
+
{ label: "展示", value: "Y" },
|
|
48
|
+
{ label: "不展示", value: "N" },
|
|
49
|
+
],
|
|
50
|
+
},
|
|
11
51
|
...styleForm.getForm(data),
|
|
12
52
|
{
|
|
13
53
|
label: '支付成功跳转路径:', //label
|