From db75c6a59acad51cb17577c522e6a4debf72b3b6 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期二, 02 八月 2022 17:54:30 +0800
Subject: [PATCH] 数据对接

---
 src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue |  408 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 245 insertions(+), 163 deletions(-)

diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
index ce9cb6f..5625061 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -1,273 +1,355 @@
 <template>
 	<div class="system-user-container">
 		<el-card shadow="hover">
-			<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-				<el-tab-pane label="待评价" name="first"></el-tab-pane>
-				<el-tab-pane label="已评价" name="second"></el-tab-pane>
-			</el-tabs>
 			<div class="system-user-search mb15">
-				<el-input size="default" placeholder="物资名称" style="max-width: 215px"> </el-input>
-				<el-button size="default" type="primary" class="ml10"> 查询 </el-button>
+				<el-input size="default" v-model="listQuery.searchParams.name" placeholder="物资名称" style="max-width: 215px" />
+				<el-button size="default" type="primary" class="ml10" @click="listApi"> 查询 </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('新建')">
-						<el-icon>
-							<Plus /> </el-icon
-						>新建
+					<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 /> </el-icon
-						>修改
+					<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-icon>
-							<Delete /> </el-icon
-						>删除
+					<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 :data="tableData" style="width: 100%" ref="multipleTableRef" @selection-change="handleSelectionChange">
 				<el-table-column type="selection" width="55" />
-				<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 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-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 size="small" text type="primary" @click="onMaintain()">
+							<el-icon style="margin-right: 5px"> <EditPen /> </el-icon>保养
 						</el-button>
-						<el-button size="small" text type="primary" @click="onMaintain(scope.row)">
-							<el-icon style="margin-right: 5px">
-								<EditPen /> </el-icon
-							>检查
+						<el-button size="small" text type="primary" @click="onInspect()">
+							<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 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-icon>
-								<Delete /> </el-icon
-							>删除
+						<el-button size="small" text type="primary" @click="onRowDel(scope.row.id)">
+							<el-icon> <Delete /> </el-icon>删除
 						</el-button>
 					</template>
 				</el-table-column>
 			</el-table>
 			<div class="pages">
 				<el-pagination
+					v-if="tableData.length == 0 ? false : true"
 					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"
+					:total="total"
 					@size-change="handleSizeChange"
 					@current-change="handleCurrentChange"
 				/>
 			</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 {
-	// toRefs,
-	// reactive,
-	// onMounted,
 	ref,
 	defineComponent,
+	reactive,
+	onMounted,
 } from 'vue';
-import { ElMessageBox, ElMessage, ElTable } from 'element-plus';
+import {
+  ElMessageBox,
+  ElMessage,
+  // ElTable
+} from 'element-plus';
 import {
 	Plus,
 	Edit,
 	Delete,
 	Upload,
-	// Download,
 	Refresh,
 	View,
 	EditPen,
 } from '@element-plus/icons-vue';
 import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue';
-import OpenEdit from '/@/views/contingencyManagement/panManagement/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';
-
-// 定义表格数据类型
-interface User {
-	teamName: string;
-	teamLevel: string;
-	teamDescription: string;
-	location: string;
-	materialClassification: string;
-	number: 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;
-}
+import {emergencySuppliesApi} from '/@/api/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 upShow = ref();
-		const upButton = () => {
-			upShow.value.openDialog();
-		};
+		// 列表参数
+		const listQuery = reactive({
+			pageIndex: 1,
+			pageSize: 10,
+			searchParams: {
+				name: '',
+			},
+		});
 		// 定义表格数据
