|
@@ -8,20 +8,32 @@
|
|
|
<el-button style="float:right;margin-top:1px;" @click="handleClickCreate">保存选定的设备资产关联关系</el-button>
|
|
|
</div>
|
|
|
<div class="main">
|
|
|
- <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55"></el-table-column>
|
|
|
- <el-table-column label="设备名称" width="200">
|
|
|
+ <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" :span-method="objectSpanMethod">
|
|
|
+ <el-table-column label="设备本地名称" width="200">
|
|
|
<template slot-scope="scope">{{ scope.row.EquipLocalName?scope.row.EquipLocalName:scope.row.EquipName }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="设备本地编码" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">{{ scope.row.EquipLocalID?scope.row.EquipLocalID:scope.row.EquipID }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="EquipCategory.EquipName" label="设备类型" show-overflow-tooltip width="200"></el-table-column>
|
|
|
- <el-table-column prop="Building.BuildLocalName" label="所属建筑"></el-table-column>
|
|
|
- <el-table-column prop="Floor.FloorLocalName" label="所属楼层"></el-table-column>
|
|
|
+ <el-table-column prop="EquipName" label="设备类" show-overflow-tooltip width="200"></el-table-column>
|
|
|
+ <el-table-column prop="BIMID" label="设计图纸中编码"></el-table-column>
|
|
|
+ <el-table-column label="所属建筑楼层">
|
|
|
+ <template slot-scope="scope">{{ scope.row.BuildLocalName }}-{{ scope.row.FloorLocalName }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="资产本地名称" width="200">
|
|
|
+ <template slot-scope="scope">{{ scope.row.AssetsLocalName }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="资产本地编码" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">{{ scope.row.AssetsLocalId }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="Family" label="设备族" show-overflow-tooltip width="200"></el-table-column>
|
|
|
+ <el-table-column prop="AssetsBIMID" label="设计图纸中编码"></el-table-column>
|
|
|
+ <el-table-column label="所属建筑楼层">
|
|
|
+ <template slot-scope="scope">{{ scope.row.AssetsBuildLocalName }}-{{ scope.row.AssetsFloorLocalName }}</template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="address" label="操作" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button @click.native.prevent="handleOpenDetail(scope.row, tableData)" type="text" size="small">详情</el-button>
|
|
|
+ <el-radio v-model="radio[scope.row.EquipLocalID]" :label="scope.row.AssetsLocalId"> </el-radio>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -46,7 +58,57 @@
|
|
|
<script>
|
|
|
import { mapGetters } from "vuex"
|
|
|
//api
|
|
|
-import { queryPartsDie, createPropertys } from "@/api/scan/request";
|
|
|
+import { } from "@/api/scan/request";
|
|
|
+
|
|
|
+let list = [
|
|
|
+ {
|
|
|
+ EquipLocalName: '风机盘管0019',
|
|
|
+ EquipLocalID: '1784815',
|
|
|
+ EquipName: '风机盘管',
|
|
|
+ BIMID: '18168746166',
|
|
|
+ BuildLocalName: 'A座',
|
|
|
+ FloorLocalName: '1F',
|
|
|
+ AssetsList: [{
|
|
|
+ AssetsLocalName: '资产1',
|
|
|
+ AssetsLocalId: '1',
|
|
|
+ Family: '风机盘管-资产',
|
|
|
+ AssetsBIMID: '18168746166',
|
|
|
+ AssetsBuildLocalName: 'A座',
|
|
|
+ AssetsFloorLocalName: '1F',
|
|
|
+ }, {
|
|
|
+ AssetsLocalName: '资产2',
|
|
|
+ AssetsLocalId: '2',
|
|
|
+ Family: '风机盘管-资产',
|
|
|
+ AssetsBIMID: '18168746166',
|
|
|
+ AssetsBuildLocalName: 'A座',
|
|
|
+ AssetsFloorLocalName: '1F',
|
|
|
+ }, {
|
|
|
+ AssetsLocalName: '资产3',
|
|
|
+ AssetsLocalId: '3',
|
|
|
+ Family: '风机盘管-资产',
|
|
|
+ AssetsBIMID: '18168746166',
|
|
|
+ AssetsBuildLocalName: 'A座',
|
|
|
+ AssetsFloorLocalName: '1F',
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ EquipLocalName: '风机盘管0020',
|
|
|
+ EquipLocalID: '1784812',
|
|
|
+ EquipName: '风机盘管',
|
|
|
+ BIMID: '1816874456457',
|
|
|
+ BuildLocalName: 'A座',
|
|
|
+ FloorLocalName: '1F',
|
|
|
+ AssetsList: [{
|
|
|
+ AssetsLocalName: '资产4',
|
|
|
+ AssetsLocalId: '4',
|
|
|
+ Family: '风机盘管-资产',
|
|
|
+ AssetsBIMID: '234567',
|
|
|
+ AssetsBuildLocalName: 'A座',
|
|
|
+ AssetsFloorLocalName: '1F',
|
|
|
+ }]
|
|
|
+ }
|
|
|
+]
|
|
|
+
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -58,8 +120,9 @@ export default {
|
|
|
pageNumber: 1,
|
|
|
total: 0
|
|
|
},
|
|
|
+ radio: {},
|
|
|
tableData: [],
|
|
|
- multipleSelection:[]
|
|
|
+ mergeCol: []
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -70,6 +133,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.params = this.$route.params
|
|
|
+ this.getTableData()
|
|
|
},
|
|
|
mounted() {
|
|
|
|
|
@@ -82,39 +146,45 @@ export default {
|
|
|
goBack() {
|
|
|
this.$router.push({ name: "facilityLedger" })
|
|
|
},
|
|
|
- //选择设备或部件
|
|
|
- changeDevice(val) {
|
|
|
- if(val.code) {
|
|
|
- this.params.category = val.code
|
|
|
- } else {
|
|
|
- this.params.category = ''
|
|
|
- }
|
|
|
- this.page.pageNumber = 1
|
|
|
- this.getTableData()
|
|
|
- },
|
|
|
- //选择建筑楼层
|
|
|
- changeFloor(value) {
|
|
|
- if (value[0]) {
|
|
|
- this.params.buildId = value[0]
|
|
|
- }
|
|
|
- if (value[1]) {
|
|
|
- this.params.floorId = value[1]
|
|
|
- } else {
|
|
|
- this.params.floorId = ''
|
|
|
- }
|
|
|
- this.page.pageNumber = 1
|
|
|
- this.getTableData()
|
|
|
- },
|
|
|
//获取表格数据
|
|
|
getTableData() {
|
|
|
- this.loading = true
|
|
|
- let param = this.formatFilter()
|
|
|
- queryPartsDie(param, res => {
|
|
|
- this.tableData = res.Content
|
|
|
- this.page.total = res.Total
|
|
|
- this.loading = false
|
|
|
+ // this.loading = true
|
|
|
+ // let param = this.formatFilter()
|
|
|
+ // queryPartsDie(param, res => {
|
|
|
+ // this.tableData = res.Content
|
|
|
+ // this.page.total = res.Total
|
|
|
+ // this.loading = false
|
|
|
+ // })
|
|
|
+ list.forEach(item =>{
|
|
|
+ if(item.AssetsList && item.AssetsList.length){
|
|
|
+ item.AssetsList.forEach((Assets, index) => {
|
|
|
+ let obj = JSON.parse(JSON.stringify(Object.assign(item,Assets)))
|
|
|
+ delete obj.AssetsList
|
|
|
+ this.tableData.push(obj)
|
|
|
+ if(index == 0){
|
|
|
+ this.mergeCol.push(item.AssetsList.length)
|
|
|
+ } else {
|
|
|
+ this.mergeCol.push(false)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
+ objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
+ if (columnIndex < 5) {
|
|
|
+ if (this.mergeCol[rowIndex]) {
|
|
|
+ return {
|
|
|
+ rowspan: this.mergeCol[rowIndex],
|
|
|
+ colspan: 1
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ rowspan: 0,
|
|
|
+ colspan: 1
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
//格式化条件
|
|
|
formatFilter() {
|
|
|
let param = {
|
|
@@ -154,7 +224,7 @@ export default {
|
|
|
},
|
|
|
//选择的设备或部件
|
|
|
handleSelectionChange(val) {
|
|
|
- this.multipleSelection = val;
|
|
|
+
|
|
|
},
|
|
|
//切换每页显示多少条数据
|
|
|
handleSizeChange(val) {
|
|
@@ -166,14 +236,19 @@ export default {
|
|
|
this.page.pageNumber = val
|
|
|
this.getTableData()
|
|
|
},
|
|
|
- //查看详情
|
|
|
- handleOpenDetail(row) {
|
|
|
- // window.open(`http://adm.sagacloud.cn:8058/spread?id=${row.EquipID}&pid=${this.projectId}&secret=${this.secret}`,"_blank")
|
|
|
- this.$message("开发中...")
|
|
|
- },
|
|
|
//创建已选
|
|
|
handleClickCreate() {
|
|
|
-
|
|
|
+ let params = []
|
|
|
+ if(Object.keys(this.radio).length){
|
|
|
+ for(let key in this.radio){
|
|
|
+ params.push({
|
|
|
+ id: key,
|
|
|
+ pid: this.radio[key]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message.info('请选择要关联的关系!')
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|