From 53ed3f94c44709c5d571d580dccd8149f020ffb7 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期五, 22 七月 2022 11:00:42 +0800
Subject: [PATCH] 应急预案一览对接
---
src/api/contingency/index.ts | 19
/dev/null | 475 ----------------------
src/views/contingencyManagement/panManagement/index.vue | 226 ++++------
src/views/contingencyManagement/emergencyPlanStartRecord/index.vue | 130 +++--
src/views/contingencyManagement/panManagement/component/openAdd.vue | 51 +-
src/api/emergencyPlanLog/index.ts | 13
src/views/contingencyManagement/contingency/index.vue | 68 +-
src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue | 8
src/views/contingencyManagement/contingency/component/openSee.vue | 246 +++++++----
src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue | 2
src/views/contingencyManagement/contingency/component/openAdd.vue | 11
11 files changed, 421 insertions(+), 828 deletions(-)
diff --git a/src/api/contingency/index.ts b/src/api/contingency/index.ts
index b416ef2..2b1e17f 100644
--- a/src/api/contingency/index.ts
+++ b/src/api/contingency/index.ts
@@ -17,6 +17,13 @@
data: data
});
},
+ seeEmergencyTeam: (data: object) => {
+ return request({
+ url: `/emergencyTeam/info/{id}`,
+ method: 'post',
+ data: data
+ });
+ },
// v1
editEmergencyTeam: (data: object) => {
return request({
@@ -26,11 +33,17 @@
});
},
// v2
- deleteEmergencyTeam: (value?: object) => {
+ // deleteEmergencyTeam: (value?: object) => {
+ // return request({
+ // url: `/emergencyTeam/batchDelete/{ids}`,
+ // method: 'get',
+ // data: value
+ // });
+ // },
+ deleteEmergencyTeam: (ids: number | null) => {
return request({
- url: `/emergencyTeam/batchDelete/{ids}`,
+ url: `/emergencyTeam/batchDelete?depId=${ids}`,
method: 'get',
- data: value
});
},
}
diff --git a/src/api/emergencyPlanLog/index.ts b/src/api/emergencyPlanLog/index.ts
new file mode 100644
index 0000000..2453a9d
--- /dev/null
+++ b/src/api/emergencyPlanLog/index.ts
@@ -0,0 +1,13 @@
+import request from '/@/utils/request';
+
+export function emergencyPlanLogApi(){
+ return{
+ getEmergencyPlanLogList: (params: object) => {
+ return request({
+ url: '/emergencyPlanLog/page/list',
+ method: 'post',
+ data:params
+ })
+ },
+ }
+}
\ No newline at end of file
diff --git a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
index 9998a23..d6ba91c 100644
--- a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
+++ b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
@@ -1,7 +1,7 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="新建应急队伍人员"
+ :title="title"
v-model="isShowDialog"
width="769px"
draggable
diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue
index 7a3e369..d88e035 100644
--- a/src/views/contingencyManagement/contingency/component/openAdd.vue
+++ b/src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -18,7 +18,7 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="队伍名称" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称"></el-input>
+ <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled="disabled"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -73,7 +73,7 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="相关附件" prop="attachments">
+ <el-form-item label="相关附件" prop="fileList">
<el-upload
v-model:file-list="fileList"
class="upload-demo"
@@ -90,6 +90,9 @@
</el-upload>
</el-form-item>
</el-col>
+ </el-row>
+ </el-form>
+ <el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="应急队伍人员" name="first">
@@ -119,7 +122,6 @@
</el-tabs>
</el-col>
</el-row>
- </el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="isShowDialog = !isShowDialog" size="default">关闭</el-button>
@@ -183,6 +185,7 @@
principalPhone: string;
telephoneNumber: string;
teamDesc: string;
+ fileList: string,
};
menuData: Array<MenuDataTree>;
}
@@ -205,6 +208,7 @@
principalPhone: '', // 负责人手机
telephoneNumber: '', // 固定电话
teamDesc: '', //队伍描述
+ fileList: [],
},
menuData: [],
});
@@ -222,6 +226,7 @@
principalPhone: '', // 负责人手机
telephoneNumber: '', // 固定电话
teamDesc: '', //队伍描述
+ fileList: [],
}
}else{
state.title = '修改应急队伍管理'
diff --git a/src/views/contingencyManagement/contingency/component/openEdit.vue b/src/views/contingencyManagement/contingency/component/openEdit.vue
deleted file mode 100644
index fbd8de4..0000000
--- a/src/views/contingencyManagement/contingency/component/openEdit.vue
+++ /dev/null
@@ -1,475 +0,0 @@
-<template>
- <div class="system-edit-user-container">
- <el-dialog title="编辑应急队伍管理" v-model="isShowDialog" width="769px">
- <el-form
- ref="ruleFormRef"
- :rules="rules"
- :model="ruleForm"
- size="default"
- label-width="120px"
- :fullscreen="full"
- >
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-row :gutter="35">
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍名称" prop="teamName">
- <el-input v-model="ruleForm.teamName"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍级别" prop="teamLevel">
- <el-select v-model="ruleForm.teamLevel" class="w100">
- <el-option label="公司" value="admin"></el-option>
- <el-option label="分厂-车间" value="common"></el-option>
- <el-option label="工序-班组等" value="shang"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍负责人" prop="teamLeader">
- <el-input
- v-model="ruleForm.teamLeader"
- placeholder="请选择"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" @click="openUser"/>
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人部门" prop="responsibleDepartment">
- <el-tree-select v-model="ruleForm.responsibleDepartment" :data="data" class="w100"/>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人手机" prop="teamPhone">
- <el-input v-model="ruleForm.teamPhone"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="固定电话" prop="telephone">
- <el-input v-model="ruleForm.telephone"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="队伍描述">
- <el-input
- class="textarea"
- v-model="ruleForm.describe"
- type="textarea"
- maxlength="150"
- placeholder="请填写队伍描述"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="相关附件">
- <el-upload
- v-model:file-list="fileList"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- :on-change="handleChange"
- >
- <el-button type="primary">点击上传</el-button>
- <template #tip>
- <div class="el-upload__tip">
- 添加相关附件
- </div>
- </template>
- </el-upload>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
- <el-tab-pane label="应急队伍人员" name="first">
- <el-button type="primary" size="default" @click="onAddEmergencyPersonnel">新增</el-button>
- <el-table
- :data="tableData"
- style="width: 100%;margin-top: 15px;"
- ref="multipleTableRef"
- :header-cell-style="{background:'#f6f7fa',color:'#909399'}"
- >
- <el-table-column prop="jobNumber" label="人员工号" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="personnelName" label="人员名称" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="phone" label="手机号码" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="position" label="职位" show-overflow-tooltip sortable></el-table-column>
- <el-table-column label="操作" width="200" align="center">
- <template #default="scope">
- <el-button size="small" type="primary" text="plain" >查看
- </el-button>
- <el-button size="small" type="primary" text="plain" @click="onEditEmergencyPersonnel(scope.row)" style="margin-right: 5px;">编辑
- </el-button>
- <el-button size="small" type="primary" text="plain" style="margin-right: 5px;">删除
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="onCancel" size="default">关闭</el-button>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
- </span>
- </template>
- </el-dialog>
- <userSelections ref="userRef"/>
- <AddEmergencyPersonnel ref="addRef" />
- <EditEmergencyPersonnel ref="editRef" />
- </div>
-</template>
-
-<script lang="ts">
-import {
- reactive,
- toRefs,
- ref,
- onMounted,
- defineComponent
-} from 'vue';
-import type {
- UploadUserFile,
- TabsPaneContext,
- FormInstance,
- FormRules,
- ElTable,
-} from 'element-plus'
-import {
- Search,
- FullScreen
-} from '@element-plus/icons-vue'
-import UserSelections from "/@/components/userSelections/index.vue"
-import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue";
-import EditEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/editEmergencyPersonnel.vue";
-// 定义表格数据类型
-interface User {
- personnelName: string
- jobNumber: string
- phone: string;
- position: string;
-}
-// 定义接口来定义对象的类型
-interface TableDataRow {
- // userName: string;
- // userNickname: string;
- // roleSign: string;
- // department: string[];
- // phone: string;
- // email: string;
-}
-// 定义接口来定义对象的类型
-interface DeptData {
- deptName: string;
- createTime: string;
- status: boolean;
- sort: number | string;
- describe: string;
- id: number;
- children?: DeptData[];
-}
-// 定义接口来定义对象的类型
-interface RuleFormRow {
- // teamName: string;
- // teamLevel: string;
- // teamLeader: string;
- // responsibleDepartment: any
- // teamPhone: string;
- // telephone: string;
- // describe: string;
- selectPeople:string
- jobNumber: string;
- personnelName: string;
- personnelGender: string;
- phone: string;
- position: string;
-}
-interface UserState {
- isShowDialog: boolean;
- ruleForm: RuleFormRow;
- deptData: Array<DeptData>;
-}
-
-export default defineComponent({
- name: 'openEdit',
- components: {
- UserSelections,
- AddEmergencyPersonnel,
- EditEmergencyPersonnel
- },
- setup() {
- const state = reactive<UserState>({
- isShowDialog: false,
- ruleForm: {
- selectPeople:'111', //选择人员
- jobNumber: '', // 人员工号
- phone: '', // 手机号码
- personnelGender: '', //人员性别
- position: '', //职位
- personnelName: '', // 人员名称
- },
- deptData: [], // 部门数据
- });
-
- // 关闭弹窗
- const closeDialog = () => {
- state.isShowDialog = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
- };
- // // 新增
- // const onSubmit = () => {
- // closeDialog();
- // };
- // 初始化部门数据
- const initTableData = () => {
- state.deptData.push({
- deptName: 'vueNextAdmin',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '顶级部门',
- id: Math.random(),
- children: [
- {
- deptName: 'IT外包服务',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '总部',
- id: Math.random(),
- },
- {
- deptName: '资本控股',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '分部',
- id: Math.random(),
- },
- ],
- });
- };
- // 页面加载时
- onMounted(() => {
- initTableData();
- });
- // 上传附件
- const fileList = ref<UploadUserFile[]>([])
-
- //定义树形下拉框
- const responsibleDepartment = ref()
- const data = [
- {
- value: '1',
- label: '广汇能源综合物流发展有限责任公司',
- children: [
- {
- value: '1-1',
- label: '经营班子',
- children: [],
- },
- ],
- },
- {
- value: '2',
- label: '生产运行部',
- children: [
- {
- value: '2-1',
- label: '灌装一班',
- children: []
- },
- {
- value: '2-2',
- label: '工艺四班',
- children: [],
- },
- ],
- },
- {
- value: '3',
- label: '设备部',
- children: [
- {
- value: '3-1',
- label: '仪表班',
- children: [],
- },
- {
- value: '3-2',
- label: '机修班',
- children: [],
- },
- ],
- },
- ]
- //定义tabs切换
- const activeName = ref('first')
-
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event)
- }
- //添加队伍负责人弹窗
- const addRef = ref();
- const onAddEmergencyPersonnel = () => {
- addRef.value.openDialog();
- };
-
- //定义表格数据
- const multipleTableRef = ref<InstanceType<typeof ElTable>>()
- const multipleSelection = ref<User[]>([])
- const tableData: User[] = [
- {
- personnelName: '张志刚',
- jobNumber: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNumber: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNumber: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNumber: '1037',
- position: '副组长',
- phone: '13673321356',
- }
- ]
- // 必填项提示
- const rules = reactive<FormRules>({
- teamName: [
- {
- required: true,
- message: '队伍名称不能为空',
- trigger: 'change',
- },
- ],
- teamLevel: [
- {
- required: true,
- message: '队伍级别不能为空',
- trigger: 'change',
- },
- ],
- teamLeader: [
- {
- required: true,
- message: '队伍负责人不能为空',
- trigger: 'change',
- },
- ],
- responsibleDepartment: [
- {
- required: true,
- message: '负责人部门不能为空',
- trigger: 'change',
- },
- ],
- teamPhone: [
- {
- required: true,
- message: '负责人手机不能为空',
- trigger: 'change',
- },
- ],
- telephone: [
- {
- required: true,
- message: '固定电话不能为空',
- trigger: 'change',
- },
- ],
- })
-
- // 打开用户选择弹窗
- const userRef = ref();
- const openUser = () => {
- userRef.value.openDialog();
- };
-
- const ruleFormRef = ref<FormInstance>()
- // 打开弹窗
- const openDialog = (row: RuleFormRow) => {
- state.ruleForm = row;
- state.isShowDialog = true;
- };
- // 表单提交验证必填项
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- console.log('submit!')
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- //表格编辑弹窗
- const editRef = ref();
- const onEditEmergencyPersonnel = (row: TableDataRow) => {
- editRef.value.openDialog(row);
- };
- //全屏
- const full = ref(false);
- const toggleFullscreen = () => {
- if (full.value == false) {
- full.value = true;
- } else {
- full.value = false;
- }
- };
- return {
- openDialog,
- closeDialog,
- onCancel,
- // onSubmit,
- fileList,
- responsibleDepartment,
- data,
- activeName,
- handleClick,
- multipleSelection,
- onAddEmergencyPersonnel,
- onEditEmergencyPersonnel,
- addRef,
- editRef,
- submitForm,
- Search,
- rules,
- ruleFormRef,
- tableData,
- multipleTableRef,
- openUser,
- userRef,
- ...toRefs(state),
- toggleFullscreen,
- FullScreen,
- full,
- };
- },
-});
-</script>
-<style scoped lang="scss">
-.textarea{
- height: 168px!important;
-}
-.textarea ::v-deep .el-textarea__inner{
- height: 168px!important;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/contingency/component/openSee.vue b/src/views/contingencyManagement/contingency/component/openSee.vue
index abfd5e9..066f66d 100644
--- a/src/views/contingencyManagement/contingency/component/openSee.vue
+++ b/src/views/contingencyManagement/contingency/component/openSee.vue
@@ -1,22 +1,27 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="查看应急队伍管理"
+ :title="title"
v-model="isShowDialog"
width="769px"
draggable
:fullscreen="full"
>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="ruleForm" size="default" label-width="90px">
+ <el-form
+ :model="ruleForm"
+ size="default"
+ :rules="rules"
+ label-width="120px"
+ >
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍名称">
+ <el-form-item label="队伍名称" prop="teamName">
<el-input v-model="ruleForm.teamName" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍级别">
+ <el-form-item label="队伍级别" prop="teamLevel">
<el-select v-model="ruleForm.teamLevel" :disabled="true" class="w100">
<el-option label="公司" value="admin"></el-option>
<el-option label="分厂-车间" value="common"></el-option>
@@ -25,9 +30,9 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍负责人">
+ <el-form-item label="队伍负责人" prop="principalUid">
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.principalUid"
placeholder="Please input"
class="input-with-select"
:disabled="true"
@@ -39,27 +44,27 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人部门">
- <el-tree-select v-model="ruleForm.responsibleDepartment" :data="data" :disabled="true" class="w100"/>
+ <el-form-item label="负责人部门" prop="principalDepartmentId">
+ <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" :disabled="true" class="w100"/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人手机">
- <el-input v-model="ruleForm.teamPhone" :disabled="true"></el-input>
+ <el-form-item label="负责人手机" prop="principalPhone">
+ <el-input v-model="ruleForm.principalPhone" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="固定电话">
- <el-input v-model="ruleForm.telephone" :disabled="true"></el-input>
+ <el-form-item label="固定电话" prop="telephoneNumber">
+ <el-input v-model="ruleForm.telephoneNumber" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="队伍描述">
- <el-input class="textarea" v-model="ruleForm.describe" type="textarea" :disabled="true" maxlength="150"></el-input>
+ <el-form-item label="队伍描述" prop="teamDesc">
+ <el-input class="textarea" v-model="ruleForm.teamDesc" type="textarea" :disabled="true" maxlength="150"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="相关附件">
+ <el-form-item label="相关附件" prop="fileList">
<el-upload
v-model:file-list="fileList"
class="upload-demo"
@@ -121,6 +126,7 @@
import type {
UploadUserFile,
TabsPaneContext,
+ FormRules,
} from 'element-plus'
import {
Search,
@@ -128,29 +134,12 @@
} from '@element-plus/icons-vue'
// import AddTeamLeader from '/@/views/contingency/component/addEmergencyPersonnel.vue';
// 定义接口来定义对象的类型
-interface DeptData {
- deptName: string;
- createTime: string;
- status: boolean;
- sort: number | string;
- describe: string;
+interface MenuDataTree {
id: number;
- children?: DeptData[];
+ label: string;
+ children?: MenuDataTree[];
}
-interface RuleFormRow {
- teamName: string;
- teamLevel: string;
- teamLeader: string;
- department: any;
- phone: string;
- telephone: string;
- describe: string;
-}
-interface UserState {
- isShowDialog: boolean;
- ruleForm: RuleFormRow;
- deptData: Array<DeptData>;
-}
+
// 定义表格数据类型
interface User {
personnelName: string
@@ -158,39 +147,66 @@
phone: string;
position: string;
}
-// // 定义表格数据类型
-// interface Team {
-// personnelName: string
-// teamLevel: string
-// teamDescription: string
-// teamPhone: string
-// phone: string;
-// describe: string;
-// responsibleDepartment: string
-// }
+
+interface RoleState {
+ title:string,
+ // buttonName:string,
+ isShowDialog: boolean;
+ ruleForm: {
+ teamName: string;
+ teamLevel: string;
+ principalUid: number;
+ principalDepartmentId: number;
+ principalPhone: string;
+ telephoneNumber: string;
+ teamDesc: string;
+ fileList: string,
+ };
+ menuData: Array<MenuDataTree>;
+}
export default defineComponent({
name: 'openSee',
components: {
// Search,
},
setup() {
- const state = reactive<UserState>({
+ const state = reactive<RoleState>({
isShowDialog: false,
+ title:'',
+ // buttonName:'',
ruleForm: {
teamName: '', // 队伍名称
teamLevel: '', // 队伍级别
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
- describe: '', // 队伍描述
+ principalUid: 1, // 队伍负责人
+ principalDepartmentId: 2, //负责人部门
+ principalPhone: '', // 负责人手机
+ telephoneNumber: '', // 固定电话
+ teamDesc: '', //队伍描述
+ fileList: [],
},
- deptData: [], // 部门数据
+ menuData: [],
});
// 打开弹窗
- const openDialog = (row: RuleFormRow) => {
- state.ruleForm = row;
+ const openDialog = (type: string, value: any) => {
state.isShowDialog = true;
+ if(type === '查看'){
+ state.title = '查看应急队伍管理'
+ // state.buttonName = '新增'
+ state.ruleForm = {
+ teamName: '', // 队伍名称
+ teamLevel: '', // 队伍级别
+ principalUid: 1, // 队伍负责人
+ principalDepartmentId: 2, //负责人部门
+ principalPhone: '', // 负责人手机
+ telephoneNumber: '', // 固定电话
+ teamDesc: '', //队伍描述
+ fileList: [],
+ }
+ }else{
+ // state.title = '修改应急队伍管理'
+ // // state.buttonName = '确定'
+ // state.ruleForm = JSON.parse(JSON.stringify(value))
+ }
};
// 关闭弹窗
const closeDialog = () => {
@@ -200,39 +216,39 @@
const onCancel = () => {
closeDialog();
};
- // 初始化部门数据
- const initTableData = () => {
- state.deptData.push({
- deptName: 'vueNextAdmin',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '顶级部门',
- id: Math.random(),
- children: [
- {
- deptName: 'IT外包服务',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '总部',
- id: Math.random(),
- },
- {
- deptName: '资本控股',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '分部',
- id: Math.random(),
- },
- ],
- });
- };
- // 页面加载时
- onMounted(() => {
- initTableData();
- });
+ // // 初始化部门数据
+ // const initTableData = () => {
+ // state.deptData.push({
+ // deptName: 'vueNextAdmin',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '顶级部门',
+ // id: Math.random(),
+ // children: [
+ // {
+ // deptName: 'IT外包服务',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '总部',
+ // id: Math.random(),
+ // },
+ // {
+ // deptName: '资本控股',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '分部',
+ // id: Math.random(),
+ // },
+ // ],
+ // });
+ // };
+ // // 页面加载时
+ // onMounted(() => {
+ // initTableData();
+ // });
// 上传附件
const fileList = ref<UploadUserFile[]>([])
@@ -319,16 +335,55 @@
}
]
- // //添加队伍负责人
- // const addRef = ref();
- // //添加队伍负责人弹窗
- // const onAddTeamLeader = () => {
- // addRef.value.openDialog();
- // };
+ // 必填项提示
+ const rules = reactive<FormRules>({
+ teamName: [
+ {
+ required: true,
+ message: '队伍名称不能为空',
+ trigger: 'change',
+ },
+ ],
+ teamLevel: [
+ {
+ required: true,
+ message: '队伍级别不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalUid: [
+ {
+ required: true,
+ message: '队伍负责人不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalDepartmentId: [
+ {
+ required: true,
+ message: '负责人部门不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalPhone: [
+ {
+ required: true,
+ message: '负责人手机不能为空',
+ trigger: 'change',
+ },
+ ],
+ telephoneNumber: [
+ {
+ required: true,
+ message: '固定电话不能为空',
+ trigger: 'change',
+ },
+ ],
+ })
//全屏
const full = ref(false);
const toggleFullscreen = () => {
- if (full.value == false) {
+ if(full.value == false) {
full.value = true;
} else {
full.value = false;
@@ -352,6 +407,7 @@
toggleFullscreen,
FullScreen,
full,
+ rules,
};
},
});
diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue
index 3e66827..3efb4cd 100644
--- a/src/views/contingencyManagement/contingency/index.vue
+++ b/src/views/contingencyManagement/contingency/index.vue
@@ -17,7 +17,7 @@
<el-button size="default" type="primary" class="ml10" @click="onSubmit">
查询
</el-button>
- <el-button size="default" class="ml10" @click="submitReset">
+ <el-button size="default" class="ml10">
重置
</el-button>
</el-form-item>
@@ -75,12 +75,12 @@
<el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="操作" width="200" align="center" fixed="right">
<template #default="scope">
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenAdd('查看',scope.row)">
<el-icon style="margin-right: 5px;">
<View />
</el-icon>查看
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenAdd('修改',scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenAdd('修改',scope.row)">
<el-icon style="margin-right: 5px;">
<EditPen />
</el-icon>修改
@@ -93,23 +93,24 @@
</template>
</el-table-column>
</el-table>
- <el-pagination
- @size-change="onHandleSizeChange"
- @current-change="onHandleCurrentChange"
- class="mt15"
- :pager-count="5"
- :page-sizes="[10, 20, 30]"
- v-model:current-page="formInline.pageIndex"
- background
- v-model:page-size="formInline.pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="tableData.total"
- >
- </el-pagination>
+ <div class="pages">
+ <el-pagination
+ @size-change="onHandleSizeChange"
+ @current-change="onHandleCurrentChange"
+ class="mt15"
+ :pager-count="5"
+ :page-sizes="[10, 20, 30]"
+ v-model:current-page="formInline.pageIndex"
+ background
+ v-model:page-size="formInline.pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ >
+ </el-pagination>
+ </div>
</el-card>
<OpenAdd ref="addRef" @refreshRoleList="initTableData"/>
- <OpenSee ref="seeRef" />
-<!-- <OpenEdit ref="editRef" />-->
+ <OpenSee ref="seeRef" @refreshRoleList="initTableData"/>
<upData ref="upShow"></upData>
</div>
</template>
@@ -137,11 +138,9 @@
EditPen,
} from '@element-plus/icons-vue'
import OpenAdd from '/@/views/contingencyManagement/contingency/component/openAdd.vue';
-// import OpenEdit from '/@/views/contingencyManagement/contingency/component/openEdit.vue';
import OpenSee from '/@/views/contingencyManagement/contingency/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/contingency/component/upData.vue';
import {contingencyApi} from "/@/api/contingency";
-import {useRoleApi} from "/@/api/system/role";
// 定义表格数据类型
@@ -175,7 +174,6 @@
components: {
OpenAdd,
OpenSee,
- // OpenEdit,
View,
EditPen,
Plus,
@@ -242,19 +240,14 @@
};
//查看用户弹窗
const seeRef = ref();
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
+ const onOpenSee = (type: string, value: any) => {
+ seeRef.value.openDialog(type, value);
};
// 打开新增应急队伍弹窗
const addRef = ref();
const onOpenAdd = (type: string, value: any) => {
addRef.value.openDialog(type, value);
};
- // 打开修改用户弹窗
- // const editRef = ref();
- // const onOpenEdit = (row: TableDataRow) => {
- // editRef.value.openDialog(row);
- // };
// 删除用户
const onRowDel = (row: any) => {
ElMessageBox.confirm(`此操作将永久删除队伍名称:“${row}”,是否继续?`, '提示', {
@@ -263,7 +256,7 @@
type: 'warning',
})
.then(async () => {
- let res = await useRoleApi().deleteEmergencyTeam({roleId:row.roleId})
+ let res = await contingencyApi().deleteEmergencyTeam({principalUid:row.principalUid})
if(res.data.code ==='200'){
ElMessage({
type:'success',
@@ -304,8 +297,6 @@
initTableData,
onOpenSee, //查看
seeRef,
- // onOpenEdit, //编辑
- // editRef,
onOpenAdd, //新增
addRef,
onRowDel,
@@ -331,13 +322,14 @@
justify-content: space-between;
margin-bottom: 10px;
}
- .pages{
- padding-top: 20px;
- display: flex;
- justify-content: flex-end;
- }
-.el-form .el-form-item:last-of-type{
- margin-bottom: 22px!important;
+//分页
+.pages{
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 15px;
+}
+.el-form .el-form-item{
+ margin-bottom: 0px!important;
}
//弹窗底部边框线
::v-deep .el-dialog__footer{
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
index deb5088..81f3aa9 100644
--- a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
@@ -4,14 +4,13 @@
<div class="system-user-search mb15">
<el-form
ref="ruleFormRef"
- :model="ruleForm"
size="default"
label-width="80px"
:inline="true"
>
<el-form-item prop="telephone" >
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="listQuery.searchParams.planId"
placeholder="请选择应急预案"
class="input-with-select"
>
@@ -20,7 +19,7 @@
</template>
</el-input>
</el-form-item>
- <el-button size="default" type="primary" class="ml10">
+ <el-button size="default" type="primary" class="ml10" @click="listApi">
查询
</el-button>
<el-button size="default" class="ml10" @click="submitReset">
@@ -84,15 +83,13 @@
</el-table>
<div class="pages">
<el-pagination
+ v-if="tableData.length == 0 ? false : true"
v-model:currentPage="pageIndex"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 30]"
:pager-count="5"
- :small="small"
- :disabled="disabled"
- :background="background"
layout="total, sizes, prev, pager, next, jumper"
- :total="40"
+ :total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
@@ -107,7 +104,7 @@
import {
// toRefs,
reactive,
- // onMounted,
+ onMounted,
ref,
defineComponent
} from 'vue';
@@ -125,10 +122,12 @@
Download,
Refresh,
View,
+ Edit,
EditPen,
} from '@element-plus/icons-vue'
import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
import SelectEmergencyPlan from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue'
+import {emergencyPlanLogApi} from "/@/api/emergencyPlanLog";
// 定义表格数据类型
interface User {
@@ -149,7 +148,7 @@
View,
EditPen,
Plus,
- // Edit,
+ Edit,
Delete,
SelectEmergencyPlan,
Download,
@@ -157,23 +156,14 @@
},
setup() {
const ruleFormRef = ref<FormInstance>()
- //定义表单
- const ruleForm = reactive({
- teamName: '', // 队伍名称
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
+ // 列表参数
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ planId: '',
+ },
});
- // const seeRef = ref();
- const editRef = ref();
- // 选择框
- // const value = ref('');
- // const options =
- // {
- // value: 'Option1',
- // label: 'Option1',
- // };
const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const multipleSelection = ref<User[]>([])
@@ -182,39 +172,56 @@
const upButton=()=>{
upShow.value.openDialog()
}
- // 定义表格数据
- const tableData: User[] = [
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
+ // 请求列表数据
+ const listApi = async () => {
+ let res = await emergencyPlanLogApi().getEmergencyPlanLogList(listQuery);
+ console.log(res);
+ if (res.data.code == 200) {
+ tableData.value = res.data.data;
+ pageIndex.value = res.data.pageIndex;
+ pageSize.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage.error(res.data.msg);
}
- ]
- // // 打开新增用户弹窗
- // const addRef = ref();
- // const onOpenAdd = () => {
- // addRef.value.openDialog();
- // };
+ };
+ //重置
+ const submitReset = () => {
+ listQuery.searchParams.planId = '';
+ listApi();
+ };
+ const total = ref();
+ const tableData = ref([]);
+ // 定义表格数据
+ // const tableData: User[] = [
+ // {
+ // teamName: '消防安全绳',
+ // teamLevel: 'YJWZ20210208104332',
+ // teamDescription: '安全管理部',
+ // materialClassification: '事故气体吸收装置',
+ // },
+ // {
+ // teamName: '消防安全绳',
+ // teamLevel: 'YJWZ20210208104332',
+ // teamDescription: '安全管理部',
+ // materialClassification: '事故气体吸收装置',
+ // },
+ // {
+ // teamName: '消防安全绳',
+ // teamLevel: 'YJWZ20210208104332',
+ // teamDescription: '安全管理部',
+ // materialClassification: '事故气体吸收装置',
+ // },
+ // {
+ // teamName: '消防安全绳',
+ // teamLevel: 'YJWZ20210208104332',
+ // teamDescription: '安全管理部',
+ // materialClassification: '事故气体吸收装置',
+ // }
+ // ]
+
// // 打开修改用户弹窗
+ const editRef = ref();
const OnOpenSee = (row: TableDataRow) => {
editRef.value.openDialog(row);
};
@@ -246,6 +253,9 @@
const handleCurrentChange = (val: number) => {
console.log(`current page: ${val}`);
};
+ onMounted(() => {
+ listApi();
+ });
return {
// value,
// options,
@@ -262,10 +272,16 @@
handleSizeChange,
handleCurrentChange,
ruleFormRef,
- ruleForm,
+ listApi,
Search,
daiInpt,
showRef,
+ total,
+ onMounted,
+ submitReset,
+ listQuery,
+ Edit,
+ View,
// ...toRefs(state),
};
},
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
index e405aae..0f90bb5 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -1,10 +1,6 @@
<template>
<div class="system-user-container">
<el-card shadow="hover">
- <!-- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
- <el-tab-pane label="待评价" name="first"></el-tab-pane>
- <el-tab-pane label="已评价" name="second"></el-tab-pane>
- </el-tabs> -->
<div class="system-user-search mb15">
<el-input size="default" v-model="listQuery.searchParams.name" placeholder="物资名称" style="max-width: 215px" />
<el-button size="default" type="primary" class="ml10" @click="listApi"> 查询 </el-button>
@@ -23,7 +19,7 @@
</el-button>
</div>
<div class="button_Right">
- <!-- <el-button @click="upButton">
+ <el-button @click="upButton">
<el-icon>
<Upload />
</el-icon>
@@ -32,7 +28,7 @@
<el-icon>
<Refresh />
</el-icon>
- </el-button> -->
+ </el-button>
</div>
</div>
<el-table :data="tableData" style="width: 100%" ref="multipleTableRef">
diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index b2ebf54..181d212 100644
--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue
+++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -1,7 +1,7 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="新建应急预案管理"
+ :title="title"
v-model="isShowDialog"
width="769px"
draggable
@@ -16,14 +16,14 @@
>
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="预案名称" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称"></el-input>
+ <el-form-item label="预案名称" prop="name">
+ <el-input v-model="ruleForm.name" placeholder="请填写队伍名称"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="适用部门" prop="responsibleDepartment">
<el-tree-select
- v-model="treeSelect"
+ v-model="ruleForm.treeSelect"
:data="tree"
multiple
:render-after-expand="true"
@@ -33,8 +33,8 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="预案类型" prop="teamLeader">
- <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-form-item label="预案类型" prop="type">
+ <el-select v-model="ruleForm.type" class="w100" placeholder="请选择">
<el-option label="综合应急预案" value="admin"></el-option>
<el-option label="现场处置方案" value="common"></el-option>
<el-option label="专项应急预案" value="common"></el-option>
@@ -43,16 +43,16 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="危险源关联" prop="teamLevel">
- <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-form-item label="危险源关联" prop="associatedDanger">
+ <el-select v-model="ruleForm.associatedDanger" class="w100" placeholder="请选择">
<el-option label="是" value="admin"></el-option>
<el-option label="否" value="common"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="预案级别" prop="teamPhone">
- <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-form-item label="预案级别" prop="level">
+ <el-select v-model="ruleForm.level" class="w100" placeholder="请选择">
<el-option label="公司级" value="admin"></el-option>
<el-option label="分厂级" value="common"></el-option>
<el-option label="车间级" value="common"></el-option>
@@ -60,9 +60,9 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="编写人" prop="telephone" >
+ <el-form-item label="编写人" prop="authorId" >
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.authorId"
placeholder="请选择"
class="input-with-select"
>
@@ -73,18 +73,18 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="编写部门" prop="telephone">
+ <el-form-item label="编写部门" prop="authorDeptId">
<el-tree-select
- v-model="ruleForm.responsibleDepartment"
+ v-model="ruleForm.authorDeptId"
:data="data"
class="w100"
placeholder="请选择"/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="发布实施日期" prop="telephone">
+ <el-form-item label="发布实施日期" prop="releaseDate">
<el-date-picker
- v-model="value1"
+ v-model="ruleForm.releaseDate"
type="datetime"
class="w100"
placeholder="选择日期时间"
@@ -171,6 +171,8 @@
import CheckTemplate from '/@/components/checkTemplate/index.vue'
import RegionsDialog from '/@/components/regionsDialog/index.vue'
+
+
export default defineComponent({
name: 'openAdd',
components: {
@@ -184,11 +186,14 @@
const ruleFormRef = ref<FormInstance>()
//定义表单
const ruleForm = reactive({
- teamName: '', // 队伍名称
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
+ name: '', // 预案名称
+ type: '', //预案类型
+ associatedDanger: '', // 危险源关联
+ level: '', // 预案级别
+ authorId: '', // 编写人
+ authorDeptId: '', // 编写部门
+ releaseDate: '', // 发布实施日期
+ // telephone: '', // 应急队伍
});
// 打开弹窗
const openDialog = () => {
@@ -204,7 +209,7 @@
closeDialog();
};
//日期选择器
- const value1 = ref('')
+ const releaseDate = ref('')
// 上传附件
const fileList = ref<UploadUserFile[]>([])
// 可选择树
@@ -416,7 +421,7 @@
data,
Search,
ruleForm,
- value1,
+ releaseDate,
treeSelect,
tree,
daiInpt,
diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue
index 1a1c7e7..b083b2d 100644
--- a/src/views/contingencyManagement/panManagement/index.vue
+++ b/src/views/contingencyManagement/panManagement/index.vue
@@ -4,23 +4,23 @@
<div class="system-user-search mb15">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item>
- <el-input size="default" placeholder="预案名称" style="max-width: 215px;"> </el-input>
+ <el-input size="default" v-model="formInline.searchParams.name" placeholder="预案名称" style="max-width: 215px;"> </el-input>
</el-form-item>
<el-form-item>
- <el-select size="default" v-model="value" placeholder="请选择预案类型" class="ml10" style="max-width: 215px;">
- <el-option label="综合应急预案" value="admin"></el-option>
- <el-option label="现场处置方案" value="common"></el-option>
- <el-option label="专项应急预案" value="common"></el-option>
- <el-option label="其他预案" value="common"></el-option>
- </el-select>
+ <el-select size="default" v-model="formInline.searchParams.type" placeholder="请选择预案类型" class="ml10" style="max-width: 215px;">
+ <el-option label="综合应急预案" value="admin"></el-option>
+ <el-option label="现场处置方案" value="common"></el-option>
+ <el-option label="专项应急预案" value="common"></el-option>
+ <el-option label="其他预案" value="common"></el-option>
+ </el-select>
</el-form-item>
<el-form-item>
- <el-button size="default" type="primary" class="ml10">
- 查询
- </el-button>
- <el-button size="default" class="ml10" @click="submitReset">
- 重置
- </el-button>
+ <el-button size="default" type="primary" class="ml10" @click="onSubmit">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10">
+ 重置
+ </el-button>
</el-form-item>
</el-form>
</div>
@@ -46,17 +46,17 @@
</el-button>
</div>
<div class="button_Right">
- <el-button @click="upButton">
+ <el-button size="default" @click="upButton">
<el-icon>
<Upload />
</el-icon>
</el-button>
- <el-button>
+ <el-button size="default">
<el-icon>
<Download />
</el-icon>
</el-button>
- <el-button>
+ <el-button size="default">
<el-icon>
<Refresh />
</el-icon>
@@ -64,7 +64,7 @@
</div>
</div>
<el-table
- :data="tableData"
+ :data="tableData.data"
style="width: 100%"
ref="multipleTableRef"
>
@@ -104,36 +104,23 @@
</template>
</el-table-column>
</el-table>
- <!-- <el-pagination-->
- <!-- @size-change="onHandleSizeChange"-->
- <!-- @current-change="onHandleCurrentChange"-->
- <!-- class="mt15"-->
- <!-- :pager-count="5"-->
- <!-- :page-sizes="[10, 20, 30]"-->
- <!-- v-model:current-page="tableData.param.pageNum"-->
- <!-- background-->
- <!-- v-model:page-size="tableData.param.pageSize"-->
- <!-- layout="total, sizes, prev, pager, next, jumper"-->
- <!-- :total="tableData.total"-->
- <!-- >-->
- <!-- </el-pagination>-->
<div class="pages">
<el-pagination
- v-model:currentPage="pageIndex"
- v-model:page-size="pageSize"
+ v-if="tableData.length == 0 ? false : true"
+ v-model:currentPage="formInline.pageIndex"
+ v-model:page-size="formInline.pageSize"
:page-sizes="[10, 20, 30]"
:pager-count="5"
- :small="small"
- :disabled="disabled"
- :background="background"
+ class="mt15"
+ background
layout="total, sizes, prev, pager, next, jumper"
- :total="40"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
+ :total="tableData.total"
+ @size-change="onHandleSizeChange"
+ @current-change="onHandleCurrentChange"
/>
</div>
</el-card>
- <OpenAdd ref="addRef" />
+ <OpenAdd ref="addRef" @refreshRoleList="initTableData"/>
<AbolishLibrary ref="abolishRef"/>
<upData ref="upShow"></upData>
<el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full">
@@ -157,9 +144,9 @@
<script lang="ts">
import {
- // toRefs,
+ toRefs,
reactive,
- // onMounted,
+ onMounted,
ref,
defineComponent
} from 'vue';
@@ -175,7 +162,6 @@
Upload,
Download,
Refresh,
- View,
VideoPause,
VideoPlay,
EditPen,
@@ -212,13 +198,19 @@
// // describe: string;
// createTime: string;
}
-
+//
+interface TableDataState {
+ tableData: {
+ data: Array<TableDataRow>;
+ total: number;
+ loading: boolean;
+ };
+}
export default defineComponent({
name: 'systemUser',
components: {
OpenAdd,
AbolishLibrary,
- View,
EditPen,
Plus,
Edit,
@@ -228,17 +220,53 @@
Refresh,
VideoPause,
VideoPlay,
- UpData
+ UpData,
+ emergencyPlanApi
},
setup() {
- // const seeRef = ref();
- // 选择框
- // const value = ref('');
- // const options =
- // {
- // value: 'Option1',
- // label: 'Option1',
- // };
+ // 定义表单搜索
+ const formInline = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ name: "",
+ type: "",
+ }
+ })
+ // 搜索按钮
+ const onSubmit = async () => {
+ let res = await emergencyPlanApi().getEmergencyPlanList(formInline)
+ if(res.data.code === '200'){
+ state.tableData.data = res.data.data;
+ state.tableData.total = state.tableData.data.length;
+ }else{
+ ElMessage({
+ type:'warning',
+ message:res.data.msg
+ })
+ }
+ }
+ // 定义表格数据
+ const state = reactive<TableDataState>({
+ tableData: {
+ data: [],
+ total: 0,
+ loading: false,
+ },
+ })
+ // 初始化表格数据
+ const initTableData = async () => {
+ let res = await emergencyPlanApi().getEmergencyPlanList(formInline)
+ if(res.data.code === '200'){
+ state.tableData.data = res.data.data;
+ state.tableData.total = state.tableData.data.length;
+ }else{
+ ElMessage({
+ type:'warning',
+ message:res.data.msg
+ })
+ }
+ };
const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const multipleSelection = ref<User[]>([])
@@ -247,61 +275,6 @@
const upButton=()=>{
upShow.value.openDialog()
}
- // 定义表格数据
- const tableData: User[] = [
- {
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
- },
- {
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
- },
- {
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
- },
- {
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
- }
- ]
// 启动弹窗
const dialogTableVisible = ref(false)
const dialogFormVisible = ref(false)
@@ -331,19 +304,16 @@
.catch(() => {});
};
// 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
- // 分页
- const pageIndex = ref(4);
- const pageSize = ref(10);
+ onMounted(() => {
+ initTableData();
+ });
// 分页改变
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
+ const onHandleSizeChange = (val: number) => {
+ formInline.pageSize = val;
};
// 分页未改变
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
+ const onHandleCurrentChange = (val: number) => {
+ formInline.pageIndex = val;
};
const router=useRouter()
@@ -375,32 +345,31 @@
}
};
return {
- // value,
- // options,
multipleSelection,
multipleTableRef,
upButton,
upShow,
- tableData,
+ initTableData,
dialogTableVisible,
dialogFormVisible,
form,
- // seeRef,
+ onSubmit,
onOpenAdd, //新增
onabolishLibrary,
addRef,
abolishRef,
onRowDel,
- pageIndex,
- pageSize,
- handleSizeChange,
- handleCurrentChange,
+ onHandleSizeChange,
+ onHandleCurrentChange,
jumpFrom,
abolish,
router,
toggleFullscreen,
FullScreen,
full,
+ formInline,
+ onMounted,
+ ...toRefs(state),
};
},
});
@@ -418,8 +387,11 @@
display: flex;
flex-direction: row;
justify-content: space-between;
+ margin-bottom: 10px;
}
-
+.el-form .el-form-item {
+ margin-bottom: 0 !important;
+}
.el-button--text {
margin-right: 15px;
}
--
Gitblit v1.9.2