设备管理
This commit is contained in:
parent
a85cba77ce
commit
480a92f43a
|
|
@ -10,35 +10,35 @@ export const queryDeviceListApi = (data) => {
|
|||
})
|
||||
}
|
||||
|
||||
/** 项目部名称查询 */
|
||||
export const queryProjDeptNameApi = (data) => {
|
||||
return request.get('/base/tbProDepart/getList', {
|
||||
/** 设备类型查询 */
|
||||
export const queryDeviceTypeApi = (data) => {
|
||||
return request.get('/base/tbDevice/getDeviceTypeList', {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
/** 项目部类型查询 */
|
||||
export const queryProjDeptTypeApi = (data) => {
|
||||
return request.get('/base/tbProDepart/getDataList', {
|
||||
/** 所属边带查询 */
|
||||
export const queryBdIdApi = (data) => {
|
||||
return request.get('/base/tbDevice/getBdIdList', {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
/** 各省份查询 */
|
||||
export const queryProvincesApi = (data) => {
|
||||
return request.get('/base/tbProDepart/getAreaList', {
|
||||
/** 预警配置查询 */
|
||||
export const queryConfigApi = (data) => {
|
||||
return request.get('/base/tbDevice/getConfigList', {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
/** 新增项目部 */
|
||||
export const addProjDeptApi = (data) => {
|
||||
return request.post('/base/tbProDepart', data)
|
||||
/** 新增设备 */
|
||||
export const addDeviceApi = (data) => {
|
||||
return request.post('/base/tbDevice', data)
|
||||
}
|
||||
|
||||
/** 修改项目部 */
|
||||
export const editProjDeptApi = (data) => {
|
||||
return request.put('/base/tbProDepart', data)
|
||||
/** 修改设备 */
|
||||
export const editDeviceApi = (data) => {
|
||||
return request.put('/base/tbDevice', data)
|
||||
}
|
||||
|
||||
/** 删除设备 */
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 边代设备管理页面 API
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
/** 边代设备列表查询 */
|
||||
export const queryEdgeDeviceListApiTwo = (data) => {
|
||||
return request.get('/base/tbBdRecord/listTwo', {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -4,66 +4,67 @@
|
|||
<el-form
|
||||
label-width="100px"
|
||||
size="medium"
|
||||
ref="projectParamsRef"
|
||||
:model="projectParams"
|
||||
:rules="projectParamsRules"
|
||||
ref="deviceParamsRef"
|
||||
:model="deviceParams"
|
||||
:rules="deviceParamsRules"
|
||||
>
|
||||
<el-form-item label="项目部名称" prop="departName">
|
||||
<el-form-item label="设备类型" prop="devType">
|
||||
<el-select
|
||||
v-model="projectParams.departName"
|
||||
v-model="deviceParams.devType"
|
||||
allow-create
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
@change="departNameChange"
|
||||
placeholder="请选择设备类型"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in projRange"
|
||||
v-for="item in deviceTypeRange"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目部类型" prop="departType">
|
||||
<el-form-item label="设备名称" prop="devName">
|
||||
<el-input v-model="deviceParams.devName" :maxlength="15" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="设备编码" prop="devCode">
|
||||
<el-input v-model="deviceParams.devCode" :maxlength="15" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="所属边带" prop="bdId">
|
||||
<el-select
|
||||
v-model="projectParams.departType"
|
||||
v-model="deviceParams.bdId"
|
||||
allow-create
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
placeholder="请选择所属边带"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in typeRange"
|
||||
v-for="item in bdIdRange"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="areaId">
|
||||
|
||||
<el-form-item label="预警配置" prop="configId">
|
||||
<el-select
|
||||
v-model="projectParams.areaId"
|
||||
v-model="deviceParams.configId"
|
||||
allow-create
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
placeholder="请选择预警配置"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in provinceRange"
|
||||
v-for="item in configRange"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="headUser">
|
||||
<el-input v-model="projectParams.headUser" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人电话" prop="headUserPhone">
|
||||
<el-input v-model="projectParams.headUserPhone" :maxlength="11" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remarks">
|
||||
<el-input v-model="projectParams.remarks" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="success" @click="onSubmit">确认</el-button>
|
||||
<el-button
|
||||
|
|
@ -81,12 +82,12 @@
|
|||
|
||||
<script>
|
||||
import {
|
||||
queryProvincesApi,
|
||||
queryProjDeptTypeApi,
|
||||
queryProjDeptNameApi,
|
||||
addProjDeptApi,
|
||||
editProjDeptApi
|
||||
} from '@/api/base/projDept'
|
||||
queryDeviceTypeApi,
|
||||
queryBdIdApi,
|
||||
queryConfigApi,
|
||||
addDeviceApi,
|
||||
editDeviceApi
|
||||
} from '@/api/base/device'
|
||||
export default {
|
||||
name: 'FormDevice',
|
||||
props: {
|
||||
|
|
@ -102,7 +103,7 @@ export default {
|
|||
mounted() {
|
||||
console.log(this.editParams)
|
||||
if (this.editParams) {
|
||||
Object.assign(this.projectParams, this.editParams)
|
||||
Object.assign(this.deviceParams, this.editParams)
|
||||
this.subSort = 2
|
||||
} else {
|
||||
this.subSort = 1
|
||||
|
|
@ -111,20 +112,21 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
subSort: '', // 提交类型:新增 1 / 修改 2
|
||||
projectParams: {
|
||||
deviceParams: {
|
||||
// devId: undefined, // 设备id
|
||||
devType: undefined, //设备类型
|
||||
devName: undefined, //设备名称
|
||||
devCode: undefined, // 设备编码
|
||||
bdId: undefined, // 所属边代
|
||||
bdId: undefined, // 所属边带
|
||||
configId: undefined, //预警配置
|
||||
},
|
||||
// 校验规则
|
||||
projectParamsRules: {
|
||||
deviceParamsRules: {
|
||||
devType: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择设备类型',
|
||||
trigger: 'blur',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
devName: [
|
||||
|
|
@ -144,15 +146,15 @@ export default {
|
|||
bdId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属边代',
|
||||
trigger: 'blur',
|
||||
message: '请选择所属边带',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
configId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择预警配置',
|
||||
trigger: 'blur',
|
||||
trigger: 'change',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
@ -163,35 +165,28 @@ export default {
|
|||
methods: {
|
||||
/** 获取各类下拉框 */
|
||||
async getRanges() {
|
||||
// 获取省份下拉选
|
||||
let provinceRes = await queryProvincesApi()
|
||||
this.provinceRange = provinceRes.data.map(item => {
|
||||
// 获取设备类型下拉选
|
||||
let deviceTypeRes = await queryDeviceTypeApi()
|
||||
this.deviceTypeRange = deviceTypeRes.data.map(item => {
|
||||
return {
|
||||
label: item.areaName,
|
||||
value: item.areaId
|
||||
label: item.devName,
|
||||
value: item.devId
|
||||
}
|
||||
})
|
||||
// 获取项目部类型下拉选
|
||||
let typeRes = await queryProjDeptTypeApi({
|
||||
dictType: 'depar_type'
|
||||
})
|
||||
this.typeRange = typeRes.data.map(item => {
|
||||
// 获取所属边带下拉选
|
||||
let bdIdRes = await queryBdIdApi()
|
||||
this.bdIdRange = bdIdRes.data.map(item => {
|
||||
return {
|
||||
label: item.dictLabel,
|
||||
value: item.dictCode
|
||||
label: item.bdName,
|
||||
value: item.bdId
|
||||
}
|
||||
})
|
||||
// 获取项目部名称下拉选
|
||||
let projRes = await queryProjDeptNameApi()
|
||||
this.projRange = projRes.data.map(item => {
|
||||
// 获取预警配置下拉选
|
||||
let configRes = await queryConfigApi()
|
||||
this.configRange = configRes.data.map(item => {
|
||||
return {
|
||||
label: item.departName,
|
||||
value: item.departName,
|
||||
departType: item.departType,
|
||||
areaName: item.areaName,
|
||||
headUser: item.headUser,
|
||||
headUserPhone: item.headUserPhone,
|
||||
remarks: item.remarks,
|
||||
label: item.configName,
|
||||
value: item.configId,
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
@ -205,36 +200,29 @@ export default {
|
|||
})
|
||||
return leaf
|
||||
},
|
||||
/** 项目部名称改变 */
|
||||
departNameChange(e) {
|
||||
this.projRange.forEach(item => {
|
||||
if(e === item.label) {
|
||||
this.projectParams.departType = item.departType
|
||||
this.projectParams.areaId = item.areaId
|
||||
this.projectParams.headUser = item.headUser
|
||||
this.projectParams.headUserPhone = item.headUserPhone
|
||||
this.projectParams.remarks = item.remarks
|
||||
}
|
||||
})
|
||||
},
|
||||
// /** 项目部名称改变 */
|
||||
// departNameChange(e) {
|
||||
// this.projRange.forEach(item => {
|
||||
// if(e === item.label) {
|
||||
// this.deviceParams.departType = item.departType
|
||||
// this.deviceParams.areaId = item.areaId
|
||||
// this.deviceParams.headUser = item.headUser
|
||||
// this.deviceParams.headUserPhone = item.headUserPhone
|
||||
// this.deviceParams.remarks = item.remarks
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
/** 级联选择器改变 */
|
||||
handleCas(e) {
|
||||
this.projectParams.impUnit = e[e.length - 1]
|
||||
this.deviceParams.impUnit = e[e.length - 1]
|
||||
},
|
||||
/** 确认按钮 */
|
||||
onSubmit() {
|
||||
this.$refs.projectParamsRef.validate(valid => {
|
||||
this.$refs.deviceParamsRef.validate(valid => {
|
||||
if (valid) {
|
||||
if(this.projectParams.headUserPhone !== undefined && this.projectParams.headUserPhone !== "" && this.projectParams.headUserPhone !== null) {
|
||||
if(!this.phoneReg.test(this.projectParams.headUserPhone)) {
|
||||
this.$modal.msgError('请填写正确的联系方式')
|
||||
return false
|
||||
}
|
||||
}
|
||||
console.log('校验通过', this.projectParams, this.subSort)
|
||||
// 1. 表单校验通过后调后台 Api
|
||||
if(this.subSort === 1) {
|
||||
addProjDeptApi(this.projectParams).then(res => {
|
||||
addDeviceApi(this.deviceParams).then(res => {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
// 2. 成功之后通知父组件关闭弹框
|
||||
this.$emit('closeDialog', true)
|
||||
|
|
@ -242,7 +230,7 @@ export default {
|
|||
console.log(err)
|
||||
})
|
||||
} else if(this.subSort === 2) {
|
||||
editProjDeptApi(this.projectParams).then(res => {
|
||||
editDeviceApi(this.deviceParams).then(res => {
|
||||
this.$modal.msgSuccess('操作成功')
|
||||
// 2. 成功之后通知父组件关闭弹框
|
||||
this.$emit('closeDialog', true)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,25 @@
|
|||
import {
|
||||
queryDeviceTypeApi
|
||||
} from '@/api/base/device'
|
||||
|
||||
export const queryDeviceTypes = () => {
|
||||
queryDeviceTypeApi().then(res => {
|
||||
formLabel[0].f_selList = res.data.map(item => {
|
||||
return {
|
||||
label: item.deviceName,
|
||||
value: item.deviceId
|
||||
}
|
||||
})
|
||||
}).catch(err => {})
|
||||
}
|
||||
export const formLabel = [
|
||||
{ f_label: '设备类型', f_model: 'devType', f_type: 'ipt', },
|
||||
{ f_label: '设备类型', f_model: 'devType', f_type: 'sel',f_selList: [] },
|
||||
{ f_label: '设备名称', f_model: 'devName', f_type: 'ipt' },
|
||||
{ f_label: '设备编码', f_model: 'devCode', f_type: 'ipt' },
|
||||
{ f_label: '设备状态', f_model: 'devStatus', f_type: 'ipt' },
|
||||
{ f_label: '设备状态', f_model: 'devStatus', f_type: 'sel',f_selList: [
|
||||
{ label: '在用', value: '0' },
|
||||
{ label: '未用', value: '1' },
|
||||
] },
|
||||
]
|
||||
|
||||
export const columnsList = [
|
||||
|
|
@ -10,8 +27,8 @@ export const columnsList = [
|
|||
{ t_props: 'devCode', t_label: '设备编码' },
|
||||
{ t_props: 'devName', t_label: '设备名称' },
|
||||
{ t_props: 'bdId', t_label: '所属边代设备', },
|
||||
{ t_props: 'configId', t_label: '预警配置', },
|
||||
{ t_props: 'devStatus', t_label: '设备状态', },
|
||||
{ t_props: 'configId', t_label: '预警配置',t_slot: 'configId' },
|
||||
{ t_props: 'devStatus', t_label: '设备状态', t_slot: 'devStatus'},
|
||||
]
|
||||
|
||||
export const dialogConfig = {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,27 @@
|
|||
<!-- <template slot="isMatch" slot-scope="{ data }">
|
||||
{{ data.proId == null ? '不匹配' : '匹配' }}
|
||||
</template>-->
|
||||
<template slot="configId" slot-scope="{ data }">
|
||||
<span
|
||||
style="color:blue;"
|
||||
>{{ data.configId }}</span>
|
||||
</template>
|
||||
<template slot="configId" slot-scope="{ data }">
|
||||
<span
|
||||
style="color:blue;"
|
||||
>{{ data.configId }}</span>
|
||||
</template>
|
||||
|
||||
<template slot="devStatus" slot-scope="{ data }">
|
||||
<span
|
||||
v-if="data.devStatus === '0'"
|
||||
style="color:aquamarine;"
|
||||
>{{ '在用' }}</span>
|
||||
<span
|
||||
v-else
|
||||
style="color: darkgrey;"
|
||||
>{{ '未用' }}</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
<!-- 新增以及修改时的弹框 -->
|
||||
|
|
@ -61,7 +82,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { formLabel, columnsList, dialogConfig } from './config'
|
||||
import { formLabel, columnsList, dialogConfig, queryDeviceTypes } from './config'
|
||||
import { commonMixin } from '../mixins/common'
|
||||
import {
|
||||
queryDeviceListApi,
|
||||
|
|
@ -78,14 +99,38 @@ export default {
|
|||
idList.forEach(item => {
|
||||
this.exportList.push(item.id)
|
||||
})
|
||||
}
|
||||
},
|
||||
// handleAddData() {
|
||||
// this.editParams = {
|
||||
// submitType: 'add',
|
||||
// deviceId: this.deviceAddData.id
|
||||
// }
|
||||
// this.dialogConfig.outerTitle = '新增设备'
|
||||
// this.dialogConfig.outerVisible = true
|
||||
// },
|
||||
// handleEditData(data) {
|
||||
// data.submitType = 'edit'
|
||||
// this.editParams = data
|
||||
// this.dialogConfig.outerTitle = '修改设备'
|
||||
// this.dialogConfig.outerVisible = true
|
||||
// },
|
||||
},
|
||||
|
||||
// closeDialog(type) {
|
||||
// this.dialogConfig.outerVisible = false
|
||||
// if(type) {
|
||||
// this.$refs.tableRef.getTableList()
|
||||
// }
|
||||
// },
|
||||
// closeDialogOuter() {
|
||||
// this.dialogConfig.outerVisible = false
|
||||
// },
|
||||
mixins: [commonMixin],
|
||||
components: {
|
||||
FormDevice
|
||||
},
|
||||
created() {
|
||||
|
||||
queryDeviceTypes()
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -101,6 +146,7 @@ export default {
|
|||
addDialogTitle: '新增设备',
|
||||
// 修改时弹框标题
|
||||
editDialogTitle: '修改设备',
|
||||
editParams: undefined,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
export const formLabel = [
|
||||
{ f_label: '工程名称', f_model: 'proName', f_type: 'ipt' },
|
||||
{ f_label: '项目部名称', f_model: 'departName', f_type: 'ipt' },
|
||||
{ f_label: '边带名称', f_model: 'edgeName', f_type: 'ipt' },
|
||||
{ f_label: '边带编码', f_model: 'edgeCode', f_type: 'ipt' },
|
||||
]
|
||||
|
||||
export const columnsList = [
|
||||
{ t_props: 'proName', t_label: '工程名称', },
|
||||
{ t_props: 'departName', t_label: '项目部名称' },
|
||||
{ t_props: 'proNow', t_label: '在用工程' },
|
||||
{ t_props: 'region', t_label: '所用区域', },
|
||||
{ t_props: 'edgeName', t_label: '边带名称', },
|
||||
{ t_props: 'edgeCode', t_label: '边带编码', },
|
||||
{ t_props: 'edgeIp', t_label: '边带IP', },
|
||||
{ t_props: 'head', t_label: '负责人', },
|
||||
{ t_props: 'phone', t_label: '负责人电话', },
|
||||
]
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<template>
|
||||
<!-- 工程管理页面 -->
|
||||
<div class="app-container">
|
||||
<!-- 表格 -->
|
||||
<TableModel
|
||||
:formLabel="formLabel"
|
||||
:columnsList="columnsList"
|
||||
:request-api="queryEdgeDeviceListApiTwo"
|
||||
ref="tableRef"
|
||||
>
|
||||
</TableModel>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { formLabel, columnsList, } from './config'
|
||||
import { commonMixin } from '../mixins/common'
|
||||
import {
|
||||
queryEdgeDeviceListApiTwo
|
||||
} from '@/api/base/edgeDevice'
|
||||
export default {
|
||||
name: 'EdgeDevice',
|
||||
methods: {
|
||||
queryEdgeDeviceListApiTwo
|
||||
|
||||
},
|
||||
|
||||
mixins: [commonMixin],
|
||||
components: {
|
||||
|
||||
},
|
||||
created() {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 搜索区表单配置项
|
||||
formLabel,
|
||||
// // 表格导出id列表
|
||||
// exportList: [],
|
||||
// 列表区配置项
|
||||
columnsList,
|
||||
// 弹框区配置项
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
Loading…
Reference in New Issue