From dc1a337bae00425ce6b1f68a96d3a7418d4a0926 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期四, 07 七月 2022 17:57:09 +0800
Subject: [PATCH] 应急预案弹窗

---
 src/components/DailogSearch/DailogSearch.vue                              |    4 
 src/views/contingencyManagement/contingency/component/openEdit.vue        |    4 
 src/views/contingencyManagement/panManagement/component/DailogSearch.vue  |  115 +++++++++++++++++++
 src/views/contingencyManagement/panManagement/component/openAdd.vue       |   39 +++++
 src/components/userSelections/index.vue                                   |   61 +++++++++
 src/views/contingencyManagement/panManagement/component/regionsDialog.vue |  109 ++++++++++++++++++
 src/views/contingencyManagement/contingency/component/openAdd.vue         |   14 ++
 7 files changed, 330 insertions(+), 16 deletions(-)

diff --git a/src/components/DailogSearch/DailogSearch.vue b/src/components/DailogSearch/DailogSearch.vue
index 239a164..9d297c8 100644
--- a/src/components/DailogSearch/DailogSearch.vue
+++ b/src/components/DailogSearch/DailogSearch.vue
@@ -1,7 +1,7 @@
 <template>
 	<el-dialog v-model="dialogVisible" title="选择安全目标指标" width="50%" draggable>
 		<el-row>
-			<el-col :span="18">
+			<el-col :span="17">
 		<el-form ref="ruleFormRef" :model="ruleForm" status-icon>
 			<el-row>
 				<el-col :span="6">
@@ -43,7 +43,7 @@
 			@current-change="handleCurrentChange"
 		/>
 		</el-col>
-		<el-col :span="6">
+		<el-col :span="7">
 			<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>
diff --git a/src/components/userSelections/index.vue b/src/components/userSelections/index.vue
index f543cd9..c71c9cf 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>
+        <el-container style="margin-right: 15px;min-width:560px;">
           <el-header style="font-size: 12px">
             <el-form :inline="true" :model="formInline" class="demo-form-inline">
               <el-form-item>
@@ -40,11 +40,19 @@
                   :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>
                 <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="130"  show-overflow-tooltip sortable />
-                <el-table-column prop="address" label="所属部门" width="130" 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  label="状态"
                   prop="tag"
                   width="100"
@@ -66,8 +74,12 @@
             </el-scrollbar>
           </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)">
+            {{ tag }}
+          </el-tag>
+        </div>
       </el-container>
-
       <template #footer>
 				<span class="dialog-footer">
 					<el-button size="default" type="primary"  @click="onCancel">确定</el-button>
@@ -95,6 +107,11 @@
   id: number
   label: string
   children?: Tree[]
+}
+interface User {
+  date: string
+  name: string
+  address: string
 }
 export default defineComponent({
   name: 'userSelections',
@@ -196,6 +213,25 @@
     }
 
     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 dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
+    const handleClose = (tag: string) => {
+      dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+    };
     return {
       openDialog,
       closeDialog,
@@ -207,7 +243,12 @@
       tableData,
       formInline,
       onSubmit,
-      multipleTableRef
+      // currentRow,
+      // setCurrent,
+      multipleTableRef,
+      handleClose,
+      dynamicTags,
+      // handleCurrentChange,
     };
   },
 });
@@ -277,4 +318,14 @@
   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%;
+}
 </style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue
index f09ff4c..16c05f2 100644
--- a/src/views/contingencyManagement/contingency/component/openAdd.vue
+++ b/src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -36,7 +36,7 @@
                   class="input-with-select"
               >
                 <template #append>
-                  <el-button :icon="Search"/>
+                  <el-button :icon="Search" @click="openUser"/>
                 </template>
               </el-input>
             </el-form-item>
@@ -126,6 +126,7 @@
       </template>
     </el-dialog>
         <AddEmergencyPersonnel ref="addRef" />
+        <UserSelections ref="userRef"/>
   </div>
 </template>
 
@@ -146,6 +147,7 @@
   Search
 } from '@element-plus/icons-vue'
 import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue";
