From b2333b4b48e68e740d3c6db22a7280f54debd907 Mon Sep 17 00:00:00 2001
From: Kxc0822a <kxc000822>
Date: 星期二, 22 三月 2022 09:43:47 +0800
Subject: [PATCH] 重大

---
 src/views/equipmentAlarm/index.vue      |  360 ++++++++++++++++++
 src/views/instrumentData/index.vue      |  375 +++++++++++++++++++
 src/views/productionEquipment/index.vue |  352 ++++++++++++++++++
 src/router/index.js                     |   19 
 4 files changed, 1,105 insertions(+), 1 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 64bca8a..5c98039 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -53,6 +53,24 @@
         hidden: true
     },
     {
+        path: '/productionEquipment',
+        // 重大生产设备
+        component: () => import('@/views/productionEquipment'),
+        hidden: true
+    },
+    {
+        path: '/instrumentData',
+        // 重大仪表实时数据
+        component: () => import('@/views/instrumentData'),
+        hidden: true
+    },
+    {
+        path: '/equipmentAlarm',
+        // 设备报警信息
+        component: () => import('@/views/equipmentAlarm'),
+        hidden: true
+    },
+    {
         path: '/',
         component: Layout,
         redirect: '/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/analyseUnit/index',
@@ -63,7 +81,6 @@
                 name: 'Dashboard1',
                 meta: { title: '首页', icon: 'el-icon-dash', noCache: true, affix: true }
             }
-
         ],
         hidden: true
     },
