diff --git a/pages/finance/balance/list.vue b/pages/finance/balance/list.vue
index 327969d..2595b14 100644
--- a/pages/finance/balance/list.vue
+++ b/pages/finance/balance/list.vue
@@ -20,10 +20,13 @@
¥{{ formatMoney(item.balance) }}
+
+ 处理中提现:¥{{ formatMoney(item.pendingAmount) }},可提现:¥{{ formatMoney(item.availableBalance) }}
+
查询余额
提现
@@ -53,8 +56,15 @@
¥{{ formatMoney(withdrawDialog.form.balance) }}
+
+ ¥{{ formatMoney(withdrawDialog.form.pendingAmount) }}
+
+
+ ¥{{ formatMoney(withdrawDialog.form.availableBalance) }}
+
@@ -109,6 +119,8 @@ export default {
accNo: item.accNo,
merchantName: item.label,
balance: 0,
+ pendingAmount: 0,
+ availableBalance: 0,
updateTime: ""
})),
table1: {
@@ -197,6 +209,8 @@ export default {
merchantId: "",
merchantName: "",
balance: 0,
+ pendingAmount: 0,
+ availableBalance: 0,
amount: 0,
description: ""
}
@@ -250,10 +264,17 @@ export default {
}, {});
that.balanceInfoList = merchantOptions.map(item => {
const current = serverMap[item.accNo] || {};
+ const balance = Number(current.balance || 0);
+ const pendingAmount = Number(current.pendingAmount || 0);
+ const availableBalance = current.availableBalance !== undefined && current.availableBalance !== null
+ ? Number(current.availableBalance || 0)
+ : Math.max(0, balance - pendingAmount);
return {
accNo: item.accNo,
merchantName: current.merchantName || item.label,
- balance: Number(current.balance || 0),
+ balance,
+ pendingAmount,
+ availableBalance,
updateTime: current.updateTime || ""
};
});
@@ -279,14 +300,22 @@ export default {
}
},
openWithdrawDialog(item) {
- if (Number(item.balance || 0) <= 0) {
- vk.toast("当前企业余额小于等于0,无法提现");
+ const availableBalance = Number(item.availableBalance || 0);
+ if (availableBalance <= 0) {
+ const pendingAmount = Number(item.pendingAmount || 0);
+ vk.toast(
+ pendingAmount > 0
+ ? `可提现余额不足(处理中提现¥${that.formatMoney(pendingAmount)}已占用)`
+ : "当前企业余额小于等于0,无法提现"
+ );
return;
}
that.withdrawDialog.form = {
merchantId: item.accNo,
merchantName: item.merchantName,
balance: Number(item.balance || 0),
+ pendingAmount: Number(item.pendingAmount || 0),
+ availableBalance,
amount: 0,
description: ""
};
@@ -309,38 +338,25 @@ export default {
return;
}
try {
- const res = await vk.request({
- method: "POST",
- url: "http://jjx-union-pay.gxwebsoft.com/api/union-pay-jjx/getActionLog",
- header: {
- "content-type": "application/json; charset=utf-8"
- },
+ const res = await vk.callFunction({
+ url: "admin/finance/balance/sys/getActionLog",
data: {
accNo,
reqDate,
- reqJournalNo
- },
- timeout: 60000
+ reqJournalNo,
+ logId: row && row._id ? row._id : ""
+ }
});
- const code = Number(res && res.code);
- const success = res && (
- code === 0 ||
- code === 200 ||
- res.success === true ||
- (typeof res.code === "undefined" && !res.msg && !res.message)
+ const status = that.getActionStatusValue(res) || (
+ res && res.data && res.data.status !== undefined && res.data.status !== null
+ ? Number(res.data.status)
+ : ""
);
- if (!success) {
- throw new Error(
- (res && (res.msg || res.message)) ||
- (res && res.content && (res.content.msg || res.content.message)) ||
- "查询状态失败"
- );
- }
- const status = that.getActionStatusValue(res);
- const statusText = that.formatStatus(status);
+ const statusText = that.formatStatus(status) || (res && res.data && res.data.statusText) || "";
if (status !== "" && row && row._id) {
row.status = status;
}
+ await that.getBalanceSummary();
vk.toast(statusText || "未识别到状态");
console.log("getActionLog", res);
} catch (err) {
@@ -348,7 +364,7 @@ export default {
}
},
async submitWithdraw() {
- const { amount, description, merchantId, balance } = that.withdrawDialog.form;
+ const { amount, description, merchantId, availableBalance, pendingAmount } = that.withdrawDialog.form;
if (!merchantId) {
vk.toast("提现账号不能为空");
return;
@@ -357,12 +373,20 @@ export default {
vk.toast("提现金额必须大于0");
return;
}
- if (Number(balance || 0) <= 0) {
- vk.toast("当前企业余额小于等于0,无法提现");
+ if (Number(availableBalance || 0) <= 0) {
+ vk.toast(
+ Number(pendingAmount || 0) > 0
+ ? `可提现余额不足(处理中提现¥${that.formatMoney(pendingAmount)}已占用)`
+ : "当前企业余额小于等于0,无法提现"
+ );
return;
}
- if (Number(amount) > Number(balance || 0)) {
- vk.toast("提现金额不能大于当前企业余额");
+ if (Number(amount) > Number(availableBalance || 0)) {
+ vk.toast(
+ Number(pendingAmount || 0) > 0
+ ? `提现金额不能大于可提现余额¥${that.formatMoney(availableBalance)}(已排除处理中提现)`
+ : "提现金额不能大于当前企业余额"
+ );
return;
}
that.withdrawDialog.loading = true;