-		const tableData: User[] = [
-			{
-				teamName: '消防安全绳',
-				teamLevel: 'YJWZ20210208104332',
-				teamDescription: '安全管理部',
-				materialClassification: '事故气体吸收装置',
-				location: '3#岗微型消防站',
-				number: '5',
-			},
-			{
-				teamName: '消防安全绳',
-				teamLevel: 'YJWZ20210208104332',
-				teamDescription: '安全管理部',
-				materialClassification: '事故气体吸收装置',
-				location: '3#岗微型消防站',
-				number: '5',
-			},
-			{
-				teamName: '消防安全绳',
-				teamLevel: 'YJWZ20210208104332',
-				teamDescription: '安全管理部',
-				materialClassification: '事故气体吸收装置',
-				location: '3#岗微型消防站',
-				number: '5',
-			},
-			{
-				teamName: '消防安全绳',
-				teamLevel: 'YJWZ20210208104332',
-				teamDescription: '安全管理部',
-				materialClassification: '事故气体吸收装置',
-				location: '3#岗微型消防站',
-				number: '5',
-			},
-		];
-		//查看用户弹窗
-		const seeRef = ref();
-		const onMaintain = (row: TableDataRow) => {
-			seeRef.value.openDialog(row);
+		const tableData = ref([]);
+		// 请求列表数据
+		const listApi = async () => {
+			let res = await emergencySuppliesApi().getEmergencySuppliesList(listQuery);
+			// console.log(res);
+			if (res.data.code == 200) {
+				tableData.value = res.data.data;
+				pageIndex.value = res.data.pageIndex;
+				pageSize.value = res.data.pageSize;
+				total.value = res.data.total;
+			} else {
+				ElMessage.error(res.data.msg);
+			}
 		};
-		// 打开新增用户弹窗
+		//重置
+		const submitReset = () => {
+			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.toString();
+      // 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 seeRef = ref();
+		const onMaintain = () => {
+      seeRef.value.openDialog('修改应急物资保养',false);
+		};
+    // 应急物资保养新增后刷新
+    const onMaintainAdd = (e: boolean) => {
+      if (e) {
+        listApi();
+      } else {
+        listApi();
+      }
+    };
+    //修改应急物资检查弹窗
+    const spectRef = ref();
+    const onInspect = () => {
+      spectRef.value.openDialog('修改应急物资检查',false);
+    };
+    // 应急物资检查新增后刷新
+    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 editRef = ref();
+    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 = (data: any) => {
+			ElMessageBox.confirm('确定删除所选项吗?', '提示', {
 				confirmButtonText: '确认',
 				cancelButtonText: '取消',
 				type: 'warning',
 			})
-				.then(() => {
-					ElMessage.success('删除成功');
-				})
-				.catch(() => {});
+          .then(() => {
+            emergencySuppliesApi()
+              .deleteEmergencySupplies(data)
+              .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(() => {});
+    };
 		// 分页
-		const pageIndex = ref(4);
-		const pageSize = ref(10);
-		// 分页改变
+		const pageIndex = ref();
+		const pageSize = ref();
+		const total = ref();
+		// 分页条数
 		const handleSizeChange = (val: number) => {
-			console.log(`${val} items per page`);
+			// console.log(`${val} items per page`);
+			listQuery.pageSize = val;
 		};
-		// 分页未改变
+		// 分页数
 		const handleCurrentChange = (val: number) => {
-			console.log(`current page: ${val}`);
+			// console.log(`current page: ${val}`);
+			listQuery.pageIndex = val;
 		};
 		return {
-			multipleSelection,
-			multipleTableRef,
-			upButton,
-			upShow,
+			// upButton,
+			// upShow,
 			tableData,
 			onMaintain, //保养
 			seeRef,
-			onOpenEdit, //编辑
-			editRef,
 			onOpenAdd, //新增
 			addRef,
 			onRowDel,
 			pageIndex,
 			pageSize,
+			total,
 			handleSizeChange,
 			handleCurrentChange,
-			// ...toRefs(state),
+			listQuery,
+			listApi,
+			onMounted,
+			submitReset,
+      onMyAdd,
+      onEdit,
+      editRef,
+      onDeleteAll,
+      handleSelectionChange,
+      warning,
+      danger,
+      spectRef,
+      onInspect,
+      onMaintainAdd,
+      onInspectAdd,
+      onMyAdds,
 		};
 	},
 });

--
Gitblit v1.9.2