Procházet zdrojové kódy

fix: 修改参数信息

xiaweibo před 1 měsícem
rodič
revize
968669b2de

+ 11 - 0
src/api/safety-system-construction-work-plan/index.ts

@@ -164,11 +164,22 @@ export function updateWorkPlan(data: UpdateWorkPlanRequest) {
 export function queryWorkPlanDetail(id: number) {
   return http.request<SaveWorkPlanRequest>({
     url: `${ADMIN_BASE}/queryDetail`,
+    // url: `/safetyWorkPlan/workPlanSendObj/queryDetail?id=${id}`,
     method: 'get',
     params: { id },
   });
 }
 
+/**
+ * 查询部门安全体系建设工作计划详情
+ */
+export function queryWorkPlanDepartmentDetail(id: number) {
+  return http.request<SaveWorkPlanRequest>({
+    url: `/safetyWorkPlan/workPlanSendObj/queryDetail?id=${id}`,
+    method: 'get',
+  });
+}
+
 /**
  * 删除安全体系建设工作计划
  */

+ 17 - 7
src/views/production-safety/productionSafetySystem/safetySystemConstructionWorkPlanManagement/components/safetySystemConstructionWorkPlanManagementDetail.vue

@@ -70,13 +70,22 @@
         />
       </el-form-item>
       <el-form-item label="附件上传:" v-if="isViewMode" prop="fileUrl" :required="isViewMode">
-        <UploadFiles
-          label="上传附件"
-          :file-list="attachmentFileList"
-          :maxCount="1"
-          @uploadSuccess="handleAttachmentUploadSuccess"
-          @preview="handlePreview"
-        />
+        <div class="file-list" v-if="form.fileUrl && form.fileUrl.length != 0">
+          <div class="file-item" v-for="file in form.fileUrl" :key="file.fileId">
+            <span class="file-item--name">{{ file.fileName }}</span>
+            <div class="file-item--footer">
+              <el-button link type="primary" @click="previewOnline(file.fileUrl, file.fileType)"
+                >预览</el-button
+              >
+              <el-button link type="primary" @click.stop="downloadFile(file.fileUrl, file.fileName)"
+                >下载</el-button
+              >
+            </div>
+          </div>
+        </div>
+        <div v-else>
+          暂无附件
+        </div>
       </el-form-item>
     </el-form>
   </main>
@@ -261,6 +270,7 @@
           ...res,
           cooperateDeptIds: cooperateDeptIdsArray,
           responsibleDeptIds: responsibleDeptIdsArray,
+          fileUrl: JSON.parse(res.fileUrl || '[]'),
         });
       }
       // cloneRuleFormData();

+ 1 - 1
src/views/production-safety/productionSafetySystem/safetySystemConstructionWorkPlanManagement/safetySystemConstructionWorkPlanManagementViewSender.vue

@@ -274,7 +274,7 @@ import BreadcrumbBack from '@/components/BreadcrumbBack.vue';
     router.push({
       name: 'SafetySystemConstructionWorkPlanManagementDeptItem',
       query: {
-        id: currentId.value,
+        id: row.id,
         planId: row.planId,
         operate: 'work-plan-dept-view',
       },

+ 29 - 4
src/views/production-safety/productionSafetySystem/safetySystemConstructionWorkPlanManagementDept/components/safetySystemConstructionWorkPlanManagementDeptDetail.vue

@@ -69,8 +69,9 @@
           :disabled="true"
         />
       </el-form-item>
-      <el-form-item label="附件上传:" prop="fileUrl" :required="isViewMode">
+      <el-form-item label="附件上传:" prop="fileUrl" required >
         <UploadFiles
+          v-if="isEditMode"
           label="上传附件"
           :file-list="attachmentFileList"
           :disabled="isViewMode"
@@ -78,8 +79,22 @@
           @uploadSuccess="handleAttachmentUploadSuccess"
           @preview="handlePreview"
         />
+        <div class="file-list" v-else>
+          <div class="file-item" v-for="file in form.fileUrl" :key="file.fileId">
+            <span class="file-item--name">{{ file.fileName }}</span>
+            <div class="file-item--footer">
+              <el-button link type="primary" @click="previewOnline(file.fileUrl, file.fileType)"
+                >预览</el-button
+              >
+              <el-button link type="primary" @click.stop="downloadFile(file.fileUrl, file.fileName)"
+                >下载</el-button
+              >
+            </div>
+          </div>
+        </div>
       </el-form-item>
     </el-form>
+    <PreviewOnline ref="previewOnlineRef" />
   </main>
   <footer class="safety-platform-container__footer">
     <el-button @click="router.back()">返回</el-button>
@@ -97,7 +112,7 @@
   import { FORM_RULES } from '../configs/form';
   import {
     issueWorkPlanDept,
-    queryWorkPlanDetail,
+    queryWorkPlanDepartmentDetail,
     type SaveWorkPlanRequest,
   } from '@/api/safety-system-construction-work-plan';
   import UploadFiles from '@/components/UploadFiles/UploadFiles.vue';
@@ -106,6 +121,8 @@
   import PreviewOnline from '@/views/disaster/components/PreviewOnline.vue';
   import { DeptTree } from '@/types/dept/type';
   import { getAllDepartments } from '@/api/auth/dept';
+  import { downloadFile } from '@/views/disaster/utils';
+
   const router = useRouter();
   const route = useRoute();
 
@@ -212,6 +229,13 @@
       previewOnlineRef.value?.open(url, fileType);
     }
   };
+
+  const previewOnline = (url: string | undefined, type) => {
+    if (url) {
+      previewOnlineRef.value?.open(url, type);
+    }
+  };
+
   //  时间格式化
   const formatDate = (date) => {
     if (!date) return '';
@@ -249,10 +273,10 @@
   };
 
   const getDetail = async () => {
-    const id = currentPlanId.value;
+    const id = currentId.value;
     if (!id) return;
     try {
-      const res = await queryWorkPlanDetail(id);
+      const res = await queryWorkPlanDepartmentDetail(id);
       if (res) {
         // 映射接口字段到表单字段
         const cooperateDeptIdsArray = parseDeptIds(res.cooperateDeptIds);
@@ -261,6 +285,7 @@
           ...res,
           cooperateDeptIds: cooperateDeptIdsArray,
           responsibleDeptIds: responsibleDeptIdsArray,
+          fileUrl: JSON.parse(res.fileUrl || '[]'),
         });
       }
       // cloneRuleFormData();