From 7c2cdcbc7f5585b96fba76a07b0e4417a09c4d7e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 02 六月 2026 11:06:10 +0800
Subject: [PATCH] 新疆马铃薯 1.过程检验下载添加3个模版

---
 src/views/collaborativeApproval/rulesRegulationsManagement/index.vue |  114 ++++++++++++--------------------------------------------
 1 files changed, 25 insertions(+), 89 deletions(-)

diff --git a/src/views/collaborativeApproval/rulesRegulationsManagement/index.vue b/src/views/collaborativeApproval/rulesRegulationsManagement/index.vue
index 6f55955..d6fba59 100644
--- a/src/views/collaborativeApproval/rulesRegulationsManagement/index.vue
+++ b/src/views/collaborativeApproval/rulesRegulationsManagement/index.vue
@@ -108,27 +108,26 @@
                           placeholder="閫夋嫨鐢熸晥鏃堕棿"
                           style="width: 100%" />
         </el-form-item>
-        <el-form-item label="閫傜敤鑼冨洿"
-                      prop="scope">
-          <el-checkbox-group v-model="regulationForm.scope">
-            <el-checkbox label="all">鍏ㄤ綋鍛樺伐</el-checkbox>
-            <el-checkbox label="manager">绠$悊灞�</el-checkbox>
-            <el-checkbox label="hr">浜轰簨閮ㄩ棬</el-checkbox>
-            <el-checkbox label="finance">璐㈠姟閮ㄩ棬</el-checkbox>
-            <el-checkbox label="tech">鎶�鏈儴闂�</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
+
         <el-form-item label="鏄惁闇�瑕佺‘璁�"
                       prop="requireConfirm">
           <el-switch v-model="regulationForm.requireConfirm" />
           <span class="ml-10">寮�鍚悗鍛樺伐闇�瑕侀槄璇荤‘璁�</span>
         </el-form-item>
+
+        <el-form-item label="闄勪欢涓婁紶">
+          <AttachmentUploadFile
+              v-model:fileList="regulationForm.storageBlobDTOs"
+              :limit="10"
+              :fileSize="50"
+              buttonText="鐐瑰嚮涓婁紶闄勪欢"
+          />
+        </el-form-item>
       </el-form>
       <template #footer>
         <span class="dialog-footer">
+          <el-button type="primary" @click="submitRegulation">鍙戝竷鍒跺害</el-button>
           <el-button @click="showRegulationDialog = false">鍙栨秷</el-button>
-          <el-button type="primary"
-                     @click="submitRegulation">鍙戝竷鍒跺害</el-button>
         </span>
       </template>
     </el-dialog>
@@ -213,14 +212,7 @@
         </el-table-column>
       </el-table>
     </el-dialog>
-    <FileListDialog ref="fileListDialogRef"
-                    v-model="fileDialogVisible"
-                    :show-upload-button="true"
-                    :show-delete-button="true"
-                    :delete-method="handleAttachmentDelete"
-                    :rules-regulations-management-id="currentFileRuleId"
-                    :name-column-label="'闄勪欢鍚嶇О'"
-                    @upload="handleAttachmentUpload"/>
+    <FileList v-if="fileDialogVisible"  v-model:visible="fileDialogVisible" record-type="rules_regulations_management" :record-id="recordId"  />
   </div>
 </template>
 
@@ -236,13 +228,14 @@
     addReadingStatus,
     updateReadingStatus,
   } from "@/api/collaborativeApproval/sealManagement.js";
-  import FileListDialog from "@/components/Dialog/FileListDialog.vue";
+  const FileList = defineAsyncComponent(() => import("@/components/Dialog/FileList.vue"));
   import {
     listRuleFiles,
     delRuleFile,
     addRuleFile,
   } from "@/api/collaborativeApproval/rulesRegulationsManagementFile.js";
   import PIMTable from "@/components/PIMTable/PIMTable.vue";
+  import AttachmentUploadFile from "@/components/AttachmentUpload/file/index.vue";
 
   // 鍝嶅簲寮忔暟鎹�
   const operationType = ref("add");
