|
@@ -56,26 +56,6 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
-<!-- <el-table-column label="计量标签" align="center" prop="objTag">-->
|
|
|
|
-<!-- <template slot-scope="scope">-->
|
|
|
|
-<!-- <span-->
|
|
|
|
-<!-- :style="{-->
|
|
|
|
-<!-- padding: '6px 12px',-->
|
|
|
|
-<!-- borderRadius: '4px',-->
|
|
|
|
-<!-- display: 'inline-block',-->
|
|
|
|
-<!-- textAlign: 'center',-->
|
|
|
|
-<!-- cursor: 'pointer',-->
|
|
|
|
-<!-- color: (scope.row.objTag === 0) ? '#000' : '#000',-->
|
|
|
|
-<!-- backgroundColor: (scope.row.objTag === 0) ? '#add8e6' : (scope.row.objTag === 1) ? '#ffff99' : '',-->
|
|
|
|
-<!-- minWidth: '70px',-->
|
|
|
|
-<!-- height: '35px',-->
|
|
|
|
-<!-- textAlign: 'center'-->
|
|
|
|
-<!-- }"-->
|
|
|
|
-<!-- >-->
|
|
|
|
-<!-- {{ formatDict(scope.row.objTag, 'objTagOptions') }}-->
|
|
|
|
-<!-- </span>-->
|
|
|
|
-<!-- </template>-->
|
|
|
|
-<!-- </el-table-column>-->
|
|
|
|
<el-table-column label="设备代码" align="center" prop="deviceCode" />
|
|
<el-table-column label="设备代码" align="center" prop="deviceCode" />
|
|
<el-table-column label="计量类别" align="center" prop="meterCls">
|
|
<el-table-column label="计量类别" align="center" prop="meterCls">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -110,7 +90,7 @@
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-form-item label="设备归属" prop="deviceCode">
|
|
<el-form-item label="设备归属" prop="deviceCode">
|
|
- <el-select v-model="form.areaCode" @change="handleAreaSelect">
|
|
|
|
|
|
+ <el-select v-model="form.areaCode" :disabled="isAreaCodeMod()">
|
|
<el-option v-for="item in areaOptions" :label="item.label" :value="item.id" :key="item.id" />
|
|
<el-option v-for="item in areaOptions" :label="item.label" :value="item.id" :key="item.id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -128,7 +108,7 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="计量对象" prop="objCode">
|
|
<el-form-item label="计量对象" prop="objCode">
|
|
- <treeselect v-model="objCode" :options="objCodeOptions" :show-count="true" placeholder="请选择计量对象" ref="treeObjCodeOptions" />
|
|
|
|
|
|
+ <treeselect v-model="objCode" :options="objCodeOptions" :show-count="true" placeholder="请选择计量对象" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="计量标签" prop="objTag">
|
|
<el-form-item label="计量标签" prop="objTag">
|
|
<el-radio-group v-model="form.objTag" size="medium">
|
|
<el-radio-group v-model="form.objTag" size="medium">
|
|
@@ -167,7 +147,6 @@
|
|
import { listDevice, getDevice, delDevice, addDevice, updateDevice } from '@/api/device/meterDevice'
|
|
import { listDevice, getDevice, delDevice, addDevice, updateDevice } from '@/api/device/meterDevice'
|
|
import { devTreeByFacs } from '@/api/device/device'
|
|
import { devTreeByFacs } from '@/api/device/device'
|
|
import { areaTreeSelect } from '@/api/basecfg/area'
|
|
import { areaTreeSelect } from '@/api/basecfg/area'
|
|
-import { listBuildingByArea } from '@/api/basecfg/building'
|
|
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
|
|
|
@@ -194,11 +173,11 @@ export default {
|
|
title: '',
|
|
title: '',
|
|
// 是否显示弹出层
|
|
// 是否显示弹出层
|
|
open: false,
|
|
open: false,
|
|
|
|
+ areaMod: false,
|
|
// 区域名称
|
|
// 区域名称
|
|
areaName: undefined,
|
|
areaName: undefined,
|
|
objCodeOptions: [],
|
|
objCodeOptions: [],
|
|
areaOptions: [],
|
|
areaOptions: [],
|
|
- buildingOptions: [],
|
|
|
|
selectObjCode: null,
|
|
selectObjCode: null,
|
|
objCode: null,
|
|
objCode: null,
|
|
defaultProps: {
|
|
defaultProps: {
|
|
@@ -211,8 +190,9 @@ export default {
|
|
{ code: 70, name: '水表' }
|
|
{ code: 70, name: '水表' }
|
|
],
|
|
],
|
|
objTypeOptions: [
|
|
objTypeOptions: [
|
|
- { code: 1, name: '区块' },
|
|
|
|
- { code: 2, name: '设备' }
|
|
|
|
|
|
+ { code: 1, name: '区域' },
|
|
|
|
+ { code: 2, name: '设施' },
|
|
|
|
+ { code: 3, name: '设备' }
|
|
],
|
|
],
|
|
objTagOptions: [
|
|
objTagOptions: [
|
|
{ code: 0, name: '公摊表' },
|
|
{ code: 0, name: '公摊表' },
|
|
@@ -247,7 +227,9 @@ export default {
|
|
specDesc: null
|
|
specDesc: null
|
|
},
|
|
},
|
|
// 表单参数
|
|
// 表单参数
|
|
- form: {},
|
|
|
|
|
|
+ form: {
|
|
|
|
+ areaCode: null,
|
|
|
|
+ },
|
|
// 表单校验
|
|
// 表单校验
|
|
rules: {
|
|
rules: {
|
|
areaCode: [{ required: true, message: '选择服务区', trigger: 'blur' }],
|
|
areaCode: [{ required: true, message: '选择服务区', trigger: 'blur' }],
|
|
@@ -259,38 +241,13 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
- objCode: {
|
|
|
|
- handler(id) {
|
|
|
|
- if (id) {
|
|
|
|
- const option = this.$refs.treeObjCodeOptions.getNode(id)
|
|
|
|
- this.objCode = option.id
|
|
|
|
- this.form.objCode = option.id
|
|
|
|
-
|
|
|
|
- if (this.form.objType === 1) {
|
|
|
|
- if (option.raw.tier === 'Area') {
|
|
|
|
- this.form.objSubType = 1
|
|
|
|
- } else if (option.raw.tier === 'Building') {
|
|
|
|
- this.form.objSubType = 2
|
|
|
|
- } else if (option.raw.tier === 'Zoning') {
|
|
|
|
- this.form.objSubType = 3
|
|
|
|
- }
|
|
|
|
- } else if (this.form.objType === 2) {
|
|
|
|
- if (option.raw.tier === 'Facs') {
|
|
|
|
- this.form.objSubType = 1
|
|
|
|
- } else if (option.raw.tier === 'Device') {
|
|
|
|
- this.form.objSubType = 2
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
// 根据名称筛选区域树
|
|
// 根据名称筛选区域树
|
|
areaName(val) {
|
|
areaName(val) {
|
|
this.$refs.tree.filter(val)
|
|
this.$refs.tree.filter(val)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
- this.getAreaTree(false,'0')
|
|
|
|
|
|
+ this.getAreaTree('0', false)
|
|
this.getList()
|
|
this.getList()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -322,13 +279,13 @@ export default {
|
|
deviceCode: null,
|
|
deviceCode: null,
|
|
meterCls: null,
|
|
meterCls: null,
|
|
meterObjType: null,
|
|
meterObjType: null,
|
|
- objSubType: null,
|
|
|
|
objCode: null,
|
|
objCode: null,
|
|
colCycle: null,
|
|
colCycle: null,
|
|
colMode: null,
|
|
colMode: null,
|
|
specDesc: null
|
|
specDesc: null
|
|
}
|
|
}
|
|
this.objCode = null
|
|
this.objCode = null
|
|
|
|
+ this.areaMod = false
|
|
this.resetForm('form')
|
|
this.resetForm('form')
|
|
},
|
|
},
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
@@ -352,6 +309,7 @@ export default {
|
|
this.reset()
|
|
this.reset()
|
|
this.open = true
|
|
this.open = true
|
|
this.title = '添加计量设备'
|
|
this.title = '添加计量设备'
|
|
|
|
+ this.areaMod = true
|
|
},
|
|
},
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|
|
handleUpdate(row) {
|
|
handleUpdate(row) {
|
|
@@ -361,25 +319,39 @@ export default {
|
|
this.form = response.data
|
|
this.form = response.data
|
|
this.open = true
|
|
this.open = true
|
|
this.title = '修改计量设备'
|
|
this.title = '修改计量设备'
|
|
- console.log("更新的数据:", this.form)
|
|
|
|
})
|
|
})
|
|
|
|
|
|
this.objCode = row.objCode
|
|
this.objCode = row.objCode
|
|
|
|
+
|
|
|
|
+ // 区域
|
|
if (row.objType === 1) {
|
|
if (row.objType === 1) {
|
|
- areaTreeSelectByCode('Area', row.areaCode).then(response => {
|
|
|
|
|
|
+ areaTreeSelect(row.areaCode, true).then(response => {
|
|
|
|
+ this.objCodeOptions = [{
|
|
|
|
+ id: row.areaCode,
|
|
|
|
+ label: this.getAreaLabelById(row.areaCode),
|
|
|
|
+ children: response.data
|
|
|
|
+ }]
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ // 设施
|
|
|
|
+ else if (row.objType === 2) {
|
|
|
|
+ devTreeByFacs(row.areaCode).then(response => {
|
|
this.objCodeOptions = response.data
|
|
this.objCodeOptions = response.data
|
|
})
|
|
})
|
|
- } else if (row.objType === 2) {
|
|
|
|
|
|
+ }
|
|
|
|
+ // 设备
|
|
|
|
+ else if (row.objType === 2) {
|
|
devTreeByFacs(row.areaCode).then(response => {
|
|
devTreeByFacs(row.areaCode).then(response => {
|
|
this.objCodeOptions = response.data
|
|
this.objCodeOptions = response.data
|
|
-
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- handleAreaSelect(areaCode) {
|
|
|
|
- listBuildingByArea(areaCode).then(response => {
|
|
|
|
- this.buildingOptions = response.data
|
|
|
|
- })
|
|
|
|
|
|
+ isAreaCodeMod() {
|
|
|
|
+ return !this.areaMod;
|
|
|
|
+ },
|
|
|
|
+ getAreaLabelById(id) {
|
|
|
|
+ const item = this.areaOptions.find(item => item.id === id);
|
|
|
|
+ return item ? item.label : 'default';
|
|
},
|
|
},
|
|
/** 提交按钮 */
|
|
/** 提交按钮 */
|
|
submitForm() {
|
|
submitForm() {
|
|
@@ -433,8 +405,9 @@ export default {
|
|
},
|
|
},
|
|
getObjTypeName(objType) {
|
|
getObjTypeName(objType) {
|
|
const typeMap = {
|
|
const typeMap = {
|
|
- 1: '区块',
|
|
|
|
- 2: '设备'
|
|
|
|
|
|
+ 1: '区域',
|
|
|
|
+ 2: '设施',
|
|
|
|
+ 3: '设备',
|
|
}
|
|
}
|
|
return typeMap[objType] || '未知'
|
|
return typeMap[objType] || '未知'
|
|
},
|
|
},
|
|
@@ -456,8 +429,8 @@ export default {
|
|
return modeMap[colMode] || '未知'
|
|
return modeMap[colMode] || '未知'
|
|
},
|
|
},
|
|
/** 查询区域树结构 */
|
|
/** 查询区域树结构 */
|
|
- getAreaTree(recursion, areaCode) {
|
|
|
|
- areaTreeSelect(recursion, areaCode).then(response => {
|
|
|
|
|
|
+ getAreaTree(areaCode, recursion) {
|
|
|
|
+ areaTreeSelect(areaCode, recursion).then(response => {
|
|
this.areaOptions = response.data
|
|
this.areaOptions = response.data
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -473,12 +446,25 @@ export default {
|
|
},
|
|
},
|
|
changeObjOptions(objType) {
|
|
changeObjOptions(objType) {
|
|
this.objCode = null
|
|
this.objCode = null
|
|
-
|
|
|
|
|
|
+ // 区域
|
|
if (objType === 1) {
|
|
if (objType === 1) {
|
|
- areaTreeSelectByCode('Area', this.form.areaCode).then(response => {
|
|
|
|
|
|
+ areaTreeSelect(this.form.areaCode, true).then(response => {
|
|
|
|
+ this.objCodeOptions = [{
|
|
|
|
+ id: this.form.areaCode,
|
|
|
|
+ label: this.getAreaLabelById(this.form.areaCode),
|
|
|
|
+ children: response.data
|
|
|
|
+ }]
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ // 设施
|
|
|
|
+ else if (objType === 2) {
|
|
|
|
+ const devcCategory = 'Z';
|
|
|
|
+ devTreeByFacs(this.form.areaCode, devcCategory).then(response => {
|
|
this.objCodeOptions = response.data
|
|
this.objCodeOptions = response.data
|
|
})
|
|
})
|
|
- } else if (objType === 2) {
|
|
|
|
|
|
+ }
|
|
|
|
+ // 设备
|
|
|
|
+ else if (objType === 3) {
|
|
const devcCategory = 'Z';
|
|
const devcCategory = 'Z';
|
|
devTreeByFacs(this.form.areaCode, devcCategory).then(response => {
|
|
devTreeByFacs(this.form.areaCode, devcCategory).then(response => {
|
|
this.objCodeOptions = response.data
|
|
this.objCodeOptions = response.data
|