From c64c8f43ec1a3d88feb1f915fd488040b6358e7d Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期二, 09 八月 2022 19:04:12 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut --- src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue | 413 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 243 insertions(+), 170 deletions(-) diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue index ce9cb6f..3f9dc77 100644 --- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue +++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue @@ -1,273 +1,346 @@ <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-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 :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-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(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 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 { ref, defineComponent, reactive, onMounted } from 'vue'; import { - // toRefs, - // reactive, - // onMounted, - ref, - defineComponent, -} 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/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/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 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; + // 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 = (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(() => {}); }; // 分页 - 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