From aaa700a2efc44c2f633f2c83885bc67ddcbcd770 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 23 九月 2026 09:10:36 +0800
Subject: [PATCH] feat: 台账品名/材质/规格手工录入与产品编号选填、审批模板启用锁定编辑
---
src/views/officeProcessAutomation/ApproveManage/approve-template/useApproveTemplate.js | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-template/useApproveTemplate.js b/src/views/officeProcessAutomation/ApproveManage/approve-template/useApproveTemplate.js
index 61aa6c0..4f223c5 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-template/useApproveTemplate.js
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-template/useApproveTemplate.js
@@ -56,13 +56,20 @@
const page = reactive({ current: 1, size: 10, total: 0 });
const tableData = ref([]);
- const formDialog = reactive({ visible: false, title: "", mode: "add" });
+ const formDialog = reactive({ visible: false, title: "", mode: "add", originEnabled: false });
const form = reactive(createEmptyTemplateForm());
const formRef = ref();
const isEditingBuiltin = computed(
() => formDialog.mode === "edit" && Number(form.templateType) === TEMPLATE_TYPE_BUILTIN
);
+
+ // 缂栬緫鍚敤涓殑妯℃澘鏃跺彧鑳芥敼鍚敤鐘舵�侊紝鍏朵粬椤瑰彧璇伙紙闇�鍏堝仠鐢ㄥ啀缂栬緫锛�
+ const isEditingEnabled = computed(
+ () => formDialog.mode === "edit" && formDialog.originEnabled === true
+ );
+
+ const isEditFormLocked = computed(() => isEditingBuiltin.value || isEditingEnabled.value);
async function loadTemplateTypeOptions() {
try {
@@ -214,10 +221,22 @@
});
}
- function openFormDialog(mode, row) {
+ async function openFormDialog(mode, row) {
formDialog.mode = mode;
formDialog.title = mode === "add" ? "鏂板缓瀹℃壒妯℃澘" : "缂栬緫瀹℃壒妯℃澘";
- resetForm(mode === "edit" ? row : null);
+ if (mode === "edit" && row?.id) {
+ // 缂栬緫鏃跺厛鏌ヨ璇︽儏鑾峰彇瀹屾暣鏁版嵁锛堝寘鍚檮浠讹級
+ try {
+ const res = await getApprovalTemplateDetail(row.id);
+ const detailData = mapTemplateFromApi(unwrapTemplateDetail(res));
+ resetForm(detailData);
+ } catch {
+ resetForm(row);
+ }
+ } else {
+ resetForm(mode === "edit" ? row : null);
+ }
+ formDialog.originEnabled = mode === "edit" && form.enabled !== false;
formDialog.visible = true;
}
@@ -321,6 +340,7 @@
formRef,
formRules,
isEditingBuiltin,
+ isEditFormLocked,
detailDialog,
detailRow,
detailLoading,
--
Gitblit v1.9.3