|
@@ -3,17 +3,17 @@
|
|
<el-row>
|
|
<el-row>
|
|
<span class="condition-title">设备类型:</span>
|
|
<span class="condition-title">设备类型:</span>
|
|
<el-select v-model="deviceType" filterable size="small" @change="handleChangeDevice" style="width:350px;">
|
|
<el-select v-model="deviceType" filterable size="small" @change="handleChangeDevice" style="width:350px;">
|
|
- <el-option v-for="item in deviceTypeList" :key="item.Category" :label="item.CategoryName" :value="item.Category"></el-option>
|
|
|
|
|
|
+ <el-option v-for="item in deviceTypeList" :key="item.Category" :label="item.CategoryName" :value="item.Category"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="margin-top:30px;">
|
|
<el-row style="margin-top:30px;">
|
|
<span class="condition-title">建筑楼层:</span>
|
|
<span class="condition-title">建筑楼层:</span>
|
|
<el-cascader :options="bfoptions" v-model="buildFloor" filterable size="small" @change="handleChangeBf" style="width:350px;"></el-cascader>
|
|
<el-cascader :options="bfoptions" v-model="buildFloor" filterable size="small" @change="handleChangeBf" style="width:350px;"></el-cascader>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-row style="margin-top:30px;" v-show="spaceShow">
|
|
|
|
|
|
+ <el-row style="margin-top:30px;" v-show="spaceShow">
|
|
<span class="condition-title">分区类型:</span>
|
|
<span class="condition-title">分区类型:</span>
|
|
<el-select v-model="zone" filterable size="small" @change="handleChangeZone" style="width:350px;">
|
|
<el-select v-model="zone" filterable size="small" @change="handleChangeZone" style="width:350px;">
|
|
- <el-option v-for="item in zoneList" :key="item.Code" :label="item.Name" :value="item.Code"></el-option>
|
|
|
|
|
|
+ <el-option v-for="item in zoneList" :key="item.Code" :label="item.Name" :value="item.Code"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="margin-top:30px;" v-show="spaceShow && zone != 'all' && zone != 'noKnow'">
|
|
<el-row style="margin-top:30px;" v-show="spaceShow && zone != 'all' && zone != 'noKnow'">
|
|
@@ -31,7 +31,7 @@
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
|
|
|
|
-import { floorQuery, buildingQuery, queryDictionaryHead, queryZone, TypePartsDie } from '@/api/scan/request'
|
|
|
|
|
|
+import { floorQuery, buildingQuery, queryDictionaryHead, zoneQuery, TypePartsDie } from '@/api/scan/request'
|
|
|
|
|
|
import { mapGetters } from "vuex"
|
|
import { mapGetters } from "vuex"
|
|
export default {
|
|
export default {
|
|
@@ -69,7 +69,7 @@ export default {
|
|
mounted() { },
|
|
mounted() { },
|
|
methods: {
|
|
methods: {
|
|
//打开弹窗回调,初始化选择
|
|
//打开弹窗回调,初始化选择
|
|
- handleOpenReset(){
|
|
|
|
|
|
+ handleOpenReset() {
|
|
this.deviceType = ''
|
|
this.deviceType = ''
|
|
this.buildFloor = ['all']
|
|
this.buildFloor = ['all']
|
|
this.zone = 'all'
|
|
this.zone = 'all'
|
|
@@ -126,9 +126,9 @@ export default {
|
|
value: "all",
|
|
value: "all",
|
|
label: "全部"
|
|
label: "全部"
|
|
}, {
|
|
}, {
|
|
- value: "noKnow",
|
|
|
|
- label: "不在建筑内"
|
|
|
|
- })
|
|
|
|
|
|
+ value: "noKnow",
|
|
|
|
+ label: "不在建筑内"
|
|
|
|
+ })
|
|
data.forEach(build => {
|
|
data.forEach(build => {
|
|
floorData.forEach(floor => {
|
|
floorData.forEach(floor => {
|
|
if (build.value == floor.BuildID && floor.FloorID && floor.FloorLocalName) {
|
|
if (build.value == floor.BuildID && floor.FloorID && floor.FloorLocalName) {
|
|
@@ -144,13 +144,13 @@ export default {
|
|
value: "all",
|
|
value: "all",
|
|
label: "全部"
|
|
label: "全部"
|
|
}, {
|
|
}, {
|
|
- value: 'noKnow',
|
|
|
|
- label: "不在楼层内"
|
|
|
|
- }, {
|
|
|
|
- value: floor.FloorID,
|
|
|
|
- label: floor.FloorLocalName,
|
|
|
|
- FloorSequenceID: floor.FloorSequenceID
|
|
|
|
- })
|
|
|
|
|
|
+ value: 'noKnow',
|
|
|
|
+ label: "不在楼层内"
|
|
|
|
+ }, {
|
|
|
|
+ value: floor.FloorID,
|
|
|
|
+ label: floor.FloorLocalName,
|
|
|
|
+ FloorSequenceID: floor.FloorSequenceID
|
|
|
|
+ })
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -159,16 +159,16 @@ export default {
|
|
})
|
|
})
|
|
},
|
|
},
|
|
//获取空间分区数据
|
|
//获取空间分区数据
|
|
- getSpaceData(){
|
|
|
|
|
|
+ getSpaceData() {
|
|
let params = {
|
|
let params = {
|
|
Filters: "parentId = 'Space'",
|
|
Filters: "parentId = 'Space'",
|
|
PageNumber: 1,
|
|
PageNumber: 1,
|
|
PageSize: 1000,
|
|
PageSize: 1000,
|
|
- Projection: [ "Code", "Name" ]
|
|
|
|
|
|
+ Projection: ["Code", "Name"]
|
|
}
|
|
}
|
|
queryDictionaryHead(params, res => {
|
|
queryDictionaryHead(params, res => {
|
|
this.zoneList = res.Content.filter(item => {
|
|
this.zoneList = res.Content.filter(item => {
|
|
- if(item.Code != 'Ispace'){
|
|
|
|
|
|
+ if (item.Code != 'Ispace') {
|
|
return item
|
|
return item
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -195,9 +195,9 @@ export default {
|
|
this.handleChangeSpaceItem()
|
|
this.handleChangeSpaceItem()
|
|
},
|
|
},
|
|
//判断是否显示空间分区选择
|
|
//判断是否显示空间分区选择
|
|
- zoneListIsShow(){
|
|
|
|
|
|
+ zoneListIsShow() {
|
|
let lastVal = this.buildFloor.slice(-1)[0]
|
|
let lastVal = this.buildFloor.slice(-1)[0]
|
|
- if(!lastVal || lastVal == 'noKnow' || this.buildFloor[0] == 'all' || this.deviceType.length != 4) {
|
|
|
|
|
|
+ if (!lastVal || lastVal == 'noKnow' || this.buildFloor[0] == 'all' || this.deviceType.length != 4) {
|
|
this.spaceShow = false
|
|
this.spaceShow = false
|
|
} else {
|
|
} else {
|
|
this.spaceShow = true
|
|
this.spaceShow = true
|
|
@@ -212,30 +212,29 @@ export default {
|
|
},
|
|
},
|
|
// 获取空间实例
|
|
// 获取空间实例
|
|
handleChangeSpaceItem() {
|
|
handleChangeSpaceItem() {
|
|
- if(this.zone != 'all' && this.zone != 'noKnow') {
|
|
|
|
|
|
+ if (this.zone != 'all' && this.zone != 'noKnow') {
|
|
let nodes = []
|
|
let nodes = []
|
|
let recursionGetData = (pageNum, zone) => {
|
|
let recursionGetData = (pageNum, zone) => {
|
|
pageNum = pageNum ? pageNum : 1
|
|
pageNum = pageNum ? pageNum : 1
|
|
let params = {
|
|
let params = {
|
|
- zone: zone,
|
|
|
|
- data: {
|
|
|
|
- Orders: "CreateTime desc, RoomID asc",
|
|
|
|
- PageNumber: pageNum,
|
|
|
|
- PageSize: 1000,
|
|
|
|
- Projection: ["RoomID", "RoomName", "RoomLocalName", "CreateTime"]
|
|
|
|
- },
|
|
|
|
|
|
+ Orders: "CreateTime desc, RoomID asc",
|
|
|
|
+ PageNumber: pageNum,
|
|
|
|
+ PageSize: 1000,
|
|
|
|
+ Projection: ["RoomID", "RoomName", "RoomLocalName", "CreateTime"],
|
|
|
|
+ ZoneType: zone
|
|
}
|
|
}
|
|
- if(this.spaceShow) {
|
|
|
|
- if(this.buildFloor.length == 2 && this.buildFloor[1] != 'all') {
|
|
|
|
- params.data.Filters = `buildingId='${this.buildFloor[0]}';floorId='${this.buildFloor[1]}'`
|
|
|
|
|
|
+ if (this.spaceShow) {
|
|
|
|
+ if (this.buildFloor.length == 2 && this.buildFloor[1] != 'all') {
|
|
|
|
+ pa.BuildingId = this.buildFloor[0];
|
|
|
|
+ pa.FloorId = this.buildFloor[1];
|
|
} else {
|
|
} else {
|
|
- params.data.Filters = `buildingId='${this.buildFloor[0]}'`
|
|
|
|
|
|
+ pa.BuildingId = this.buildFloor[0];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- queryZone(params, res => {
|
|
|
|
|
|
+ zoneQuery(params, res => {
|
|
nodes = nodes.concat(res.Content.map(item => ({
|
|
nodes = nodes.concat(res.Content.map(item => ({
|
|
value: item.RoomID,
|
|
value: item.RoomID,
|
|
- label: item.RoomLocalName?item.RoomLocalName:item.RoomName
|
|
|
|
|
|
+ label: item.RoomLocalName ? item.RoomLocalName : item.RoomName
|
|
})))
|
|
})))
|
|
if (res.Total / (res.PageSize * res.PageNumber) > 1) {
|
|
if (res.Total / (res.PageSize * res.PageNumber) > 1) {
|
|
recursionGetData(res.PageNumber + 1, zone)
|
|
recursionGetData(res.PageNumber + 1, zone)
|
|
@@ -255,21 +254,21 @@ export default {
|
|
toLinkAssets() {
|
|
toLinkAssets() {
|
|
let query = {}
|
|
let query = {}
|
|
// 校验必填项
|
|
// 校验必填项
|
|
- if(!this.deviceType) {
|
|
|
|
|
|
+ if (!this.deviceType) {
|
|
this.$message.info('请选择设备类型!')
|
|
this.$message.info('请选择设备类型!')
|
|
return false
|
|
return false
|
|
} else if (!this.buildFloor.length) {
|
|
} else if (!this.buildFloor.length) {
|
|
this.$message.info('请选择建筑楼层!')
|
|
this.$message.info('请选择建筑楼层!')
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
- if(this.spaceShow) { //选择了空间
|
|
|
|
- if(this.zone == 'all'){//全部空间
|
|
|
|
|
|
+ if (this.spaceShow) { //选择了空间
|
|
|
|
+ if (this.zone == 'all') {//全部空间
|
|
query = {
|
|
query = {
|
|
deviceType: this.deviceType,
|
|
deviceType: this.deviceType,
|
|
buildFloor: this.buildFloor
|
|
buildFloor: this.buildFloor
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- if(this.space.length){//选择了具体的空间实例
|
|
|
|
|
|
+ if (this.space.length) {//选择了具体的空间实例
|
|
query = {
|
|
query = {
|
|
deviceType: this.deviceType,
|
|
deviceType: this.deviceType,
|
|
buildFloor: this.buildFloor,
|
|
buildFloor: this.buildFloor,
|
|
@@ -296,24 +295,24 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
<style lang="less" scoped>
|
|
- .condition-title{
|
|
|
|
- width: 100px;
|
|
|
|
- display: inline-block;
|
|
|
|
- text-align: right;
|
|
|
|
- margin-left: 10px;
|
|
|
|
- margin-right: 12px;
|
|
|
|
- color: #999999;
|
|
|
|
- font-size: 14px;
|
|
|
|
- vertical-align: top;
|
|
|
|
- }
|
|
|
|
- /deep/ .el-dialog__body {
|
|
|
|
- max-height: 420px;
|
|
|
|
- overflow-y: auto;
|
|
|
|
- }
|
|
|
|
|
|
+.condition-title {
|
|
|
|
+ width: 100px;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ text-align: right;
|
|
|
|
+ margin-left: 10px;
|
|
|
|
+ margin-right: 12px;
|
|
|
|
+ color: #999999;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ vertical-align: top;
|
|
|
|
+}
|
|
|
|
+/deep/ .el-dialog__body {
|
|
|
|
+ max-height: 420px;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|