diff --git a/src/views/equipmentAlarm/index.vue b/src/views/equipmentAlarm/index.vue
new file mode 100644
index 0000000..2753c76
--- /dev/null
+++ b/src/views/equipmentAlarm/index.vue
@@ -0,0 +1,360 @@
+<template>
+    <div class="app-container">
+        <div class="filter-container">
+            <div class="basic_search">
+                <span>设备名称:</span>
+                <el-input v-model="name" style="width:200px">
+                </el-input>
+            </div>
+            <div class="basic_search">
+                <span style="margin-left: 20px;">状态:</span>
+                <el-select v-model="state" placeholder="请选择状态">
+                    <el-option label="未处理" value="shanghai"></el-option>
+                    <el-option label="已处理" value="beijing"></el-option>
+                </el-select>
+            </div>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">刷新</el-button>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-plus" @click="showCreateHandle">新增</el-button>
+            <el-button class="filter-item" type="primary" icon="el-icon-search" @click="queryHandle" />
+        </div>
+        <div class="table_content">
+            <el-table
+                v-loading="listLoading"
+                :key="tableKey"
+                :data="roleData"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;"
+            >
+                <el-table-column label="设备名称" prop="name" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="状态" prop="state" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.state }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报警时间" prop="time" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.time }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="报警信息" prop="information" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.information }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="备注" prop="remarks" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.remarks }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+                    <template slot-scope="scope">
+                        <el-button type="primary" size="mini" @click="showEditHandle(scope.row)">编辑</el-button>
+                        <el-button type="danger" size="mini" @click="deleteHandle(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <br>
+        </div>
+        <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="700px">
+            <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="120px" style="margin-left:50px;margin-right:50px;" element-loading-text="保存中...">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="设备名称" prop="name">
+                            <el-input v-model.trim="dataForm.name"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="状态" prop="state">
+                            <el-select v-model="dataForm.state" placeholder="请选择状态">
+                                <el-option label="未处理" value="shanghai"></el-option>
+                                <el-option label="已处理" value="beijing"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="仪表量上限" prop="volume">
+                            <el-input v-model.trim="dataForm.volume"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="报警时间" prop="time">
+                            <el-input v-model.trim="dataForm.time"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="报警信息" prop="information">
+                            <el-input type="textarea" v-model.trim="dataForm.information"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="24">
+                        <el-form-item label="备注" prop="remarks">
+                            <el-input type="textarea" v-model.trim="dataForm.remarks"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">取消</el-button>
+                <el-button type="primary" @click="dialogStatus==='create'?createHandle():updateHandle()">确认</el-button>
+            </div>
+        </el-dialog>
+        <div style="clear: both;"/>
+    </div>
+</template>
+
+<script>
+    import { mapGetters } from 'vuex'
+    import { roleList, createRole, deleteRole, updateRole, getRole, updateRolePermission} from '@/api/role'
+    import { permissionList } from '@/api/permission'
+    import { parseTime, computePageCount } from '@/utils'
+    import { parseError } from '@/utils/messageDialog'
+    import Cookies from 'js-cookie'
+    import { Message, MessageBox } from 'element-ui'
+    import { initRouter } from '@/utils/router'
+    export default {
+        name: 'RoleTable',
+        filters: {
+        },
+        computed: {
+            ...mapGetters([
+                'userType'
+            ])
+        },
+        data() {
+            return {
+                tableKey: 0,
+                roleData: null,
+                listLoading: true,
+                dataForm: {
+                    state: '',
+                    name:'',
+                    volume:'',
+                    information:'',
+                    time:'',
+                    remarks: ''
+                },
+                queryForm: {
+                    name: ''
+                },
+                dialogFormVisible: false,
+                dialogStatus: '',
+                dataFormRules: {
+                    name: [{ required: true, message: '角色名不能为空', trigger: 'blur' }]
+                },
+                treeLoading: false,
+                selectAllFlag: false,
+                hasMenuTree: [],
+                editRolePermId: '',
+                company:'',
+                region:'',
+            }
+        },
+        created() {
+            this.getRoleList()
+        },
+        methods: {
+            getRoleList() {
+                const _this = this
+                const params = {}
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                for (const i in _this.queryForm) {
+                    if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
+                        params[i] = _this.queryForm[i]
+                    }
+                }
+                _this.listLoading = true
+                roleList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.roleData = res.result
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                    _this.listLoading = false
+                }).catch(error => {
+                    _this.listLoading = false
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            createHandle: function() {
+                const _this = this
+                this.$refs['dataForm'].validate((valid) => {
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] =userName
+                        createRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '创建成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            deleteHandle: function(row) {
+                const _this = this
+                MessageBox.confirm('确定删除角色' + row.name + '信息', '确定删除', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    _this.deleteAction(row)
+                }).catch(() => {
+                    console.log('已取消删除')
+                })
+            },
+            deleteAction: function(row) {
+                const _this = this
+                const params = {}
+                params['id'] = row.id
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                deleteRole(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        _this.getRoleList()
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                }).catch(error => {
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            refreshHandle: function() {
+                this.getRoleList()
+            },
+            queryHandle: function() {
+                this.getRoleList()
+            },
+            resetDataForm() {
+                this.dataForm = {
+                    name: '',
+                    id: '',
+                }
+            },
+            showCreateHandle() {
+                this.resetDataForm()
+                this.dialogStatus = 'create'
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            updateHandle() {
+                this.$refs['dataForm'].validate((valid) => {
+                    const _this = this
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] = userName
+                        updateRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '更新成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            showEditHandle: function(row) {
+                this.resetDataForm()
+                this.dialogStatus = 'editor'
+                this.dataForm.name = row.name
+                this.dataForm.id = row.id
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            handleSizeChange: function(val) {
+                this.getRoleList()
+            },
+            handleCurrentChange: function(val) {
+                this.getRoleList()
+            },
+            getPermissionList() {
+                const _this = this
+                const params = {}
+                params['userId'] = Cookies.get('userId')
+                permissionList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                })
+            },
+            setNodeChecked(nodeId) {
+                const node = this.$refs.menuTree.getNode(nodeId)
+                if (!node.checked) {
+                    this.$refs.menuTree.setChecked(nodeId, true)
+                }
+                if (node) {
+                    if (node.data.parentid == 0 || node.data.parentid) {
+                        this.setNodeChecked(node.data.parentid)
+                    }
+                }
+            },
+            cancelNodeChecked(nodeId) {
+                const checkNodes = this.$refs.menuTree.getCheckedNodes()
+                const childNode = []
+                for (const checkNode of checkNodes) {
+                    if (checkNode.parentid == nodeId) {
+                        childNode.push(checkNode)
+                    }
+                }
+                if (childNode.length > 0) {
+                    for (const child of childNode) {
+                        this.$refs.menuTree.setChecked(child.id, false)
+                        this.cancelNodeChecked(child.id)
+                    }
+                }
+            }
+        }
+    }
+</script>
+<style scoped>
+    .basic_search{
+        display:inline-block;
+        padding-bottom: 10px;
+    }
+    .filter-container .filter-item{
+        margin-bottom: 0;
+    }
+</style>
diff --git a/src/views/instrumentData/index.vue b/src/views/instrumentData/index.vue
new file mode 100644
index 0000000..fabba14
--- /dev/null
+++ b/src/views/instrumentData/index.vue
@@ -0,0 +1,375 @@
+<template>
+    <div class="app-container">
+        <div class="filter-container">
+            <div class="basic_search">
+                <span>设备名称:</span>
+                <el-input v-model="name" style="width:200px">
+                </el-input>
+            </div>
+            <div class="basic_search">
+                <span style="margin-left: 20px;">设备编号:</span>
+                <el-select v-model="state" placeholder="请选择设备编号">
+                    <el-option label="设备1" value="shanghai"></el-option>
+                    <el-option label="设备2" value="beijing"></el-option>
+                </el-select>
+            </div>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">刷新</el-button>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-plus" @click="showCreateHandle">新增</el-button>
+            <el-button class="filter-item" type="primary" icon="el-icon-search" @click="queryHandle" />
+        </div>
+        <div class="table_content">
+            <el-table
+                v-loading="listLoading"
+                :key="tableKey"
+                :data="roleData"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;"
+            >
+                <el-table-column label="设备编号" prop="number" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.number }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="设备名称" prop="name" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="仪表量程下限" prop="lowerLimit" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.lowerLimit }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="仪表量程上限" prop="upperLimit" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.upperLimit }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="高高液位报警值" prop=" highHighLiquid " align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.highHighLiquid }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="高液位报警值" prop="highLiquid" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.highLiquid }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="低液位报警值" prop="lowliquid" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.lowliquid }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="低低液位报警值" prop="lowLowliquid" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.lowLowliquid }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+                    <template slot-scope="scope">
+                        <el-button type="primary" size="mini" @click="showEditHandle(scope.row)">编辑</el-button>
+                        <el-button type="danger" size="mini" @click="deleteHandle(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <br>
+        </div>
+        <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="700px">
+            <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="120px" style="margin-left:50px;margin-right:50px;" element-loading-text="保存中...">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="设备编号" prop="number">
+                            <el-select v-model="dataForm.number" placeholder="请选择设备标号">
+                                <el-option label="设备1" value="shanghai"></el-option>
+                                <el-option label="设备2" value="beijing"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="仪表量下限" prop="volume">
+                            <el-input v-model.trim="dataForm.volume"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="仪表量上限" prop="volume">
+                            <el-input v-model.trim="dataForm.volume"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="高高液位报警值" prop="highHighLiquid">
+                            <el-input v-model.trim="dataForm.highHighLiquid"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="高液位报警值" prop="highLiquid">
+                            <el-input v-model.trim="dataForm.highLiquid"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="低液位报警值" prop="lowliquid">
+                            <el-input v-model.trim="dataForm.lowliquid"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="低低液位报警值" prop="lowLowliquid">
+                            <el-input v-model.trim="dataForm.lowLowliquid"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">取消</el-button>
+                <el-button type="primary" @click="dialogStatus==='create'?createHandle():updateHandle()">确认</el-button>
+            </div>
+        </el-dialog>
+        <div style="clear: both;"/>
+    </div>
+</template>
+
+<script>
+    import { mapGetters } from 'vuex'
+    import { roleList, createRole, deleteRole, updateRole, getRole, updateRolePermission} from '@/api/role'
+    import { permissionList } from '@/api/permission'
+    import { parseTime, computePageCount } from '@/utils'
+    import { parseError } from '@/utils/messageDialog'
+    import Cookies from 'js-cookie'
+    import { Message, MessageBox } from 'element-ui'
+    import { initRouter } from '@/utils/router'
+    export default {
+        name: 'RoleTable',
+        filters: {
+        },
+        computed: {
+            ...mapGetters([
+                'userType'
+            ])
+        },
+        data() {
+            return {
+                tableKey: 0,
+                roleData: null,
+                listLoading: true,
+                dataForm: {
+                    number: '',
+                    name:'',
+                    id: ''
+                },
+                queryForm: {
+                    name: ''
+                },
+                dialogFormVisible: false,
+                dialogStatus: '',
+                dataFormRules: {
+                    name: [{ required: true, message: '角色名不能为空', trigger: 'blur' }]
+                },
+                treeLoading: false,
+                selectAllFlag: false,
+                hasMenuTree: [],
+                editRolePermId: '',
+                company:'',
+                region:'',
+            }
+        },
+        created() {
+            this.getRoleList()
+        },
+        methods: {
+            getRoleList() {
+                const _this = this
+                const params = {}
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                for (const i in _this.queryForm) {
+                    if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
+                        params[i] = _this.queryForm[i]
+                    }
+                }
+                _this.listLoading = true
+                roleList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.roleData = res.result
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                    _this.listLoading = false
+                }).catch(error => {
+                    _this.listLoading = false
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            createHandle: function() {
+                const _this = this
+                this.$refs['dataForm'].validate((valid) => {
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] =userName
+                        createRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '创建成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            deleteHandle: function(row) {
+                const _this = this
+                MessageBox.confirm('确定删除角色' + row.name + '信息', '确定删除', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    _this.deleteAction(row)
+                }).catch(() => {
+                    console.log('已取消删除')
+                })
+            },
+            deleteAction: function(row) {
+                const _this = this
+                const params = {}
+                params['id'] = row.id
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                deleteRole(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        _this.getRoleList()
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                }).catch(error => {
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            refreshHandle: function() {
+                this.getRoleList()
+            },
+            queryHandle: function() {
+                this.getRoleList()
+            },
+            resetDataForm() {
+                this.dataForm = {
+                    name: '',
+                    id: '',
+                }
+            },
+            showCreateHandle() {
+                this.resetDataForm()
+                this.dialogStatus = 'create'
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            updateHandle() {
+                this.$refs['dataForm'].validate((valid) => {
+                    const _this = this
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] = userName
+                        updateRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '更新成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            showEditHandle: function(row) {
+                this.resetDataForm()
+                this.dialogStatus = 'editor'
+                this.dataForm.name = row.name
+                this.dataForm.id = row.id
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            handleSizeChange: function(val) {
+                this.getRoleList()
+            },
+            handleCurrentChange: function(val) {
+                this.getRoleList()
+            },
+            getPermissionList() {
+                const _this = this
+                const params = {}
+                params['userId'] = Cookies.get('userId')
+                permissionList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                })
+            },
+            setNodeChecked(nodeId) {
+                const node = this.$refs.menuTree.getNode(nodeId)
+                if (!node.checked) {
+                    this.$refs.menuTree.setChecked(nodeId, true)
+                }
+                if (node) {
+                    if (node.data.parentid == 0 || node.data.parentid) {
+                        this.setNodeChecked(node.data.parentid)
+                    }
+                }
+            },
+            cancelNodeChecked(nodeId) {
+                const checkNodes = this.$refs.menuTree.getCheckedNodes()
+                const childNode = []
+                for (const checkNode of checkNodes) {
+                    if (checkNode.parentid == nodeId) {
+                        childNode.push(checkNode)
+                    }
+                }
+                if (childNode.length > 0) {
+                    for (const child of childNode) {
+                        this.$refs.menuTree.setChecked(child.id, false)
+                        this.cancelNodeChecked(child.id)
+                    }
+                }
+            }
+        }
+    }
+</script>
+<style scoped>
+    .basic_search{
+        display:inline-block;
+        padding-bottom: 10px;
+    }
+    .filter-container .filter-item{
+        margin-bottom: 0;
+    }
+</style>
diff --git a/src/views/productionEquipment/index.vue b/src/views/productionEquipment/index.vue
new file mode 100644
index 0000000..0e8881c
--- /dev/null
+++ b/src/views/productionEquipment/index.vue
@@ -0,0 +1,352 @@
+<template>
+    <div class="app-container">
+        <div class="filter-container">
+            <div class="basic_search">
+                <span>设备名称:</span>
+                <el-input v-model="name" style="width:200px">
+                </el-input>
+            </div>
+            <div class="basic_search">
+                <span style="margin-left: 20px;">状态:</span>
+                <el-select v-model="state" placeholder="请选择状态">
+                    <el-option label="在用" value="shanghai"></el-option>
+                    <el-option label="废弃" value="beijing"></el-option>
+                </el-select>
+            </div>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">刷新</el-button>
+            <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-plus" @click="showCreateHandle">新增</el-button>
+            <el-button class="filter-item" type="primary" icon="el-icon-search" @click="queryHandle" />
+        </div>
+        <div class="table_content">
+            <el-table
+                v-loading="listLoading"
+                :key="tableKey"
+                :data="roleData"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;"
+            >
+                <el-table-column label="设备编号" prop="number" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.number }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="设备名称" prop="name" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.name }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="状态" prop="state" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.state }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="容积" prop="volume" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.volume }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="负责人" prop="responsible" align="center">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.responsible }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+                    <template slot-scope="scope">
+                        <el-button type="primary" size="mini" @click="showEditHandle(scope.row)">编辑</el-button>
+                        <el-button type="danger" size="mini" @click="deleteHandle(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <br>
+        </div>
+        <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="700px">
+            <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="100px" style="margin-left:50px;width:500px;" element-loading-text="保存中...">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="设备编号" prop="number">
+                            <el-input v-model.trim="dataForm.number"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="设备名称" prop="name">
+                            <el-input v-model.trim="dataForm.name"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="状态:" prop="state">
+<!--                            <el-select v-model.trim="dataForm.region" placeholder="请选择状态" multiple style="width:100%;" clearable>-->
+<!--                                <el-option label="在用"/>-->
+<!--                                <el-option label="废弃"/>-->
+<!--                            </el-select>-->
+                            <el-select v-model="dataForm.state" placeholder="请选择状态">
+                                <el-option label="在用" value="shanghai"></el-option>
+                                <el-option label="废弃" value="beijing"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="容积" prop="volume">
+                            <el-input v-model.trim="dataForm.volume"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="负责人" prop="responsible">
+                            <el-input v-model.trim="dataForm.responsible"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">取消</el-button>
+                <el-button type="primary" @click="dialogStatus==='create'?createHandle():updateHandle()">确认</el-button>
+            </div>
+        </el-dialog>
+        <div style="clear: both;"/>
+    </div>
+</template>
+
+<script>
+    import { mapGetters } from 'vuex'
+    import { roleList, createRole, deleteRole, updateRole, getRole, updateRolePermission} from '@/api/role'
+    import { permissionList } from '@/api/permission'
+    import { parseTime, computePageCount } from '@/utils'
+    import { parseError } from '@/utils/messageDialog'
+    import Cookies from 'js-cookie'
+    import { Message, MessageBox } from 'element-ui'
+    import { initRouter } from '@/utils/router'
+    export default {
+        name: 'RoleTable',
+        filters: {
+        },
+        computed: {
+            ...mapGetters([
+                'userType'
+            ])
+        },
+        data() {
+            return {
+                tableKey: 0,
+                roleData: null,
+                listLoading: true,
+                dataForm: {
+                    number: '',
+                    name:'',
+                    id: ''
+                },
+                queryForm: {
+                    name: ''
+                },
+                dialogFormVisible: false,
+                dialogStatus: '',
+                dataFormRules: {
+                    name: [{ required: true, message: '角色名不能为空', trigger: 'blur' }]
+                },
+                treeLoading: false,
+                selectAllFlag: false,
+                hasMenuTree: [],
+                editRolePermId: '',
+                company:'',
+                region:'',
+            }
+        },
+        created() {
+            this.getRoleList()
+        },
+        methods: {
+            getRoleList() {
+                const _this = this
+                const params = {}
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                for (const i in _this.queryForm) {
+                    if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
+                        params[i] = _this.queryForm[i]
+                    }
+                }
+                _this.listLoading = true
+                roleList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.roleData = res.result
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                    _this.listLoading = false
+                }).catch(error => {
+                    _this.listLoading = false
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            createHandle: function() {
+                const _this = this
+                this.$refs['dataForm'].validate((valid) => {
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] =userName
+                        createRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '创建成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            deleteHandle: function(row) {
+                const _this = this
+                MessageBox.confirm('确定删除角色' + row.name + '信息', '确定删除', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    _this.deleteAction(row)
+                }).catch(() => {
+                    console.log('已取消删除')
+                })
+            },
+            deleteAction: function(row) {
+                const _this = this
+                const params = {}
+                params['id'] = row.id
+                const userName = Cookies.get('userName')
+                params['operator'] = userName
+                deleteRole(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                        _this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        _this.getRoleList()
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                }).catch(error => {
+                    parseError({ error: error, vm: _this })
+                })
+            },
+            refreshHandle: function() {
+                this.getRoleList()
+            },
+            queryHandle: function() {
+                this.getRoleList()
+            },
+            resetDataForm() {
+                this.dataForm = {
+                    name: '',
+                    id: '',
+                }
+            },
+            showCreateHandle() {
+                this.resetDataForm()
+                this.dialogStatus = 'create'
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            updateHandle() {
+                this.$refs['dataForm'].validate((valid) => {
+                    const _this = this
+                    if (valid) {
+                        const userName = Cookies.get('userName')
+                        _this.dataForm['operator'] = userName
+                        updateRole(_this.dataForm).then(response => {
+                            const res = response.data
+                            if (res.code == 200) {
+                                _this.dialogFormVisible = false
+                                _this.$message({
+                                    message: '更新成功',
+                                    type: 'success'
+                                })
+                                _this.getRoleList()
+                            } else {
+                                parseError({ error: res.message, vm: _this })
+                            }
+                        }).catch(error => {
+                            parseError({ error: error, vm: _this })
+                        })
+                    }
+                })
+            },
+            showEditHandle: function(row) {
+                this.resetDataForm()
+                this.dialogStatus = 'editor'
+                this.dataForm.name = row.name
+                this.dataForm.id = row.id
+                this.dialogFormVisible = true
+                this.$nextTick(() => {
+                    this.$refs['dataForm'].clearValidate()
+                })
+            },
+            handleSizeChange: function(val) {
+                this.getRoleList()
+            },
+            handleCurrentChange: function(val) {
+                this.getRoleList()
+            },
+            getPermissionList() {
+                const _this = this
+                const params = {}
+                params['userId'] = Cookies.get('userId')
+                permissionList(params).then(response => {
+                    const res = response.data
+                    if (res.code == 200) {
+                    } else {
+                        parseError({ error: res.message, vm: _this })
+                    }
+                })
+            },
+            setNodeChecked(nodeId) {
+                const node = this.$refs.menuTree.getNode(nodeId)
+                if (!node.checked) {
+                    this.$refs.menuTree.setChecked(nodeId, true)
+                }
+                if (node) {
+                    if (node.data.parentid == 0 || node.data.parentid) {
+                        this.setNodeChecked(node.data.parentid)
+                    }
+                }
+            },
+            cancelNodeChecked(nodeId) {
+                const checkNodes = this.$refs.menuTree.getCheckedNodes()
+                const childNode = []
+                for (const checkNode of checkNodes) {
+                    if (checkNode.parentid == nodeId) {
+                        childNode.push(checkNode)
+                    }
+                }
+                if (childNode.length > 0) {
+                    for (const child of childNode) {
+                        this.$refs.menuTree.setChecked(child.id, false)
+                        this.cancelNodeChecked(child.id)
+                    }
+                }
+            }
+        }
+    }
+</script>
+<style scoped>
+    .basic_search{
+        display:inline-block;
+        padding-bottom: 10px;
+    }
+    .filter-container .filter-item{
+        margin-bottom: 0;
+    }
+</style>

--
Gitblit v1.9.2