1.1.55 添加新增分款校验。

dev
yinq 1 week ago
parent 4d3c8d4460
commit 62858ab406

@ -17,7 +17,7 @@
<template #header>
<div class="flex items-center justify-between">
<div style="text-align: left; font-weight: bold; font-size: 24px">{{ pageTitle }}</div>
<el-button v-if="canEditDetail" type="primary" @click="handleAddDetail">
<el-button v-if="canEditDetail" type="primary" :disabled="!canAddDetail" @click="handleAddDetail">
<el-icon class="mr-1"><Plus /></el-icon>
新增分款
</el-button>
@ -232,6 +232,9 @@ const remainingAmount = computed(() => Number(form.value.paymentAmount || 0) - a
/** 分款金额与回款金额平衡容差(元) */
const ALLOCATION_AMOUNT_EPS = 0.005;
/** 剩余可分大于 0 时才允许新增分款 */
const canAddDetail = computed(() => canEditDetail.value && remainingAmount.value > ALLOCATION_AMOUNT_EPS);
/** 提交/审批前校验:分款总额须等于回款金额 */
const validateAllocationBeforeSubmit = (): boolean => {
const remain = remainingAmount.value;
@ -445,6 +448,10 @@ const handleAddDetail = () => {
if (!canEditDetail.value) {
return;
}
if (!canAddDetail.value) {
proxy?.$modal.msgWarning('剩余可分金额为0无法新增分款');
return;
}
showProjectDialog.value = true;
};

@ -316,7 +316,7 @@
</div>
</el-tab-pane>
<!-- 回款信息 Tab创建人合同负责人角色 CVP 可见 -->
<!-- 回款信息 Tab创建人合同负责人角色 CVP超级管理员可见 -->
<el-tab-pane v-if="canViewPaymentLedger" label="回款信息" name="payment">
<div v-loading="loadingPayment" class="tab-content">
<div class="section-header">
@ -547,9 +547,12 @@ const sameUserId = (a: unknown, b: unknown): boolean => {
return String(a) === String(b);
};
/** 回款信息:本合同订单创建人、合同负责人、或角色权限字符含 CVP */
/** 回款信息:超级管理员、本合同订单创建人、合同负责人、或角色权限字符含 CVP */
const canViewPaymentLedger = computed(() => {
const roles = userStore.roles ?? [];
if (roles.includes('superadmin')) {
return true;
}
if (roles.some((r) => r === PAYMENT_LEDGER_ROLE_KEY)) {
return true;
}

Loading…
Cancel
Save