From 9c4e34d06e251667e650055412256e5743b90d72 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 07 十一月 2025 19:05:06 +0800
Subject: [PATCH] fix: bug

---
 src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
index 7d8481f..4007ad0 100644
--- a/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
+++ b/src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
@@ -43,6 +43,13 @@
           :disabled="form.isEnterpriseUserCreated"
         ></ProFormText>
       </ProFormItemV2>
+      <ProFormItemV2 label="鑷畾涔夊唴瀹�:" prop="customContents">
+        <ProFormCheckbox
+          v-model="form.customContents"
+          :value-enum="templateParamList"
+          enum-value-key="label"
+        ></ProFormCheckbox>
+      </ProFormItemV2>
       <ProFormItemV2
         label="涓婁紶妯℃澘锛�"
         prop="file"
@@ -55,14 +62,19 @@
           accept="pdf"
         ></ProFormUpload>
       </ProFormItemV2>
-      <ProFormItemV2 label="鑷姩绛剧害锛�" prop="isAutoSign" required>
+      <ProFormItemV2
+        label="鑷姩绛剧害锛�"
+        prop="isAutoSign"
+        required
+        v-if="form.access === EnumElectronSignAccess.BestSign"
+      >
         <ProFormSwitch v-model="form.isAutoSign"></ProFormSwitch>
       </ProFormItemV2>
       <ProFormItemV2
-        label="鑷姩绛炬巿鏉冧功锛�"
+        label="涓婁紶鎺堟潈涔︼細"
         prop="autoSignPowerAttorneyUrl"
-        :check-rules="[{ message: '璇蜂笂浼犺嚜鍔ㄧ鎺堟潈涔�', type: 'upload' }]"
-        v-if="form.isAutoSign"
+        :check-rules="form.isAutoSign && [{ message: '璇蜂笂浼犵鎺堟潈涔�', type: 'upload' }]"
+        :required="form.isAutoSign"
       >
         <ProFormUpload
           v-model:file-url="form.autoSignPowerAttorneyUrl"
@@ -70,6 +82,7 @@
           :limitFileSize="10"
           accept="pdf,doc,docx,png,jpg,jpeg"
         ></ProFormUpload>
+        <el-button type="primary" link @click="handleDownload">涓嬭浇妯℃澘</el-button>
       </ProFormItemV2>
     </ProForm>
     <template #footer>
@@ -90,12 +103,18 @@
   ProFormUpload,
   ProFormSelect,
   ProFormSwitch,
+  ProFormCheckbox,
 } from '@bole-core/components';
-import { filterCN, filterNumbersFromString } from '@/utils';
-import { FormInstance } from 'element-plus';
-import { EnumElectronSignAccessText } from '@/constants';
+import { filterCN, filterNumbersFromString, downloadFileByUrl } from '@/utils';
+import { FormInstance, FormRules } from 'element-plus';
+import {
+  EnumElectronSignAccessText,
+  EnumElectronSignAccess,
+  AutoSignPowerAttorneyTempUrl,
+} from '@/constants';
 import * as electronSignServices from '@/services/api/electronSign';
 import { Message } from '@bole-core/core';
+import { useTemplateDetailProvide } from '@/fabric-editor/hooks/context';
 
 defineOptions({
   name: 'AddOrEditTemplateDialog',
@@ -115,6 +134,8 @@
   enterpriseId: string;
   isAutoSign: boolean;
   autoSignPowerAttorneyUrl: UploadUserFile[];
+
+  customContents: string[];
 };
 
 const form = defineModel<Form>('form');
@@ -124,9 +145,21 @@
   (e: 'onCancel'): void;
 }>();
 
+watch(
+  () => form.value.isAutoSign,
+  () => {
+    if (form.value.isAutoSign && dialogForm.value) {
+      dialogForm.value.clearValidate('autoSignPowerAttorneyUrl');
+    }
+  }
+);
 const { enabledElectronSignSettings } = useEnabledElectronSignSettings({
   enterpriseId: computed(() => form.value.enterpriseId),
   all: true,
+});
+
+const { templateParamList } = useTemplateDetailProvide({
+  isDefault: false,
 });
 
 async function handleCodeBlur() {
@@ -141,6 +174,10 @@
   } catch (error) {}
 }
 
+function handleDownload() {
+  downloadFileByUrl(AutoSignPowerAttorneyTempUrl, '鑷姩绛炬巿鏉冧功妯℃澘');
+}
+
 const dialogForm = ref<FormInstance>();
 
 function onDialogClose() {

--
Gitblit v1.9.1