Przeglądaj źródła

修复basictable定位 查看文本超出问题

chauncey 11 miesięcy temu
rodzic
commit
f826591c45

+ 10 - 0
src/api/disaster-control/index.ts

@@ -41,6 +41,16 @@ export const createDisasterHandleTask = (query: DisposalManagementCreateQuery) =
   });
 };
 
+/**
+ * 删除灾害处置任务
+ */
+export const deleteDisasterHandleTask = (handleTaskId: number) => {
+  return http.request({
+    url: `/disasterHandle/deleteDisasterHandleTask?handleTaskId=${handleTaskId}`,
+    method: 'delete',
+  });
+};
+
 /**
  * 获取损失上报-上报任务数据
  */

+ 5 - 3
src/components/BasicTable.vue

@@ -72,6 +72,9 @@
 
 <style lang="scss" scoped>
   .basic-table {
+    display: flex;
+    flex-direction: column;
+    gap: 20cpx;
     width: 100%;
     height: 100%;
   }
@@ -92,9 +95,8 @@
     padding: 16cpx;
   }
   .el-pagination {
-    position: absolute;
-    bottom: 30cpx;
-    right: 40cpx;
+    display: flex;
+    justify-content: flex-end;
     :deep(.btn-prev),
     :deep(.btn-next),
     :deep(.el-pager li) {

+ 1 - 1
src/layout/MenuLayout.vue

@@ -91,7 +91,7 @@
     width: 270cpx;
   }
   .main {
-    flex: 1;
+    width: calc(100% - 270cpx);
   }
   .el-menu-vertical {
     width: 100%;

+ 2 - 2
src/types/disaster-control/index.ts

@@ -37,9 +37,9 @@ export interface DisposalManagementCollapseListResponse<T> extends DisposalManag
 }
 
 export interface disasterReportTaskInfoListResponse extends BasicResponse {
-  id: number;
+  reportTaskId: number;
   status: number;
-  reportPrincipalInfoList: PersonGroupItem[];
+  reportPrincipalInfoList: { reportPrincipalId: number; reportPrincipalName: string; reportPrincipalStaffNo: string }[];
 }
 
 export interface disasterReportRecordDetailListResponse {

+ 24 - 13
src/views/disaster/disaster-control/PageDisposalManagement.vue

@@ -47,7 +47,7 @@
               v-for="item in collapseList"
               :key="item.id"
               :name="item.taskName"
-              :defaultOpen="item.id === collapseList[0].id"
+              :defaultOpen="item.id === defaultOpenId"
             >
               <template #viewOperation>
                 <el-tooltip
@@ -107,8 +107,8 @@
                     <span>{{ getTaskStage(scope.row.taskStage) }}</span>
                   </template>
                   <template #reportPrincipals="scope">
-                    <p v-for="user in scope.row.reportPrincipalInfoList" :key="user.id">
-                      {{ user.realname }}({{ user.username }})
+                    <p v-for="user in scope.row.reportPrincipalInfoList" :key="user.reportPrincipalId">
+                      {{ user.reportPrincipalName }}({{ user.reportPrincipalStaffNo }})
                     </p>
                   </template>
                   <template #action="scope">
@@ -174,7 +174,11 @@
   import { onMounted, reactive, ref } from 'vue';
   import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
   import type { DeptTreeItem } from '@/types/dept/type';
-  import { getDisasterControlCollapseData, getDisasterControlTableData } from '@/api/disaster-control';
+  import {
+    getDisasterControlCollapseData,
+    getDisasterControlTableData,
+    deleteDisasterHandleTask,
+  } 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';
   import type {
@@ -200,7 +204,7 @@
   import ViewDocument from './src/svg/view-document.svg';
   import { FORM_OPERATE_TYPE } from './src/constant';
   import { useUserInfoHook } from '@/views/disaster/hooks/userInfo';
-
+  import { ElMessage } from 'element-plus';
   const { permissions } = useUserInfoHook();
 
   const firstLevelDepts = ref<DeptTreeItem[]>([]);
@@ -210,6 +214,7 @@
     taskStage: '',
   });
 
+  const defaultOpenId = ref<number>();
   const currentPage = ref(1);
   const pageSize = ref(DEFAULT_PAGE_SIZE);
   const total = ref(0);
@@ -276,6 +281,9 @@
         },
       ],
     }));
+    console.log(collapseList.value);
+    defaultOpenId.value = collapseList.value[0].id;
+    console.log('默认打开的ID' + defaultOpenId.value);
     taskIds.value = collapseList.value.map((item) => item.id);
     total.value = res.totalRow;
     collapseLoading.value = false;
