From 355bddf13631205f0e997e04cea2489cbe37e391 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期五, 22 七月 2022 16:00:10 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut --- 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