From d8215ff56e7bf39b43c52d7f27de5e7e427e67cf Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期三, 10 八月 2022 10:55:23 +0800
Subject: [PATCH] 事故管理修改

---
 src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue |  290 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 187 insertions(+), 103 deletions(-)

diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
index 0f90bb5..3f9dc77 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -8,55 +8,61 @@
 			</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>新建
 					</el-button>
-					<el-button size="default" type="warning" plain disabled>
+					<el-button size="default" type="warning" plain :disabled="warning">
 						<el-icon> <Edit /> </el-icon>修改
 					</el-button>
-					<el-button size="default" type="danger" plain disabled>
+					<el-button size="default" type="danger" plain @click="onDeleteAll" :disabled="danger">
 						<el-icon> <Delete /> </el-icon>删除
 					</el-button>
 				</div>
 				<div class="button_Right">
-          <el-button @click="upButton">
-						<el-icon>
-							<Upload />
-						</el-icon>
-					</el-button>
-					<el-button>
-						<el-icon>
-							<Refresh />
-						</el-icon>
-					</el-button>
+					<!--          <el-button @click="upButton">-->
+					<!--						<el-icon>-->
+					<!--							<Upload />-->
+					<!--						</el-icon>-->
+					<!--					</el-button>-->
+					<!--					<el-button>-->
+					<!--						<el-icon>-->
+					<!--							<Refresh />-->
+					<!--						</el-icon>-->
+					<!--					</el-button>-->
 				</div>
 			</div>
-			<el-table :data="tableData" style="width: 100%" ref="multipleTableRef">
-				<el-table-column type="selection" width="55" />
-				<el-table-column prop="name" 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 prop="departmentId" label="负责部门" min-width="120" show-overflow-tooltip sortable></el-table-column>
-				<el-table-column prop="classification" label="物资分类" min-width="120" show-overflow-tooltip sortable></el-table-column>
-				<el-table-column prop="place" label="存放位置" min-width="120" show-overflow-tooltip sortable></el-table-column>
-				<el-table-column prop="count" label="存储数量" min-width="120" show-overflow-tooltip sortable></el-table-column>
+			<el-table :data="tableData" style="width: 100%" ref="multipleTableRef" @selection-change="handleSelectionChange">
+				<el-table-column align="center" type="selection" width="55" />
+				<el-table-column align="center" prop="name" label="物资名称" min-width="120" show-overflow-tooltip sortable></el-table-column>
+				<el-table-column align="center" prop="number" label="物资编号" min-width="120" show-overflow-tooltip sortable></el-table-column>
+				<el-table-column align="center" prop="deptName" label="负责部门" min-width="120" show-overflow-tooltip sortable></el-table-column>
+				<el-table-column align="center" label="物资分类" min-width="120" show-overflow-tooltip sortable>
+					<template #default="scope">
+						<span v-if="scope.row.classification == 1">事故气体吸收装置</span><span v-if="scope.row.classification == 2">通讯设施</span
+						><span v-if="scope.row.classification == 3">交通运输工具</span><span v-if="scope.row.classification == 4">照明装置</span
+						><span v-if="scope.row.classification == 5">防护器材</span><span v-if="scope.row.classification == 6">其它</span>
+					</template>
+				</el-table-column>
+				<el-table-column align="center" prop="place" label="存放位置" min-width="120" show-overflow-tooltip sortable></el-table-column>
+				<el-table-column align="center" prop="count" 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 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="onMaintain(scope.row)">
+						<el-button size="small" text type="primary" @click="onInspect(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-button size="small" text type="primary" @click="onEdit('详情', scope.row.id)">
 							<el-icon style="margin-right: 5px"> <View /> </el-icon>查看
 						</el-button>
-						<el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
+						<el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)">
 							<el-icon style="margin-right: 5px">
 								<EditPen />
 							</el-icon>
 							修改
 						</el-button>
-						<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
+						<el-button size="small" text type="primary" @click="onRowDel(scope.row.id)">
 							<el-icon> <Delete /> </el-icon>删除
 						</el-button>
 					</template>
@@ -69,8 +75,6 @@
 					v-model:page-size="pageSize"
 					:page-sizes="[10, 20, 30]"
 					:pager-count="5"
