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/equipmentAlarm/index.vue |  343 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 343 insertions(+), 0 deletions(-)

diff --git a/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue b/src/views/majorHazardSourceMonitoring/equipmentAlarm/index.vue
new file mode 100644
index 0000000..89a65cd
--- /dev/null
+++ b/src/views/majorHazardSourceMonitoring/equipmentAlarm/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.equipmentName" 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="equipmentName" 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="alarmTime" label="报警时间" align="center">
+            </el-table-column>
+            <el-table-column prop="alarmInfo" label="报警信息" align="center">
+            </el-table-column>
+            <el-table-column prop="remark" 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">
+            <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"
+                style="margin-top: 20px;"
+            >
+            </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="equipmentId">
+                            <el-select
+                                v-model="form.equipmentId"
+                                placeholder="请选择设备名称"
+                                style="width: 100%"
+                            >
+                                <el-option
+                                    v-for="item in equipmentName"
+                                    :key="item.value"
+                                    :label="item.name"
+                                    :value="item.id"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <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-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="报警时间" prop="alarmTime">
+                            <el-date-picker
+                                type="datetime"
+                                v-model="form.alarmTime"
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                placeholder="选择日期时间"
+                            style="width: 100%;">
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="报警信息" prop="alarmInfo">
+                            <el-input type="textarea" v-model="form.alarmInfo" placeholder="请输入报警信息" maxlength="50"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="备注" prop="remark">
+                            <el-input type="textarea" v-model="form.remark" maxlength="50"></el-input>
+                        </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,
+    } from "@/api/majorEquipmentAlarm.js";
+    import { majorEquipmentErt } from "@/api/majorEquipment.js";
+    export default {
+        data() {
+            return {
+                dialogVisible: false,
+                title: "",
+                form: {
+                    equipmentId: "",
+                    status: "",
+                    alarmTime: "",
+                    alarmInfo:"",
+                    remark:"",
+                },
+                alarmTime:"",
+                pageSize: 10,
+                recordTotal: 0,
+                currentPage: 1,
+                list: [],
+                listQuery: {
+                    filter: {
+                        equipmentName: "",
+                        // status:"",
+                    },
+                    pageIndex: 1,
+                    pageSize: 10,
+                },
+                type:'',
+                rules: {
+                    equipmentId: { required: true, message: "请选择设备名称", trigger: "change"},
+                    status: { required: true, message: "请选择设备状态", trigger: "change"},
+                    alarmTime: { required: true, message: "请选择报警时间", trigger: "change"},
+                    alarmInfo: { required: true, message: "请输入报警信息", trigger: "change"},
+                },
+                equipmentName:[],
+                unitIdOptions:[{label:"未处理",value:0},{label:"已处理",value:1}],
+            };
+        },
+        created() {
+            this.elementManagementL();
+            this.alarmMajorEquipmentErt();
+        },
+        methods: {
+            alarmMajorEquipmentErt(){
+                majorEquipmentErt().then(res=>{
+                    console.log(res)
+                    this.equipmentName=res.data.result
+                })
+            },
+            async elementManagementL() {
+                var res = await majorEquipmentList(this.listQuery);
+                console.log(res);
+                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 = {
+                        equipmentId: "",
+                        status:0,
+                        remark:"",
+                        alarmTime:"",
+                        alarmInfo:""
+                    };
+                } 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,
+                                    });
+                                }
+                            });
+                        }
+                    }
+                });
+            },
+            cancel(){
+                this.elementManagementL();
+                this.dialogVisible = false
+            },
+            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 =>{
+                    });
+            },
+            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