@@ -283,15 +291,15 @@
 
   const getDisposalTableData = async () => {
     tableConfig.loading = true;
-    
+
     const { reportDeptIds, ...otherSearchData } = searchData;
-    
+
     const params = {
       handleTaskIds: taskIds.value,
       ...otherSearchData,
-      ...(reportDeptIds.length > 0 ? { reportDeptIds } : {})
+      ...(reportDeptIds.length > 0 ? { reportDeptIds } : {}),
     };
-    
+
     const res = await getDisasterControlTableData(params);
     collapseList.value.forEach((item) => {
       item.tableData = res.filter((tableItem) => tableItem.handleTaskId === item.id);
@@ -322,19 +330,22 @@
   const handleBatchRelease = (disasterReportTaskInfoList: disasterReportTaskInfoListResponse[]) => {
     const batchReleaseIds = disasterReportTaskInfoList
       .filter((item) => item.taskStage === TASK_STAGE.TO_BE_RELEASED)
-      .map((item) => item.id);
+      .map((item) => item.reportTaskId);
     console.log(batchReleaseIds);
   };
 
   const handleBatchWithdraw = (disasterReportTaskInfoList: disasterReportTaskInfoListResponse[]) => {
     const batchWithdrawIds = disasterReportTaskInfoList
       .filter((item) => item.taskStage === TASK_STAGE.TO_BE_REPORTED || item.taskStage === TASK_STAGE.OVERDUE)
-      .map((item) => item.id);
+      .map((item) => item.reportTaskId);
     console.log(batchWithdrawIds);
   };
 
-  const handleBatchDelete = (id: number) => {
-    console.log('当前任务ID' + id);
+  const handleBatchDelete = async (id: number) => {
+    await deleteDisasterHandleTask(id);
+    ElMessage.success('删除成功');
+    await getDisposalData();
+    await getDisposalTableData();
   };
 
   onMounted(async () => {

+ 3 - 14
src/views/disaster/disaster-precaution/PageTaskManagement.vue

@@ -113,7 +113,7 @@
   } from '@/api/disaster-precaution';
   import type { TaskManagementListQuery, TaskManagementListResponse } from '@/types/disaster-precaution';
   import OverdueIcon from '@/assets/svg/overdue.svg';
-  import { ElMessageBox, ElMessage } from 'element-plus';
+  import { ElMessage } from 'element-plus';
   import { INSPECT_TYPE_MAP, TASK_STAGE_MAP } from './src/constants/task-execution';
   import { ACTIVE_STATUS, ACTIVE_STATUS_COLOR, ACTIVE_STATUS_MAP } from '@/views/disaster/constant';
   import {
@@ -128,9 +128,10 @@
   import type { QueryPageRequest } from '@/types/disaster';
   import { DISASTER_PERMISSIONS } from '@/views/disaster/constant';
   import { useUserInfoHook } from '@/views/disaster/hooks/userInfo';
+  import { useMessageBox } from '@/views/disaster/hooks/messageBox';
 
   const { permissions } = useUserInfoHook();
-
+  const { openMessageBox } = useMessageBox();
   const router = useRouter();
   const searchData = reactive({
     inspectType: '',
@@ -175,18 +176,6 @@
     isBatchWithdraw.value = Boolean(withdrawIds.length);
     isBatchDelete.value = Boolean(selectionItems.value.length === publishIds.length);
   };
-  const openMessageBox = (title: string) => {
-    return ElMessageBox.confirm('', title, {
-      confirmButtonText: '确定',
-      cancelButtonText: '取消',
-    })
-      .then(() => {
-        return true;
-      })
-      .catch(() => {
-        return false;
-      });
-  };
   const handleBatchPublish = async () => {
     const confirmed = await openMessageBox('确认发布任务吗?');
     if (!confirmed) return;

+ 3 - 0
src/views/disaster/disaster-precaution/PageTaskTemplateDetail.vue

@@ -46,4 +46,7 @@
     justify-content: flex-start !important;
     gap: 8cpx !important;
   }
+  .disaster-precaution-container__main {
+    width: calc(100vw - 300cpx);
+  }
 </style>

+ 1 - 0
src/views/disaster/disaster-warning/src/components/ViewDefenseNoticeItem.vue

@@ -123,6 +123,7 @@
 
   .content {
     white-space: pre-wrap;
+    word-break: break-word;
   }
 
   .divider {

+ 16 - 0
src/views/disaster/hooks/messageBox.ts

@@ -0,0 +1,16 @@
+import { ElMessageBox } from 'element-plus';
+export const useMessageBox = () => {
+  const openMessageBox = (title: string) => {
+    return ElMessageBox.confirm('', title, {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+    })
+      .then(() => {
+        return true;
+      })
+      .catch(() => {
+        return false;
+      });
+  };
+  return { openMessageBox };
+};

+ 1 - 1
src/views/disaster/style/disaster.scss

@@ -7,7 +7,7 @@
   height: 100%;
   &__main,
   &__header {
-    width: calc(100vw - 310cpx);
+    width: 100%;
     background-color: $white-color;
     border-radius: 4cpx;
   }