@@ -255,14 +248,7 @@
     total: 0,
   });
   // 闄勪欢寮圭獥
-  const fileDialogVisible = ref(false);
-  const fileListDialogRef = ref(null);
   const currentFileRuleId = ref(null);
-  const filePage = reactive({
-    current: 1,
-    size: 1000,
-    total: 0,
-  });
   // 瑙勭珷鍒跺害鐩稿叧
   const showRegulationDialog = ref(false);
   const showRegulationDetailDialog = ref(false);
@@ -280,8 +266,8 @@
     status: "active",
     readCount: 0,
     effectiveTime: "",
-    scope: [],
     requireConfirm: false,
+    storageBlobDTOs: []
   });
 
   const readStatus = ref({
@@ -301,7 +287,7 @@
     effectiveTime: [
       { required: true, message: "璇烽�夋嫨鐢熸晥鏃堕棿", trigger: "change" },
     ],
-    scope: [{ required: true, message: "璇烽�夋嫨閫傜敤鑼冨洿", trigger: "change" }],
+
   };
 
   const regulationSearchForm = reactive({
@@ -457,8 +443,8 @@
       status: "active",
       readCount: 0,
       effectiveTime: "",
-      scope: [],
       requireConfirm: false,
+      storageBlobDTOs: []
     });
   };
 
@@ -565,63 +551,15 @@
     );
   };
 
-  // 闄勪欢锛氭煡璇�
-  const fetchRuleFiles = async rulesRegulationsManagementId => {
-    const params = {
-      current: filePage.current,
-      size: filePage.size,
-      rulesRegulationsManagementId,
-    };
-    const res = await listRuleFiles(params);
-    const records = res?.data?.records || [];
-    filePage.total = res?.data?.total || records.length;
-    const mapped = records.map(item => ({
-      id: item.id,
-      name: item.fileName || item.name,
-      url: item.fileUrl || item.url,
-      raw: item,
-    }));
-    fileListDialogRef.value?.setList(mapped);
-  };
-
   // 鎵撳紑闄勪欢寮圭獥
-  const openFileDialog = async row => {
-    currentFileRuleId.value = row.id;
-    fileDialogVisible.value = true;
-    await fetchRuleFiles(row.id);
-  };
+  const recordId =ref(0)
+  const fileDialogVisible = ref(false)
 
-  // 鍒锋柊闄勪欢鍒楄〃
-  const refreshFileList = async () => {
-    if (!currentFileRuleId.value) return;
-    await fetchRuleFiles(currentFileRuleId.value);
-  };
-
-  // 涓婁紶闄勪欢锛堢敱瀛愮粍浠惰Е鍙戯級
-  const handleAttachmentUpload = async filePayload => {
-    if (!currentFileRuleId.value) return;
-    const payload = {
-      name: filePayload?.fileName || filePayload?.name,
-      url: filePayload?.fileUrl || filePayload?.url,
-      rulesRegulationsManagementId: currentFileRuleId.value,
-    };
-    await addRuleFile(payload);
-    ElMessage.success("鏂囦欢涓婁紶鎴愬姛");
-    await refreshFileList();
-  };
-
-  // 鍒犻櫎闄勪欢
-  const handleAttachmentDelete = async row => {
-    if (!row?.id) return false;
-    try {
-      await ElMessageBox.confirm("纭鍒犻櫎璇ラ檮浠讹紵", "鎻愮ず", { type: "warning" });
-    } catch {
-      return false;
-    }
-    await delRuleFile([row.id]);
-    ElMessage.success("鍒犻櫎鎴愬姛");
-    await refreshFileList();
-  };
+  // 鎵撳紑闄勪欢寮规
+  const openFileDialog = async (row) => {
+    recordId.value = row.id
+    fileDialogVisible.value = true
+  }
 
   // 鑾峰彇瑙勭珷鍒跺害鍒楄〃鏁版嵁
   const getRegulationList = async () => {
@@ -687,8 +625,6 @@
   }
 
   .dialog-footer {
-    display: flex;
-    justify-content: flex-end;
-    gap: 10px;
+    text-align: center;
   }
 </style>

--
Gitblit v1.9.3