| | |
| | | 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 { |
| | |
| | | }); |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | |
| | | formRef, |
| | | formRules, |
| | | isEditingBuiltin, |
| | | isEditFormLocked, |
| | | detailDialog, |
| | | detailRow, |
| | | detailLoading, |