From 5421ae90e2fb0e153037f4a2ca4741de61d04cdd Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期四, 14 七月 2022 18:02:25 +0800
Subject: [PATCH] 应急预案启动记录
---
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue | 448 ++
src/views/contingencyManagement/processForm/component/formInformationTops.vue | 312 +
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue | 442 ++
src/views/contingencyManagement/panManagement/component/openSee.vue | 480 +-
src/views/contingencyManagement/panManagement/component/openAdd.vue | 19
src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue | 164
src/components/userSelections/index.vue | 198
src/components/userCheckbox/index.vue | 406 ++
src/components/checkTemplate/index.vue | 172 +
src/views/contingencyManagement/abolishDialog/component/formInformationTop.vue | 144
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintainDialog.vue | 193 +
src/components/regionsDialog/index.vue | 2
src/views/contingencyManagement/processForm/processForm.vue | 137
src/views/contingencyManagement/releaseOfDrillStart/component/lowerPlate.vue | 120
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue | 157
src/views/contingencyManagement/releaseOfDrillStart/releaseOfDrillStart.vue | 137
src/components/material/index.vue | 142
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue | 265
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue | 346 +
src/views/contingencyManagement/panManagement/component/abolishLibrary.vue | 223 +
src/views/contingencyManagement/abolishDialog/component/lowerPlate.vue | 120
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue | 145
src/views/contingencyManagement/panManagement/index.vue | 135
src/views/contingencyManagement/emergencyPlanStartRecord/index.vue | 339 +
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue | 467 ++
src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue | 242
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue | 98
src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTops.vue | 440 ++
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue | 348 +
src/views/contingencyManagement/processForm/component/formInformationTop.vue | 144
src/components/emergencySupplies/index.vue | 147
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/openAdd.vue | 443 ++
src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue | 176 +
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue | 182 +
src/views/goalManagement/processForms/component/lowerPlate.vue | 2
src/views/contingencyManagement/abolishDialog/abolishDialog.vue | 137
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/userSelect.vue | 427 ++
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue | 193 +
/dev/null | 225 -
src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTop.vue | 144
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue | 138
src/views/contingencyManagement/abolishDialog/component/formInformationTops.vue | 318 +
src/views/contingencyManagement/contingency/index.vue | 22
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue | 182 +
src/views/contingencyManagement/processForm/component/lowerPlate.vue | 120
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue | 171 +
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue | 214 +
47 files changed, 8,839 insertions(+), 1,387 deletions(-)
diff --git a/src/components/checkTemplate/index.vue b/src/components/checkTemplate/index.vue
new file mode 100644
index 0000000..235d5ea
--- /dev/null
+++ b/src/components/checkTemplate/index.vue
@@ -0,0 +1,172 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择检查模板" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-col :span="24">
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="id" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="队伍名称" style="max-width: 215px;padding: 0 12px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col :span="24">
+ <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
+ </el-col>
+ </el-row>
+ <el-table
+ :data="tableData"
+ ref="multipleTableRef"
+ style="width: 100%;margin-top:20px"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column align="center" prop="date" label="id" />
+ <el-table-column align="center" prop="name" label="队伍名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ reactive,
+ ref,
+} from 'vue';
+import {
+ Delete
+} from '@element-plus/icons-vue';
+interface User {
+ date: string
+ name: string
+ address: string
+}
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '应急救援组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '工艺抢险组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '后勤保障组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '应急救援组',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+ .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>
diff --git a/src/components/emergencySupplies/index.vue b/src/components/emergencySupplies/index.vue
new file mode 100644
index 0000000..4059b6b
--- /dev/null
+++ b/src/components/emergencySupplies/index.vue
@@ -0,0 +1,147 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择应急物资" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="物资名称" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ <el-button size="default" :icon="Delete">清除选择</el-button>
+ </el-form-item>
+ </el-form>
+ </el-row>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px">
+ <el-table-column type="selection" width="55" />
+ <el-table-column align="center" prop="date" label="id" />
+ <el-table-column align="center" prop="name" label="物资名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref } from 'vue';
+import { Delete } from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '应急救援组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '工艺抢险组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '后勤保障组',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '应急救援组',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+.pages{
+ 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>
diff --git a/src/components/material/index.vue b/src/components/material/index.vue
new file mode 100644
index 0000000..d232437
--- /dev/null
+++ b/src/components/material/index.vue
@@ -0,0 +1,142 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择应急物资" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="物资名称" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ <el-button size="default" :icon="Delete">清除选择</el-button>
+ </el-form-item>
+ </el-form>
+ </el-row>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px">
+ <el-table-column type="selection" width="55" />
+ <el-table-column align="center" prop="name" label="物资名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref } from 'vue';
+import { Delete } from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ name: '应急救援组',
+ },
+ {
+ name: '工艺抢险组',
+ },
+ {
+ name: '后勤保障组',
+ },
+ {
+ name: '应急救援组',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+.pages{
+ 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>
diff --git a/src/views/contingencyManagement/panManagement/component/regionsDialog.vue b/src/components/regionsDialog/index.vue
similarity index 97%
rename from src/views/contingencyManagement/panManagement/component/regionsDialog.vue
rename to src/components/regionsDialog/index.vue
index 0edce4a..0aa5c11 100644
--- a/src/views/contingencyManagement/panManagement/component/regionsDialog.vue
+++ b/src/components/regionsDialog/index.vue
@@ -7,7 +7,7 @@
<el-input size="default" v-model="ruleForm.checkPass" placeholder="风险区域名称" style="max-width: 215px;" />
</el-form-item>
<el-form-item>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="padding-right: 12px;">查询</el-button>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="margin-left: 12px;">查询</el-button>
<el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
</el-form-item>
<el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
diff --git a/src/components/userCheckbox/index.vue b/src/components/userCheckbox/index.vue
new file mode 100644
index 0000000..e11038f
--- /dev/null
+++ b/src/components/userCheckbox/index.vue
@@ -0,0 +1,406 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="用户选择"
+ v-model="isShowDialog"
+ width="1000px"
+ draggable
+ >
+ <el-container class="layout-container-demo" style="height: 500px;overflow: auto;min-width: 960px">
+ <el-aside width="200px">
+ <el-input v-model="filterText" placeholder="请输入组织机构过滤" />
+ <el-tree
+ ref="treeRef"
+ class="filter-tree"
+ :data="data"
+ :props="defaultProps"
+ default-expand-all
+ :filter-node-method="filterNode"
+ />
+ </el-aside>
+ <el-container style="margin: 0 15px;min-width:560px;">
+ <el-header style="font-size: 12px">
+ <el-form :inline="true" :model="formInline" class="demo-form-inline">
+ <el-form-item>
+ <el-input size="default" v-model="formInline.name" placeholder="登录名"> </el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" class="ml10" @click="onSubmit">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10" @click="submitReset">
+ 重置
+ </el-button>
+ </el-form-item>
+ </el-form>
+ </el-header>
+ <el-main style="position: relative;">
+ <el-table
+ :data="tableData"
+ :header-cell-style="{background:'#f6f7fa',color:'#909399',fontWeight:400}"
+ >
+ <el-table-column type="selection" width="55"/>
+ <el-table-column prop="date" label="登录名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="name" label="用户名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="address" label="所属机构" width="115" show-overflow-tooltip sortable />
+ <el-table-column prop="department" label="所属部门" width="115" show-overflow-tooltip sortable/>
+ <el-table-column label="状态"
+ width="80"
+ prop="tag"
+ :filters="[
+ { text: '正常', value: 'Home' },
+ { text: '不正常', value: 'Office' },
+ ]"
+ :filter-method="filterTag"
+ filter-placement="bottom-end">
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.tag === 'Home' ? '' : 'success'"
+ disable-transitions
+ >{{ scope.row.tag }}</el-tag
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-main>
+ </el-container>
+ <div style="width: 200px;">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </div>
+ </el-container>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button size="default" type="primary" @click="onCancel">确定</el-button>
+ <el-button size="default" @click="onCancel">关闭</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ ref,
+ defineComponent,
+ watch,
+ reactive,
+} from 'vue';
+
+import type {
+ ElTree,
+ // ElTable,
+} from 'element-plus'
+
+interface Tree {
+ id: number
+ label: string
+ children?: Tree[]
+}
+// interface User {
+// date: string
+// name: string
+// address: string
+// }
+export default defineComponent({
+ name: 'userSelections',
+ components: {
+ // Search,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+ // 打开弹窗
+ const openDialog = () => {
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+
+
+ const filterText = ref('')
+ const treeRef = ref<InstanceType<typeof ElTree>>() //实例化
+
+ const defaultProps = {
+ children: 'children',
+ label: 'label',
+ }
+
+ // 监听搜索关键字改变
+ watch(filterText, (val) => {
+ treeRef.value!.filter(val)
+ })
+
+ // 节点过滤模糊搜索
+ const filterNode = (value: string, data: Tree) => {
+ if (!value) return true
+ return data.label.includes(value)
+ }
+
+ // 树形结构内容
+ const data: Tree[] = [
+ {
+ id: 1,
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ id: 4,
+ label: '经营班子',
+ children: []
+ },
+ ],
+ },
+ {
+ id: 2,
+ label: '生产运行部',
+ children: [
+ {
+ id: 5,
+ label: '工艺二班',
+ },
+ {
+ id: 6,
+ label: '灌装一班',
+ },
+ ],
+ },
+ {
+ id: 3,
+ label: '设备部',
+ children: [
+ {
+ id: 7,
+ label: '仪表班',
+ },
+ {
+ id: 8,
+ label: '机修班',
+ },
+ ],
+ },
+ ]
+ // const item = {
+ // date: '孙刚',
+ // name: '龚赛健',
+ // address: '综合办公室',
+ // tag: '正常',
+ // }
+ // const tableData = ref(Array.from({ length: 7 }).fill(item))
+ const tableData = [
+ {
+ date: '孙刚',
+ name: '孙刚',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '谭柏',
+ name: '谭柏',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪威',
+ name: '倪威',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪玲婕',
+ name: '倪玲婕',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ ];
+ // 定义表单搜索
+ const formInline = reactive({
+ name: '',
+ })
+ // 搜索按钮
+ const onSubmit = () => {
+ console.log('submit!')
+ }
+
+ // const multipleTableRef = ref<InstanceType<typeof ElTable>>()
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
+
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ defaultProps,
+ filterNode,
+ data,
+ tableData,
+ formInline,
+ onSubmit,
+ // multipleTableRef,
+ handleClose,
+ dynamicTags,
+ handleSizeChange,
+ handleCurrentChange,
+ pageIndex,
+ pageSize,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.layout-container-demo .el-header {
+ position: relative;
+ color: var(--el-text-color-primary);
+ line-height: 32px;
+ --el-header-height: 45px;
+ padding: 0;
+}
+.layout-container-demo .el-aside {
+ padding: 10px;
+ border: 1px solid #ebeef5;
+ color: var(--el-text-color-primary);
+}
+::v-deep .el-input--large .el-input__inner {
+ height: 32px!important;
+ line-height: 32px!important;
+}
+.layout-container-demo .el-menu {
+ border-right: none;
+}
+.layout-container-demo .el-main {
+ padding: 0;
+}
+.layout-container-demo .toolbar {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ right: 20px;
+}
+.el-input--large{
+ //width: 178px;
+ height: 32px;
+}
+.el-tree{
+ overflow: auto;
+}
+::-webkit-scrollbar {
+ height: 1px;
+
+}
+::-webkit-scrollbar-thumb {
+ background-color: transparent;
+}
+// 鼠标悬浮样式
+:hover::-webkit-scrollbar-thumb {
+ border-radius: 15px;
+ background-color: #d8d9db;
+}
+::v-deep .el-input__wrapper{
+ width: 215px;
+}
+::v-deep .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+//单选框圆形
+//::v-deep .el-table__header .el-table-column--selection .cell .el-checkbox {
+// display:none
+//}
+//::v-deep .el-table-column--selection .cell{
+// text-align: center;
+//}
+//::v-deep .el-checkbox__input .el-checkbox__inner{
+// border-radius: 50%;
+//}
+/*分页*/
+.pages{
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 15px;
+ align-items: center;
+ //position: absolute;
+ //bottom: 0;
+}
+::v-deep .el-pagination{
+ width: 100%;
+}
+::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
diff --git a/src/components/userSelections/index.vue b/src/components/userSelections/index.vue
index c71c9cf..19458f2 100644
--- a/src/components/userSelections/index.vue
+++ b/src/components/userSelections/index.vue
@@ -18,7 +18,7 @@
:filter-node-method="filterNode"
/>
</el-aside>
- <el-container style="margin-right: 15px;min-width:560px;">
+ <el-container style="margin: 0 15px;min-width:560px;">
<el-header style="font-size: 12px">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item>
@@ -34,28 +34,25 @@
</el-form-item>
</el-form>
</el-header>
- <el-main>
- <el-scrollbar>
+ <el-main style="position: relative;">
<el-table
:data="tableData"
:header-cell-style="{background:'#f6f7fa',color:'#909399',fontWeight:400}"
- ref="multipleTableRef"
- highlight-current-row
- @row-click="rowClick"
- @selection-change="handleCurrentChange"
>
- <el-table-column
- type="selection"
- width="50"
- >
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.date" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
</el-table-column>
<el-table-column prop="date" label="登录名" width="100" show-overflow-tooltip sortable />
<el-table-column prop="name" label="用户名" width="100" show-overflow-tooltip sortable />
- <el-table-column prop="address" label="所属机构" width="110" show-overflow-tooltip sortable />
- <el-table-column prop="address" label="所属部门" width="100" show-overflow-tooltip sortable/>
+ <el-table-column prop="address" label="所属机构" width="115" show-overflow-tooltip sortable />
+ <el-table-column prop="department" label="所属部门" width="115" show-overflow-tooltip sortable/>
<el-table-column label="状态"
+ width="80"
prop="tag"
- width="100"
:filters="[
{ text: '正常', value: 'Home' },
{ text: '不正常', value: 'Office' },
@@ -71,11 +68,33 @@
</template>
</el-table-column>
</el-table>
- </el-scrollbar>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-main>
</el-container>
- <div>
- <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ <div style="width: 200px;">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
{{ tag }}
</el-tag>
</div>
@@ -100,7 +119,7 @@
import type {
ElTree,
- ElTable,
+ // ElTable,
} from 'element-plus'
interface Tree {
@@ -108,11 +127,11 @@
label: string
children?: Tree[]
}
-interface User {
- date: string
- name: string
- address: string
-}
+// interface User {
+// date: string
+// name: string
+// address: string
+// }
export default defineComponent({
name: 'userSelections',
components: {
@@ -195,14 +214,43 @@
],
},
]
- const item = {
- date: '龚赛健',
- name: '龚赛健',
- address: '综合办公室',
- tag: '正常',
- }
- const tableData = ref(Array.from({ length: 5 }).fill(item))
-
+ // const item = {
+ // date: '孙刚',
+ // name: '龚赛健',
+ // address: '综合办公室',
+ // tag: '正常',
+ // }
+ // const tableData = ref(Array.from({ length: 7 }).fill(item))
+ const tableData = [
+ {
+ date: '孙刚',
+ name: '孙刚',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '谭柏',
+ name: '谭柏',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪威',
+ name: '倪威',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪玲婕',
+ name: '倪玲婕',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ ];
// 定义表单搜索
const formInline = reactive({
name: '',
@@ -212,25 +260,28 @@
console.log('submit!')
}
- const multipleTableRef = ref<InstanceType<typeof ElTable>>()
- // const currentRow = ref()
-
- // 当某一行被点击时会触发该事件
- // const handleRowClick = (row: any, column: any, event: Event) => {
- // emit('row-click', row, column, event)
- // }
- // const singleTableRef = ref<InstanceType<typeof ElTable>>()
- // const setCurrent = (row?: User) => {
- // singleTableRef.value!.setCurrentRow(row)
- // }
- // const handleCurrentChange = (val: User | undefined) => {
- // currentRow.value = val
- // }
-
+ // const multipleTableRef = ref<InstanceType<typeof ElTable>>()
// 右方点击添加后显示标签
- const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
+ const dynamicTags = ref(['胡海涛']);
const handleClose = (tag: string) => {
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('谭柏')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
};
return {
openDialog,
@@ -243,12 +294,15 @@
tableData,
formInline,
onSubmit,
- // currentRow,
- // setCurrent,
- multipleTableRef,
+ // multipleTableRef,
handleClose,
dynamicTags,
- // handleCurrentChange,
+ handleSizeChange,
+ handleCurrentChange,
+ pageIndex,
+ pageSize,
+ radio1,
+ radio,
};
},
});
@@ -259,6 +313,7 @@
color: var(--el-text-color-primary);
line-height: 32px;
--el-header-height: 45px;
+ padding: 0;
}
.layout-container-demo .el-aside {
padding: 10px;
@@ -306,6 +361,7 @@
}
::v-deep .el-form-item{
margin-bottom: 0;
+ margin-right: 0;
}
//弹窗底部边框线
::v-deep .el-dialog__footer{
@@ -328,4 +384,44 @@
::v-deep .el-checkbox__input .el-checkbox__inner{
border-radius: 50%;
}
+/*分页*/
+.pages{
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 15px;
+ align-items: center;
+ //position: absolute;
+ //bottom: 0;
+}
+::v-deep .el-pagination{
+ width: 100%;
+}
+::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
diff --git a/src/views/contingencyManagement/abolishDialog/abolishDialog.vue b/src/views/contingencyManagement/abolishDialog/abolishDialog.vue
new file mode 100644
index 0000000..156771d
--- /dev/null
+++ b/src/views/contingencyManagement/abolishDialog/abolishDialog.vue
@@ -0,0 +1,137 @@
+<template>
+ <div class="system-user-container">
+ <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4>
+ <div class="box">
+ <el-menu
+ :default-active="activeIndex"
+ class="el-menu-demo"
+ background-color="#ebeef5"
+ text-color="#fff"
+ active-text-color="#fff"
+ mode="horizontal"
+ @select="handleSelect"
+ >
+ <el-menu-item index="1">表单信息</el-menu-item>
+ <el-menu-item index="2">流程图</el-menu-item>
+ </el-menu>
+ <div v-if="activeIndex == 1" class="navType">
+ <formInformationTop v-if="false"></formInformationTop>
+ <formInformationTops></formInformationTops>
+ </div>
+ <div v-if="activeIndex == 2" class="navType" style="padding:20px 20px 0 20px">
+ <div class="title2">流程图</div>
+ <div style="width:100%;height:400px"></div>
+ </div>
+ </div>
+ <lowerPlate></lowerPlate>
+ <div class="btns">
+ <el-button type="primary">启动</el-button>
+ </div>
+ </div>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref,onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import formInformationTop from './component/formInformationTop.vue'
+import formInformationTops from './component/formInformationTops.vue'
+import lowerPlate from './component/lowerPlate.vue'
+export default defineComponent({
+ components:{lowerPlate,formInformationTop,formInformationTops},
+ setup() {
+ const activeIndex = ref('1');
+ const handleSelect = (key: string, keyPath: string[]) => {
+ // console.log(key, keyPath);
+ activeIndex.value = key;
+ };
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+
+ const router=useRouter()
+ const Type=onMounted(()=>{
+ // console.log("xxxxxxx",router)
+ })
+
+ return {
+ activeIndex,
+ handleSelect,
+ form,
+ router,
+ Type
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+ padding: 15px;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+
+/*弹窗底部边框线*/
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+/*弹窗顶部边框线*/
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+</style>
diff --git a/src/views/contingencyManagement/abolishDialog/component/formInformationTop.vue b/src/views/contingencyManagement/abolishDialog/component/formInformationTop.vue
new file mode 100644
index 0000000..ef75063
--- /dev/null
+++ b/src/views/contingencyManagement/abolishDialog/component/formInformationTop.vue
@@ -0,0 +1,144 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="安全目标指标">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="目标指标编号">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="年度">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="指标值">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-tabs v-model="activeName" style="padding: 0 20px">
+ <el-tab-pane label="考核指标" name="1">
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" type="index" label="序号" width="70" />
+ <el-table-column align="center" prop="date" label="责任部门" />
+ <el-table-column align="center" prop="name" label="考核指标" />
+ <el-table-column align="center" prop="address" label="制定部门" />
+ <el-table-column align="center" prop="address" label="制定日期" />
+ <el-table-column align="center" label="检查值">
+ <template #default>
+ <el-input v-model="form.name" placeholder=""></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="address" label="检查人" />
+ <el-table-column align="center" prop="address" label="检查时间" />
+ </el-table>
+ <div class="tiao">
+ <div class="typeS">审批</div>
+ </div>
+ <el-row style="padding:20px 0">
+ <el-col :span="6" style="text-align:right">一级审批:</el-col>
+ <el-col :span="18">同意</el-col>
+ </el-row>
+ <el-row style="padding:0 0 20px 0">
+ <el-col :span="6"></el-col>
+ <el-col :span="18"><span class="logoColor">同意</span><span style="margin-right: 8px;">杜建喜</span><span>2021-05-24 04:47:42</span></el-col>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
+</template>
+<script lang="ts">
+import { defineComponent,ref,reactive } from 'vue'
+
+export default defineComponent({
+ setup() {
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+ const tableData = [
+ {
+ date: '2016-05-03',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ ];
+ const activeName = ref('1');
+ return{
+ form,
+ tableData,
+ activeName
+ }
+ },
+})
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0 ;
+}
+</style>
diff --git a/src/views/contingencyManagement/abolishDialog/component/formInformationTops.vue b/src/views/contingencyManagement/abolishDialog/component/formInformationTops.vue
new file mode 100644
index 0000000..68ae8a6
--- /dev/null
+++ b/src/views/contingencyManagement/abolishDialog/component/formInformationTops.vue
@@ -0,0 +1,318 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案名称">
+ <el-input v-model="form.name" disabled placeholder="请填写预案名称"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="适用部门">
+ <el-tree-select
+ class="select"
+ placeholder="请选择"
+ v-model="value"
+ :data="data"
+ :render-after-expand="false"
+ show-checkbox
+ multiple
+ clearable
+ disabled
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案类型">
+ <el-select class="select" v-model="form.region" disabled placeholder="请选择">
+ <el-option label="综合应急预案" value="shanghai" />
+ <el-option label="现场处置方案" value="beijing" />
+ <el-option label="专项应急预案" value="shanghai" />
+ <el-option label="其它预案" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="危险源关联">
+ <el-select class="select" v-model="form.region" disabled placeholder="请选择">
+ <el-option label="是" value="shanghai" />
+ <el-option label="否" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案级别">
+ <el-select class="select" v-model="form.region" disabled placeholder="请选择">
+ <el-option label="公司及" value="shanghai" />
+ <el-option label="分厂级" value="beijing" />
+ <el-option label="车间级" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="编写人">
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser" disabled/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="编写部门" disabled placeholder="请选择">
+ <el-tree-select
+ class="select"
+ v-model="value2"
+ :data="dataSelect"
+ :render-after-expand="false"
+ multiple
+ check-strictly
+ check-on-click-node
+ clearable
+ disabled
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="发布实施日期">
+ <el-date-picker v-model="datetime" type="datetime" disabled placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="应急队伍" prop="telephone" @click="daiInpt" >
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" disabled/>
+ </template>
+ </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"
+ disabled
+ >
+ <el-button type="primary" disabled
+ >点击上传</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ 添加相关附件
+ </div>
+ </template>
+ </el-upload>
+ </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="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" disabled @click="regionsDialog"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <checkTemplate ref="ShowRef"/>
+ <userSelections ref="userRef"/>
+ <RegionsDialog ref="openRef"/>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ ref,
+ reactive
+} from 'vue';
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+import CheckTemplate from "/@/components/checkTemplate/index.vue"
+import RegionsDialog from "/@/components/regionsDialog/index.vue";
+export default defineComponent({
+ components: {
+ CheckTemplate,
+ UserSelections,
+ RegionsDialog,
+ },
+ setup() {
+ const form = reactive({
+ name: '',
+ value: '',
+ value2: '',
+ teamLeader: '',
+
+ // data: '',
+ // dataSelect: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+
+ // 可选择树形选择框
+ const value = ref()
+
+ const data = [
+ {
+ value: '1',
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ value: '1-1',
+ label: '生产运行部',
+ children: [
+ {
+ value: '1-1-1',
+ label: '工艺二班',
+ },
+ ],
+ },
+ ],
+ }
+ ]
+ // 树形选择框
+ const value2 = ref()
+
+ const dataSelect = [
+ {
+ value: '1',
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ value: '1-1',
+ label: '生产运行部',
+ children: [
+ {
+ value: '1-1-1',
+ label: '工艺二班',
+ },
+ ],
+ },
+ ],
+ }
+ ]
+ // 应急队伍弹窗
+ const ShowRef=ref()
+ const daiInpt=()=>{
+ ShowRef.value.openDailog()
+ }
+ // 选择区域弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 打开编写人选择用户弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 日期选择
+ const datetime = ref('')
+ return {
+ form,
+ value,
+ data,
+ value2,
+ dataSelect,
+ openUser,
+ userRef,
+ Search,
+ ShowRef,
+ daiInpt,
+ openRef,
+ datetime,
+ regionsDialog,
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box {
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao {
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0;
+ position: relative;
+}
+.typeS {
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor {
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns {
+ width: 100%;
+ padding: 20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+}
+.title2 {
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0;
+}
+.select{
+ width: 100%;
+}
+.select ::v-deep .el-select{
+ width: 100%;
+}
+</style>
diff --git a/src/views/contingencyManagement/abolishDialog/component/lowerPlate.vue b/src/views/contingencyManagement/abolishDialog/component/lowerPlate.vue
new file mode 100644
index 0000000..cbb82fb
--- /dev/null
+++ b/src/views/contingencyManagement/abolishDialog/component/lowerPlate.vue
@@ -0,0 +1,120 @@
+<template>
+ <div class="box">
+ <el-form ref="formS" :model="form" :rules="rules" label-width="120px">
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="流程标题">
+ <el-input v-model="form.names" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="下级审批日期">
+ <el-date-picker v-model="form.date1" type="date" placeholder="下级审批日期" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.delivery" label="是否抄送" @change="typeChang"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.delivery">
+ <el-col :span="15">
+ <el-form-item label="抄送给" prop="resource">
+ <el-input v-model="form.resource" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.type" label="指定下一步处理者(不设置就使用默认处理人)"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.type">
+ <el-col :span="15">
+ <el-form-item label="指定" prop="desc">
+ <el-input v-model="form.desc" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <DailogSearchUser ref="ShowUser"></DailogSearchUser>
+</template>
+<script lang="ts">
+import { defineComponent, ref, reactive } from 'vue';
+import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
+import { Search } from '@element-plus/icons-vue';
+import type { FormInstance, FormRules } from 'element-plus'
+export default defineComponent({
+ components:{DailogSearchUser},
+ setup() {
+ const formS=ref<FormInstance>()
+ let form = reactive({
+ names: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: "",
+ type: "",
+ resource: '',
+ desc: '',
+ });
+ const typeChang=()=>{
+ console.log('tag',form)
+ }
+ const rules = reactive<FormRules>({
+ resource: [
+ {
+ type: 'array',
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ],
+ desc: [
+ {
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ]})
+ const ShowUser=ref()
+ const openDai =()=>{
+ ShowUser.value.openDailog()
+ }
+ return {
+ form,
+ rules,
+ formS,
+ typeChang,
+ ShowUser,
+ openDai,
+ Search,
+ };
+ },
+});
+</script>
+
+<style scoped>
+.box {
+ margin: 30px 0 100px 0;
+ background-color: #fff;
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+ padding: 20px;
+}
+.el-row {
+ padding: 0 0 20px 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue
index 595aa7c..197e49c 100644
--- a/src/views/contingencyManagement/contingency/index.vue
+++ b/src/views/contingencyManagement/contingency/index.vue
@@ -73,7 +73,7 @@
<el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="teamPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column>
- <el-table-column label="操作" width="200" align="center">
+ <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-icon style="margin-right: 5px;">
@@ -388,4 +388,24 @@
.el-form .el-form-item:last-of-type{
margin-bottom: 22px!important;
}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ 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;
+}
</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/openAdd.vue
new file mode 100644
index 0000000..1655473
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/openAdd.vue
@@ -0,0 +1,443 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急预案管理"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="预案名称" prop="teamName">
+ <el-input v-model="ruleForm.teamName" 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"
+ :data="tree"
+ multiple
+ :render-after-expand="true"
+ show-checkbox
+ />
+ <el-divider />
+ </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-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-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-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-option label="公司级" value="admin"></el-option>
+ <el-option label="分厂级" value="common"></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="telephone" >
+ <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="telephone">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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-tree-select-->
+<!-- v-model="ruleForm.responsibleDepartment"-->
+<!-- :data="data" class="w100"-->
+<!-- placeholder="请选择"/>-->
+ <el-date-picker
+ v-model="value1"
+ type="datetime"
+ 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" @click="daiInpt" >
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search"/>
+ </template>
+ </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="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="区域名称" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="regionsDialog"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </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>
+ <CheckTemplate ref="Shows"/>
+ <userSelections ref="userRef"/>
+ <RegionsDialog ref="openRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ UploadUserFile,
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+import CheckTemplate from '/@/components/checkTemplate/index.vue'
+import RegionsDialog from '/@/components/regionsDialog/index.vue'
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ CheckTemplate,
+ UserSelections,
+ RegionsDialog,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 上传附件
+ const fileList = ref<UploadUserFile[]>([])
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
+ //定义树形下拉框
+ 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: [],
+ },
+ ],
+ },
+ ]
+ // 必填项提示
+ // 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 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 Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDailog()
+ }
+ // 选择区域弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ fileList,
+ responsibleDepartment,
+ data,
+ Search,
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ // rules,
+ openUser,
+ userRef,
+ regionsDialog,
+ openRef,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
index 5583fcb..2b8d46d 100644
--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -1,20 +1,6 @@
<template>
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></el-option>
- </el-select>
- <el-button size="default" type="primary" class="ml10">
- 查询
- </el-button>
- <el-button size="default" class="ml10" @click="submitReset">
- 重置
- </el-button>
- </div>
<div class="button_Line">
<div class="button_Left">
<el-button size="default" type="primary" @click="onOpenAdd('新建')">
@@ -22,11 +8,11 @@
<Plus />
</el-icon>新建
</el-button>
- <el-button size="default" type="warning" plain disabled>
- <el-icon>
- <Edit />
- </el-icon>修改
- </el-button>
+<!-- <el-button size="default" type="warning" plain disabled>-->
+<!-- <el-icon>-->
+<!-- <Edit />-->
+<!-- </el-icon>修改-->
+<!-- </el-button>-->
<el-button size="default" type="danger" plain disabled>
<el-icon>
<Delete />
@@ -60,30 +46,29 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
+ <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 prop="attachments" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="attachments" label="演练记录日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column>
+ <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="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
<el-icon style="margin-right: 5px;">
<VideoPlay />
</el-icon>启动
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
<el-icon style="margin-right: 5px;">
<VideoPause />
</el-icon>废止
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
<el-icon style="margin-right: 5px;">
<EditPen />
</el-icon>修改
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,21 +78,7 @@
</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>-->
</el-card>
- <OpenSee ref="seeRef" />
<OpenAdd ref="addRef" />
<OpenEdit ref="editRef" />
<upData ref="upShow"></upData>
@@ -128,19 +99,18 @@
ElTable,
} from 'element-plus';
import { Plus,
- Edit,
+ // Edit,
Delete,
Upload,
Download,
Refresh,
- View,
+ // View,
VideoPause,
VideoPlay,
EditPen,
} from '@element-plus/icons-vue'
-import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
+import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/openAdd.vue';
import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue';
-import OpenSee from '/@/views/contingencyManagement/panManagement/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// 定义表格数据类型
@@ -175,12 +145,11 @@
name: 'systemUser',
components: {
OpenAdd,
- OpenSee,
OpenEdit,
- View,
+ // View,
EditPen,
Plus,
- Edit,
+ // Edit,
Delete,
Upload,
Download,
@@ -190,7 +159,7 @@
UpData
},
setup() {
- const seeRef = ref();
+ // const seeRef = ref();
const editRef = ref();
// 选择框
// const value = ref('');
@@ -262,10 +231,6 @@
teamLeader: '王磊',
}
]
- //查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
- };
// 打开新增用户弹窗
const addRef = ref();
const onOpenAdd = () => {
@@ -287,18 +252,6 @@
})
.catch(() => {});
};
- // 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
return {
// value,
// options,
@@ -307,16 +260,13 @@
upButton,
upShow,
tableData,
- onOpenSee, //查看
- seeRef,
+ // onOpenSee, //查看
+ // seeRef,
onOpenEdit, //编辑
editRef,
onOpenAdd, //新增
addRef,
onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
- // ...toRefs(state),
};
},
});
diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
new file mode 100644
index 0000000..823a2aa
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
@@ -0,0 +1,214 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急演练实施"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ label-width="120px"
+ >
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="演练名称" prop="teamName">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="regionsDialog"/>
+ </template>
+ </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="实际到场人员" prop="telephone" >
+ <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="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="演练过程描述" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写演练目的"
+ class="textarea"
+ type="textarea"
+ />
+ </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.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </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="telephone">
+ <el-date-picker
+ class="w100"
+ v-model="value1"
+ type="datetime"
+ placeholder="选择日期时间"
+ />
+ </el-form-item>
+ </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>
+ <UserSelect ref="Shows"/>
+ <UserCheckbox ref="userRef"/>
+ <RegionsDialog ref="openRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserCheckbox from "/@/components/userCheckbox/index.vue"
+import UserSelect from '/@/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/userSelect.vue'
+import RegionsDialog from '/@/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue'
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ UserSelect,
+ UserCheckbox,
+ RegionsDialog,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 表单提交验证必填项
+ 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 Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDialog()
+ }
+ // 演练名称弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 实际到场人员弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ Search,
+ ruleForm,
+ value1,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ // rules,
+ openUser,
+ userRef,
+ regionsDialog,
+ openRef,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+.textarea{
+ height: 90px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 90px!important;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue
new file mode 100644
index 0000000..b673e61
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue
@@ -0,0 +1,157 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择演练名称" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="演练名称" style="max-width: 215px;" />
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="margin-left: 12px;">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
+ </el-form>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px;">
+ <el-table-column type="selection" width="55" />
+ <el-table-column align="center" prop="name" label="演练名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px;">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ reactive,
+ ref
+} from 'vue';
+import {
+ Delete
+} from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ name: '1#LNG储罐单元',
+ },
+ {
+ name: 'LNG装车区',
+ },
+ {
+ name: '丙烷储罐区',
+ },
+ {
+ name: '4#LNG储罐单元',
+ },
+ ];
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-row {
+ padding: 0 0 20px 0;
+}
+.el-form--inline .el-form-item{
+ margin: 0;
+}
+/*分页开始*/
+ .pages{
+ display: flex;
+ justify-content: flex-start;
+ 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>
diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/userSelect.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/userSelect.vue
new file mode 100644
index 0000000..273a389
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/userSelect.vue
@@ -0,0 +1,427 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="用户选择"
+ v-model="isShowDialog"
+ width="1000px"
+ draggable
+ >
+ <el-container class="layout-container-demo" style="height: 500px;overflow: auto;min-width: 960px">
+ <el-aside width="200px">
+ <el-input v-model="filterText" placeholder="请输入组织机构过滤" />
+ <el-tree
+ ref="treeRef"
+ class="filter-tree"
+ :data="data"
+ :props="defaultProps"
+ default-expand-all
+ :filter-node-method="filterNode"
+ />
+ </el-aside>
+ <el-container style="margin: 0 15px;min-width:560px;">
+ <el-header style="font-size: 12px">
+ <el-form :inline="true" :model="formInline" class="demo-form-inline">
+ <el-form-item>
+ <el-input size="default" v-model="formInline.name" placeholder="登录名"> </el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" class="ml10" @click="onSubmit">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10" @click="submitReset">
+ 重置
+ </el-button>
+ </el-form-item>
+ </el-form>
+ </el-header>
+ <el-main style="position: relative;">
+ <el-table
+ :data="tableData"
+ :header-cell-style="{background:'#f6f7fa',color:'#909399',fontWeight:400}"
+ >
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.date" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column prop="date" label="登录名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="name" label="用户名" width="100" show-overflow-tooltip sortable />
+ <el-table-column prop="address" label="所属机构" width="115" show-overflow-tooltip sortable />
+ <el-table-column prop="department" label="所属部门" width="115" show-overflow-tooltip sortable/>
+ <el-table-column label="状态"
+ width="80"
+ prop="tag"
+ :filters="[
+ { text: '正常', value: 'Home' },
+ { text: '不正常', value: 'Office' },
+ ]"
+ :filter-method="filterTag"
+ filter-placement="bottom-end">
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.tag === 'Home' ? '' : 'success'"
+ disable-transitions
+ >{{ scope.row.tag }}</el-tag
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-main>
+ </el-container>
+ <div style="width: 200px;">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </div>
+ </el-container>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button size="default" type="primary" @click="onCancel">确定</el-button>
+ <el-button size="default" @click="onCancel">关闭</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ ref,
+ defineComponent,
+ watch,
+ reactive,
+} from 'vue';
+
+import type {
+ ElTree,
+ // ElTable,
+} from 'element-plus'
+
+interface Tree {
+ id: number
+ label: string
+ children?: Tree[]
+}
+// interface User {
+// date: string
+// name: string
+// address: string
+// }
+export default defineComponent({
+ name: 'userSelections',
+ components: {
+ // Search,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+ // 打开弹窗
+ const openDialog = () => {
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+
+
+ const filterText = ref('')
+ const treeRef = ref<InstanceType<typeof ElTree>>() //实例化
+
+ const defaultProps = {
+ children: 'children',
+ label: 'label',
+ }
+
+ // 监听搜索关键字改变
+ watch(filterText, (val) => {
+ treeRef.value!.filter(val)
+ })
+
+ // 节点过滤模糊搜索
+ const filterNode = (value: string, data: Tree) => {
+ if (!value) return true
+ return data.label.includes(value)
+ }
+
+ // 树形结构内容
+ const data: Tree[] = [
+ {
+ id: 1,
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ id: 4,
+ label: '经营班子',
+ children: []
+ },
+ ],
+ },
+ {
+ id: 2,
+ label: '生产运行部',
+ children: [
+ {
+ id: 5,
+ label: '工艺二班',
+ },
+ {
+ id: 6,
+ label: '灌装一班',
+ },
+ ],
+ },
+ {
+ id: 3,
+ label: '设备部',
+ children: [
+ {
+ id: 7,
+ label: '仪表班',
+ },
+ {
+ id: 8,
+ label: '机修班',
+ },
+ ],
+ },
+ ]
+ // const item = {
+ // date: '孙刚',
+ // name: '龚赛健',
+ // address: '综合办公室',
+ // tag: '正常',
+ // }
+ // const tableData = ref(Array.from({ length: 7 }).fill(item))
+ const tableData = [
+ {
+ date: '孙刚',
+ name: '孙刚',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '谭柏',
+ name: '谭柏',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪威',
+ name: '倪威',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ {
+ date: '倪玲婕',
+ name: '倪玲婕',
+ address: '',
+ department: '经营班子',
+ tag: '正常',
+ },
+ ];
+ // 定义表单搜索
+ const formInline = reactive({
+ name: '',
+ })
+ // 搜索按钮
+ const onSubmit = () => {
+ console.log('submit!')
+ }
+
+ // const multipleTableRef = ref<InstanceType<typeof ElTable>>()
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['胡海涛']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('谭柏')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ defaultProps,
+ filterNode,
+ data,
+ tableData,
+ formInline,
+ onSubmit,
+ // multipleTableRef,
+ handleClose,
+ dynamicTags,
+ handleSizeChange,
+ handleCurrentChange,
+ pageIndex,
+ pageSize,
+ radio1,
+ radio,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.layout-container-demo .el-header {
+ position: relative;
+ color: var(--el-text-color-primary);
+ line-height: 32px;
+ --el-header-height: 45px;
+ padding: 0;
+}
+.layout-container-demo .el-aside {
+ padding: 10px;
+ border: 1px solid #ebeef5;
+ color: var(--el-text-color-primary);
+}
+::v-deep .el-input--large .el-input__inner {
+ height: 32px!important;
+ line-height: 32px!important;
+}
+.layout-container-demo .el-menu {
+ border-right: none;
+}
+.layout-container-demo .el-main {
+ padding: 0;
+}
+.layout-container-demo .toolbar {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ right: 20px;
+}
+.el-input--large{
+ //width: 178px;
+ height: 32px;
+}
+.el-tree{
+ overflow: auto;
+}
+::-webkit-scrollbar {
+ height: 1px;
+
+}
+::-webkit-scrollbar-thumb {
+ background-color: transparent;
+}
+// 鼠标悬浮样式
+:hover::-webkit-scrollbar-thumb {
+ border-radius: 15px;
+ background-color: #d8d9db;
+}
+::v-deep .el-input__wrapper{
+ width: 215px;
+}
+::v-deep .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+//单选框圆形
+::v-deep .el-table__header .el-table-column--selection .cell .el-checkbox {
+ display:none
+}
+::v-deep .el-table-column--selection .cell{
+ text-align: center;
+}
+::v-deep .el-checkbox__input .el-checkbox__inner{
+ border-radius: 50%;
+}
+/*分页*/
+.pages{
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 15px;
+ align-items: center;
+ //position: absolute;
+ //bottom: 0;
+}
+::v-deep .el-pagination{
+ width: 100%;
+}
+::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
diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue
index 5583fcb..e29f8a7 100644
--- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue
@@ -1,20 +1,6 @@
<template>
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></el-option>
- </el-select>
- <el-button size="default" type="primary" class="ml10">
- 查询
- </el-button>
- <el-button size="default" class="ml10" @click="submitReset">
- 重置
- </el-button>
- </div>
<div class="button_Line">
<div class="button_Left">
<el-button size="default" type="primary" @click="onOpenAdd('新建')">
@@ -22,11 +8,11 @@
<Plus />
</el-icon>新建
</el-button>
- <el-button size="default" type="warning" plain disabled>
- <el-icon>
- <Edit />
- </el-icon>修改
- </el-button>
+<!-- <el-button size="default" type="warning" plain disabled>-->
+<!-- <el-icon>-->
+<!-- <Edit />-->
+<!-- </el-icon>修改-->
+<!-- </el-button>-->
<el-button size="default" type="danger" plain disabled>
<el-icon>
<Delete />
@@ -60,29 +46,31 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
+ <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 prop="attachments" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="attachments" label="演练记录时间" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column>
+ <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="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
<VideoPlay />
</el-icon>启动
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
<VideoPause />
</el-icon>废止
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
<el-icon style="margin-right: 5px;">
<EditPen />
</el-icon>修改
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
发起审批
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
@@ -93,19 +81,21 @@
</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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
<OpenSee ref="seeRef" />
<OpenAdd ref="addRef" />
@@ -128,17 +118,16 @@
ElTable,
} from 'element-plus';
import { Plus,
- Edit,
+ // Edit,
Delete,
Upload,
Download,
Refresh,
- View,
VideoPause,
VideoPlay,
EditPen,
} from '@element-plus/icons-vue'
-import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
+import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue';
import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue';
import OpenSee from '/@/views/contingencyManagement/panManagement/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
@@ -177,10 +166,9 @@
OpenAdd,
OpenSee,
OpenEdit,
- View,
EditPen,
Plus,
- Edit,
+ // Edit,
Delete,
Upload,
Download,
@@ -287,18 +275,17 @@
})
.catch(() => {});
};
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
// 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
return {
// value,
// options,
@@ -314,9 +301,10 @@
onOpenAdd, //新增
addRef,
onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
- // ...toRefs(state),
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
};
},
});
@@ -335,4 +323,39 @@
flex-direction: row;
justify-content: space-between;
}
+//分页开始
+.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
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
new file mode 100644
index 0000000..4571039
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -0,0 +1,448 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急演练计划发布"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="演练名称" prop="teamName">
+ <el-input v-model="ruleForm.teamName" 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="teamName">
+ <el-input v-model="ruleForm.teamName" 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="主办部门" placeholder="请选择">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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="teamLevel">
+ <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-option label="综合" value="admin"></el-option>
+ <el-option label="桌面" value="common3"></el-option>
+ <el-option label="专项" value="common2"></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="telephone" >
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </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="teamPhone">
+ <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-option label="公司级" value="admin"></el-option>
+ <el-option label="分厂级" value="common"></el-option>
+ <el-option label="车间级" value="common1"></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-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </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-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </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-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </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.planCustomizer" disabled 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="telephone">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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-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="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="演练目的" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写演练目的"
+ class="input-with-select textarea"
+ type="textarea"
+ >
+ </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.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="teamName">
+ <el-input v-model="ruleForm.teamName" 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="teamName">
+ <el-input v-model="ruleForm.teamName" 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="备注信息" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写备注信息"
+ class="input-with-select textarea"
+ type="textarea"
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
+ <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-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>
+ <RegionsDialog ref="Shows"/>
+ <UserCheckbox ref="userRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import { reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ UploadUserFile,
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserCheckbox from "/@/components/userCheckbox/index.vue"
+import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ RegionsDialog,
+ UserCheckbox,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ planCustomizer: '胡海涛', //计划定制人
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 上传附件
+ const fileList = ref<UploadUserFile[]>([])
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
+ //定义树形下拉框
+ 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: [],
+ },
+ ],
+ },
+ ]
+
+ // 表单提交验证必填项
+ 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 Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDailog()
+ }
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 计划定制日期
+ const datetime = ref('')
+ // 计划演练日期
+ const drillDate = ref('')
+ // 修改时间
+ const editDate = ref('')
+
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ fileList,
+ responsibleDepartment,
+ data,
+ Search,
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ // rules,
+ openUser,
+ userRef,
+ datetime,
+ drillDate,
+ editDate,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+//多行文本框
+.textarea{
+ height: 70px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 70px!important;
+}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue
new file mode 100644
index 0000000..61cf6f3
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue
@@ -0,0 +1,442 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急演练计划发布"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="演练名称" prop="teamName">
+ <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称" disabled></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="teamName">
+ <el-input v-model="ruleForm.teamName" placeholder="请填写演练地点" disabled></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="主办部门" placeholder="请选择" >
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :data="data" class="w100"
+ placeholder="请选择"
+ disabled
+ />
+ </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="请选择" disabled>
+ <el-option label="综合" value="admin"></el-option>
+ <el-option label="桌面" value="common3"></el-option>
+ <el-option label="专项" value="common2"></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="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" disabled @click="daiInpt" />
+ </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="teamPhone">
+ <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
+ <el-option label="公司级" value="admin"></el-option>
+ <el-option label="分厂级" value="common"></el-option>
+ <el-option label="车间级" value="common1"></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-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </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-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </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-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </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.planCustomizer" disabled 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="telephone">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :data="data" class="w100"
+ placeholder="请选择" disabled/>
+ </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.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser" disabled/>
+ </template>
+ </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="演练目的" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写演练目的"
+ class="input-with-select textarea"
+ type="textarea"
+ disabled
+ >
+ </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.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser" disabled/>
+ </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="teamName">
+ <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称" disabled></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="teamName">
+ <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称" disabled></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="备注信息" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写备注信息"
+ class="input-with-select textarea"
+ type="textarea"
+ disabled
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
+ <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"
+ disabled
+ >
+ <el-button type="primary" disabled
+ >点击上传</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ 添加相关附件
+ </div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="onCancel" size="default">关闭</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ <RegionsDialog ref="Shows"/>
+ <UserCheckbox ref="userRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import { reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ UploadUserFile,
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserCheckbox from "/@/components/userCheckbox/index.vue"
+import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ RegionsDialog,
+ UserCheckbox,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ planCustomizer: '胡海涛', //计划定制人
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 上传附件
+ const fileList = ref<UploadUserFile[]>([])
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
+ //定义树形下拉框
+ 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: [],
+ },
+ ],
+ },
+ ]
+ // 应急队伍弹窗
+ const Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDailog()
+ }
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 计划定制日期
+ const datetime = ref('')
+ // 计划演练日期
+ const drillDate = ref('')
+ // 修改时间
+ const editDate = ref('')
+
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ fileList,
+ responsibleDepartment,
+ data,
+ Search,
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ // rules,
+ openUser,
+ userRef,
+ datetime,
+ drillDate,
+ editDate,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+//多行文本框
+.textarea{
+ height: 70px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 70px!important;
+}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
new file mode 100644
index 0000000..d0ae9ee
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
@@ -0,0 +1,171 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案名称" style="max-width: 215px;" />
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="padding-right: 12px;">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
+ </el-form>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px;">
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.name" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="name" label="预案名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px;">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref } from 'vue';
+import { Delete } from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ name: '1#LNG储罐单元',
+ },
+ {
+ name: 'LNG装车区',
+ },
+ {
+ name: '丙烷储罐区',
+ },
+ {
+ name: '4#LNG储罐单元',
+ },
+ ];
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['LNG储罐单元']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('LNG装车区')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ handleSizeChange,
+ handleCurrentChange,
+ pageIndex,
+ pageSize,
+ Delete,
+ handleClose,
+ radio1,
+ radio,
+ dynamicTags,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-row {
+ padding: 0 0 20px 0;
+}
+.el-form--inline .el-form-item{
+ margin: 0;
+}
+/*分页*/
+ .pages{
+ display: flex;
+ justify-content: flex-start;
+ 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>
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
index 5583fcb..73bd9fe 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -1,20 +1,6 @@
<template>
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></el-option>
- </el-select>
- <el-button size="default" type="primary" class="ml10">
- 查询
- </el-button>
- <el-button size="default" class="ml10" @click="submitReset">
- 重置
- </el-button>
- </div>
<div class="button_Line">
<div class="button_Left">
<el-button size="default" type="primary" @click="onOpenAdd('新建')">
@@ -22,11 +8,11 @@
<Plus />
</el-icon>新建
</el-button>
- <el-button size="default" type="warning" plain disabled>
- <el-icon>
- <Edit />
- </el-icon>修改
- </el-button>
+<!-- <el-button size="default" type="warning" plain disabled>-->
+<!-- <el-icon>-->
+<!-- <Edit />-->
+<!-- </el-icon>修改-->
+<!-- </el-button>-->
<el-button size="default" type="danger" plain disabled>
<el-icon>
<Delete />
@@ -60,30 +46,28 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="name" label="演练名称" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="place" label="演练地点" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="mode" label="演练方式" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="level" label="演练级别" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="date" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="editDate" label="修改时间" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="操作" width="260" align="center">
<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="releaseOfDrillPlan(0)">
<el-icon style="margin-right: 5px;">
<VideoPlay />
</el-icon>启动
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
- <VideoPause />
- </el-icon>废止
+ <View />
+ </el-icon>查看
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-button size="small" text type="primary" @click="onOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
<EditPen />
</el-icon>修改
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,23 +77,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="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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
- <OpenSee ref="seeRef" />
<OpenAdd ref="addRef" />
- <OpenEdit ref="editRef" />
+ <OpenSee ref="seeRef" />
<upData ref="upShow"></upData>
</div>
</template>
@@ -127,33 +112,30 @@
ElMessage,
ElTable,
} from 'element-plus';
-import { Plus,
- Edit,
+import {
+ Plus,
Delete,
Upload,
Download,
Refresh,
View,
- VideoPause,
VideoPlay,
EditPen,
} 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 {useRouter} from "vue-router"
+import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue';
+import OpenSee from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// 定义表格数据类型
interface User {
- teamName: string
- teamLevel: string
- teamDescription: string
- teamPhone: string
+ name: string
+ place: string
+ mode: string
+ level: string
phone: string;
- describe: string;
- responsibleDepartment: string
- teamLeader: string
-
+ date: string;
+ editDate: string
}
// 定义接口来定义对象的类型
@@ -176,22 +158,17 @@
components: {
OpenAdd,
OpenSee,
- OpenEdit,
- View,
EditPen,
Plus,
- Edit,
+ View,
Delete,
Upload,
Download,
Refresh,
- VideoPause,
VideoPlay,
UpData
},
setup() {
- const seeRef = ref();
- const editRef = ref();
// 选择框
// const value = ref('');
// const options =
@@ -210,70 +187,51 @@
// 定义表格数据
const tableData: User[] = [
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
+ name: '应急救援组',
+ place: '公司',
+ mode: '实施抢险抢险的应急方案和措施实施 ;',
+ level: '051383830321',
phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ date: '2022-06-22 16:31:59',
+ editDate: '2022-06-22 16:31:59'
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
+ name: '应急救援组',
+ place: '公司',
+ mode: '实施抢险抢险的应急方案和措施实施 ;',
+ level: '051383830321',
phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ date: '2022-06-22 16:31:59',
+ editDate: '2022-06-22 16:31:59'
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
+ name: '应急救援组',
+ place: '公司',
+ mode: '实施抢险抢险的应急方案和措施实施 ;',
+ level: '051383830321',
phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ date: '2022-06-22 16:31:59',
+ editDate: '2022-06-22 16:31:59'
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
+ name: '应急救援组',
+ place: '公司',
+ mode: '实施抢险抢险的应急方案和措施实施 ;',
+ level: '051383830321',
phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ date: '2022-06-22 16:31:59',
+ editDate: '2022-06-22 16:31:59'
}
]
- //查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
- };
// 打开新增用户弹窗
const addRef = ref();
const onOpenAdd = () => {
addRef.value.openDialog();
};
// 打开修改用户弹窗
- const onOpenEdit = (row: TableDataRow) => {
- editRef.value.openDialog(row);
+ const seeRef = ref();
+ const onOpenSee = (row: TableDataRow) => {
+ seeRef.value.openDialog(row);
};
// 删除用户
const onRowDel = (row: TableDataRow) => {
@@ -287,36 +245,45 @@
})
.catch(() => {});
};
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
// 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 启动跳转
+ const router=useRouter()
+ const releaseOfDrillPlan=(data:string)=>{
+ router.push({
+ path:"/releaseOfDrillStart",
+ query:{
+ type:data
+ }
+ })
+ }
return {
- // value,
- // options,
multipleSelection,
multipleTableRef,
upButton,
upShow,
tableData,
- onOpenSee, //查看
+ onOpenSee, //查看
seeRef,
- onOpenEdit, //编辑
- editRef,
onOpenAdd, //新增
addRef,
onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
- // ...toRefs(state),
+ View ,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ router,
+ releaseOfDrillPlan,
};
},
});
@@ -335,4 +302,38 @@
flex-direction: row;
justify-content: space-between;
}
+//分页
+.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
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue
new file mode 100644
index 0000000..a73b224
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue
@@ -0,0 +1,164 @@
+<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"
+ >
+ <el-row :gutter="35">
+ <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="应急预案" prop="teamName">
+ <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="12" :sm="12" :md="12" :lg="12" :xl="12" 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-row>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button size="default" @click="onCancel">关闭</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ <userSelections ref="userRef"/>
+ <AddEmergencyPersonnel ref="addRef" />
+ <EditEmergencyPersonnel ref="editRef" />
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ toRefs,
+ ref,
+ defineComponent
+} from 'vue';
+import type {
+ FormInstance,
+} from 'element-plus'
+import {
+ Search
+} 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 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 userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+
+ const ruleFormRef = ref<FormInstance>()
+ // 打开弹窗
+ const openDialog = (row: RuleFormRow) => {
+ state.ruleForm = row;
+ state.isShowDialog = true;
+ };
+ return {
+ openDialog,
+ closeDialog,
+ onCancel,
+ Search,
+ ruleFormRef,
+ openUser,
+ userRef,
+ ...toRefs(state),
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 50px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 50px!important;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
new file mode 100644
index 0000000..b6954a6
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
@@ -0,0 +1,176 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-col :span="24">
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="预案名称" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案类型" style="max-width: 215px;padding: 0 12px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col :span="24">
+ <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
+ </el-col>
+ </el-row>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px">
+ <el-table-column width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.pass" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="pass" label="预案名称" />
+ <el-table-column align="center" prop="checkPass" label="预案类型"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref } from 'vue';
+import { Delete } from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ pass: '生产安全事故应急预案202102',
+ checkPass: '1',
+ },
+ {
+ pass: '生产安全事故应急预案',
+ checkPass: '2',
+ },
+ {
+ pass: '作业人员触电事故现场处置方案',
+ checkPass: '4',
+ },
+ {
+ pass: '船舶碰撞码头事故专项应急预案',
+ checkPass: '2',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['船舶碰撞码头事故专项应急预案']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('生产安全事故应急预案202102')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ radio1,
+ radio,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+.pages{
+ 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>
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
index 5583fcb..d60ce4e 100644
--- a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
@@ -2,26 +2,34 @@
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></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
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ label-width="80px"
+ :inline="true"
+ >
+ <el-form-item prop="telephone" >
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择应急预案"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-button size="default" type="primary" class="ml10">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10" @click="submitReset">
+ 重置
+ </el-button>
+ </el-form>
</div>
<div class="button_Line">
<div class="button_Left">
- <el-button size="default" type="primary" @click="onOpenAdd('新建')">
- <el-icon>
- <Plus />
- </el-icon>新建
- </el-button>
<el-button size="default" type="warning" plain disabled>
<el-icon>
<Edit />
@@ -34,11 +42,6 @@
</el-button>
</div>
<div class="button_Right">
- <el-button @click="upButton">
- <el-icon>
- <Upload />
- </el-icon>
- </el-button>
<el-button>
<el-icon>
<Download />
@@ -60,30 +63,16 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="应急预案" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamLevel" label="启动人" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamDescription" label="启动时间" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="materialClassification" label="备注" min-width="120" 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 :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="OnOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
- <VideoPlay />
- </el-icon>启动
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
- <el-icon style="margin-right: 5px;">
- <VideoPause />
- </el-icon>废止
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- <el-icon style="margin-right: 5px;">
- <EditPen />
- </el-icon>修改
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
+ <View />
+ </el-icon>查看
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,23 +82,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="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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
- <OpenSee ref="seeRef" />
- <OpenAdd ref="addRef" />
- <OpenEdit ref="editRef" />
+ <SelectEmergencyPlan ref="showRef"/>
+ <OpenSee ref="editRef" />
<upData ref="upShow"></upData>
</div>
</template>
@@ -117,7 +107,7 @@
<script lang="ts">
import {
// toRefs,
- // reactive,
+ reactive,
// onMounted,
ref,
defineComponent
@@ -126,71 +116,59 @@
ElMessageBox,
ElMessage,
ElTable,
+ FormInstance,
} from 'element-plus';
-import { Plus,
- Edit,
+import {
+ Plus,
+ Search,
Delete,
- Upload,
+ // Upload,
Download,
Refresh,
View,
- VideoPause,
- VideoPlay,
EditPen,
} 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 OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
+import SelectEmergencyPlan from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue'
// 定义表格数据类型
interface User {
teamName: string
teamLevel: string
teamDescription: string
- teamPhone: string
- phone: string;
- describe: string;
- responsibleDepartment: string
- teamLeader: string
-
+ materialClassification: string
}
// 定义接口来定义对象的类型
interface TableDataRow {
- // userName: string;
- // userNickname: string;
- // roleSign: string;
- // department: string[];
- // phone: string;
- // email: string;
- // sex: string;
- // password: string;
- // overdueTime: Date;
- // // describe: string;
- // createTime: string;
}
export default defineComponent({
name: 'systemUser',
components: {
- OpenAdd,
OpenSee,
- OpenEdit,
View,
EditPen,
Plus,
- Edit,
+ // Edit,
Delete,
- Upload,
+ SelectEmergencyPlan,
Download,
Refresh,
- VideoPause,
- VideoPlay,
UpData
},
setup() {
- const seeRef = ref();
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // const seeRef = ref();
const editRef = ref();
// 选择框
// const value = ref('');
@@ -210,71 +188,44 @@
// 定义表格数据
const tableData: User[] = [
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
}
]
- //查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
- };
- // 打开新增用户弹窗
- const addRef = ref();
- const onOpenAdd = () => {
- addRef.value.openDialog();
- };
- // 打开修改用户弹窗
- const onOpenEdit = (row: TableDataRow) => {
+ // // 打开新增用户弹窗
+ // const addRef = ref();
+ // const onOpenAdd = () => {
+ // addRef.value.openDialog();
+ // };
+ // // 打开修改用户弹窗
+ const OnOpenSee = (row: TableDataRow) => {
editRef.value.openDialog(row);
};
+ // 应急预案
+ const showRef=ref()
+ const daiInpt=()=>{
+ showRef.value.openDailog()
+ }
// 删除用户
const onRowDel = (row: TableDataRow) => {
ElMessageBox.confirm(`此操作将永久删除账户名称:“${row}”,是否继续?`, '提示', {
@@ -287,18 +238,17 @@
})
.catch(() => {});
};
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
// 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
return {
// value,
// options,
@@ -307,15 +257,18 @@
upButton,
upShow,
tableData,
- onOpenSee, //查看
- seeRef,
- onOpenEdit, //编辑
+ OnOpenSee, //编辑
editRef,
- onOpenAdd, //新增
- addRef,
onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ ruleFormRef,
+ ruleForm,
+ Search,
+ daiInpt,
+ showRef,
// ...toRefs(state),
};
},
@@ -335,4 +288,58 @@
flex-direction: row;
justify-content: space-between;
}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ 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
diff --git a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue
new file mode 100644
index 0000000..16770d7
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue
@@ -0,0 +1,182 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急物资保养"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="应急物资" prop="teamName">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </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="teamLeader">
+ <el-select v-model="ruleForm.teamLevel" 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="telephone">
+ <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="telephone">
+ <el-date-picker
+ class="w100"
+ v-model="value1"
+ type="datetime"
+ placeholder="选择日期时间"
+ />
+ </el-form-item>
+ </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>
+ <Material ref="showRef"/>
+ <userSelections ref="userRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import Material from '/@/components/material/index.vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ UserSelections,
+ Material,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 表单提交验证必填项
+ 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 showRef=ref()
+ const daiInpt=()=>{
+ showRef.value.openDailog()
+ }
+ // 编写人弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ Search,
+ ruleForm,
+ value1,
+ daiInpt,
+ showRef,
+ ruleFormRef,
+ submitForm,
+ openUser,
+ userRef,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
index 5583fcb..067f83c 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
@@ -2,22 +2,35 @@
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></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
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ label-width="80px"
+ :inline="true"
+ >
+ <el-form-item prop="telephone" >
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择应急物资"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-button size="default" type="primary" class="ml10">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10" @click="submitReset">
+ 重置
+ </el-button>
+ </el-form>
</div>
<div class="button_Line">
<div class="button_Left">
- <el-button size="default" type="primary" @click="onOpenAdd('新建')">
+ <el-button size="default" type="primary" @click="onOpenAdd">
<el-icon>
<Plus />
</el-icon>新建
@@ -34,11 +47,6 @@
</el-button>
</div>
<div class="button_Right">
- <el-button @click="upButton">
- <el-icon>
- <Upload />
- </el-icon>
- </el-button>
<el-button>
<el-icon>
<Download />
@@ -60,30 +68,15 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="应急物资" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamLevel" label="保养结果" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamDescription" label="保养日期" min-width="120" 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="OnOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
- <VideoPlay />
- </el-icon>启动
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
- <el-icon style="margin-right: 5px;">
- <VideoPause />
- </el-icon>废止
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- <el-icon style="margin-right: 5px;">
- <EditPen />
- </el-icon>修改
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
+ <View />
+ </el-icon>查看
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,31 +86,33 @@
</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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
- <OpenSee ref="seeRef" />
- <OpenAdd ref="addRef" />
- <OpenEdit ref="editRef" />
+ <EmergencySupplies ref="showRef"/>
+ <OpenSee ref="editRef" />
<upData ref="upShow"></upData>
+ <OpenAdd ref="addRef" />
</div>
</template>
<script lang="ts">
import {
// toRefs,
- // reactive,
+ reactive,
// onMounted,
ref,
defineComponent
@@ -126,79 +121,65 @@
ElMessageBox,
ElMessage,
ElTable,
+ FormInstance,
} from 'element-plus';
-import { Plus,
- Edit,
+import {
+ Plus,
+ Search,
Delete,
- Upload,
+ Edit,
Download,
Refresh,
View,
- VideoPause,
- VideoPlay,
EditPen,
} 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 OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
-
+import EmergencySupplies from '/@/components/emergencySupplies/index.vue'
+import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue';
// 定义表格数据类型
interface User {
teamName: string
teamLevel: string
teamDescription: string
- teamPhone: string
- phone: string;
- describe: string;
- responsibleDepartment: string
- teamLeader: string
-
}
// 定义接口来定义对象的类型
interface TableDataRow {
- // userName: string;
- // userNickname: string;
- // roleSign: string;
- // department: string[];
- // phone: string;
- // email: string;
- // sex: string;
- // password: string;
- // overdueTime: Date;
- // // describe: string;
- // createTime: string;
}
export default defineComponent({
- name: 'systemUser',
+ name: 'index',
components: {
- OpenAdd,
OpenSee,
- OpenEdit,
View,
+ OpenAdd,
EditPen,
Plus,
Edit,
Delete,
- Upload,
+ EmergencySupplies,
Download,
Refresh,
- VideoPause,
- VideoPlay,
UpData
},
setup() {
- const seeRef = ref();
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+
const editRef = ref();
- // 选择框
- // const value = ref('');
- // const options =
- // {
- // value: 'Option1',
- // label: 'Option1',
- // };
+ // 打开新建用户弹窗
+ const addRef = ref();
+ const onOpenAdd = () => {
+ addRef.value.openDialog();
+ };
const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const multipleSelection = ref<User[]>([])
@@ -210,71 +191,40 @@
// 定义表格数据
const tableData: User[] = [
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部'
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
}
]
- //查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
- };
- // 打开新增用户弹窗
- const addRef = ref();
- const onOpenAdd = () => {
- addRef.value.openDialog();
- };
- // 打开修改用户弹窗
- const onOpenEdit = (row: TableDataRow) => {
+ // // 打开新增用户弹窗
+ // const addRef = ref();
+ // const onOpenAdd = () => {
+ // addRef.value.openDialog();
+ // };
+ // // 打开修改用户弹窗
+ const OnOpenSee = (row: TableDataRow) => {
editRef.value.openDialog(row);
};
+ // 应急物资弹窗
+ const showRef=ref()
+ const daiInpt=()=>{
+ showRef.value.openDailog()
+ }
// 删除用户
const onRowDel = (row: TableDataRow) => {
ElMessageBox.confirm(`此操作将永久删除账户名称:“${row}”,是否继续?`, '提示', {
@@ -287,18 +237,17 @@
})
.catch(() => {});
};
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
// 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
return {
// value,
// options,
@@ -307,16 +256,21 @@
upButton,
upShow,
tableData,
- onOpenSee, //查看
- seeRef,
- onOpenEdit, //编辑
+ OnOpenSee, //编辑
editRef,
+ Edit,
+ onRowDel,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ ruleFormRef,
+ ruleForm,
+ Search,
+ daiInpt,
+ showRef,
onOpenAdd, //新增
addRef,
- onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
- // ...toRefs(state),
};
},
});
@@ -335,4 +289,58 @@
flex-direction: row;
justify-content: space-between;
}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ 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
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintainDialog.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintainDialog.vue
new file mode 100644
index 0000000..80182a0
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintainDialog.vue
@@ -0,0 +1,193 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择岗位id" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-col :span="24">
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="编号" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="姓名" style="max-width: 215px;padding: 0 12px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col :span="24">
+ <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
+ </el-col>
+ </el-row>
+ <el-table
+ :data="tableData"
+ ref="multipleTableRef"
+ style="width: 100%;margin-top:20px"
+ >
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.name" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="date" label="编号" />
+ <el-table-column align="center" prop="name" label="姓名"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ reactive,
+ ref,
+} from 'vue';
+import {
+ Delete
+} from '@element-plus/icons-vue';
+interface User {
+ date: string
+ name: string
+ address: string
+}
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '金伟',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '施凯健',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '程雪',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '杨恒',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['杨恒']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('金伟')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ radio1,
+ radio,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+.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>
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
new file mode 100644
index 0000000..e4c3e34
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
@@ -0,0 +1,467 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急物资代码"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="物资名称" prop="teamName">
+ <el-input v-model="ruleForm.teamName" 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-input v-model="ruleForm.responsibleDepartment" 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="teamLeader">
+ <el-input v-model="ruleForm.teamLeader" 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="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="regionsDialog"/>
+ </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="teamPhone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone" >
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <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-option label="防护器材" value="common"></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="telephone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-date-picker
+ v-model="value1"
+ type="datetime"
+ 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-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-select v-model="ruleForm.teamLevel" 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="telephone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-date-picker
+ v-model="value1"
+ type="datetime"
+ class="w100"
+ placeholder="选择日期时间"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="使用说明" prop="telephone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-date-picker
+ v-model="value1"
+ type="datetime"
+ 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-date-picker
+ v-model="value1"
+ type="datetime"
+ 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-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-input v-model="ruleForm.teamPhone" 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="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </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>
+ <PersonInCharge ref="Shows"/>
+ <userSelections ref="userRef"/>
+ <RegionsCheckbox ref="openRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue'
+import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue'
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ PersonInCharge,
+ UserSelections,
+ RegionsCheckbox,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
+ //定义树形下拉框
+ 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: [],
+ },
+ ],
+ },
+ ]
+ // 必填项提示
+ // 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 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 Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDailog()
+ }
+ // 选择区域弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ responsibleDepartment,
+ data,
+ Search,
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ // rules,
+ openUser,
+ userRef,
+ regionsDialog,
+ openRef,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue
new file mode 100644
index 0000000..80182a0
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue
@@ -0,0 +1,193 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择岗位id" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-col :span="24">
+ <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.pass" placeholder="编号" style="max-width: 215px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="姓名" style="max-width: 215px;padding: 0 12px;"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col :span="24">
+ <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
+ </el-col>
+ </el-row>
+ <el-table
+ :data="tableData"
+ ref="multipleTableRef"
+ style="width: 100%;margin-top:20px"
+ >
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.name" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="date" label="编号" />
+ <el-table-column align="center" prop="name" label="姓名"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ reactive,
+ ref,
+} from 'vue';
+import {
+ Delete
+} from '@element-plus/icons-vue';
+interface User {
+ date: string
+ name: string
+ address: string
+}
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ pass: '',
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '金伟',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '施凯健',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '程雪',
+ },
+ {
+ date: '6421cbc6cbb5493eabf9b27e83372d78',
+ name: '杨恒',
+ },
+ ];
+ const pageSize4 = ref(100);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['杨恒']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('金伟')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ radio1,
+ radio,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-form--inline .el-form-item{
+ margin-bottom: 0;
+ margin-right: 0;
+}
+/*分页*/
+.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>
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue
new file mode 100644
index 0000000..a0c6d5c
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue
@@ -0,0 +1,138 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="选择区域" width="900px" draggable>
+ <el-row>
+ <el-col :span="18">
+ <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="ruleForm.checkPass" placeholder="风险区域名称" style="max-width: 215px;" />
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="margin-left: 12px;">查询</el-button>
+ <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+ </el-form-item>
+ <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
+ </el-form>
+ <el-table :data="tableData" style="width: 100%;margin-top:20px;">
+ <el-table-column align="center" width="55">
+ <template #default="scope">
+ <el-radio-group v-model="radio1" @change="radio">
+ <el-radio :label="scope.row.name" size="large">{{null}}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="name" label="风险区域名称"/>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px;">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag }}
+ </el-tag>
+ </el-col>
+ </el-row>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref } from 'vue';
+import { Delete } from '@element-plus/icons-vue';
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
+ };
+ // 搜索条件
+ const ruleForm = reactive({
+ checkPass: '',
+ });
+ // 表格
+ const tableData = [
+ {
+ name: '1#LNG储罐单元',
+ },
+ {
+ name: 'LNG装车区',
+ },
+ {
+ name: '丙烷储罐区',
+ },
+ {
+ name: '4#LNG储罐单元',
+ },
+ ];
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['LNG装车区']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value=""
+ };
+ const radio1=ref('1#LNG储罐单元')
+ const radio=(event:any)=>{
+ dynamicTags.value[0]=event
+ }
+
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ ruleForm,
+ tableData,
+ handleSizeChange,
+ handleCurrentChange,
+ pageIndex,
+ pageSize,
+ radio1,
+ radio,
+ dynamicTags,
+ handleClose,
+ Delete,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-row {
+ padding: 0 0 20px 0;
+}
+.el-form--inline .el-form-item{
+ margin: 0;
+}
+</style>
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
index 5583fcb..6e76097 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -2,12 +2,7 @@
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></el-option>
- </el-select>
+ <el-input size="default" placeholder="物资名称" style="max-width: 215px;"> </el-input>
<el-button size="default" type="primary" class="ml10">
查询
</el-button>
@@ -39,11 +34,11 @@
<Upload />
</el-icon>
</el-button>
- <el-button>
- <el-icon>
- <Download />
- </el-icon>
- </el-button>
+ <!-- <el-button>-->
+ <!-- <el-icon>-->
+ <!-- <Download />-->
+ <!-- </el-icon>-->
+ <!-- </el-button>-->
<el-button>
<el-icon>
<Refresh />
@@ -60,30 +55,33 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="物资名称" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamLevel" label="物资编号" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamDescription" label="负责部门" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="materialClassification" label="物资分类" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="location" label="存放位置" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="number" label="存储数量" min-width="120" 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-icon style="margin-right: 5px;">
- <VideoPlay />
- </el-icon>启动
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
- <el-icon style="margin-right: 5px;">
- <VideoPause />
- </el-icon>废止
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-button size="small" text type="primary" @click="onMaintain(scope.row)">
<el-icon style="margin-right: 5px;">
<EditPen />
- </el-icon>修改
+ </el-icon>保养
</el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
+ <el-button size="small" text type="primary" @click="onMaintain(scope.row)">
+ <el-icon style="margin-right: 5px;">
+ <EditPen />
+ </el-icon>检查
+ </el-button>
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-icon style="margin-right: 5px;">
+ <View />
+ </el-icon>查看
+ </el-button>
+ <el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
+ <el-icon style="margin-right: 5px;">
+ <EditPen />
+ </el-icon> 修改
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,21 +91,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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
- <OpenSee ref="seeRef" />
+ <MaintainDialog ref="seeRef" />
<OpenAdd ref="addRef" />
<OpenEdit ref="editRef" />
<upData ref="upShow"></upData>
@@ -131,16 +131,14 @@
Edit,
Delete,
Upload,
- Download,
+ // Download,
Refresh,
View,
- VideoPause,
- VideoPlay,
EditPen,
} from '@element-plus/icons-vue'
-import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
+import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue';
import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue';
-import OpenSee from '/@/views/contingencyManagement/panManagement/component/openSee.vue';
+import MaintainDialog from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintainDialog.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// 定义表格数据类型
@@ -148,12 +146,9 @@
teamName: string
teamLevel: string
teamDescription: string
- teamPhone: string
- phone: string;
- describe: string;
- responsibleDepartment: string
- teamLeader: string
-
+ location: string;
+ materialClassification: string
+ number: string
}
// 定义接口来定义对象的类型
@@ -175,7 +170,7 @@
name: 'systemUser',
components: {
OpenAdd,
- OpenSee,
+ MaintainDialog,
OpenEdit,
View,
EditPen,
@@ -183,15 +178,11 @@
Edit,
Delete,
Upload,
- Download,
+ // Download,
Refresh,
- VideoPause,
- VideoPlay,
UpData
},
setup() {
- const seeRef = ref();
- const editRef = ref();
// 选择框
// const value = ref('');
// const options =
@@ -210,61 +201,42 @@
// 定义表格数据
const tableData: User[] = [
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
+ location: '3#岗微型消防站',
+ number: '5',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
+ location: '3#岗微型消防站',
+ number: '5',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
+ location: '3#岗微型消防站',
+ number: '5',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
+ materialClassification: '事故气体吸收装置',
+ location: '3#岗微型消防站',
+ number: '5',
}
]
//查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
+ const seeRef = ref();
+ const onMaintain = (row: TableDataRow) => {
+ seeRef.value.openDailog(row);
};
// 打开新增用户弹窗
const addRef = ref();
@@ -272,6 +244,7 @@
addRef.value.openDialog();
};
// 打开修改用户弹窗
+ const editRef = ref();
const onOpenEdit = (row: TableDataRow) => {
editRef.value.openDialog(row);
};
@@ -299,6 +272,17 @@
// onMounted(() => {
// initTableData();
// });
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
return {
// value,
// options,
@@ -307,15 +291,17 @@
upButton,
upShow,
tableData,
- onOpenSee, //查看
+ onMaintain, //保养
seeRef,
onOpenEdit, //编辑
editRef,
onOpenAdd, //新增
addRef,
onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
// ...toRefs(state),
};
},
@@ -335,4 +321,38 @@
flex-direction: row;
justify-content: space-between;
}
+//分页
+.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
diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
new file mode 100644
index 0000000..16770d7
--- /dev/null
+++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
@@ -0,0 +1,182 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="新建应急物资保养"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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="应急物资" prop="teamName">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </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="teamLeader">
+ <el-select v-model="ruleForm.teamLevel" 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="telephone">
+ <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="telephone">
+ <el-date-picker
+ class="w100"
+ v-model="value1"
+ type="datetime"
+ placeholder="选择日期时间"
+ />
+ </el-form-item>
+ </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>
+ <Material ref="showRef"/>
+ <userSelections ref="userRef"/>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
+import type {
+ FormInstance,
+ // FormRules,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+import Material from '/@/components/material/index.vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+
+export default defineComponent({
+ name: 'openAdd',
+ components: {
+ UserSelections,
+ Material,
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ //日期选择器
+ const value1 = ref('')
+ // 表单提交验证必填项
+ 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 showRef=ref()
+ const daiInpt=()=>{
+ showRef.value.openDailog()
+ }
+ // 编写人弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ Search,
+ ruleForm,
+ value1,
+ daiInpt,
+ showRef,
+ ruleFormRef,
+ submitForm,
+ openUser,
+ userRef,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
index 5583fcb..a970373 100644
--- a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -2,22 +2,35 @@
<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="shanghai"></el-option>
- <el-option label="分厂-车间" value="beijing"></el-option>
- <el-option label="工序-班组等" value="beijing"></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
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ label-width="80px"
+ :inline="true"
+ >
+ <el-form-item prop="telephone" >
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请选择应急物资"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-button size="default" type="primary" class="ml10">
+ 查询
+ </el-button>
+ <el-button size="default" class="ml10" @click="submitReset">
+ 重置
+ </el-button>
+ </el-form>
</div>
<div class="button_Line">
<div class="button_Left">
- <el-button size="default" type="primary" @click="onOpenAdd('新建')">
+ <el-button size="default" type="primary" @click="onOpenAdd">
<el-icon>
<Plus />
</el-icon>新建
@@ -34,11 +47,6 @@
</el-button>
</div>
<div class="button_Right">
- <el-button @click="upButton">
- <el-icon>
- <Upload />
- </el-icon>
- </el-button>
<el-button>
<el-icon>
<Download />
@@ -60,30 +68,15 @@
type="selection"
width="55"
/>
- <el-table-column prop="teamName" label="队伍名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamLevel" label="队伍级别" show-overflow-tooltip></el-table-column>
- <el-table-column prop="teamDescription" label="队伍描述" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="负责人手机" show-overflow-tooltip></el-table-column>
- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="260" align="center">
+ <el-table-column prop="teamName" label="应急物资" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamLevel" label="保养结果" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="teamDescription" label="保养日期" min-width="120" 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="OnOpenSee(scope.row)">
<el-icon style="margin-right: 5px;">
- <VideoPlay />
- </el-icon>启动
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenSee(scope.row)">
- <el-icon style="margin-right: 5px;">
- <VideoPause />
- </el-icon>废止
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- <el-icon style="margin-right: 5px;">
- <EditPen />
- </el-icon>修改
- </el-button>
- <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">
- 发起审批
+ <View />
+ </el-icon>查看
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
<el-icon>
@@ -93,31 +86,33 @@
</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"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="40"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
- <OpenSee ref="seeRef" />
- <OpenAdd ref="addRef" />
- <OpenEdit ref="editRef" />
+ <EmergencySupplies ref="showRef"/>
+ <OpenSee ref="editRef" />
<upData ref="upShow"></upData>
+ <OpenAdd ref="addRef" />
</div>
</template>
<script lang="ts">
import {
// toRefs,
- // reactive,
+ reactive,
// onMounted,
ref,
defineComponent
@@ -126,79 +121,65 @@
ElMessageBox,
ElMessage,
ElTable,
+ FormInstance,
} from 'element-plus';
-import { Plus,
- Edit,
+import {
+ Plus,
+ Search,
Delete,
- Upload,
+ Edit,
Download,
Refresh,
View,
- VideoPause,
- VideoPlay,
EditPen,
} 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 OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
-
+import EmergencySupplies from '/@/components/emergencySupplies/index.vue'
+import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue';
// 定义表格数据类型
interface User {
teamName: string
teamLevel: string
teamDescription: string
- teamPhone: string
- phone: string;
- describe: string;
- responsibleDepartment: string
- teamLeader: string
-
}
// 定义接口来定义对象的类型
interface TableDataRow {
- // userName: string;
- // userNickname: string;
- // roleSign: string;
- // department: string[];
- // phone: string;
- // email: string;
- // sex: string;
- // password: string;
- // overdueTime: Date;
- // // describe: string;
- // createTime: string;
}
export default defineComponent({
name: 'systemUser',
components: {
- OpenAdd,
OpenSee,
- OpenEdit,
View,
+ OpenAdd,
EditPen,
Plus,
Edit,
Delete,
- Upload,
+ EmergencySupplies,
Download,
Refresh,
- VideoPause,
- VideoPlay,
UpData
},
setup() {
- const seeRef = ref();
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
+ });
+
const editRef = ref();
- // 选择框
- // const value = ref('');
- // const options =
- // {
- // value: 'Option1',
- // label: 'Option1',
- // };
+ // 打开新建用户弹窗
+ const addRef = ref();
+ const onOpenAdd = () => {
+ addRef.value.openDialog();
+ };
const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const multipleSelection = ref<User[]>([])
@@ -210,71 +191,40 @@
// 定义表格数据
const tableData: User[] = [
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部'
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
},
{
- teamName: '应急救援组',
- teamLevel: '公司',
- teamDescription: '实施抢险抢险的应急方案和措施实施 ;',
- teamPhone: '051383830321',
- phone: '13603812900',
- describe: '(1)实施抢险抢险的应急方案和措施实施 ;\n' +
- '(2)负责现场被困人员、受伤人员抢救工作;\n' +
- '(3)在事故有可能扩大进行抢险抢修或救援时,高度注意避免意外伤害;\n' +
- '(4)抢险抢修或救援结束后,对结果进行复查和评估。',
- responsibleDepartment: '仪表班',
- teamLeader: '王磊',
+ teamName: '消防安全绳',
+ teamLevel: 'YJWZ20210208104332',
+ teamDescription: '安全管理部',
}
]
- //查看用户弹窗
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
- };
- // 打开新增用户弹窗
- const addRef = ref();
- const onOpenAdd = () => {
- addRef.value.openDialog();
- };
- // 打开修改用户弹窗
- const onOpenEdit = (row: TableDataRow) => {
+ // // 打开新增用户弹窗
+ // const addRef = ref();
+ // const onOpenAdd = () => {
+ // addRef.value.openDialog();
+ // };
+ // // 打开修改用户弹窗
+ const OnOpenSee = (row: TableDataRow) => {
editRef.value.openDialog(row);
};
+ // 应急物资弹窗
+ const showRef=ref()
+ const daiInpt=()=>{
+ showRef.value.openDailog()
+ }
// 删除用户
const onRowDel = (row: TableDataRow) => {
ElMessageBox.confirm(`此操作将永久删除账户名称:“${row}”,是否继续?`, '提示', {
@@ -287,18 +237,17 @@
})
.catch(() => {});
};
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
// 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
- // 页面加载时
- // onMounted(() => {
- // initTableData();
- // });
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
return {
// value,
// options,
@@ -307,16 +256,21 @@
upButton,
upShow,
tableData,
- onOpenSee, //查看
- seeRef,
- onOpenEdit, //编辑
+ OnOpenSee, //编辑
editRef,
+ Edit,
+ onRowDel,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ ruleFormRef,
+ ruleForm,
+ Search,
+ daiInpt,
+ showRef,
onOpenAdd, //新增
addRef,
- onRowDel,
- // onHandleSizeChange,
- // onHandleCurrentChange,
- // ...toRefs(state),
};
},
});
@@ -335,4 +289,58 @@
flex-direction: row;
justify-content: space-between;
}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ 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
diff --git a/src/views/contingencyManagement/panManagement/component/DailogSearch.vue b/src/views/contingencyManagement/panManagement/component/DailogSearch.vue
deleted file mode 100644
index ec434d3..0000000
--- a/src/views/contingencyManagement/panManagement/component/DailogSearch.vue
+++ /dev/null
@@ -1,115 +0,0 @@
-<template>
- <el-dialog v-model="dialogVisible" title="选择检查模板" width="900px" draggable>
- <el-row>
- <el-col :span="18">
- <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
- <el-form-item>
- <el-input size="default" v-model="ruleForm.pass" placeholder="id" style="max-width: 215px;"/>
- </el-form-item>
- <el-form-item>
- <el-input size="default" v-model="ruleForm.checkPass" placeholder="队伍名称" style="max-width: 215px;padding: 0 12px;"/>
- </el-form-item>
- <el-form-item>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
- <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
- </el-form-item>
- </el-form>
- <el-button size="default" :icon="Delete">清除选择</el-button>
- <el-table :data="tableData" style="width: 100%;margin-top:20px">
- <el-table-column type="selection" width="55" />
- <el-table-column align="center" prop="date" label="id" />
- <el-table-column align="center" prop="name" label="队伍名称"/>
- </el-table>
- <el-pagination
- style="padding:20px 0;"
- v-model:currentPage="currentPage4"
- v-model:page-size="pageSize4"
- :page-sizes="[100, 200, 300, 400]"
- :small="small"
- :disabled="disabled"
- :background="background"
- layout="total, sizes, prev, pager, next, jumper"
- :total="400"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </el-col>
- <el-col :span="6">
- <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
- {{ tag }}
- </el-tag>
- </el-col>
- </el-row>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="dialogVisible = false" size="default">关闭</el-button>
- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
- </span>
- </template>
- </el-dialog>
-</template>
-<script lang="ts">
-import { defineComponent, reactive, ref } from 'vue';
-import { Delete } from '@element-plus/icons-vue';
-export default defineComponent({
- setup() {
- const dialogVisible = ref<boolean>(false);
- const openDailog = () => {
- dialogVisible.value = true;
- };
- // 搜索条件
- const ruleForm = reactive({
- pass: '',
- checkPass: '',
- });
- // 表格
- const tableData = [
- {
- date: '6421cbc6cbb5493eabf9b27e83372d78',
- name: '应急救援组',
- },
- {
- date: '6421cbc6cbb5493eabf9b27e83372d78',
- name: '工艺抢险组',
- },
- {
- date: '6421cbc6cbb5493eabf9b27e83372d78',
- name: '后勤保障组',
- },
- {
- date: '6421cbc6cbb5493eabf9b27e83372d78',
- name: '应急救援组',
- },
- ];
- const pageSize4 = ref(100);
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
- };
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
- };
- // 右方点击添加后显示标签
- const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
- const handleClose = (tag: string) => {
- dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
- };
- return {
- dialogVisible,
- openDailog,
- ruleForm,
- tableData,
- pageSize4,
- handleSizeChange,
- handleCurrentChange,
- dynamicTags,
- handleClose,
- Delete,
- };
- },
-});
-</script>
-<style scoped>
-.el-row {
- padding: 0 0 20px 0;
-}
-</style>
diff --git a/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue b/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue
new file mode 100644
index 0000000..51c8bec
--- /dev/null
+++ b/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue
@@ -0,0 +1,223 @@
+<template>
+ <div class="system-edit-user-container">
+ <el-dialog
+ title="废止库"
+ v-model="isShowDialog"
+ width="769px"
+ draggable
+ >
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ :rules="rules"
+ label-width="120px"
+ >
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-table
+ :data="tableData"
+ style="width: 100%;margin-top: 15px;"
+ ref="multipleTableRef"
+ :model="formInline"
+ :header-cell-style="{background:'#f6f7fa',color:'#909399'}"
+ >
+ <el-table-column prop="jobNo" 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 disabled size="small" text="plain" >查看
+ </el-button>
+ <el-button disabled size="small" text="plain" style="margin-right: 5px;">编辑
+ </el-button>
+ <el-button disabled size="small" text="plain" style="margin-right: 5px;">删除
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ </el-form>
+ <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>-->
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="onCancel">取消</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts">
+import {
+ ref,
+ reactive,
+ defineComponent
+} from 'vue';
+
+import type {
+ FormInstance,
+} from 'element-plus'
+
+import {
+ Search
+} from '@element-plus/icons-vue'
+// 定义表格数据类型
+interface User {
+ personnelName: string
+ jobNo: string
+ phone: string;
+ position: string;
+}
+// 定义表单搜索
+const formInline = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ teamName: "",
+ teamType: "",
+ }
+})
+export default defineComponent({
+ name: 'abolishLibrary',
+ components: {
+
+ },
+ setup() {
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 分页改变
+ // const onHandleSizeChange = (val: number) => {
+ // formInline.pageSize = val;
+ // };
+ // const onHandleCurrentChange = (val: number) => {
+ // formInline.pageIndex = val;
+ // };
+ //定义表格数据
+ const multipleSelection = ref<User[]>([])
+ const tableData: User[] = []
+
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ tableData,
+ multipleSelection,
+ Search,
+ ruleFormRef,
+ // submitForm,
+ userRef,
+ openUser,
+ // onHandleSizeChange,
+ // onHandleCurrentChange,
+ formInline,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ };
+ },
+});
+</script>
+<style scoped lang="scss">
+.textarea{
+ height: 168px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 168px!important;
+}
+::v-deep .el-table__cell {
+ font-weight: 400;
+}
+//分页
+.pages{
+ display: flex;
+ justify-content: flex-end;
+}
+::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
diff --git a/src/views/contingencyManagement/panManagement/component/addEmergencyPersonnel.vue b/src/views/contingencyManagement/panManagement/component/addEmergencyPersonnel.vue
deleted file mode 100644
index 0188133..0000000
--- a/src/views/contingencyManagement/panManagement/component/addEmergencyPersonnel.vue
+++ /dev/null
@@ -1,185 +0,0 @@
-<template>
- <div class="system-edit-user-container">
- <el-dialog
- title="新建应急队伍人员"
- v-model="isShowDialog"
- width="769px"
- draggable
- >
- <el-form
- ref="ruleFormRef"
- :model="ruleForm"
- size="default"
- :rules="rules"
- label-width="90px">
- <el-row :gutter="35">
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="选择人员" prop="selectPeople">
- <el-input
- v-model="ruleForm.selectPeople"
- placeholder="请选择"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search"/>
- </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="jobNumber">
- <el-input v-model="ruleForm.jobNumber" 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="personnelName">
- <el-input v-model="ruleForm.personnelName" 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="personnelGender">
- <el-radio-group v-model="ruleForm.personnelGender">
- <el-radio label="男" />
- <el-radio label="女" />
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="手机号码" prop="phone">
- <el-input v-model="ruleForm.phone" 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="position">
- <el-input v-model="ruleForm.position" placeholder="请填写职位"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">继续添加</el-button>
- <el-button size="default" @click="onCancel">关闭</el-button>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts">
-import {
- ref,
- reactive,
- defineComponent
-} from 'vue';
-
-import type {
- FormRules,
- FormInstance,
-} from 'element-plus'
-
-import {
- Search
-} from '@element-plus/icons-vue'
-
-export default defineComponent({
- name: 'addTeamLeader',
- components: {
- // Search,
- },
- setup() {
- const isShowDialog = ref(false)
- const ruleFormRef = ref<FormInstance>()
- const ruleForm = reactive({
- selectPeople: '', // 选择人员
- jobNumber: '', //人员工号
- personnelName: '', // 人员名称
- personnelGender: '', // 人员性别
- phone: '', // 手机号码
- position: '', // 职位
- });
- const rules = reactive<FormRules>({
- jobNumber: [
- {
- required: true,
- message: '人员工号不能为空',
- trigger: 'change',
- },
- ],
- personnelName: [
- {
- required: true,
- message: '人员名称不能为空',
- trigger: 'change',
- },
- ],
- personnelGender: [
- {
- required: true,
- message: '人员性别不能为空',
- trigger: 'change',
- },
- ],
- phone: [
- {
- required: true,
- message: '手机号码不能为空',
- trigger: 'change',
- },
- ],
- position: [
- {
- required: true,
- message: '职位不能为空',
- trigger: 'change',
- },
- ],
- })
- 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 openDialog = () => {
- isShowDialog.value = true;
- };
- // 关闭弹窗
- const closeDialog = () => {
- isShowDialog.value = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
- };
- return {
- openDialog,
- closeDialog,
- isShowDialog,
- ruleFormRef,
- submitForm,
- onCancel,
- ruleForm,
- rules,
- Search,
- };
- },
-});
-</script>
-<style scoped lang="scss">
-.textarea{
- height: 168px!important;
-}
-.textarea ::v-deep .el-textarea__inner{
- height: 168px!important;
-}
-::v-deep .el-table__cell {
- font-weight: 400;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/panManagement/component/dialog.vue b/src/views/contingencyManagement/panManagement/component/dialog.vue
deleted file mode 100644
index add861a..0000000
--- a/src/views/contingencyManagement/panManagement/component/dialog.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
- <div class="system-add-user-container">
- <el-dialog title="查看应急队伍管理" v-model="isShowDialog" width="769px">
- <el-form :model="ruleForm" size="default" label-width="90px">
- <el-row :gutter="35">
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="账户名称">
- <el-input v-model="ruleForm.userName" placeholder="请输入账户名称" clearable></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.userNickname" placeholder="请输入用户昵称" clearable></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-select v-model="ruleForm.roleSign" placeholder="请选择" clearable class="w100">
- <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="部门">
- <el-cascader
- :options="deptData"
- :props="{ checkStrictly: true, value: 'deptName', label: 'deptName' }"
- placeholder="请选择部门"
- clearable
- class="w100"
- v-model="ruleForm.department"
- >
- <template #default="{ node, data }">
- <span>{{ data.deptName }}</span>
- <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
- </template>
- </el-cascader>
- </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.phone" placeholder="请输入手机号" clearable></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.email" placeholder="请输入" clearable></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-select v-model="ruleForm.sex" placeholder="请选择" clearable class="w100">
- <el-option label="男" value="男"></el-option>
- <el-option label="女" value="女"></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="账户密码">
- <el-input v-model="ruleForm.password" placeholder="请输入" type="password" clearable></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-date-picker v-model="ruleForm.overdueTime" type="date" placeholder="请选择" class="w100"> </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="用户状态">
- <el-switch v-model="ruleForm.status" inline-prompt active-text="启" inactive-text="禁"></el-switch>
- </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 v-model="ruleForm.describe" type="textarea" placeholder="请输入用户描述" maxlength="150"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="onCancel" size="default">取 消</el-button>
- <el-button type="primary" @click="onSubmit" size="default">新 增</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, onMounted, defineComponent } from 'vue';
-
-// 定义接口来定义对象的类型
-interface DeptData {
- deptName: string;
- createTime: string;
- status: boolean;
- sort: number | string;
- describe: string;
- id: number;
- children?: DeptData[];
-}
-interface UserState {
- isShowDialog: boolean;
- ruleForm: {
- userName: string;
- userNickname: string;
- roleSign: string;
- department: any;
- phone: string;
- email: string;
- sex: string;
- password: string;
- overdueTime: string;
- status: boolean;
- describe: string;
- };
- deptData: Array<DeptData>;
-}
-
-export default defineComponent({
- name: 'systemAddUser',
- setup() {
- const state = reactive<UserState>({
- isShowDialog: false,
- ruleForm: {
- userName: '', // 账户名称
- userNickname: '', // 用户昵称
- roleSign: '', // 关联角色
- department: [], // 部门
- phone: '', // 手机号
- email: '', // 邮箱
- sex: '', // 性别
- password: '', // 账户密码
- overdueTime: '', // 账户过期
- status: true, // 用户状态
- describe: '', // 用户描述
- },
- deptData: [], // 部门数据
- });
- // 打开弹窗
- const openDialog = () => {
- state.isShowDialog = true;
- };
- // 关闭弹窗
- 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();
- });
- return {
- openDialog,
- closeDialog,
- onCancel,
- onSubmit,
- ...toRefs(state),
- };
- },
-});
-</script>
diff --git a/src/views/contingencyManagement/panManagement/component/editEmergencyPersonnel.vue b/src/views/contingencyManagement/panManagement/component/editEmergencyPersonnel.vue
deleted file mode 100644
index d6092e1..0000000
--- a/src/views/contingencyManagement/panManagement/component/editEmergencyPersonnel.vue
+++ /dev/null
@@ -1,225 +0,0 @@
-<template>
- <div class="system-edit-user-container">
- <el-dialog
- title="修改应急队伍人员"
- v-model="isShowDialog"
- width="769px"
- draggable
- >
- <el-form
- ref="ruleFormRef"
- :model="ruleForm"
- size="default"
- :rules="rules"
- label-width="90px">
- <el-row :gutter="35">
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="选择人员" prop="selectPeople">
- <el-input
- v-model="ruleForm.selectPeople"
- placeholder="请选择"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search"/>
- </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="jobNumber">
- <el-input v-model="ruleForm.jobNumber" 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="personnelName">
- <el-input v-model="ruleForm.personnelName" 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="personnelGender">
- <el-radio-group v-model="ruleForm.personnelGender">
- <el-radio label="男" />
- <el-radio label="女" />
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="手机号码" prop="phone">
- <el-input v-model="ruleForm.phone" 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="position">
- <el-input v-model="ruleForm.position" placeholder="请填写职位"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">继续添加</el-button>
- <el-button size="default" @click="onCancel">关闭</el-button>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-
-<script lang="ts">
-import {
- ref,
- reactive,
- toRefs,
- defineComponent
-} from 'vue';
-
-import type {
- FormRules,
- FormInstance,
-} from 'element-plus'
-
-import {
- Search
-} from '@element-plus/icons-vue'
-// 定义接口来定义对象的类型
-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
-}
-interface UserState {
- isShowDialog: boolean;
- ruleForm: RuleFormRow;
- deptData: Array<DeptData>;
-}
-export default defineComponent({
- name: 'editTeamLeader',
- components: {
- // Search,
- },
- setup() {
- const state = reactive<UserState>({
- isShowDialog: false,
- ruleForm: {
- selectPeople:'', //选择人员
- jobNumber: '', // 人员工号
- phone: '', // 手机号码
- personnelGender: '', //人员性别
- position: '', //职位
- personnelName: '', // 人员名称
- },
- deptData: [], // 部门数据
- });
- // const isShowDialog = ref(false)
- const ruleFormRef = ref<FormInstance>()
- // 打开弹窗
- const openDialog = (row: RuleFormRow) => {
- // isShowDialog.value = true;
- state.ruleForm = row;
- state.isShowDialog = true;
- };
- // 关闭弹窗
- const closeDialog = () => {
- // isShowDialog.value = false;
- state.isShowDialog = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
- };
- const rules = reactive<FormRules>({
- selectPeople:[
- {
- required: true,
- message: '人员不能为空',
- trigger: 'change',
- },
- ],
- jobNumber: [
- {
- required: true,
- message: '人员工号不能为空',
- trigger: 'change',
- },
- ],
- personnelName: [
- {
- required: true,
- message: '人员名称不能为空',
- trigger: 'change',
- },
- ],
- personnelGender: [
- {
- required: true,
- message: '人员性别不能为空',
- trigger: 'change',
- },
- ],
- phone: [
- {
- required: true,
- message: '手机号码不能为空',
- trigger: 'change',
- },
- ],
- position: [
- {
- required: true,
- message: '职位不能为空',
- trigger: 'change',
- },
- ],
- })
- 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)
- }
- })
- }
- return {
- openDialog,
- closeDialog,
- // isShowDialog,
- ruleFormRef,
- submitForm,
- onCancel,
- rules,
- Search,
- ...toRefs(state),
- };
- },
-});
-</script>
-<style scoped lang="scss">
-.textarea{
- height: 168px!important;
-}
-.textarea ::v-deep .el-textarea__inner{
- height: 168px!important;
-}
-::v-deep .el-table__cell {
- font-weight: 400;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index 580eba3..87df549 100644
--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue
+++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -74,19 +74,17 @@
<el-form-item label="编写部门" prop="telephone">
<el-tree-select
v-model="ruleForm.responsibleDepartment"
- :data="data" class="w100"
+ :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-tree-select-->
-<!-- v-model="ruleForm.responsibleDepartment"-->
-<!-- :data="data" class="w100"-->
-<!-- placeholder="请选择"/>-->
<el-date-picker
v-model="value1"
type="datetime"
+ class="w100"
placeholder="选择日期时间"
/>
</el-form-item>
@@ -144,14 +142,15 @@
</span>
</template>
</el-dialog>
- <DailogSearch ref="Shows"/>
+ <CheckTemplate ref="Shows"/>
<userSelections ref="userRef"/>
<RegionsDialog ref="openRef"/>
</div>
</template>
<script lang="ts">
-import { reactive,
+import {
+ reactive,
ref,
defineComponent
} from 'vue';
@@ -166,13 +165,13 @@
Search
} from '@element-plus/icons-vue'
import UserSelections from "/@/components/userSelections/index.vue"
-import DailogSearch from '/@/views/contingencyManagement/panManagement/component/DailogSearch.vue'
-import RegionsDialog from '/@/views/contingencyManagement/panManagement/component/regionsDialog.vue'
+import CheckTemplate from '/@/components/checkTemplate/index.vue'
+import RegionsDialog from '/@/components/regionsDialog/index.vue'
export default defineComponent({
name: 'openAdd',
components: {
- DailogSearch,
+ CheckTemplate,
UserSelections,
RegionsDialog,
},
diff --git a/src/views/contingencyManagement/panManagement/component/openSee.vue b/src/views/contingencyManagement/panManagement/component/openSee.vue
index d5f5ff3..1ad35be 100644
--- a/src/views/contingencyManagement/panManagement/component/openSee.vue
+++ b/src/views/contingencyManagement/panManagement/component/openSee.vue
@@ -1,34 +1,51 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="查看应急队伍管理"
+ title="新建应急演练计划发布"
v-model="isShowDialog"
width="769px"
draggable
>
- <el-form :model="ruleForm" size="default" label-width="90px">
+ <el-form
+ ref="ruleFormRef"
+ :model="ruleForm"
+ size="default"
+ 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-input v-model="ruleForm.teamName" :disabled="true"></el-input>
+ <el-form-item label="演练名称" prop="teamName">
+ <el-input v-model="ruleForm.teamName" 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="队伍级别">
- <el-select v-model="ruleForm.teamLevel" :disabled="true" class="w100">
- <el-option label="公司" value="admin"></el-option>
- <el-option label="分厂-车间" value="common"></el-option>
- <el-option label="工序-班组等" value="shang"></el-option>
+ <el-form-item label="演练地点" prop="teamName">
+ <el-input v-model="ruleForm.teamName" 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="主办部门" placeholder="请选择">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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="teamLevel">
+ <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-option label="综合" value="admin"></el-option>
+ <el-option label="桌面" value="common3"></el-option>
+ <el-option label="专项" value="common2"></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="队伍负责人">
+ <el-form-item label="应急预案" prop="telephone" @click="daiInpt" >
<el-input
v-model="ruleForm.teamLeader"
- placeholder="Please input"
+ placeholder="请选择"
class="input-with-select"
- :disabled="true"
>
<template #append>
<el-button :icon="Search"/>
@@ -37,34 +54,109 @@
</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="teamPhone">
+ <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
+ <el-option label="公司级" value="admin"></el-option>
+ <el-option label="分厂级" value="common"></el-option>
+ <el-option label="车间级" value="common1"></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="负责人手机">
- <el-input v-model="ruleForm.teamPhone" :disabled="true"></el-input>
+ <el-form-item label="计划定制日期" prop="teamPhone">
+ <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</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="teamPhone">
+ <el-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </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-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </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.planCustomizer" disabled 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="telephone">
+ <el-tree-select
+ v-model="ruleForm.responsibleDepartment"
+ :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-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="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="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写演练目的"
+ class="input-with-select textarea"
+ type="textarea"
+ >
+ </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.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="teamName">
+ <el-input v-model="ruleForm.teamName" 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="teamName">
+ <el-input v-model="ruleForm.teamName" 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-form-item label="备注信息" prop="telephone">
+ <el-input
+ v-model="ruleForm.teamLeader"
+ placeholder="请填写备注信息"
+ class="input-with-select textarea"
+ type="textarea"
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
+ <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" disabled
+ <el-button type="primary"
>点击上传</el-button>
<template #tip>
<div class="el-upload__tip">
@@ -74,165 +166,146 @@
</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" disabled>新增</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="jobNo" label="人员工号" show-overflow-tooltip></el-table-column>
- <el-table-column prop="personnelName" label="人员名称" show-overflow-tooltip></el-table-column>
- <el-table-column prop="phone" label="手机号码" show-overflow-tooltip></el-table-column>
- <el-table-column prop="position" label="职位" show-overflow-tooltip></el-table-column>
- <el-table-column label="操作" width="200" align="center">
- <template #default="scope">
- <el-button disabled size="small" text="plain" >查看
- </el-button>
- <el-button disabled size="small" text="plain" style="margin-right: 5px;">编辑
- </el-button>
- <el-button disabled size="small" 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>
-<!-- <AddTeamLeader ref="addRef" />-->
+ <RegionsDialog ref="Shows"/>
+ <UserSelections ref="userRef"/>
</div>
</template>
<script lang="ts">
-import { reactive, toRefs, ref, onMounted, defineComponent } from 'vue';
+import { reactive,
+ ref,
+ defineComponent
+} from 'vue';
+
import type {
UploadUserFile,
- TabsPaneContext,
+ FormInstance,
+ // FormRules,
} from 'element-plus'
+
import {
Search
} 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;
- id: number;
- children?: DeptData[];
-}
-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
- jobNo: string
- phone: string;
- position: string;
-}
-// // 定义表格数据类型
-// interface Team {
-// personnelName: string
-// teamLevel: string
-// teamDescription: string
-// teamPhone: string
-// phone: string;
-// describe: string;
-// responsibleDepartment: string
-// }
+import UserSelections from "/@/components/userSelections/index.vue"
+import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
+
export default defineComponent({
- name: 'openSee',
+ name: 'openAdd',
components: {
- // Search,
+ RegionsDialog,
+ UserSelections,
},
setup() {
- const state = reactive<UserState>({
- isShowDialog: false,
- ruleForm: {
- teamName: '', // 队伍名称
- teamLevel: '', // 队伍级别
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
- describe: '', // 队伍描述
- },
- deptData: [], // 部门数据
+ const isShowDialog = ref(false)
+
+ const ruleFormRef = ref<FormInstance>()
+ //定义表单
+ const ruleForm = reactive({
+ teamName: '', // 队伍名称
+ planCustomizer: '胡海涛', //计划定制人
+ teamLeader: '', //队伍负责人
+ department: [], // 负责人部门
+ phone: '', // 负责人手机
+ telephone: '', // 固定电话
});
// 打开弹窗
- const openDialog = (row: RuleFormRow) => {
- state.ruleForm = row;
- state.isShowDialog = true;
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
};
// 关闭弹窗
const closeDialog = () => {
- state.isShowDialog = false;
+ isShowDialog.value = false;
};
// 取消
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 value1 = ref('')
// 上传附件
const fileList = ref<UploadUserFile[]>([])
-
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
//定义树形下拉框
const responsibleDepartment = ref()
const data = [
@@ -280,63 +353,58 @@
],
},
]
- //定义tabs切换
- const activeName = ref('first')
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event)
+ // 表单提交验证必填项
+ 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 Shows=ref()
+ const daiInpt=()=>{
+ Shows.value.openDailog()
+ }
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 计划定制日期
+ const datetime = ref('')
+ // 计划演练日期
+ const drillDate = ref('')
+ // 修改时间
+ const editDate = ref('')
- //定义表格数据
- const multipleSelection = ref<User[]>([])
- const tableData: User[] = [
- {
- personnelName: '张志刚',
- jobNo: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNo: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNo: '1037',
- position: '副组长',
- phone: '13673321356',
- },
- {
- personnelName: '张志刚',
- jobNo: '1037',
- position: '副组长',
- phone: '13673321356',
- }
- ]
-
- // //添加队伍负责人
- // const addRef = ref();
- // //添加队伍负责人弹窗
- // const onAddTeamLeader = () => {
- // addRef.value.openDialog();
- // };
return {
openDialog,
closeDialog,
+ isShowDialog,
onCancel,
fileList,
responsibleDepartment,
data,
- activeName,
- handleClick,
- tableData,
- multipleSelection,
Search,
- // addRef,
- // onAddTeamLeader,
- ...toRefs(state),
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ // rules,
+ openUser,
+ userRef,
+ datetime,
+ drillDate,
+ editDate,
};
},
});
@@ -351,4 +419,30 @@
::v-deep .el-table__cell {
font-weight: 400;
}
+.el-divider--horizontal{
+ height: 0;
+ margin: 0;
+ border-top: transparent;
+}
+.el-select{
+ width: 100%;
+}
+//多行文本框
+.textarea{
+ height: 70px!important;
+}
+.textarea ::v-deep .el-textarea__inner{
+ height: 70px!important;
+}
+//弹窗底部边框线
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+//弹窗顶部边框线
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue
index 05980d0..fecf1bd 100644
--- a/src/views/contingencyManagement/panManagement/index.vue
+++ b/src/views/contingencyManagement/panManagement/index.vue
@@ -33,7 +33,7 @@
<Delete />
</el-icon>删除
</el-button>
- <el-button size="default" type="primary" @click="onOpenAdd">
+ <el-button size="default" type="primary" @click="onabolishLibrary">
废止库
</el-button>
</div>
@@ -68,24 +68,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)">
@@ -109,9 +109,24 @@
<!-- :total="tableData.total"-->
<!-- >-->
<!-- </el-pagination>-->
+ <div class="pages">
+ <el-pagination
+ 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"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
</el-card>
-<!-- <OpenSee ref="seeRef" />-->
<OpenAdd ref="addRef" />
+ <AbolishLibrary ref="abolishRef"/>
<OpenEdit ref="editRef" />
<upData ref="upShow"></upData>
<el-dialog v-model="dialogFormVisible" width="30%" title="启动">
@@ -145,6 +160,7 @@
ElMessage,
ElTable,
} from 'element-plus';
+import {useRouter} from "vue-router"
import { Plus,
Edit,
Delete,
@@ -157,8 +173,8 @@
EditPen,
} from '@element-plus/icons-vue'
import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';
+import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';
import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue';
-import OpenSee from '/@/views/contingencyManagement/panManagement/component/openSee.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// 定义表格数据类型
@@ -193,7 +209,7 @@
name: 'systemUser',
components: {
OpenAdd,
- OpenSee,
+ AbolishLibrary,
OpenEdit,
View,
EditPen,
@@ -280,10 +296,6 @@
teamLeader: '王磊',
}
]
- //查看用户弹窗
- // const onOpenSee = (row: TableDataRow) => {
- // seeRef.value.openDialog(row);
- // };
// 启动弹窗
const dialogTableVisible = ref(false)
const dialogFormVisible = ref(false)
@@ -294,6 +306,11 @@
const addRef = ref();
const onOpenAdd = () => {
addRef.value.openDialog();
+ };
+ //打开废止库弹窗
+ const abolishRef = ref();
+ const onabolishLibrary = () => {
+ abolishRef.value.openDialog();
};
// 打开修改用户弹窗
const onOpenEdit = (row: TableDataRow) => {
@@ -311,18 +328,41 @@
})
.catch(() => {});
};
- // 分页改变
- // const onHandleSizeChange = (val: number) => {
- // state.tableData.param.pageSize = val;
- // };
- // // 分页改变
- // const onHandleCurrentChange = (val: number) => {
- // state.tableData.param.pageNum = val;
- // };
// 页面加载时
// onMounted(() => {
// initTableData();
// });
+ // 分页
+ const pageIndex = ref(4);
+ const pageSize = ref(10);
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${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
+ }
+ })
+ }
return {
// value,
// options,
@@ -331,7 +371,6 @@
upButton,
upShow,
tableData,
- // onOpenSee, //查看
dialogTableVisible,
dialogFormVisible,
form,
@@ -339,8 +378,17 @@
onOpenEdit, //编辑
editRef,
onOpenAdd, //新增
+ onabolishLibrary,
addRef,
+ abolishRef,
onRowDel,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ jumpFrom,
+ abolish,
+ router,
// onHandleSizeChange,
// onHandleCurrentChange,
// ...toRefs(state),
@@ -386,4 +434,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
diff --git a/src/views/contingencyManagement/processForm/component/formInformationTop.vue b/src/views/contingencyManagement/processForm/component/formInformationTop.vue
new file mode 100644
index 0000000..ef75063
--- /dev/null
+++ b/src/views/contingencyManagement/processForm/component/formInformationTop.vue
@@ -0,0 +1,144 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="安全目标指标">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="目标指标编号">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="年度">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="指标值">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-tabs v-model="activeName" style="padding: 0 20px">
+ <el-tab-pane label="考核指标" name="1">
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" type="index" label="序号" width="70" />
+ <el-table-column align="center" prop="date" label="责任部门" />
+ <el-table-column align="center" prop="name" label="考核指标" />
+ <el-table-column align="center" prop="address" label="制定部门" />
+ <el-table-column align="center" prop="address" label="制定日期" />
+ <el-table-column align="center" label="检查值">
+ <template #default>
+ <el-input v-model="form.name" placeholder=""></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="address" label="检查人" />
+ <el-table-column align="center" prop="address" label="检查时间" />
+ </el-table>
+ <div class="tiao">
+ <div class="typeS">审批</div>
+ </div>
+ <el-row style="padding:20px 0">
+ <el-col :span="6" style="text-align:right">一级审批:</el-col>
+ <el-col :span="18">同意</el-col>
+ </el-row>
+ <el-row style="padding:0 0 20px 0">
+ <el-col :span="6"></el-col>
+ <el-col :span="18"><span class="logoColor">同意</span><span style="margin-right: 8px;">杜建喜</span><span>2021-05-24 04:47:42</span></el-col>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
+</template>
+<script lang="ts">
+import { defineComponent,ref,reactive } from 'vue'
+
+export default defineComponent({
+ setup() {
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+ const tableData = [
+ {
+ date: '2016-05-03',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ ];
+ const activeName = ref('1');
+ return{
+ form,
+ tableData,
+ activeName
+ }
+ },
+})
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0 ;
+}
+</style>
diff --git a/src/views/contingencyManagement/processForm/component/formInformationTops.vue b/src/views/contingencyManagement/processForm/component/formInformationTops.vue
new file mode 100644
index 0000000..53eed6a
--- /dev/null
+++ b/src/views/contingencyManagement/processForm/component/formInformationTops.vue
@@ -0,0 +1,312 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案名称">
+ <el-input v-model="form.name" placeholder="请填写预案名称"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="适用部门">
+ <el-tree-select
+ class="select"
+ placeholder="请选择"
+ v-model="value"
+ :data="data"
+ :render-after-expand="false"
+ show-checkbox
+ multiple
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案类型">
+ <el-select class="select" v-model="form.region" placeholder="请选择">
+ <el-option label="综合应急预案" value="shanghai" />
+ <el-option label="现场处置方案" value="beijing" />
+ <el-option label="专项应急预案" value="shanghai" />
+ <el-option label="其它预案" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="危险源关联">
+ <el-select class="select" v-model="form.region" placeholder="请选择">
+ <el-option label="是" value="shanghai" />
+ <el-option label="否" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="预案级别">
+ <el-select class="select" v-model="form.region" placeholder="请选择">
+ <el-option label="公司及" value="shanghai" />
+ <el-option label="分厂级" value="beijing" />
+ <el-option label="车间级" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="编写人">
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="编写部门" placeholder="请选择">
+ <el-tree-select
+ class="select"
+ v-model="value2"
+ :data="dataSelect"
+ :render-after-expand="false"
+ multiple
+ check-strictly
+ check-on-click-node
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="发布实施日期">
+ <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="应急队伍" prop="telephone" @click="daiInpt" >
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search"/>
+ </template>
+ </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="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="区域名称" prop="telephone">
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" @click="regionsDialog"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <checkTemplate ref="ShowRef"/>
+ <userSelections ref="userRef"/>
+ <RegionsDialog ref="openRef"/>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ ref,
+ reactive
+} from 'vue';
+import {
+ Search
+} from '@element-plus/icons-vue'
+import UserSelections from "/@/components/userSelections/index.vue"
+import CheckTemplate from "/@/components/checkTemplate/index.vue"
+import RegionsDialog from "/@/components/regionsDialog/index.vue";
+export default defineComponent({
+ components: {
+ CheckTemplate,
+ UserSelections,
+ RegionsDialog,
+ },
+ setup() {
+ const form = reactive({
+ name: '',
+ value: '',
+ value2: '',
+ teamLeader: '',
+
+ // data: '',
+ // dataSelect: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+
+ // 可选择树形选择框
+ const value = ref()
+
+ const data = [
+ {
+ value: '1',
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ value: '1-1',
+ label: '生产运行部',
+ children: [
+ {
+ value: '1-1-1',
+ label: '工艺二班',
+ },
+ ],
+ },
+ ],
+ }
+ ]
+ // 树形选择框
+ const value2 = ref()
+
+ const dataSelect = [
+ {
+ value: '1',
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ value: '1-1',
+ label: '生产运行部',
+ children: [
+ {
+ value: '1-1-1',
+ label: '工艺二班',
+ },
+ ],
+ },
+ ],
+ }
+ ]
+ // 应急队伍弹窗
+ const ShowRef=ref()
+ const daiInpt=()=>{
+ ShowRef.value.openDailog()
+ }
+ // 选择区域弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 打开编写人选择用户弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ // 日期选择
+ const datetime = ref('')
+ return {
+ form,
+ value,
+ data,
+ value2,
+ dataSelect,
+ openUser,
+ userRef,
+ Search,
+ ShowRef,
+ daiInpt,
+ openRef,
+ datetime,
+ regionsDialog,
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box {
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao {
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0;
+ position: relative;
+}
+.typeS {
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor {
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns {
+ width: 100%;
+ padding: 20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+}
+.title2 {
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0;
+}
+.select{
+ width: 100%;
+}
+.select ::v-deep .el-select{
+ width: 100%;
+}
+</style>
diff --git a/src/views/contingencyManagement/processForm/component/lowerPlate.vue b/src/views/contingencyManagement/processForm/component/lowerPlate.vue
new file mode 100644
index 0000000..cbb82fb
--- /dev/null
+++ b/src/views/contingencyManagement/processForm/component/lowerPlate.vue
@@ -0,0 +1,120 @@
+<template>
+ <div class="box">
+ <el-form ref="formS" :model="form" :rules="rules" label-width="120px">
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="流程标题">
+ <el-input v-model="form.names" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="下级审批日期">
+ <el-date-picker v-model="form.date1" type="date" placeholder="下级审批日期" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.delivery" label="是否抄送" @change="typeChang"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.delivery">
+ <el-col :span="15">
+ <el-form-item label="抄送给" prop="resource">
+ <el-input v-model="form.resource" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.type" label="指定下一步处理者(不设置就使用默认处理人)"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.type">
+ <el-col :span="15">
+ <el-form-item label="指定" prop="desc">
+ <el-input v-model="form.desc" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <DailogSearchUser ref="ShowUser"></DailogSearchUser>
+</template>
+<script lang="ts">
+import { defineComponent, ref, reactive } from 'vue';
+import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
+import { Search } from '@element-plus/icons-vue';
+import type { FormInstance, FormRules } from 'element-plus'
+export default defineComponent({
+ components:{DailogSearchUser},
+ setup() {
+ const formS=ref<FormInstance>()
+ let form = reactive({
+ names: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: "",
+ type: "",
+ resource: '',
+ desc: '',
+ });
+ const typeChang=()=>{
+ console.log('tag',form)
+ }
+ const rules = reactive<FormRules>({
+ resource: [
+ {
+ type: 'array',
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ],
+ desc: [
+ {
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ]})
+ const ShowUser=ref()
+ const openDai =()=>{
+ ShowUser.value.openDailog()
+ }
+ return {
+ form,
+ rules,
+ formS,
+ typeChang,
+ ShowUser,
+ openDai,
+ Search,
+ };
+ },
+});
+</script>
+
+<style scoped>
+.box {
+ margin: 30px 0 100px 0;
+ background-color: #fff;
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+ padding: 20px;
+}
+.el-row {
+ padding: 0 0 20px 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/processForm/processForm.vue b/src/views/contingencyManagement/processForm/processForm.vue
new file mode 100644
index 0000000..98218a0
--- /dev/null
+++ b/src/views/contingencyManagement/processForm/processForm.vue
@@ -0,0 +1,137 @@
+<template>
+ <div class="system-user-container">
+ <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4>
+ <div class="box">
+ <el-menu
+ :default-active="activeIndex"
+ class="el-menu-demo"
+ background-color="#ebeef5"
+ text-color="#fff"
+ active-text-color="#fff"
+ mode="horizontal"
+ @select="handleSelect"
+ >
+ <el-menu-item index="1">表单信息</el-menu-item>
+ <el-menu-item index="2">流程图</el-menu-item>
+ </el-menu>
+ <div v-if="activeIndex == 1" class="navType">
+ <formInformationTop v-if="false"></formInformationTop>
+ <formInformationTops></formInformationTops>
+ </div>
+ <div v-if="activeIndex == 2" class="navType" style="padding:20px 20px 0 20px">
+ <div class="title2">流程图</div>
+ <div style="width:100%;height:400px"></div>
+ </div>
+ </div>
+ <lowerPlate></lowerPlate>
+ <div class="btns">
+ <el-button type="primary">启动</el-button>
+ </div>
+ </div>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref,onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import formInformationTop from './component/formInformationTop.vue'
+import formInformationTops from './component/formInformationTops.vue'
+import lowerPlate from './component/lowerPlate.vue'
+export default defineComponent({
+ components:{lowerPlate,formInformationTop,formInformationTops},
+ setup() {
+ const activeIndex = ref('1');
+ const handleSelect = (key: string, keyPath: string[]) => {
+ // console.log(key, keyPath);
+ activeIndex.value = key;
+ };
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+
+ const router=useRouter()
+ const Type=onMounted(()=>{
+ // console.log("xxxxxxx",router)
+ })
+
+ return {
+ activeIndex,
+ handleSelect,
+ form,
+ router,
+ Type
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+ padding: 15px;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+
+/*弹窗底部边框线*/
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+/*弹窗顶部边框线*/
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+</style>
diff --git a/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTop.vue b/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTop.vue
new file mode 100644
index 0000000..ef75063
--- /dev/null
+++ b/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTop.vue
@@ -0,0 +1,144 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="安全目标指标">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="目标指标编号">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="年度">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="指标值">
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-tabs v-model="activeName" style="padding: 0 20px">
+ <el-tab-pane label="考核指标" name="1">
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" type="index" label="序号" width="70" />
+ <el-table-column align="center" prop="date" label="责任部门" />
+ <el-table-column align="center" prop="name" label="考核指标" />
+ <el-table-column align="center" prop="address" label="制定部门" />
+ <el-table-column align="center" prop="address" label="制定日期" />
+ <el-table-column align="center" label="检查值">
+ <template #default>
+ <el-input v-model="form.name" placeholder=""></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="address" label="检查人" />
+ <el-table-column align="center" prop="address" label="检查时间" />
+ </el-table>
+ <div class="tiao">
+ <div class="typeS">审批</div>
+ </div>
+ <el-row style="padding:20px 0">
+ <el-col :span="6" style="text-align:right">一级审批:</el-col>
+ <el-col :span="18">同意</el-col>
+ </el-row>
+ <el-row style="padding:0 0 20px 0">
+ <el-col :span="6"></el-col>
+ <el-col :span="18"><span class="logoColor">同意</span><span style="margin-right: 8px;">杜建喜</span><span>2021-05-24 04:47:42</span></el-col>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
+</template>
+<script lang="ts">
+import { defineComponent,ref,reactive } from 'vue'
+
+export default defineComponent({
+ setup() {
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+ const tableData = [
+ {
+ date: '2016-05-03',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ ];
+ const activeName = ref('1');
+ return{
+ form,
+ tableData,
+ activeName
+ }
+ },
+})
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0 ;
+}
+</style>
diff --git a/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTops.vue b/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTops.vue
new file mode 100644
index 0000000..8a1f2a5
--- /dev/null
+++ b/src/views/contingencyManagement/releaseOfDrillStart/component/formInformationTops.vue
@@ -0,0 +1,440 @@
+<template>
+ <el-form ref="form" :model="form" label-width="120px">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="演练名称">
+ <el-input v-model="form.name" placeholder="请填写预案名称" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="演练地点">
+ <el-input v-model="form.teamName" placeholder="请填写演练地点" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="主办部门">
+ <el-tree-select
+ v-model="form.responsibleDepartment"
+ :data="data" class="w100"
+ placeholder="请选择"
+ disabled
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="演练方式" prop="teamLevel">
+ <el-select v-model="form.teamLevel" class="w100" placeholder="请选择" disabled>
+ <el-option label="综合" value="admin"></el-option>
+ <el-option label="桌面" value="common3"></el-option>
+ <el-option label="专项" value="common2"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="应急预案" prop="telephone" >
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt" disabled/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="演练级别" prop="teamPhone">
+ <el-select v-model="form.teamLevel" class="w100" placeholder="请选择" disabled>
+ <el-option label="公司级" value="admin"></el-option>
+ <el-option label="分厂级" value="common"></el-option>
+ <el-option label="车间级" value="common1"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="计划定制日期" prop="teamPhone">
+ <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="计划演练日期" prop="teamPhone">
+ <el-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="修改时间" prop="teamPhone">
+ <el-date-picker v-model="editDate" class="w100" type="datetime" placeholder="选择日期时间" disabled style="width: 100%" />
+ </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="form.planCustomizer" disabled 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="telephone">
+ <el-tree-select
+ v-model="form.responsibleDepartment"
+ :data="data" class="w100"
+ placeholder="请选择"
+ disabled
+ />
+ </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="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser" disabled/>
+ </template>
+ </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="演练目的" prop="telephone">
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请填写演练目的"
+ class="input-with-select textarea"
+ type="textarea"
+ disabled
+ >
+ </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="form.teamLeader"
+ placeholder="请选择"
+ class="input-with-select"
+ disabled
+ >
+ <template #append>
+ <el-button :icon="Search" @click="openUser" disabled/>
+ </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="teamName">
+ <el-input v-model="form.teamName" placeholder="请填写演练名称" disabled></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="teamName">
+ <el-input v-model="form.teamName" placeholder="请填写演练名称" disabled></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="备注信息" prop="telephone">
+ <el-input
+ v-model="form.teamLeader"
+ placeholder="请填写备注信息"
+ class="input-with-select textarea"
+ type="textarea"
+ disabled
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
+ <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"
+ disabled
+ >
+ <el-button type="primary" disabled
+ >点击上传</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ 添加相关附件
+ </div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <checkTemplate ref="ShowRef"/>
+ <userSelections ref="userRef"/>
+ <RegionsDialog ref="openRef"/>
+</template>
+<script lang="ts">
+import {
+ defineComponent,
+ ref,
+ reactive
+} from 'vue';
+import {
+ Search
+} from '@element-plus/icons-vue'
+import type {
+ UploadUserFile,
+ // FormRules,
+} from 'element-plus'
+import UserSelections from "/@/components/userSelections/index.vue"
+import CheckTemplate from "/@/components/checkTemplate/index.vue"
+import RegionsDialog from "/@/components/regionsDialog/index.vue";
+export default defineComponent({
+ components: {
+ CheckTemplate,
+ UserSelections,
+ RegionsDialog,
+ },
+ setup() {
+ const form = reactive({
+ name: '',
+ teamName: '',
+ responsibleDepartment: '',
+ teamLevel: '',
+ teamLeader: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+ // 上传附件
+ const fileList = ref<UploadUserFile[]>([])
+ // 可选择树
+ const treeSelect = ref()
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ]
+ //定义树形下拉框
+ 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: [],
+ },
+ ],
+ },
+ ]
+ // 计划定制日期
+ const datetime = ref('')
+ // 计划演练日期
+ const drillDate = ref('')
+ // 修改时间
+ const editDate = ref('')
+ // 应急队伍弹窗
+ const ShowRef=ref()
+ const daiInpt=()=>{
+ ShowRef.value.openDailog()
+ }
+ // 选择区域弹窗
+ const openRef=ref()
+ const regionsDialog=()=>{
+ openRef.value.openDailog()
+ }
+ // 打开编写人选择用户弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ return {
+ form,
+ data,
+ treeSelect,
+ tree,
+ drillDate,
+ editDate,
+ openUser,
+ userRef,
+ Search,
+ ShowRef,
+ daiInpt,
+ responsibleDepartment,
+ openRef,
+ datetime,
+ regionsDialog,
+ fileList,
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box {
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+}
+.tiao {
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0;
+ position: relative;
+}
+.typeS {
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor {
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns {
+ width: 100%;
+ padding: 20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+}
+.title2 {
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+.el-row{
+ padding:0 0 20px 0;
+}
+.select{
+ width: 100%;
+}
+.select ::v-deep .el-select{
+ width: 100%;
+}
+</style>
diff --git a/src/views/contingencyManagement/releaseOfDrillStart/component/lowerPlate.vue b/src/views/contingencyManagement/releaseOfDrillStart/component/lowerPlate.vue
new file mode 100644
index 0000000..cbb82fb
--- /dev/null
+++ b/src/views/contingencyManagement/releaseOfDrillStart/component/lowerPlate.vue
@@ -0,0 +1,120 @@
+<template>
+ <div class="box">
+ <el-form ref="formS" :model="form" :rules="rules" label-width="120px">
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="流程标题">
+ <el-input v-model="form.names" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="下级审批日期">
+ <el-date-picker v-model="form.date1" type="date" placeholder="下级审批日期" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.delivery" label="是否抄送" @change="typeChang"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.delivery">
+ <el-col :span="15">
+ <el-form-item label="抄送给" prop="resource">
+ <el-input v-model="form.resource" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="15">
+ <el-form-item label="">
+ <el-checkbox v-model="form.type" label="指定下一步处理者(不设置就使用默认处理人)"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.type">
+ <el-col :span="15">
+ <el-form-item label="指定" prop="desc">
+ <el-input v-model="form.desc" placeholder="">
+ <template #append> <el-button :icon="Search" @click="openDai" /> </template
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <DailogSearchUser ref="ShowUser"></DailogSearchUser>
+</template>
+<script lang="ts">
+import { defineComponent, ref, reactive } from 'vue';
+import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
+import { Search } from '@element-plus/icons-vue';
+import type { FormInstance, FormRules } from 'element-plus'
+export default defineComponent({
+ components:{DailogSearchUser},
+ setup() {
+ const formS=ref<FormInstance>()
+ let form = reactive({
+ names: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: "",
+ type: "",
+ resource: '',
+ desc: '',
+ });
+ const typeChang=()=>{
+ console.log('tag',form)
+ }
+ const rules = reactive<FormRules>({
+ resource: [
+ {
+ type: 'array',
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ],
+ desc: [
+ {
+ required: true,
+ message: '用户不能为空',
+ trigger: 'change',
+ },
+ ]})
+ const ShowUser=ref()
+ const openDai =()=>{
+ ShowUser.value.openDailog()
+ }
+ return {
+ form,
+ rules,
+ formS,
+ typeChang,
+ ShowUser,
+ openDai,
+ Search,
+ };
+ },
+});
+</script>
+
+<style scoped>
+.box {
+ margin: 30px 0 100px 0;
+ background-color: #fff;
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+ padding: 20px;
+}
+.el-row {
+ padding: 0 0 20px 0;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/releaseOfDrillStart/releaseOfDrillStart.vue b/src/views/contingencyManagement/releaseOfDrillStart/releaseOfDrillStart.vue
new file mode 100644
index 0000000..98218a0
--- /dev/null
+++ b/src/views/contingencyManagement/releaseOfDrillStart/releaseOfDrillStart.vue
@@ -0,0 +1,137 @@
+<template>
+ <div class="system-user-container">
+ <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4>
+ <div class="box">
+ <el-menu
+ :default-active="activeIndex"
+ class="el-menu-demo"
+ background-color="#ebeef5"
+ text-color="#fff"
+ active-text-color="#fff"
+ mode="horizontal"
+ @select="handleSelect"
+ >
+ <el-menu-item index="1">表单信息</el-menu-item>
+ <el-menu-item index="2">流程图</el-menu-item>
+ </el-menu>
+ <div v-if="activeIndex == 1" class="navType">
+ <formInformationTop v-if="false"></formInformationTop>
+ <formInformationTops></formInformationTops>
+ </div>
+ <div v-if="activeIndex == 2" class="navType" style="padding:20px 20px 0 20px">
+ <div class="title2">流程图</div>
+ <div style="width:100%;height:400px"></div>
+ </div>
+ </div>
+ <lowerPlate></lowerPlate>
+ <div class="btns">
+ <el-button type="primary">启动</el-button>
+ </div>
+ </div>
+</template>
+<script lang="ts">
+import { defineComponent, reactive, ref,onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import formInformationTop from './component/formInformationTop.vue'
+import formInformationTops from './component/formInformationTops.vue'
+import lowerPlate from './component/lowerPlate.vue'
+export default defineComponent({
+ components:{lowerPlate,formInformationTop,formInformationTops},
+ setup() {
+ const activeIndex = ref('1');
+ const handleSelect = (key: string, keyPath: string[]) => {
+ // console.log(key, keyPath);
+ activeIndex.value = key;
+ };
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+
+ const router=useRouter()
+ const Type=onMounted(()=>{
+ // console.log("xxxxxxx",router)
+ })
+
+ return {
+ activeIndex,
+ handleSelect,
+ form,
+ router,
+ Type
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+.box{
+ border: 1px solid #dcdfe6;
+ box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%);
+}
+.navType {
+ background-color: #fff;
+ padding: 15px;
+}
+.tiao{
+ width: 100%;
+ height: 1px;
+ background-color: #dcdfe6;
+ margin: 30px 0 ;
+ position: relative;
+}
+.typeS{
+ width: 80px;
+ background-color: #fff;
+ position: absolute;
+ left: 30px;
+ top: -9px;
+ font-size: 14px;
+ text-align: center;
+}
+.logoColor{
+ background-color: #67c23a;
+ color: #fff;
+ padding: 5px 8px;
+ border-radius: 5px;
+ margin-right: 5px;
+}
+.btns{
+ width: 100%;
+ padding:20px 0;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0px;
+ left: 0px;
+ text-align: center;
+ box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%);
+
+}
+.title2{
+ padding: 20px 0 20px 10px;
+ width: 100%;
+ border: 1px solid #dcdfe6;
+}
+
+/*弹窗底部边框线*/
+::v-deep .el-dialog__footer{
+ border-top: 1px solid #e8e8e8;
+ border-radius: 0 0 4px 4px;
+}
+/*弹窗顶部边框线*/
+::v-deep .el-dialog__header {
+ border-bottom: 1px solid #e8e8e8;
+ margin-right: 0;
+ border-radius: 4px 4px 0 0;
+}
+</style>
diff --git a/src/views/goalManagement/processForms/component/lowerPlate.vue b/src/views/goalManagement/processForms/component/lowerPlate.vue
index 2f45412..2c8c822 100644
--- a/src/views/goalManagement/processForms/component/lowerPlate.vue
+++ b/src/views/goalManagement/processForms/component/lowerPlate.vue
@@ -70,7 +70,7 @@
resource: '',
desc: '',
});
- const typeChang=()=>{
+ const typeChang=()=>{
console.log('tag',form)
}
const rules = reactive<FormRules>({
--
Gitblit v1.9.2