-		
-					
 					layout="total, sizes, prev, pager, next, jumper"
 					:total="total"
 					@size-change="handleSizeChange"
@@ -78,84 +82,47 @@
 				/>
 			</div>
 		</el-card>
-		<Maintain ref="seeRef" />
-		<OpenAdd ref="addRef" />
-		<OpenEdit ref="editRef" />
-		<upData ref="upShow"></upData>
+		<Maintain ref="seeRef" @myadd="onMaintainAdd" />
+		<Inspect ref="spectRef" @myadd="onInspectAdd" />
+		<OpenAdd ref="addRef" @myAdd="onMyAdd" />
+		<OpenEdit ref="editRef" @myAdd="onMyAdds" />
+		<!--		<upData ref="upShow"></upData>-->
 	</div>
 </template>
 
 <script lang="ts">
+import { ref, defineComponent, reactive, onMounted } from 'vue';
 import {
-	// toRefs,
-	// reactive,
-	// onMounted,
-	ref,
-	defineComponent,
-	reactive,
-	onMounted,
-} from 'vue';
-import { ElMessageBox, ElMessage, ElTable } from 'element-plus';
-import {
-	Plus,
-	Edit,
-	Delete,
-	Upload,
-	// Download,
-	Refresh,
-	View,
-	EditPen,
-} from '@element-plus/icons-vue';
+	ElMessageBox,
+	ElMessage,
+	// ElTable
+} from 'element-plus';
+import { Plus, Edit, Delete, Upload, Refresh, View, EditPen } from '@element-plus/icons-vue';
 import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue';
-import OpenEdit from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue';
 import Maintain from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue';
+import Inspect from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue';
+import OpenEdit from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue';
 import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
