Commit 843542b9 authored by xinzhedeai's avatar xinzhedeai

环境、冲击地压、尾矿库 设备管理

parent 5cd9ee70
...@@ -88,9 +88,9 @@ export default { ...@@ -88,9 +88,9 @@ export default {
}, },
// 修改 // 修改
set: (iotNormalMachine) => { set: (iotNormalMachine) => {
iotNormalMachine.enterpriseId = null // iotNormalMachine.enterpriseId = null
iotNormalMachine.mineType = null // iotNormalMachine.mineType = null
iotNormalMachine.mineId = null // iotNormalMachine.mineId = null
iotNormalMachine.createDatetime = null iotNormalMachine.createDatetime = null
iotNormalMachine.createBy = null iotNormalMachine.createBy = null
iotNormalMachine.updateDatetime = null iotNormalMachine.updateDatetime = null
......
...@@ -61,9 +61,9 @@ export default { ...@@ -61,9 +61,9 @@ export default {
}, },
// 修改 // 修改
set: (iotNormalMachine) => { set: (iotNormalMachine) => {
iotNormalMachine.enterpriseId = null // iotNormalMachine.enterpriseId = null
iotNormalMachine.mineType = null // iotNormalMachine.mineType = null
iotNormalMachine.mineId = null // iotNormalMachine.mineId = null
iotNormalMachine.createDatetime = null iotNormalMachine.createDatetime = null
iotNormalMachine.createBy = null iotNormalMachine.createBy = null
iotNormalMachine.updateDatetime = null iotNormalMachine.updateDatetime = null
......
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<div class="head-container"> <div class="head-container">
<div> <div>
<el-input v-model="searchParam.nameLike" clearable size="small" placeholder="设备名称" style="width: 200px;" class="filter-item" /> <el-input v-model="searchParam.nameLike" clearable size="small" placeholder="设备名称" style="width: 200px;" class="filter-item" />
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="searchSubmit">搜索</el-button> <el-input v-model="searchParam.enterpriseName" clearable size="small" placeholder="所属企业" style="width: 200px;" class="filter-item" />
<el-input v-model="searchParam.mineName" clearable size="small" placeholder="所属矿山" style="width: 200px;" class="filter-item" />
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="searchSubmit">搜索2</el-button>
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="searchParamReset">重置</el-button> <el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="searchParamReset">重置</el-button>
<el-tooltip class="item" effect="dark" content="按当前查询条件导出" placement="top"> <el-tooltip class="item" effect="dark" content="按当前查询条件导出" placement="top">
<el-button :loading="exporting" class="filter-item" size="mini" type="info" plain icon="el-icon-download" @click="exportSubmit">导出</el-button> <el-button :loading="exporting" class="filter-item" size="mini" type="info" plain icon="el-icon-download" @click="exportSubmit">导出</el-button>
...@@ -28,6 +30,34 @@ ...@@ -28,6 +30,34 @@
<!--弹出框1--> <!--弹出框1-->
<el-dialog append-to-body :close-on-click-modal="true" :visible.sync="dialog1Show" :title="editState==1?'新增':editState==2?'修改':'查看'" width="960px"> <el-dialog append-to-body :close-on-click-modal="true" :visible.sync="dialog1Show" :title="editState==1?'新增':editState==2?'修改':'查看'" width="960px">
<el-form ref="dialog1Form" :hide-required-asterisk="!dialog1Editing" :model="dialog1Data" :rules="dialog1Rules" size="mini" label-width="180px" style="margin-right: 80px;"> <el-form ref="dialog1Form" :hide-required-asterisk="!dialog1Editing" :model="dialog1Data" :rules="dialog1Rules" size="mini" label-width="180px" style="margin-right: 80px;">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="所属企业:" prop="enterpriseId">
<span v-show="!dialog1Editing">{{ dialog1Data.enterpriseName }}</span>
<el-select
v-model="dialog1Data.enterpriseId"
placeholder="请选择"
@change="enterpriseChange"
>
<el-option
v-for="item in options4enterpriseIdList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属矿山" prop="mineId">
<span v-show="!dialog1Editing">{{ dialog1Data.mineName }}</span>
<el-select v-model="dialog1Data.mineId" placeholder="请选择" clearable size="small" class="filter-item" style="width: 200px;">
<el-option v-for="mine in mineList" :key="mine.index" :label="mine.name" :value="mine.index" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备编号:" prop="code"> <el-form-item label="设备编号:" prop="code">
...@@ -164,6 +194,8 @@ ...@@ -164,6 +194,8 @@
<el-table-column :show-overflow-tooltip="true" prop="id" label="编号" width="100px" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="id" label="编号" width="100px" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="code" label="设备编码" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="code" label="设备编码" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="enterpriseName" label="所属企业" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="mineName" label="所属矿山" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="unit" label="单位" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="unit" label="单位" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="manufacturer" label="生产厂家" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="manufacturer" label="生产厂家" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="place" label="安装位置" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="place" label="安装位置" align="center" />
...@@ -190,6 +222,8 @@ ...@@ -190,6 +222,8 @@
<script> <script>
import iotGroundPressureMachineApi from '@/api/kd/iotGroundPressureMachine' import iotGroundPressureMachineApi from '@/api/kd/iotGroundPressureMachine'
import mineApi from '@/api/kd/mine'
import {getCompanyList} from '@/api/system/user'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { downloadFile } from '@/utils' import { downloadFile } from '@/utils'
...@@ -197,13 +231,18 @@ import { downloadFile } from '@/utils' ...@@ -197,13 +231,18 @@ import { downloadFile } from '@/utils'
const searchParam = {// 默认搜索条件 const searchParam = {// 默认搜索条件
page: 1, page: 1,
count: 10, count: 10,
searchCount: true searchCount: true,
mineName: '',
enterpriseName: ''
} }
export default { export default {
name: 'EIotGroundPressureMachine', // 本页面名 name: 'EIotGroundPressureMachine', // 本页面名
components: {}, components: {},
data() { data() {
return { return {
options4enterpriseIdList: [],
mineList: [],
selectedMine: {}, selectedMine: {},
httpHeaders: { httpHeaders: {
'Authorization': getToken() 'Authorization': getToken()
...@@ -220,6 +259,8 @@ export default { ...@@ -220,6 +259,8 @@ export default {
dialog1Saving: false, dialog1Saving: false,
dialog1Data: {}, dialog1Data: {},
dialog1Rules: { dialog1Rules: {
enterpriseId: [{ required: true, message: '请选择' }],
mineId: [{ required: true, message: '请选择' }],
code: [{ required: true, message: '请填写' }], code: [{ required: true, message: '请填写' }],
name: [{ required: true, message: '请填写' }], name: [{ required: true, message: '请填写' }],
unit: [{ required: true, message: '请填写' }], unit: [{ required: true, message: '请填写' }],
...@@ -252,26 +293,44 @@ export default { ...@@ -252,26 +293,44 @@ export default {
} }
}, },
mounted() { mounted() {
const selectedMineJson = window.localStorage.getItem('kd.selected.mine') // const selectedMineJson = window.localStorage.getItem('kd.selected.mine')
let noMine = false // let noMine = false
if (!selectedMineJson) { // if (!selectedMineJson) {
noMine = true // noMine = true
} else { // } else {
const selectedMine = JSON.parse(selectedMineJson) // const selectedMine = JSON.parse(selectedMineJson)
if (!selectedMine || selectedMine.enterpriseId !== this.user.enterpriseId) { // if (!selectedMine || selectedMine.enterpriseId !== this.user.enterpriseId) {
noMine = true // noMine = true
} else { // } else {
this.selectedMine = selectedMine // this.selectedMine = selectedMine
} // }
} // }
// if (noMine) { // // if (noMine) {
// this.$message.error('当前未选择矿山') // this.$message.error('当前未选择矿山')
// this.$router.replace('/dashboard') // this.$router.replace('/dashboard')
// } // }
this.searchParamReset() this.searchParamReset()
this.searchSubmit() this.searchSubmit()
// 获取企业公司
getCompanyList({})
.then((res) => {
this.options4enterpriseIdList = res.body;
});
}, },
methods: { methods: {
enterpriseChange(value){
// 矿山选项卡
this.getAllMineByEnterpriseId(value)
},
getAllMineByEnterpriseId(enterpriseId){
mineApi.getAllMineByEnterpriseId({
enterpriseId
}).then(response => {
let i = 1
response.body.forEach(x => { x.index = i++ })
this.mineList = response.body
})
},
searchParamReset() { searchParamReset() {
this.searchParam = JSON.parse(JSON.stringify(searchParam)) this.searchParam = JSON.parse(JSON.stringify(searchParam))
}, },
...@@ -309,8 +368,8 @@ export default { ...@@ -309,8 +368,8 @@ export default {
} else { } else {
this.dialog1Saving = true this.dialog1Saving = true
if (this.editState === 1) { // 新增 if (this.editState === 1) { // 新增
this.dialog1Data.mineType = this.selectedMine.mineType // this.dialog1Data.mineType = this.selectedMine.mineType
this.dialog1Data.mineId = this.selectedMine.id // this.dialog1Data.mineId = this.selectedMine.id
iotGroundPressureMachineApi.add(this.dialog1Data).then(() => { iotGroundPressureMachineApi.add(this.dialog1Data).then(() => {
this.dialog1Show = false this.dialog1Show = false
this.$message.success('保存成功') this.$message.success('保存成功')
...@@ -365,6 +424,7 @@ export default { ...@@ -365,6 +424,7 @@ export default {
this.dialog1Show = true this.dialog1Show = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dialog1Form'].clearValidate() this.$refs['dialog1Form'].clearValidate()
this.getAllMineByEnterpriseId(this.dialog1Data.enterpriseId)
}) })
}).catch(() => { }).catch(() => {
this.searchSubmit() this.searchSubmit()
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
<div class="head-container"> <div class="head-container">
<div> <div>
<el-input v-model="searchParam.nameLike" clearable size="small" placeholder="设备名称" style="width: 200px;" class="filter-item" /> <el-input v-model="searchParam.nameLike" clearable size="small" placeholder="设备名称" style="width: 200px;" class="filter-item" />
<el-input v-model="searchParam.enterpriseName" clearable size="small" placeholder="所属企业" style="width: 200px;" class="filter-item" />
<el-input v-model="searchParam.mineName" clearable size="small" placeholder="所属矿山" style="width: 200px;" class="filter-item" />
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="searchSubmit">搜索</el-button> <el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="searchSubmit">搜索</el-button>
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="searchParamReset">重置</el-button> <el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="searchParamReset">重置</el-button>
<el-tooltip class="item" effect="dark" content="按当前查询条件导出" placement="top"> <el-tooltip class="item" effect="dark" content="按当前查询条件导出" placement="top">
...@@ -28,6 +30,34 @@ ...@@ -28,6 +30,34 @@
<!--弹出框1--> <!--弹出框1-->
<el-dialog append-to-body :close-on-click-modal="true" :visible.sync="dialog1Show" :title="editState==1?'新增':editState==2?'修改':'查看'" width="960px"> <el-dialog append-to-body :close-on-click-modal="true" :visible.sync="dialog1Show" :title="editState==1?'新增':editState==2?'修改':'查看'" width="960px">
<el-form ref="dialog1Form" :hide-required-asterisk="!dialog1Editing" :model="dialog1Data" :rules="dialog1Rules" size="mini" label-width="180px" style="margin-right: 80px;"> <el-form ref="dialog1Form" :hide-required-asterisk="!dialog1Editing" :model="dialog1Data" :rules="dialog1Rules" size="mini" label-width="180px" style="margin-right: 80px;">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="所属企业:" prop="enterpriseId">
<span v-show="!dialog1Editing">{{ dialog1Data.enterpriseName }}</span>
<el-select
v-model="dialog1Data.enterpriseId"
placeholder="请选择"
@change="enterpriseChange"
>
<el-option
v-for="item in options4enterpriseIdList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属矿山" prop="mineId">
<span v-show="!dialog1Editing">{{ dialog1Data.mineName }}</span>
<el-select v-model="dialog1Data.mineId" placeholder="请选择" clearable size="small" class="filter-item" style="width: 200px;">
<el-option v-for="mine in mineList" :key="mine.index" :label="mine.name" :value="mine.index" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备编号:" prop="code"> <el-form-item label="设备编号:" prop="code">
...@@ -164,6 +194,8 @@ ...@@ -164,6 +194,8 @@
<el-table-column :show-overflow-tooltip="true" prop="id" label="编号" width="100px" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="id" label="编号" width="100px" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="code" label="设备编号" align="center" /> <el-table-column :show-overflow-tooltip="true" prop="code" label="设备编号" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="enterpriseName" label="所属企业" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="mineName" label="所属矿山" align="center" />
<el-table-column :show-overflow-tooltip="true" prop="monitoringType" label="监测类型" align="center"> <el-table-column :show-overflow-tooltip="true" prop="monitoringType" label="监测类型" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (getMonitoringTypeByCode(scope.row.code)||{}).name }}</span> <span>{{ (getMonitoringTypeByCode(scope.row.code)||{}).name }}</span>
...@@ -195,6 +227,8 @@ ...@@ -195,6 +227,8 @@
<script> <script>
import iotTailingsMachineApi from '@/api/kd/iotTailingsMachine' import iotTailingsMachineApi from '@/api/kd/iotTailingsMachine'
import AMapSearchPoint from '@/components/AMap/AMapSearchPoint' import AMapSearchPoint from '@/components/AMap/AMapSearchPoint'
import mineApi from '@/api/kd/mine'
import {getCompanyList} from '@/api/system/user'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { downloadFile } from '@/utils' import { downloadFile } from '@/utils'
...@@ -202,13 +236,17 @@ import { downloadFile } from '@/utils' ...@@ -202,13 +236,17 @@ import { downloadFile } from '@/utils'
const searchParam = {// 默认搜索条件 const searchParam = {// 默认搜索条件
page: 1, page: 1,
count: 10, count: 10,
searchCount: true searchCount: true,
mineName: '',
enterpriseName: ''
} }
export default { export default {
name: 'EIotTailingsMachine', // 本页面名 name: 'EIotTailingsMachine', // 本页面名
components: { AMapSearchPoint }, components: { AMapSearchPoint },
data() { data() {
return { return {
options4enterpriseIdList: [],
mineList: [],
selectedMine: {}, selectedMine: {},
httpHeaders: { httpHeaders: {
'Authorization': getToken() 'Authorization': getToken()
...@@ -225,6 +263,8 @@ export default { ...@@ -225,6 +263,8 @@ export default {
dialog1Saving: false, dialog1Saving: false,
dialog1Data: {}, dialog1Data: {},
dialog1Rules: { dialog1Rules: {
enterpriseId: [{ required: true, message: '请选择' }],
mineId: [{ required: true, message: '请选择' }],
code: [{ required: true, message: '请填写' }], code: [{ required: true, message: '请填写' }],
name: [{ required: true, message: '请填写' }], name: [{ required: true, message: '请填写' }],
unit: [{ required: true, message: '请填写' }], unit: [{ required: true, message: '请填写' }],
...@@ -259,26 +299,44 @@ export default { ...@@ -259,26 +299,44 @@ export default {
} }
}, },
mounted() { mounted() {
const selectedMineJson = window.localStorage.getItem('kd.selected.mine') // const selectedMineJson = window.localStorage.getItem('kd.selected.mine')
let noMine = false // let noMine = false
if (!selectedMineJson) { // if (!selectedMineJson) {
noMine = true // noMine = true
} else { // } else {
const selectedMine = JSON.parse(selectedMineJson) // const selectedMine = JSON.parse(selectedMineJson)
if (!selectedMine || selectedMine.enterpriseId !== this.user.enterpriseId) { // if (!selectedMine || selectedMine.enterpriseId !== this.user.enterpriseId) {
noMine = true // noMine = true
} else { // } else {
this.selectedMine = selectedMine // this.selectedMine = selectedMine
} // }
} // }
// if (noMine) { // if (noMine) {
// this.$message.error('当前未选择矿山') // this.$message.error('当前未选择矿山')
// this.$router.replace('/dashboard') // this.$router.replace('/dashboard')
// } // }
this.searchParamReset() this.searchParamReset()
this.searchSubmit() this.searchSubmit()
// 获取企业公司
getCompanyList({})
.then((res) => {
this.options4enterpriseIdList = res.body;
});
}, },
methods: { methods: {
enterpriseChange(value){
// 矿山选项卡
this.getAllMineByEnterpriseId(value)
},
getAllMineByEnterpriseId(enterpriseId){
mineApi.getAllMineByEnterpriseId({
enterpriseId
}).then(response => {
let i = 1
response.body.forEach(x => { x.index = i++ })
this.mineList = response.body
})
},
searchParamReset() { searchParamReset() {
this.searchParam = JSON.parse(JSON.stringify(searchParam)) this.searchParam = JSON.parse(JSON.stringify(searchParam))
}, },
...@@ -316,8 +374,8 @@ export default { ...@@ -316,8 +374,8 @@ export default {
} else { } else {
this.dialog1Saving = true this.dialog1Saving = true
if (this.editState === 1) { // 新增 if (this.editState === 1) { // 新增
this.dialog1Data.mineType = this.selectedMine.mineType // this.dialog1Data.mineType = this.selectedMine.mineType
this.dialog1Data.mineId = this.selectedMine.id // this.dialog1Data.mineId = this.selectedMine.id
iotTailingsMachineApi.add(this.dialog1Data).then(() => { iotTailingsMachineApi.add(this.dialog1Data).then(() => {
this.dialog1Show = false this.dialog1Show = false
this.$message.success('保存成功') this.$message.success('保存成功')
...@@ -372,6 +430,7 @@ export default { ...@@ -372,6 +430,7 @@ export default {
this.dialog1Show = true this.dialog1Show = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dialog1Form'].clearValidate() this.$refs['dialog1Form'].clearValidate()
this.getAllMineByEnterpriseId(this.dialog1Data.enterpriseId)
}) })
}).catch(() => { }).catch(() => {
this.searchSubmit() this.searchSubmit()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment