From c21f3d6df8746ec55ab9e7a64e4e130577c49fea Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Mon, 25 Jul 2022 09:25:53 +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