Bläddra i källkod

Merge branch 'cc-dev' into 'dev'

修改防御通知title

See merge request product-group-fe/sfy-safety-group/sfy-safety!40
陈昶 11 månader sedan
förälder
incheckning
38faad81b9

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

@@ -8,6 +8,7 @@ import type {
   LossReportReportTaskResponse,
   LossRecordTableQuery,
   LossRecordTableResponse,
+  DisposalManagementCreateQuery,
 } from '@/types/disaster-control';
 import type { QueryPageResponse, QueryPageRequest } from '@/types/disaster';
 /**
@@ -29,6 +30,17 @@ export const getDisasterControlTableData = (query: DisposalManagementTableQuery)
   });
 };
 
+/**
+ * 创建灾害处置任务
+ */
+export const createDisasterHandleTask = (query: DisposalManagementCreateQuery) => {
+  return http.request({
+    url: '/disasterHandle/saveDisasterHandleTask',
+    method: 'post',
+    data: query,
+  });
+};
+
 /**
  * 获取损失上报-上报任务数据
  */

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

@@ -70,12 +70,16 @@ export interface LossReportReportTaskResponse extends BasicResponse {
   handleTaskName: string;
 }
 
-export interface DisposalManagementRuleForm {
+export interface DisposalManagementCreateQuery {
   taskName: string;
   deptIds: number[];
   dueCompleteTime: string;
   reportRequirement: string;
   userGroupList: number[];
-  isPush: number | null;
+  isPush: boolean;
+}
+
+export interface DisposalManagementRuleForm extends Omit<DisposalManagementCreateQuery, 'isPush'> {
+  isPush: boolean | null;
   realname: string;
 }

+ 1 - 1
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 === 1"
+              :defaultOpen="item.id === collapseList[0].id"
             >
               <template #viewOperation>
                 <el-tooltip

+ 4 - 1
src/views/disaster/disaster-control/PageDisposalManagementItem.vue

@@ -21,6 +21,8 @@
   import { useRoute, useRouter } from 'vue-router';
   import BackIcon from 'assets/svg/back.svg';
   import { ElMessage } from 'element-plus';
+  import { createDisasterHandleTask } from '@/api/disaster-control';
+
   const router = useRouter();
   const route = useRoute();
   const operate = route.query.operate;
@@ -51,9 +53,10 @@
     if (!res) return;
     formLoading.value = true;
     const formData = dynamicComponentRef.value.getFormData();
-    console.log(formData);
+    await createDisasterHandleTask(formData);
     ElMessage.success('提交成功');
     formLoading.value = false;
+    router.back();
   };
 </script>
 

+ 3 - 1
src/views/disaster/disaster-control/PageDisposalManagementTaskItem.vue

@@ -21,6 +21,7 @@
   import { useRoute, useRouter } from 'vue-router';
   import BackIcon from 'assets/svg/back.svg';
   import { ElMessage } from 'element-plus';
+  import { createDisasterHandleTask } from '@/api/disaster-control';
   const router = useRouter();
   const route = useRoute();
   const operate = route.query.operate;
@@ -47,9 +48,10 @@
     if (!res) return;
     formLoading.value = true;
     const formData = dynamicComponentRef.value.getFormData();
-    console.log(formData);
+    await createDisasterHandleTask(formData);
     ElMessage.success('提交成功');
     formLoading.value = false;
+    router.back();
   };
 </script>
 

+ 2 - 2
src/views/disaster/disaster-control/src/components/CreateDisposalManagementItem.vue

@@ -37,7 +37,7 @@
   import { onMounted, ref } from 'vue';
   import { useUserInfoHook } from '@/views/disaster/hooks/userInfo';
   import type { DisposalManagementRuleForm } from '@/types/disaster-control';
-  import type { DeptTree } from '@/types/dept/type';
+  import type { DeptTreeItem } from '@/types/dept/type';
   import type { UserGroupOption } from '@/types/person-group/type';
   import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
   import { getAllDepartments } from '@/api/auth/dept';
@@ -49,7 +49,7 @@
   const taskName = route.query.taskName as string;
   const basicFormRef = ref<InstanceType<typeof BasicForm>>();
 
-  const firstLevelDepts = ref<DeptTree[]>([]);
+  const firstLevelDepts = ref<DeptTreeItem[]>([]);
   const groupOptions = ref<UserGroupOption[]>([]);
 
   const { ruleFormConfig, ruleFormData, formRules, cloneRuleFormData, beforeRouteLeave } =

+ 5 - 3
src/views/disaster/disaster-control/src/components/LossRecord.vue

@@ -114,10 +114,10 @@
   import Empty from 'assets/images/empty@1X.png';
   import useTableConfig from '@/hooks/useTableConfigHook';
   import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
-  import type { DeptTree } from '@/types/dept/type';
+  import type { DeptTreeItem } from '@/types/dept/type';
   import { getPriorityStatus, getfixStatus } from '../util';
 
-  const firstLevelDepts = ref<DeptTree[]>([]);
+  const firstLevelDepts = ref<DeptTreeItem[]>([]);
 
   const currentPage = ref(1);
   const pageSize = ref(DEFAULT_PAGE_SIZE);
@@ -157,9 +157,11 @@
 
   const getDisposalTableData = async () => {
     tableConfig.loading = true;
+    const { handleDeptIds, ...otherSearchData } = searchData;
     const res = await getLossRecordTableData({
       handleTaskIds: taskIds.value,
-      ...searchData,
+      ...otherSearchData,
+      ...(handleDeptIds.length > 0 ? { handleDeptIds } : {}),
     });
     collapseList.value.forEach((item) => {
       item.tableData = res.filter((tableItem) => tableItem.handleTaskId === item.id);

+ 1 - 1
src/views/disaster/disaster-warning/PageDefenseNoticeItem.vue

@@ -36,7 +36,7 @@
     } else if (operate === 'edit') {
       return `编辑${fixedTitle}`;
     }
-    return `查看${fixedTitle}`;
+    return '通知详情';
   });
   const dynamicComponent = computed(() => {
     if (operate === 'create') {