jufubao-base 1.0.243-beta2 → 1.0.243-beta201
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/JfbBaseAfterOrderList/Attr.js +13 -0
- package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +33 -1
- package/src/components/JfbBaseAfterSales/Api.js +58 -0
- package/src/components/JfbBaseAfterSales/Attr.js +25 -0
- package/src/components/JfbBaseAfterSales/JfbBaseAfterSales.vue +550 -0
- package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesLess.less +79 -0
- package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesMixin.js +30 -0
- package/src/components/JfbBaseAfterSales/Mock.js +13 -0
- package/src/components/JfbBaseAfterSales/refundOrderInfo.vue +150 -0
- package/src/components/JfbBaseAfterSalesDetail/Api.js +41 -0
- package/src/components/JfbBaseAfterSalesDetail/Attr.js +25 -0
- package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetail.vue +538 -0
- package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailLess.less +79 -0
- package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailMixin.js +30 -0
- package/src/components/JfbBaseAfterSalesDetail/Mock.js +60 -0
- package/src/components/JfbBaseAfterSalesDetail/secProd.vue +58 -0
- package/src/components/JfbBaseAfterSalesFast/Api.js +30 -0
- package/src/components/JfbBaseAfterSalesFast/Attr.js +32 -0
- package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFast.vue +297 -0
- package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastLess.less +79 -0
- package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastMixin.js +30 -0
- package/src/components/JfbBaseAfterSalesFast/Mock.js +38 -0
- package/src/components/JfbBaseAfterSalesList/Api.js +40 -0
- package/src/components/JfbBaseAfterSalesList/Attr.js +107 -0
- package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesList.vue +463 -0
- package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesListLess.less +79 -0
- package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesListMixin.js +30 -0
- package/src/components/JfbBaseAfterSalesList/Mock.js +362 -0
- package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +4 -6
- package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +10 -16
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +6 -10
- package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +6 -10
- package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +2 -16
- package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +3 -5
- package/src/components/JfbBaseOrderDetail/Attr.js +36 -0
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +21 -1
- package/src/components/JfbBaseOrderList/Attr.js +36 -0
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +30 -0
- package/src/components/JfbBaseOrderList/Mock.js +1 -1
- package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +17 -5
- package/src/components/JfbBasePay/JfbBasePay.vue +19 -35
- package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +5 -21
- package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +29 -30
- package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +11 -18
- package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +3 -5
|
@@ -155,7 +155,16 @@
|
|
|
155
155
|
v-if="item.buttons.length"
|
|
156
156
|
>
|
|
157
157
|
<view v-for="(btn,index) in item.buttons" :key="btn.key">
|
|
158
|
+
<template v-if="btn.action === 'apply_refund'">
|
|
159
|
+
<xd-button
|
|
160
|
+
v-if="showApplyAfter === 'Y'"
|
|
161
|
+
type="default"
|
|
162
|
+
size="mini"
|
|
163
|
+
@click="handleBtnEvent(btn.action, item)"
|
|
164
|
+
>{{ btn.text }}</xd-button>
|
|
165
|
+
</template>
|
|
158
166
|
<xd-button
|
|
167
|
+
v-else
|
|
159
168
|
:type="getBtnType(btn.action)"
|
|
160
169
|
size="mini"
|
|
161
170
|
@click="handleBtnEvent(btn.action, item)"
|
|
@@ -182,6 +191,7 @@
|
|
|
182
191
|
:mainColor="mainColor"
|
|
183
192
|
:isShowOrderNo="isShowOrderNo"
|
|
184
193
|
:brandTextColor="brandTextColor"
|
|
194
|
+
:showApplyAfter="showApplyAfter"
|
|
185
195
|
:item="item"
|
|
186
196
|
@handleBtnEvent="action => handleBtnEvent(action, item)"
|
|
187
197
|
></xd-tfk-order-item>
|
|
@@ -243,6 +253,8 @@ export default {
|
|
|
243
253
|
initStatus: false,
|
|
244
254
|
loadingList: true,
|
|
245
255
|
|
|
256
|
+
showApplyAfter: "",
|
|
257
|
+
|
|
246
258
|
//基础
|
|
247
259
|
radius: 0,
|
|
248
260
|
backgroundColor: "",
|
|
@@ -271,6 +283,9 @@ export default {
|
|
|
271
283
|
layout_style: "old",
|
|
272
284
|
isShowOrderNo: "Y",
|
|
273
285
|
|
|
286
|
+
refundPath: "",
|
|
287
|
+
refundFastPath: "",
|
|
288
|
+
|
|
274
289
|
noticeBgc:'',
|
|
275
290
|
};
|
|
276
291
|
},
|
|
@@ -332,6 +347,7 @@ export default {
|
|
|
332
347
|
* @param container {object} 业务组件对象自己
|
|
333
348
|
*/
|
|
334
349
|
init(container) {
|
|
350
|
+
this.showApplyAfter = getContainerPropsValue(container, "content.showApplyAfter", "N");
|
|
335
351
|
this.margin = getContainerPropsValue(container, "content.margin", {top: 0, left: 0, right: 0, bottom: 0,});
|
|
336
352
|
this.radius = getContainerPropsValue(container, "content.radius", 0);
|
|
337
353
|
this.backgroundColor = getContainerPropsValue(container, "content.backgroundColor", "#f8f8f8");
|
|
@@ -360,6 +376,8 @@ export default {
|
|
|
360
376
|
|
|
361
377
|
this.detailPath = getContainerPropsValue(container, "content.detailPath", { value: "" }).value;
|
|
362
378
|
this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
|
|
379
|
+
this.refundPath = getContainerPropsValue(container, "content.refundPath", {value: "",}).value;
|
|
380
|
+
this.refundFastPath = getContainerPropsValue(container, "content.refundFastPath", {value: "",}).value;
|
|
363
381
|
this.layout_style = getContainerPropsValue(container, "content.layout_style", "old");
|
|
364
382
|
this.isShowOrderNo = getContainerPropsValue(container, "content.isShowOrderNo", "Y");
|
|
365
383
|
this.tabList = getContainerPropsValue(container, "content.orderTypeList", []).map((item) => {
|
|
@@ -426,6 +444,18 @@ export default {
|
|
|
426
444
|
this.$xdUniHelper.navigateTo({
|
|
427
445
|
url: `${this.payPath}?order_id=${item.pay_order_id}&main_order_id=${item.main_order_id}`,
|
|
428
446
|
});
|
|
447
|
+
} else if( action === 'apply_refund'){
|
|
448
|
+
//普通退款
|
|
449
|
+
if(item.is_support_quick_refund !== "Y"){
|
|
450
|
+
this.$xdUniHelper.navigateTo({
|
|
451
|
+
url: `${this.refundPath}?order_id=${item.main_order_id}`,
|
|
452
|
+
});
|
|
453
|
+
}else{
|
|
454
|
+
//极速退款
|
|
455
|
+
this.$xdUniHelper.navigateTo({
|
|
456
|
+
url: `${this.refundFastPath}?order_id=${item.main_order_id}`,
|
|
457
|
+
});
|
|
458
|
+
}
|
|
429
459
|
}
|
|
430
460
|
},
|
|
431
461
|
|
|
@@ -25,7 +25,7 @@ module.exports = {
|
|
|
25
25
|
"product_thumb": "\/\/sandbox-img.jufubao.cn\/uploads\/20230506\/40018e35f8d9b3bcc2f180cfe073ce28.png",
|
|
26
26
|
"sale_price": 2678
|
|
27
27
|
}],
|
|
28
|
-
"buttons": [{"text": "支付", "action": "pay"}, {"text": "取消订单", "action": "cancel_unpaid"}]
|
|
28
|
+
"buttons": [{"text": "支付", "action": "pay"}, {"text": "取消订单", "action": "cancel_unpaid"}, { "text": "申请退款", "action": "apply_refund"}]
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"main_order_id": "m513033785675509760",
|
|
@@ -83,10 +83,21 @@
|
|
|
83
83
|
</view>
|
|
84
84
|
<view v-if="item.buttons.length" class="prod_footer">
|
|
85
85
|
<view style="flex: 1;"></view>
|
|
86
|
-
<
|
|
87
|
-
v-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
<template v-for="(btn,index) in item.buttons">
|
|
87
|
+
<template v-if="btn.action === 'apply_refund'">
|
|
88
|
+
<view class="btn"
|
|
89
|
+
v-if="showApplyAfter === 'Y'"
|
|
90
|
+
:key="btn.key"
|
|
91
|
+
@click="handleBtnEvent(btn.action, item)"
|
|
92
|
+
>{{btn.text}}</view>
|
|
93
|
+
</template>
|
|
94
|
+
<view class="btn"
|
|
95
|
+
v-else
|
|
96
|
+
:key="btn.key"
|
|
97
|
+
@click="handleBtnEvent(btn.action, item)"
|
|
98
|
+
>{{btn.text}}</view>
|
|
99
|
+
</template>
|
|
100
|
+
|
|
90
101
|
</view>
|
|
91
102
|
</view>
|
|
92
103
|
</template>
|
|
@@ -106,7 +117,8 @@
|
|
|
106
117
|
isShowOrderNo: {
|
|
107
118
|
type: String,
|
|
108
119
|
},
|
|
109
|
-
brandTextColor: String
|
|
120
|
+
brandTextColor: String,
|
|
121
|
+
showApplyAfter: String
|
|
110
122
|
},
|
|
111
123
|
data(){
|
|
112
124
|
return{
|
|
@@ -302,11 +302,10 @@ export default {
|
|
|
302
302
|
this.is_can_pay = is_can_pay;
|
|
303
303
|
this.can_pay_message = can_pay_message;
|
|
304
304
|
if(is_can_pay !== "Y"){
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
zIndex: 5000
|
|
305
|
+
uni.showToast({
|
|
306
|
+
title: can_pay_message,
|
|
307
|
+
icon: 'none',
|
|
308
|
+
duration: 3000
|
|
310
309
|
});
|
|
311
310
|
reject();
|
|
312
311
|
// this.$xdNavigateBack()
|
|
@@ -369,11 +368,9 @@ export default {
|
|
|
369
368
|
let {login_providers = []} = this.projectAttr;
|
|
370
369
|
console.log(this.projectAttr)
|
|
371
370
|
if (+payInfo.channel_amount > 0 && !this.channel_provider_id) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
isClose: false,
|
|
376
|
-
zIndex: 5000
|
|
371
|
+
uni.showToast({
|
|
372
|
+
title: "请选择支付方式",
|
|
373
|
+
icon: "none",
|
|
377
374
|
});
|
|
378
375
|
return false;
|
|
379
376
|
}
|
|
@@ -445,32 +442,23 @@ export default {
|
|
|
445
442
|
success: (res) => {
|
|
446
443
|
this.$xdLog.setARMSInfo({options:this.options, res}, 'pay_success');
|
|
447
444
|
console.log("pay success", res);
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
time: 2500,
|
|
451
|
-
isClose: false,
|
|
452
|
-
zIndex: 5000
|
|
445
|
+
uni.showToast({
|
|
446
|
+
title: "支付成功",
|
|
453
447
|
});
|
|
454
448
|
cb(res);
|
|
455
449
|
},
|
|
456
450
|
cancel: () => {
|
|
457
451
|
this.$xdLog.setARMSInfo(this.options, 'cancel_pay');
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
time: 2500,
|
|
461
|
-
isClose: false,
|
|
462
|
-
zIndex: 5000
|
|
452
|
+
uni.showToast({
|
|
453
|
+
title: "取消支付",
|
|
463
454
|
});
|
|
464
455
|
},
|
|
465
456
|
fail: (error) => {
|
|
466
457
|
if (typeof error === 'string') error = {error: error}
|
|
467
458
|
if (window['jwxJfbSDKParams']) error = Object.assign(error, paySignData, window['jwxJfbSDKParams'])
|
|
468
459
|
this.$xdLog.setARMSError(error)
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
time: 2500,
|
|
472
|
-
isClose: false,
|
|
473
|
-
zIndex: 5000
|
|
460
|
+
uni.showToast({
|
|
461
|
+
title: "支付失败",
|
|
474
462
|
});
|
|
475
463
|
},
|
|
476
464
|
});
|
|
@@ -480,11 +468,9 @@ export default {
|
|
|
480
468
|
...paySignData,
|
|
481
469
|
success: (res) => {
|
|
482
470
|
this.$xdLog.setARMSInfo({options: this.options, res}, 'pay_success');
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
isClose: false,
|
|
487
|
-
zIndex: 5000
|
|
471
|
+
uni.showToast({
|
|
472
|
+
title: "支付成功",
|
|
473
|
+
icon: "none",
|
|
488
474
|
});
|
|
489
475
|
cb(res);
|
|
490
476
|
},
|
|
@@ -493,11 +479,9 @@ export default {
|
|
|
493
479
|
options: this.options,
|
|
494
480
|
error: JSON.stringify(err)
|
|
495
481
|
});
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
isClose: false,
|
|
500
|
-
zIndex: 5000
|
|
482
|
+
uni.showToast({
|
|
483
|
+
title: "支付失败",
|
|
484
|
+
icon: "none",
|
|
501
485
|
});
|
|
502
486
|
},
|
|
503
487
|
});
|
|
@@ -395,11 +395,9 @@ export default {
|
|
|
395
395
|
if (this.jfbTimeer > 0) return;
|
|
396
396
|
const { phone_number } = this.accountForm;
|
|
397
397
|
if (!/^1[3-9]\d{9}$/.test(phone_number)) {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
isClose: false,
|
|
402
|
-
zIndex: 5000
|
|
398
|
+
uni.showToast({
|
|
399
|
+
title: "请填写正确的手机号",
|
|
400
|
+
icon: "none",
|
|
403
401
|
});
|
|
404
402
|
return false;
|
|
405
403
|
}
|
|
@@ -436,22 +434,8 @@ export default {
|
|
|
436
434
|
doLoginForm() {
|
|
437
435
|
const { provider_id } = this;
|
|
438
436
|
const { phone_number, verification_code, user_name } = this.accountForm;
|
|
439
|
-
if (!phone_number || !verification_code) {
|
|
440
|
-
|
|
441
|
-
content: '手机号跟验证码不能为空',
|
|
442
|
-
time: 2500,
|
|
443
|
-
isClose: false,
|
|
444
|
-
zIndex: 5000
|
|
445
|
-
});
|
|
446
|
-
}
|
|
447
|
-
if(this.isCollectUsername && !user_name){
|
|
448
|
-
return this.$xdAlert({
|
|
449
|
-
content: '用户名不能为空',
|
|
450
|
-
time: 2500,
|
|
451
|
-
isClose: false,
|
|
452
|
-
zIndex: 5000
|
|
453
|
-
});
|
|
454
|
-
}
|
|
437
|
+
if (!phone_number || !verification_code) return uni.showToast({ title: "手机号跟验证码不能为空", icon: "none" });
|
|
438
|
+
if(this.isCollectUsername && !user_name) return uni.showToast({ title: "用户名不能为空", icon: "none" });
|
|
455
439
|
|
|
456
440
|
this.$xdShowLoading({})
|
|
457
441
|
jfbRootExec("phoneCollect", {
|
|
@@ -133,16 +133,27 @@
|
|
|
133
133
|
>暂不登录,去逛逛</view> -->
|
|
134
134
|
</view>
|
|
135
135
|
<xd-dialog :show.sync="showDialog"
|
|
136
|
-
title="系统提示"
|
|
137
136
|
:showClose="false"
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
maskAutoClose
|
|
138
|
+
:showTitle="false">
|
|
140
139
|
<view class="p_dialog_content">
|
|
141
|
-
<view class="
|
|
140
|
+
<view class="">
|
|
141
|
+
<xd-font-icon icon="iconmingchengtubiao" :size="48" color="#666"></xd-font-icon>
|
|
142
|
+
</view>
|
|
143
|
+
<view class="cont_text">检测到短信发送异常<br/>是否跳过手机号收集?</view>
|
|
142
144
|
</view>
|
|
143
|
-
<view slot="btn" class="btn_foot">
|
|
144
|
-
<
|
|
145
|
-
|
|
145
|
+
<view slot="btn" class="btn_foot" style="background-color: #DDD;">
|
|
146
|
+
<view class="btn_item not_jump_btn" :style="{
|
|
147
|
+
backgroundColor: '#FFF',
|
|
148
|
+
}"
|
|
149
|
+
@click="p_loginNotJump"
|
|
150
|
+
>不跳过</view>
|
|
151
|
+
<view class="btn_item" :style="{
|
|
152
|
+
backgroundColor: mainColor,
|
|
153
|
+
color: '#FFF'
|
|
154
|
+
}"
|
|
155
|
+
@click="p_loginJumpPhone"
|
|
156
|
+
>跳过</view>
|
|
146
157
|
</view>
|
|
147
158
|
</xd-dialog>
|
|
148
159
|
</view>
|
|
@@ -497,11 +508,9 @@ export default {
|
|
|
497
508
|
if (this.jfbTimeer > 0) return;
|
|
498
509
|
const { phone_number } = this.accountForm;
|
|
499
510
|
if (!/^1[3-9]\d{9}$/.test(phone_number)) {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
isClose: false,
|
|
504
|
-
zIndex: 5000
|
|
511
|
+
uni.showToast({
|
|
512
|
+
title: "请填写正确的手机号",
|
|
513
|
+
icon: "none",
|
|
505
514
|
});
|
|
506
515
|
return false;
|
|
507
516
|
}
|
|
@@ -574,20 +583,10 @@ export default {
|
|
|
574
583
|
const { auth_code, provider_id } = this;
|
|
575
584
|
const { phone_number, verification_code, user_name } = this.accountForm;
|
|
576
585
|
if (!phone_number || !verification_code){
|
|
577
|
-
return
|
|
578
|
-
content: '手机号跟验证码不能为空',
|
|
579
|
-
time: 2500,
|
|
580
|
-
isClose: false,
|
|
581
|
-
zIndex: 5000
|
|
582
|
-
});
|
|
586
|
+
return uni.showToast({ title: "手机号跟验证码不能为空", icon: "none" });
|
|
583
587
|
}
|
|
584
588
|
if(this.isCollectUsername && !user_name){
|
|
585
|
-
return
|
|
586
|
-
content: '用户名不能为空',
|
|
587
|
-
time: 2500,
|
|
588
|
-
isClose: false,
|
|
589
|
-
zIndex: 5000
|
|
590
|
-
});
|
|
589
|
+
return uni.showToast({ title: "用户名不能为空", icon: "none" });
|
|
591
590
|
}
|
|
592
591
|
this.$xdShowLoading({});
|
|
593
592
|
jfbRootExec("phoneLogin", {
|
|
@@ -654,12 +653,12 @@ export default {
|
|
|
654
653
|
::v-deep .xd-dailog__body{
|
|
655
654
|
overflow: hidden;
|
|
656
655
|
}
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
656
|
+
::v-deep .xd-dailog__body-content{
|
|
657
|
+
padding: 0;
|
|
658
|
+
overflow: hidden;
|
|
659
|
+
}
|
|
661
660
|
.p_dialog_content{
|
|
662
|
-
padding:
|
|
661
|
+
padding: 100rpx 0rpx;
|
|
663
662
|
display: flex;
|
|
664
663
|
align-items: center;
|
|
665
664
|
justify-content: center;
|
|
@@ -667,7 +666,7 @@ export default {
|
|
|
667
666
|
text-align: left;
|
|
668
667
|
margin-left: 12rpx;
|
|
669
668
|
font-size: 32rpx;
|
|
670
|
-
color: #
|
|
669
|
+
color: #333;
|
|
671
670
|
}
|
|
672
671
|
}
|
|
673
672
|
.btn_foot{
|
|
@@ -528,14 +528,10 @@
|
|
|
528
528
|
async toBindCardTicket(){
|
|
529
529
|
console.log(this.form, 'this.form')
|
|
530
530
|
const { card_password, card_number, valid_code } = this.form;
|
|
531
|
-
if(!valid_code){
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
isClose: false,
|
|
536
|
-
zIndex: 5000
|
|
537
|
-
});
|
|
538
|
-
}
|
|
531
|
+
if(!valid_code) return uni.showToast({
|
|
532
|
+
title: '请输入验证码',
|
|
533
|
+
icon: "none"
|
|
534
|
+
})
|
|
539
535
|
this.$xdShowLoading({});
|
|
540
536
|
|
|
541
537
|
this.checkValidToken().then(() => {
|
|
@@ -560,11 +556,9 @@
|
|
|
560
556
|
const { code } = this.form;
|
|
561
557
|
|
|
562
558
|
if(!code) {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
isClose: false,
|
|
567
|
-
zIndex: 5000
|
|
559
|
+
uni.showToast({
|
|
560
|
+
title: '请输入电子码',
|
|
561
|
+
icon: "none"
|
|
568
562
|
});
|
|
569
563
|
return ""
|
|
570
564
|
};
|
|
@@ -592,11 +586,10 @@
|
|
|
592
586
|
if(res.is_valid){
|
|
593
587
|
r();
|
|
594
588
|
}else{
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
zIndex: 5000
|
|
589
|
+
uni.showToast({
|
|
590
|
+
title: '验证码错误',
|
|
591
|
+
duration: 2000,
|
|
592
|
+
icon: "none"
|
|
600
593
|
});
|
|
601
594
|
this.switchValidToken();
|
|
602
595
|
j();
|