+import UserSelections from "/@/components/userSelections/index.vue"
 // 定义表格数据类型
 interface User {
   personnelName: string
@@ -156,7 +158,8 @@
 export default defineComponent({
   name: 'openAdd',
   components: {
-    AddEmergencyPersonnel
+    AddEmergencyPersonnel,
+    UserSelections,
   },
   setup() {
     const isShowDialog = ref(false)
@@ -234,6 +237,11 @@
         ],
       },
     ]
+    // 打开用户选择弹窗
+    const userRef = ref();
+    const openUser = () => {
+      userRef.value.openDialog();
+    };
     //定义tabs切换
     const activeName = ref('first')
 
@@ -324,6 +332,8 @@
       submitForm,
       rules,
       addRef,
+      userRef,
+      openUser,
       onAddEmergencyPersonnel,
     };
   },
diff --git a/src/views/contingencyManagement/contingency/component/openEdit.vue b/src/views/contingencyManagement/contingency/component/openEdit.vue
index dcafa12..80df2a9 100644
--- a/src/views/contingencyManagement/contingency/component/openEdit.vue
+++ b/src/views/contingencyManagement/contingency/component/openEdit.vue
@@ -140,7 +140,7 @@
 import {
   Search
 } from '@element-plus/icons-vue'
-import userSelections from "/@/components/userSelections/index.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";
 // 定义表格数据类型
@@ -194,7 +194,7 @@
 export default defineComponent({
   name: 'openEdit',
   components: {
-    userSelections,
+    UserSelections,
     AddEmergencyPersonnel,
     EditEmergencyPersonnel
   },
diff --git a/src/views/contingencyManagement/panManagement/component/DailogSearch.vue b/src/views/contingencyManagement/panManagement/component/DailogSearch.vue
new file mode 100644
index 0000000..ec434d3
--- /dev/null
+++ b/src/views/contingencyManagement/panManagement/component/DailogSearch.vue
@@ -0,0 +1,115 @@
+<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/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index 629340b..580eba3 100644
--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue
+++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -58,14 +58,14 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="编写人" prop="telephone">
+            <el-form-item label="编写人" prop="telephone" >
               <el-input
                   v-model="ruleForm.teamLeader"
                   placeholder="请选择"
                   class="input-with-select"
               >
                 <template #append>
-                  <el-button :icon="Search"/>
+                  <el-button :icon="Search" @click="openUser"/>
                 </template>
               </el-input>
             </el-form-item>
@@ -92,7 +92,7 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="应急队伍" prop="telephone">
+            <el-form-item label="应急队伍" prop="telephone" @click="daiInpt" >
               <el-input
                   v-model="ruleForm.teamLeader"
                   placeholder="请选择"
@@ -130,7 +130,7 @@
                   class="input-with-select"
               >
                 <template #append>
-                  <el-button :icon="Search"/>
+                  <el-button :icon="Search" @click="regionsDialog"/>
                 </template>
               </el-input>
             </el-form-item>
@@ -144,6 +144,9 @@
 				</span>
       </template>
     </el-dialog>
+    <DailogSearch ref="Shows"/>
+    <userSelections ref="userRef"/>
+    <RegionsDialog ref="openRef"/>
   </div>
 </template>
 
@@ -162,11 +165,16 @@
 import {
   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'
 
 export default defineComponent({
   name: 'openAdd',
   components: {
-
+    DailogSearch,
+    UserSelections,
+    RegionsDialog,
   },
   setup() {
     const isShowDialog = ref(false)
@@ -372,6 +380,21 @@
         }
       })
     }
+    // 应急队伍弹窗
+    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,
@@ -385,9 +408,15 @@
       value1,
       treeSelect,
       tree,
+      daiInpt,
+      Shows,
       ruleFormRef,
       submitForm,
       // rules,
+      openUser,
+      userRef,
+      regionsDialog,
+      openRef,
     };
   },
 });
diff --git a/src/views/contingencyManagement/panManagement/component/regionsDialog.vue b/src/views/contingencyManagement/panManagement/component/regionsDialog.vue
new file mode 100644
index 0000000..0edce4a
--- /dev/null
+++ b/src/views/contingencyManagement/panManagement/component/regionsDialog.vue
@@ -0,0 +1,109 @@
+<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 type="selection" width="55" />
+			<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" 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 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;
+}
+.el-form--inline .el-form-item{
+  margin: 0;
+}
+</style>

--
Gitblit v1.9.2