Просмотр исходного кода

fix: 修改法律法规管理上传文件名称乱码

lixuan 2 месяцев назад
Родитель
Сommit
7b71b4123a

+ 29 - 30
src/views/production-safety/productionSafetySystem/lawManagement/components/lawManagementDetail.vue

@@ -19,7 +19,7 @@
           :file-list="ruleFormData.fileUrlList"
           :disabled="isViewMode"
           :allow-all-file-types="true"
-          @uploadSuccess="handleUploadSuccess"
+          @uploadSuccess="(list: FileItem[]) => handleUploadSuccess(list)" 
         />
       </template>
       <template #content>
@@ -184,7 +184,7 @@
         ruleFormData.status = res.status ?? 1;
         
         // 如果有文件URL,转换为FileItem格式
-        ruleFormData.fileUrlList = convertFileUrlToFileItems(res.fileUrl || '');
+        ruleFormData.fileUrlList = JSON.parse(res.fileUrl || '[]');
       }
       cloneRuleFormData();
     } catch (e) {
@@ -205,35 +205,34 @@
     
     try {
       // 处理文件上传:先上传文件获取 URL,然后提取 fileUrl
-      let fileUrl = '';
-      if (ruleFormData.fileUrlList && ruleFormData.fileUrlList.length > 0) {
-        // 分离已有URL的文件和新上传的文件
-        const existingFiles: string[] = [];
-        const newFiles: FileItem[] = [];
-        
-        ruleFormData.fileUrlList.forEach((file: FileItem) => {
-          // 如果文件已经有 fileUrl 且没有 file 对象,说明是已有文件
-          if (file.fileUrl && !file.file) {
-            existingFiles.push(file.fileUrl);
-          } else {
-            // 否则是需要上传的新文件
-            newFiles.push(file);
-          }
-        });
+      // let fileUrl = '';
+      // if (ruleFormData.fileUrlList && ruleFormData.fileUrlList.length > 0) {
+      //   // 分离已有URL的文件和新上传的文件
+      //   const existingFiles: string[] = [];
+      //   const newFiles: FileItem[] = [];
+      //   ruleFormData.fileUrlList.forEach((file: FileItem) => {
+      //     // 如果文件已经有 fileUrl 且没有 file 对象,说明是已有文件
+      //     if (file.fileUrl && !file.file) {
+      //       existingFiles.push(file.fileUrl);
+      //     } else {
+      //       // 否则是需要上传的新文件
+      //       newFiles.push(file);
+      //     }
+      //   });
 
-        // 上传新文件
-        let uploadedUrls: string[] = [];
-        if (newFiles.length > 0) {
-          const uploadedFiles = await formatAttachmentList(newFiles);
-          uploadedUrls = uploadedFiles
-            .map((file: any) => file.fileUrl || file.url || '')
-            .filter((url: string) => url);
-        }
+      //   // 上传新文件
+      //   let uploadedUrls: string[] = [];
+      //   if (newFiles.length > 0) {
+      //     const uploadedFiles = await formatAttachmentList(newFiles);
+      //     uploadedUrls = uploadedFiles
+      //       .map((file: any) => file.fileUrl || file.url || '')
+      //       .filter((url: string) => url);
+      //   }
 
-        // 合并已有URL和新上传的URL,取第一个作为fileUrl
-        const allUrls = [...existingFiles, ...uploadedUrls].filter((url: string) => url);
-        fileUrl = allUrls.length > 0 ? allUrls[0] : '';
-      }
+      //   // 合并已有URL和新上传的URL,取第一个作为fileUrl
+      //   const allUrls = [...existingFiles, ...uploadedUrls].filter((url: string) => url);
+      //   fileUrl = allUrls.length > 0 ? allUrls[0] : '';
+      // }
 
       const basePayload: ProductionSafetyFile = {
         fileName: ruleFormData.fileName,
@@ -242,7 +241,7 @@
         fileVersion: ruleFormData.fileVersion,
         fileFormat: ruleFormData.fileFormat,
         releaseDate: ruleFormData.releaseDate,
-        fileUrl: fileUrl || undefined,
+        fileUrl: JSON.stringify(ruleFormData.fileUrlList) || undefined,
         content: ruleFormData.content || undefined,
         status: ruleFormData.status ?? 1,
       };