From 6d6e3204f92d763e5df11d26702f6642a993e49e Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 21 五月 2026 10:21:40 +0800
Subject: [PATCH] 增强审批模板功能,新增内置模板类型支持,优化模板编辑和导入逻辑,确保内置模板不可编辑和删除,提升用户体验和代码可维护性。

---
 src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue b/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue
index 47ad787..eaa0104 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-shared/components/ApprovalTemplateFormSection.vue
@@ -1,21 +1,28 @@
 <!-- 妯℃澘缁戝畾琛ㄥ崟鍖猴細濉姤椤� + 瀹℃壒娴佺▼ + 闄勪欢锛堥』鎸傚湪澶栧眰 el-form 涓嬶級 -->
 <template>
   <template v-if="activeTemplate">
-    <el-form-item v-if="showTemplateName" label="瀹℃壒妯℃澘">
+    <el-form-item
+      v-if="showTemplateName && !hideTemplateName && !flowAttachmentsOnly && !flowOnly"
+      label="瀹℃壒妯℃澘"
+    >
       <span class="template-name">{{ activeTemplate.label }}</span>
       <el-button v-if="allowChangeTemplate" type="primary" link class="ml12" @click="emit('change-template')">
         鏇存崲妯℃澘
       </el-button>
     </el-form-item>
 
-    <FormPayloadFields :fields="fields" :form-payload="formPayload" />
+    <FormPayloadFields
+      v-if="!hideFormFields && !flowAttachmentsOnly && !flowOnly"
+      :fields="fields"
+      :form-payload="formPayload"
+    />
 
     <el-form-item label="瀹℃壒娴佺▼" required>
       <TemplateFlowEditor v-model="flowNodesModel" :user-options="userOptions" />
       <p class="section-tip">娴佺▼涓庡鎵逛汉鐢辨ā鏉块缃紝鍙寜闇�寰皟鑺傜偣瀹℃壒浜恒��</p>
     </el-form-item>
 
-    <el-form-item v-if="templateAttachments.length" label="妯℃澘鍙傝��">
+    <el-form-item v-if="!flowOnly && templateAttachments.length" label="妯℃澘鍙傝��">
       <el-tag
         v-for="(f, i) in templateAttachments"
         :key="`tpl-${i}`"
@@ -28,7 +35,7 @@
       <p class="section-tip">浠ヤ笂涓烘ā鏉块檮甯︽枃浠讹紝浠呬緵鍙傝�冿紱鎻愪氦闄勪欢璇峰湪涓嬫柟涓婁紶銆�</p>
     </el-form-item>
 
-    <el-form-item label="闄勪欢">
+    <el-form-item v-if="!flowOnly" label="闄勪欢">
       <FileUpload
         v-model:file-list="attachmentsModel"
         :limit="uploadLimit"
@@ -59,6 +66,14 @@
   userOptions: { type: Array, default: () => [] },
   showTemplateName: { type: Boolean, default: true },
   allowChangeTemplate: { type: Boolean, default: true },
+  /** 涓� true 鏃朵笉灞曠ず妯℃澘鑷畾涔夊~鎶ラ」锛堜粎淇濈暀瀹℃壒娴佺▼涓庨檮浠讹級 */
+  hideFormFields: { type: Boolean, default: false },
+  /** 涓� true 鏃朵笉灞曠ず瀹℃壒妯℃澘鍚嶇О琛岋紙鐢辩埗绾х疆椤跺睍绀猴級 */
+  hideTemplateName: { type: Boolean, default: false },
+  /** 涓� true 鏃朵粎灞曠ず瀹℃壒娴佺▼涓庨檮浠讹紙濉姤椤圭敱鐖剁骇鍗曠嫭娓叉煋锛� */
+  flowAttachmentsOnly: { type: Boolean, default: false },
+  /** 涓� true 鏃朵粎灞曠ず瀹℃壒娴佺▼锛堜笉灞曠ず妯℃澘濉姤椤广�侀檮浠剁瓑锛� */
+  flowOnly: { type: Boolean, default: false },
   uploadLimit: { type: Number, default: 10 },
 });
 

--
Gitblit v1.9.3