From 2b4328392746fc59f5edf98fed629f8db2804e18 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期三, 27 七月 2022 09:29:23 +0800 Subject: [PATCH] 对接 --- src/views/contingencyManagement/panManagement/index.vue | 360 ++++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 216 insertions(+), 144 deletions(-) diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue index 05980d0..b083b2d 100644 --- a/src/views/contingencyManagement/panManagement/index.vue +++ b/src/views/contingencyManagement/panManagement/index.vue @@ -2,19 +2,27 @@ <div class="system-user-container"> <el-card shadow="hover"> <div class="system-user-search mb15"> - <el-input size="default" placeholder="预案名称" style="max-width: 215px;"> </el-input> - <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-button size="default" type="primary" class="ml10"> - 查询 - </el-button> - <el-button size="default" class="ml10" @click="submitReset"> - 重置 - </el-button> + <el-form :inline="true" :model="formInline" class="demo-form-inline"> + <el-form-item> + <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="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" @click="onSubmit"> + 查询 + </el-button> + <el-button size="default" class="ml10"> + 重置 + </el-button> + </el-form-item> + </el-form> </div> <div class="button_Line"> <div class="button_Left"> @@ -33,22 +41,22 @@ <Delete /> </el-icon>删除 </el-button> - <el-button size="default" type="primary" @click="onOpenAdd"> + <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </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> @@ -56,7 +64,7 @@ </div> </div> <el-table - :data="tableData" + :data="tableData.data" style="width: 100%" ref="multipleTableRef" > @@ -68,24 +76,24 @@ <el-table-column prop="teamLevel" label="预案类型" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="teamDescription" label="预案级别" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="phone" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> - <el-table-column label="操作" width="260" align="center"> + <el-table-column label="操作" width="260" align="center" fixed="right"> <template #default="scope"> - <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="dialogFormVisible = true"> + <el-button size="small" text type="primary" @click="dialogFormVisible = true"> <el-icon style="margin-right: 5px;"> <VideoPlay /> </el-icon>启动 </el-button> - <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary"> + <el-button size="small" text type="primary" @click="abolish(0)"> <el-icon style="margin-right: 5px;"> <VideoPause /> </el-icon>废止 </el-button> - <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary"> + <el-button size="small" text type="primary" @click="jumpFrom(0)"> <el-icon style="margin-right: 5px;"> <EditPen /> </el-icon>修改 </el-button> - <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary"> + <el-button size="small" text type="primary" @click="abolish(0)"> 发起审批 </el-button> <el-button size="small" text type="primary" @click="onRowDel(scope.row)"> @@ -96,25 +104,27 @@ </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-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" + class="mt15" + background + layout="total, sizes, prev, pager, next, jumper" + :total="tableData.total" + @size-change="onHandleSizeChange" + @current-change="onHandleCurrentChange" + /> + </div> </el-card> -<!-- <OpenSee ref="seeRef" />--> - <OpenAdd ref="addRef" /> - <OpenEdit ref="editRef" /> + <OpenAdd ref="addRef" @refreshRoleList="initTableData"/> + <AbolishLibrary ref="abolishRef"/> <upData ref="upShow"></upData> - <el-dialog v-model="dialogFormVisible" width="30%" title="启动"> + <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form :model="form" label-width="80px"> <el-form-item label="备注" > <el-input v-model="form.remarks" type="textarea" autocomplete="off" /> @@ -134,9 +144,9 @@ <script lang="ts"> import { - // toRefs, + toRefs, reactive, - // onMounted, + onMounted, ref, defineComponent } from 'vue'; @@ -145,22 +155,22 @@ ElMessage, ElTable, } from 'element-plus'; +import {useRouter} from "vue-router" import { Plus, Edit, Delete, Upload, Download, Refresh, - View, VideoPause, VideoPlay, EditPen, + FullScreen } from '@element-plus/icons-vue' import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue'; -import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue'; -import OpenSee from '/@/views/contingencyManagement/panManagement/component/openSee.vue'; +import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue'; import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; - +import {emergencyPlanApi} from "/@/api/emergencyPlan"; // 定义表格数据类型 interface User { teamName: string @@ -188,14 +198,19 @@ // // describe: string; // createTime: string; } - +// +interface TableDataState { + tableData: { + data: Array<TableDataRow>; + total: number; + loading: boolean; + }; +} export default defineComponent({ name: 'systemUser', components: { OpenAdd, - OpenSee, - OpenEdit, - View, + AbolishLibrary, EditPen, Plus, Edit, @@ -205,18 +220,53 @@ Refresh, VideoPause, VideoPlay, - UpData + UpData, + emergencyPlanApi }, setup() { - // const seeRef = ref(); - const editRef = 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[]>([]) @@ -225,65 +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 onOpenSee = (row: TableDataRow) => { - // seeRef.value.openDialog(row); - // }; // 启动弹窗 const dialogTableVisible = ref(false) const dialogFormVisible = ref(false) @@ -295,9 +286,10 @@ const onOpenAdd = () => { addRef.value.openDialog(); }; - // 打开修改用户弹窗 - const onOpenEdit = (row: TableDataRow) => { - editRef.value.openDialog(row); + //打开废止库弹窗 + const abolishRef = ref(); + const onabolishLibrary = () => { + abolishRef.value.openDialog(); }; // 删除用户 const onRowDel = (row: TableDataRow) => { @@ -311,39 +303,73 @@ }) .catch(() => {}); }; - // 分页改变 - // const onHandleSizeChange = (val: number) => { - // state.tableData.param.pageSize = val; - // }; - // // 分页改变 - // const onHandleCurrentChange = (val: number) => { - // state.tableData.param.pageNum = val; - // }; // 页面加载时 - // onMounted(() => { - // initTableData(); - // }); + onMounted(() => { + initTableData(); + }); + // 分页改变 + const onHandleSizeChange = (val: number) => { + formInline.pageSize = val; + }; + // 分页未改变 + const onHandleCurrentChange = (val: number) => { + formInline.pageIndex = val; + }; + + const router=useRouter() + // 修改跳转 + const jumpFrom=(data:string)=>{ + router.push({ + path:"/processForm", + query:{ + type:data + } + }) + } + // 发起审批跳转 + const abolish=(data:string)=>{ + router.push({ + path:"/abolishDialog", + query:{ + type:data + } + }) + } + //全屏 + const full = ref(false); + const toggleFullscreen = () => { + if (full.value == false) { + full.value = true; + } else { + full.value = false; + } + }; return { - // value, - // options, multipleSelection, multipleTableRef, upButton, upShow, - tableData, - // onOpenSee, //查看 + initTableData, dialogTableVisible, dialogFormVisible, form, - // seeRef, - onOpenEdit, //编辑 - editRef, + onSubmit, onOpenAdd, //新增 + onabolishLibrary, addRef, + abolishRef, onRowDel, - // onHandleSizeChange, - // onHandleCurrentChange, - // ...toRefs(state), + onHandleSizeChange, + onHandleCurrentChange, + jumpFrom, + abolish, + router, + toggleFullscreen, + FullScreen, + full, + formInline, + onMounted, + ...toRefs(state), }; }, }); @@ -361,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; } @@ -386,4 +415,47 @@ margin-right: 0; border-radius: 4px 4px 0 0; } +//表头 +::v-deep .el-table th.el-table__cell { + background-color: #f6f7fa; + font-weight: 400; + color: #909399; +} +.el-table .sort-caret.ascending{ + border-bottom-color: #c0c4cc; +} +//分页 +.pages{ + display: flex; + justify-content: flex-end; + margin-top: 15px; +} +::v-deep .el-pagination .el-pager li { + margin: 0 5px; + background-color: #f4f4f5; + color: #606266; + min-width: 30px; + border-radius: 2px; +} +::v-deep .el-pagination .el-pager li.is-active { + background-color: #409eff; + color: #fff; +} +::v-deep .el-pagination .btn-prev { + margin: 0 5px; + background-color: #f4f4f5; + color: #606266; + min-width: 30px; + border-radius: 2px; +} +::v-deep .el-pagination button:disabled{ + color: #c0c4cc; +} +::v-deep .el-pagination .btn-next{ + margin: 0 5px; + background-color: #f4f4f5; + color: #606266; + min-width: 30px; + border-radius: 2px; +} </style> \ No newline at end of file -- Gitblit v1.9.2