Bladeren bron

修复预防检查模板

chauncey 11 maanden geleden
bovenliggende
commit
b26bb989ec

+ 1 - 1
src/api/disaster-control/index.ts

@@ -1,4 +1,4 @@
-import { http } from '@/utils/http/axios/mock';
+import { http } from '@/utils/http/axios';
 import type {
   DisposalManagementListResponse,
   DisposalManagementListQuery,

+ 0 - 2
src/types/dept/type.ts

@@ -1,5 +1,3 @@
-import { IS_DISABLED } from "@/types/common/constants"
-
 /* V4: 部门树结构 */
 export interface DeptTreeItem {
   id: number | null,

+ 1 - 1
src/types/disaster-precaution/index.ts

@@ -43,7 +43,7 @@ export interface TaskManagementItemResponse
   templateId: number | null;
 }
 export interface ContentItem {
-  executeImages?: string[];
+  executeImages: string[];
   executeName: string;
   executeResult: string;
   inspectTime: string;

+ 11 - 5
src/views/disaster/disaster-control/PageDisposalManagement.vue

@@ -173,7 +173,7 @@
   import { getAllDepartments } from '@/api/auth/dept';
   import { onMounted, reactive, ref } from 'vue';
   import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
-  import type { DeptTree } from '@/types/dept/type';
+  import type { DeptTreeItem } from '@/types/dept/type';
   import { getDisasterControlCollapseData, getDisasterControlTableData } from '@/api/disaster-control';
   import type { disasterReportTaskInfoListResponse } from '@/types/disaster-control';
   import { DEFAULT_PAGE_SIZE, DISASTER_CONTROL_PAGE_SIZE_CONFIG, TASK_STAGE } from './src/constant';
@@ -203,7 +203,7 @@
 
   const { permissions } = useUserInfoHook();
 
-  const firstLevelDepts = ref<DeptTree[]>([]);
+  const firstLevelDepts = ref<DeptTreeItem[]>([]);
   const searchData = reactive({
     reportDeptIds: [],
     status: '',
@@ -283,10 +283,16 @@
 
   const getDisposalTableData = async () => {
     tableConfig.loading = true;
-    const res = await getDisasterControlTableData({
+    
+    const { reportDeptIds, ...otherSearchData } = searchData;
+    
+    const params = {
       handleTaskIds: taskIds.value,
-      ...searchData,
-    });
+      ...otherSearchData,
+      ...(reportDeptIds.length > 0 ? { reportDeptIds } : {})
+    };
+    
+    const res = await getDisasterControlTableData(params);
     collapseList.value.forEach((item) => {
       item.tableData = res.filter((tableItem) => tableItem.handleTaskId === item.id);
     });

+ 44 - 2
src/views/disaster/disaster-precaution/src/components/TemplateTableMerge.vue

@@ -35,6 +35,19 @@
                 <div class="execute-person">
                   <span>检查人员:{{ resultData.executeName }}</span>
                   <span>时间:{{ resultData.inspectTime }}</span>
+                  <div class="execute-images" v-if="resultData.executeImages">
+                    <el-tooltip content="图片查看" effect="light">
+                      <el-image
+                        :src="ImageIcon"
+                        :zoom-rate="1.2"
+                        :max-scale="7"
+                        :min-scale="0.2"
+                        :preview-src-list="resultData.executeImages"
+                        preview-teleported
+                        fit="cover"
+                      />
+                    </el-tooltip>
+                  </div>
                 </div>
               </div>
             </div>
@@ -58,6 +71,19 @@
                 <div class="execute-person">
                   <span>审批人员:{{ opinionData.executeName }}</span>
                   <span>时间:{{ opinionData.inspectTime }}</span>
+                  <div class="execute-images" v-if="opinionData.executeImages">
+                    <el-tooltip content="图片查看" effect="light">
+                      <el-image
+                        :src="ImageIcon"
+                        :zoom-rate="1.2"
+                        :max-scale="7"
+                        :min-scale="0.2"
+                        :preview-src-list="opinionData.executeImages"
+                        preview-teleported
+                        fit="cover"
+                      />
+                    </el-tooltip>
+                  </div>
                 </div>
               </div>
             </div>
@@ -84,14 +110,17 @@
               :disabled="operationType !== 'check'"
               v-if="props.operationType !== 'template'"
             />
-            <div v-if="JSON.parse(scope.row.inspectImages).length > 0" class="image-icon">
+            <div
+              v-if="props.operationType !== 'template' && safetyJsonParse(scope.row.inspectImages).length > 0"
+              class="image-icon"
+            >
               <el-tooltip content="图片查看" effect="light">
                 <el-image
                   :src="ImageIcon"
                   :zoom-rate="1.2"
                   :max-scale="7"
                   :min-scale="0.2"
-                  :preview-src-list="JSON.parse(scope.row.inspectImages)"
+                  :preview-src-list="safetyJsonParse(scope.row.inspectImages)"
                   preview-teleported
                   fit="cover"
                 />
@@ -291,6 +320,15 @@
     emit('validate-change', valid);
   };
 
+  const safetyJsonParse = (value: string) => {
+    console.log(value);
+    try {
+      return JSON.parse(value);
+    } catch (error) {
+      return [];
+    }
+  };
+
   // 监听主表数据变化
   watch(
     () => props.mainTable,
@@ -437,6 +475,10 @@
       width: 100%;
       flex: 1;
     }
+    :deep(.el-tooltip__trigger) {
+      display: flex;
+      align-items: center;
+    }
   }
   .image-icon {
     margin-top: 10px;

+ 1 - 1
src/views/disaster/utils/formatDeptTree.ts

@@ -3,7 +3,7 @@
  */
 import type { DeptTree } from '@/types/dept/type';
 
-export function formatDeptTree(deptTree: DeptTree) {
+export function formatDeptTree(deptTree: DeptTree[]) {
   const firstLevelDepts = deptTree[0].children;
   return firstLevelDepts;
 }

+ 1 - 1
utils/devProxy/staff/proxy.ts

@@ -3,7 +3,7 @@ import path from 'path';
 
 // staff环境
 const proxyStaff: PROXY_TYPE = {
-  serverHost: 'http://192.168.13.68:8802/',
+  serverHost: 'http://192.168.22.121:8802/',
   loginHost: 'http://192.168.13.68:7200/login/#/',
   fileUploadHost: 'http://192.168.13.102:9000/',
 };