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