修复配送合同草稿编辑状态判断
修正平台总后台将待处理状态误判为草稿的问题。 统一平台、气站和配送点后台的合同编辑限制,并补充禁用原因、回归检查及中文操作文档。
This commit is contained in:
@@ -76,7 +76,9 @@
|
||||
<a-button v-if="definition.accountManagement" size="mini" type="primary" @click="manageAccounts(record)">账户管理</a-button>
|
||||
<a-button v-if="definition.name === 'staff_account'" size="mini" @click="viewCredentials(record)">查看资质</a-button>
|
||||
<a-button size="mini" @click="openDetail(record)">详情</a-button>
|
||||
<a-button v-if="canEdit" size="mini" :disabled="isProtectedRecord(record)" @click="openEdit(record)">编辑</a-button>
|
||||
<a-tooltip v-if="canEdit" :content="recordEditReason(record) || '编辑记录'">
|
||||
<span><a-button size="mini" :disabled="Boolean(recordEditReason(record))" @click="openEdit(record)">编辑</a-button></span>
|
||||
</a-tooltip>
|
||||
<a-button v-if="canChangeStatus && definition.name !== 'gas_basic'" size="mini" :disabled="isProtectedRecord(record)" @click="openStatus(record)">审核</a-button>
|
||||
<a-button v-if="canArchive" size="mini" status="danger" :disabled="isProtectedRecord(record)" @click="confirmArchive(record)">删除</a-button>
|
||||
</a-space>
|
||||
@@ -766,6 +768,11 @@ function openCreate() {
|
||||
}
|
||||
|
||||
function openEdit(row: Row) {
|
||||
const reason = recordEditReason(row);
|
||||
if (reason) {
|
||||
Message.warning(reason);
|
||||
return;
|
||||
}
|
||||
editingIdentity.value = String(row.identity ?? '');
|
||||
resetForm(row);
|
||||
formVisible.value = true;
|
||||
@@ -775,6 +782,17 @@ function isProtectedRecord(row: Row) {
|
||||
return props.definition.name === 'platform_role' && row.is_system === true;
|
||||
}
|
||||
|
||||
/** 统一返回合同和系统记录的编辑阻止原因。 */
|
||||
function recordEditReason(row: Row) {
|
||||
if (isProtectedRecord(row)) return '系统内置记录不允许编辑';
|
||||
if (props.definition.name !== 'gasorder_contract') return '';
|
||||
if (Number(row.contract_status) !== 0)
|
||||
return '只有草稿状态的合同可以编辑';
|
||||
if (![0, 1].includes(Number(row.status)))
|
||||
return '停用、已归档或已冻结的合同不可编辑';
|
||||
return '';
|
||||
}
|
||||
|
||||
async function openDetail(row: Row) {
|
||||
try {
|
||||
detail.value = await resourceApi.detail<Row>(
|
||||
|
||||
Reference in New Issue
Block a user