-import { emergencyResourcesApi } from '/@/api/emergencyResources';
-// 定义表格数据类型
-interface User {
-	id: number;
-	name: string;
-	number: string;
-	departmentId: number;
-	classification: string;
-	place: string;
-	count: number;
-}
-
-// 定义接口来定义对象的类型
-interface TableDataRow {
-	// userName: string;
-	// userNickname: string;
-	// roleSign: string;
-	// department: string[];
-	// phone: string;
-	// email: string;
-	// sex: string;
-	// password: string;
-	// overdueTime: Date;
-	// // describe: string;
-	// createTime: string;
-}
+import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';
 
 export default defineComponent({
 	name: 'systemUser',
 	components: {
 		OpenAdd,
 		Maintain,
-		OpenEdit,
 		View,
+		OpenEdit,
 		EditPen,
 		Plus,
 		Edit,
 		Delete,
 		Upload,
 		// Download,
+		Inspect,
 		Refresh,
 		UpData,
 	},
 	setup() {
-		const multipleTableRef = ref<InstanceType<typeof ElTable>>();
-		const multipleSelection = ref<User[]>([]);
 		// 列表参数
 		const listQuery = reactive({
 			pageIndex: 1,
@@ -168,8 +135,8 @@
 		const tableData = ref([]);
 		// 请求列表数据
 		const listApi = async () => {
-			let res = await emergencyResourcesApi().emergencySuppliesList(listQuery);
-			console.log(res);
+			let res = await emergencySuppliesApi().getEmergencySuppliesList(listQuery);
+			// console.log(res);
 			if (res.data.code == 200) {
 				tableData.value = res.data.data;
 				pageIndex.value = res.data.pageIndex;
@@ -184,39 +151,149 @@
 			listQuery.searchParams.name = '';
 			listApi();
 		};
+		const warning = ref(true);
+		const danger = ref(true);
+		const deletAll = ref();
+		const handleSelectionChange = (val: any) => {
+			let valId = JSON.parse(JSON.stringify(val));
+			let arr = [];
+			for (let i = 0; i < valId.length; i++) {
+				arr.push(valId[i].id);
+			}
+			deletAll.value = arr;
+			// console.log(deletAll.value);
+			if (val.length == 1) {
+				warning.value = false;
+				danger.value = false;
+			} else if (val.length == 0) {
+				warning.value = true;
+				danger.value = true;
+			} else {
+				warning.value = true;
+				danger.value = false;
+			}
+		};
+		// 页面加载时
 		onMounted(() => {
 			listApi();
 		});
 		// 上传
-		const upShow = ref();
-		const upButton = () => {
-			upShow.value.openDialog();
-		};
+		// const upShow = ref();
+		// const upButton = () => {
+		// 	upShow.value.openDialog();
+		// };
 
-		//查看用户弹窗
+		//新增应急物资检查弹窗
 		const seeRef = ref();
-		const onMaintain = (row: TableDataRow) => {
-			seeRef.value.openDialog(row);
+		const onMaintain = (data: any) => {
+			seeRef.value.openDialog(data);
 		};
-		// 打开新增用户弹窗
+		// 应急物资保养新增后刷新
+		const onMaintainAdd = () => {
+			listApi();
+		};
+		//修改应急物资检查弹窗
+		const spectRef = ref();
+		const onInspect = (data: any) => {
+			spectRef.value.openDialog(data);
+		};
+		// 应急物资检查新增后刷新
+		const onInspectAdd = (e: boolean) => {
+			if (e) {
+				listApi();
+			} else {
+				listApi();
+			}
+		};
+		// 新建应急物资代码弹窗
 		const addRef = ref();
 		const onOpenAdd = () => {
-			addRef.value.openDialog();
+			addRef.value.openDialog('新建应急物资代码', false);
+		};
+		// 新增后刷新
+		const onMyAdd = (e: boolean) => {
+			if (e) {
+				listApi();
+			} else {
+				listApi();
+			}
 		};
 		// 打开修改用户弹窗
 		const editRef = ref();
-		const onOpenEdit = (row: TableDataRow) => {
-			editRef.value.openDialog(row);
+		const onEdit = (val: string, row: object) => {
+			if (val == '详情') {
+				editRef.value.openDialog('查看应急物资代码', row, true);
+			} else {
+				editRef.value.openDialog('修改应急物资代码', row, false);
+			}
+		};
+		// 新增后刷新
+		const onMyAdds = (e: boolean) => {
+			if (e) {
+				listApi();
+			} else {
+				listApi();
+			}
 		};
 		// 删除用户
-		const onRowDel = (row: TableDataRow) => {
-			ElMessageBox.confirm(`此操作将永久删除账户名称:“${row}”,是否继续?`, '提示', {
+		const onRowDel = (id: number) => {
+			let arr = [];
+			arr.push(id);
+			ElMessageBox.confirm('确定删除所选项吗?', '提示', {
 				confirmButtonText: '确认',
 				cancelButtonText: '取消',
 				type: 'warning',
 			})
 				.then(() => {
-					ElMessage.success('删除成功');
+					emergencySuppliesApi()
+						.deleteEmergencySupplies(arr)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									showClose: true,
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage({
+									showClose: true,
+									message: res.data.msg,
+									type: 'error',
+								});
+								listApi();
+							}
+						});
+				})
+				.catch(() => {});
+		};
+		// 多选删除
+		const onDeleteAll = () => {
+			ElMessageBox.confirm('确定删除所选项吗?', '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(() => {
+					emergencySuppliesApi()
+						.deleteEmergencySupplies(deletAll.value)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									showClose: true,
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage({
+									showClose: true,
+									message: res.data.msg,
+									type: 'error',
+								});
+								listApi();
+							}
+						});
 				})
 				.catch(() => {});
 		};
@@ -235,15 +312,11 @@
 			listQuery.pageIndex = val;
 		};
 		return {
-			multipleSelection,
-			multipleTableRef,
-			upButton,
-			upShow,
+			// upButton,
+			// upShow,
 			tableData,
 			onMaintain, //保养
 			seeRef,
-			onOpenEdit, //编辑
-			editRef,
 			onOpenAdd, //新增
 			addRef,
 			onRowDel,
@@ -256,7 +329,18 @@
 			listApi,
 			onMounted,
 			submitReset,
-			// ...toRefs(state),
+			onMyAdd,
+			onEdit,
+			editRef,
+			onDeleteAll,
+			handleSelectionChange,
+			warning,
+			danger,
+			spectRef,
+			onInspect,
+			onMaintainAdd,
+			onInspectAdd,
+			onMyAdds,
 		};
 	},
 });

--
Gitblit v1.9.2