From 37b718547bc441c7502f0bfcf86209efe253851b Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期三, 06 四月 2022 17:32:03 +0800 Subject: [PATCH] 'lct' --- src/views/majorHazardSourceMonitoring/productionEquipment/index.vue | 343 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 343 insertions(+), 0 deletions(-) diff --git a/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue b/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue new file mode 100644 index 0000000..46f0476 --- /dev/null +++ b/src/views/majorHazardSourceMonitoring/productionEquipment/index.vue @@ -0,0 +1,343 @@ +<template> + <div class="app-container"> + <el-form ref="form" :model="form" label-width="80px"> + <el-row> + <el-col :span="5"> + <el-form-item label="设备名称"> + <el-input v-model="listQuery.filter.name" placeholder="请输入设备名称" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item label="设备状态"> + <el-select v-model="listQuery.filter.status" placeholder="请选择设备状态" clearable> + <el-option v-for="item in unitIdOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="6" style="text-align: center"> + <el-button type="primary" icon="el-icon-search" @click="find()" class="btns" + >搜索</el-button + > + <el-button + type="primary" + icon="el-icon-plus" + class="btns" + @click="handleClick('', '新增')" + >新增</el-button + > + <el-button type="primary" icon="el-icon-refresh" @click="reset()" class="btns" + >重置</el-button + > + </el-col> + </el-row> + </el-form> + <el-table :data="list" border style="width: 100%"> + <el-table-column prop="serialNumber" align="center" label="设备编号"> + </el-table-column> + <el-table-column prop="name" align="center" label="设备名称"> + </el-table-column> + <el-table-column label="状态" align="center"> + <template slot-scope="scope"> + <span v-if="scope.row.status == 0">在用</span> + <span v-if="scope.row.status == 1">停用</span> + </template> + </el-table-column> + <el-table-column prop="volume" label="容积" align="center"> + </el-table-column> + <el-table-column prop="userName" label="负责人" align="center"> + </el-table-column> + <el-table-column align="center" label="操作"> + <template slot-scope="scope"> + <el-button + @click="handleClick(scope.row, '编辑')" + type="text" + size="small" + >编辑</el-button + > + <el-button + type="text" + size="small" + @click="deleteById(scope.row.id)" + style="color: red" + >删除</el-button + > + </template> + </el-table-column> + </el-table> + <div style="text-align:right;margin-top: 20px;"> + <el-pagination + v-show="recordTotal>0" + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="currentPage" + :page-sizes="[10, 20, 30, 50]" + :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="recordTotal" + > + </el-pagination> + </div> + <el-dialog + :title="title" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + width="40%" + > + <el-form ref="form" :rules="rules" :model="form" label-width="80px"> + <el-row> + <el-col :span="12"> + <el-form-item label="设备编号" prop="serialNumber"> + <el-input v-model="form.serialNumber" maxlength="50" placeholder="请输入设备编号"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="设备名称" prop="name"> + <el-input v-model="form.name" maxlength="50" placeholder="请输入设备名称"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="状态" prop="status"> + <el-select + v-model="form.status" + placeholder="请选择设备状态" + style="width: 100%" + > + <el-option + v-for="item in unitIdOptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="容积" prop="volume"> + <el-input v-model="form.volume" maxlength="50" + placeholder="请输入容积" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="负责人" prop="userId"> + <el-select + v-model="form.userId" + placeholder="请选择负责人" + style="width: 100%" + > + <el-option + v-for="item in personInCharge" + :key="item.id" + :label="item.realname" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" class="btns" @click="AddelementManagement()" + >确 定</el-button + > + <el-button @click="cancel()">取 消</el-button> + </span> + </el-dialog> + </div> +</template> +<script> + import { + majorEquipmentList, + majorEquipmentAdd, + majorEquipmentMod, + majorEquipmentDel, + majorEquipmentLis + } from "@/api/majorEquipment.js"; + export default { + data() { + return { + dialogVisible: false, + title: "", + form: { + name: "", + status: "", + volume: "", + serialNumber:"", + userId:"", + }, + pageSize: 10, + recordTotal: 0, + currentPage: 1, + list: [], + listQuery: { + filter: { + name: "", + // status:"", + }, + pageIndex: 1, + pageSize: 10, + }, + type:'', + rules: { + serialNumber:[ + { required: true, message: "设备编号不能为空", trigger: "change"}, + // { type:'number', message: '设备编号必须为数字值'} + ], + volume:[ + { required: true, message: "容积不能为空", trigger: "change"}, + // { type:'number', message: "容积必须为数字值", trigger: "change"}, + { pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/, message: '请输入数字格式,可保留两位小数' } + ], + name:{ required: true, message: "设备名称不能为空", trigger: "change" }, + status:{ required: true, message: "状态不能为空", trigger: "change" }, + userId:{ required: true, message: "负责人不能为空", trigger: "change" }, + }, + unitIdOptions:[{label:"在用",value:0},{label:"停用",value:1}], + personInCharge:[], + }; + }, + created() { + this.elementManagementL(); + this.productionMajorEquipmentErt(); + }, + methods: { + productionMajorEquipmentErt(){ + majorEquipmentLis().then(res=>{ + if (res.data.code ==200){ + this.personInCharge=res.data.result + } + }) + }, + async elementManagementL() { + var res = await majorEquipmentList(this.listQuery); + if (res.data.code == 200) { + this.list = res.data.result.records; + this.recordTotal = res.data.result.total + this.pageSize=res.data.result.size; + this.currentPage = res.data.result.current + } + }, + handleClick(value, type) { + this.dialogVisible = true; + this.$nextTick(() => { + this.$refs["form"].clearValidate(); + }); + if (type == "新增") { + this.title = "新增"; + this.form = { + serialNumber:'', + name: "", + volume:"", + userId:"", + status:"" + }; + } else { + this.title = "编辑"; + this.form=JSON.parse(JSON.stringify(value)); + } + }, + AddelementManagement() { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.title == "新增") { + majorEquipmentAdd(this.form).then((res) => { + if (res.data.code == 200) { + this.dialogVisible = false; + this.elementManagementL(); + this.$notify({ + type: "success", + duration: 2000, + message: "新增成功", + title: "成功", + }); + } else { + this.$message({ + type: "warning", + message: res.data.message, + }); + } + }); + } else { + majorEquipmentMod(this.form).then((res) => { + if (res.data.code == 200) { + this.dialogVisible = false; + this.elementManagementL(); + this.$notify({ + type: "success", + duration: 2000, + message: "编辑成功", + title: "成功", + }); + } else { + this.$message({ + type: "warning", + message: res.data.message, + }); + } + }); + } + } + }); + }, + deleteById(val) { + this.$confirm('确认删除吗','提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }) + .then(()=>{ + majorEquipmentDel({id:val}).then((res) => { + if (res.data.code == 200) { + this.elementManagementL(); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + }else { + this.$message({ + type: "warning", + message: res.data.message, + }); + + } + }); + }) + .catch(error =>{ + }); + }, + cancel(){ + this.elementManagementL(); + this.dialogVisible = false; + }, + find(){ + this.elementManagementL(); + }, + reset(){ + this.listQuery.filter={} + this.elementManagementL(); + }, + handleSizeChange(val){ + this.listQuery.pageSize = val + this.elementManagementL(); + }, + handleCurrentChange(val){ + this.listQuery.pageIndex = val + this.elementManagementL(); + }, + }, + }; +</script> +<style scoped> + .btns { + background-color: #034ea2; + border: 1px solid #034ea2; + } +</style> -- Gitblit v1.9.2