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