c31bae2b by lttnew
2 parents 391d911a 987c2878
......@@ -1700,6 +1700,36 @@ export function goPay(params) {
})
}
// 再次支付
export function payForOrder(params) {
let url = `/common/order/payForOrder/${params.id}`
const queryParams = []
if (params.id) queryParams.push(`id=${params.id}`)
if (params.payType) queryParams.push(`payType=${params.payType}`)
if (queryParams.length > 0) {
url += '?' + queryParams.join('&')
}
return request({
url,
method: 'post',
showLoading: false
})
}
/**
* 取消订单
* @param params
* @returns {*}
*/
export function cancelOrder(id) {
return request({
url: `/common/order/cancelOrder/${id}`,
method: 'post'
})
}
// 缴费单列表学员
export function listAPI(params) {
return request({
......
......@@ -5,12 +5,12 @@
<view class="yearRow">
<view class="label">缴费年限</view>
<view class="control">
<image v-if="form.payYear > 1" :src="config.baseUrl_api + '/fs/static/dd_02.png'" class="icon"
<image v-if="form.payYear > 1&& !form.id" :src="config.baseUrl_api + '/fs/static/dd_02.png'" class="icon"
mode="widthFix"
@click="minusYear"></image>
<image v-else :src="config.baseUrl_api + '/fs/static/dd_02_g.png'" class="icon" mode="widthFix"></image>
<text class="num">{{ form.payYear }}</text>
<image v-if="form.payYear < 5" :src="config.baseUrl_api + '/fs/static/btn_03.png'" class="icon"
<image v-if="form.payYear < 5&& !form.id" :src="config.baseUrl_api + '/fs/static/btn_03.png'" class="icon"
mode="widthFix"
@click="plusYear"></image>
<image v-else :src="config.baseUrl_api + '/fs/static/btn_03_g.png'" class="icon" mode="widthFix"></image>
......@@ -87,7 +87,7 @@ onLoad((options) => {
const data = JSON.parse(decodeURIComponent(options.baseFormData))
form.value = {
...data,
payYear: 1 // 年限默认1
payYear: data.payYear??1 // 年限默认1
}
}
// 初始化接口
......@@ -137,9 +137,19 @@ const handelPay = async () => {
payType: payType.value,
totalFee: memberTotalFee.value,
}
let orderErr,orderRes
if (form.value.id){
// 再次支付
const [err,res]=await to(api.payForOrder(postData))
orderErr = err
orderRes = res
}else {
// 创建订单
const [orderErr, orderRes] = await to(api.insertSinglePay(postData))
const [err, res] = await to(api.insertSinglePay(postData))
orderErr = err
orderRes = res
}
uni.hideLoading()
if (orderErr) {
......
......@@ -45,9 +45,9 @@
</view>
<text :class="{
'status-wait': item.auditStatus == 0,
'status-pending': item.auditStatus == 1,
'status-pending': item.auditStatus == 1||item.auditStatus == 9,
'status-success': item.auditStatus == 2,
'status-danger': item.auditStatus == 3
'status-danger': item.auditStatus == 3||item.auditStatus == 4
}"
class="status-tag ">{{ getAuditStatusText(item.auditStatus) }}
</text>
......@@ -123,7 +123,12 @@
<!-- <template v-if="item.payStatus == 0">
<button class="btn btn-pay" @click.stop="goPay(item)">去缴费</button>
</template> -->
<button class="btn btn-info" @click.stop="goToDetail(item)">查看明细</button>
<button v-if="item.auditStatus == 9" class="btn btn-info" @click.stop="handleCancel(item)">取消</button>
<template v-if="item.auditStatus == 9">
<button class="btn btn-pay" @click.stop="goPay(item)">支付</button>
</template>
<!-- 已缴费:申请开票/已开票(需要审核通过才能开票) -->
<template v-if="item.payStatus == 1 && item.invoiceStatus != 1 && item.auditStatus == 2 && item.price > 0">
<button :disabled="item.invoiceStatus === 1" class="btn btn-view-invoice"
......@@ -267,7 +272,9 @@ const getAuditStatusText = (status) => {
0: '待提交',
1: '审核中',
2: '审核通过',
3: '审核拒绝'
3: '审核拒绝',
4: '已取消',
9: '待支付'
};
return map[status] || '';
};
......@@ -280,10 +287,10 @@ const filterTime = (row) => {
return dayjs(row).format('YYYY年MM月DD日')
}
// 页面挂载初始化
onMounted(() => {
initData();
});
// // 页面挂载初始化
// onMounted(() => {
// initData();
// });
// 页面显示时刷新数据(从开票页面返回时)
onShow(() => {
......@@ -372,6 +379,7 @@ const goToDetail = (item) => {
uni.navigateTo({url: `/personalVip/orderDetail?rangeId=${item.sourceId || item.id}&type=${queryParams.type}`});
};
// 去缴费
const goPay = (item) => {
const baseFormData = {
......@@ -379,7 +387,8 @@ const goPay = (item) => {
payYear: item.content?.yearCount || 1,
sourceId: item.sourceId || item.id,
tradeNo: item.tradeNo,
price: item.price
price: item.price,
id: item.id,
};
const formStr = encodeURIComponent(JSON.stringify(baseFormData));
uni.navigateTo({
......@@ -387,6 +396,7 @@ const goPay = (item) => {
});
};
// 删除订单
const handleDelete = (item) => {
currentOrder.value = item;
......@@ -457,7 +467,7 @@ const closeInvoicePopup = () => {
// 取消订单
const handleCancel = (item) => {
currentOrder.value = item;
cancelModalContent.value = `是否确认取消订单编号为"${item.tradeNo}"的订单?`;
cancelModalContent.value = `是否确认取消缴费编号为"${item.wfCode}"的订单?`;
showCancelPopup.value = true;
isPopupOpen.value = true;
};
......@@ -466,7 +476,7 @@ const handleCancel = (item) => {
const confirmCancel = async () => {
if (!currentOrder.value) return;
try {
await api.cancelPay(currentOrder.value.id);
await api.cancelOrder(currentOrder.value.id)
uni.showToast({title: '取消成功', icon: 'success'});
pageNum.value = 1;
list.value = [];
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!