|
@@ -17,9 +17,7 @@
|
|
|
<template v-for="(item,index) in tableList">
|
|
|
<el-tab-pane :name="item.Code" :key="index" :label="item.Name">
|
|
|
<span slot="label">
|
|
|
- <!-- <i :class="iconClassMap[scope.row.Type]?iconClassMap[scope.row.Type]:'msg-icon el-icon-warning warning-color'"
|
|
|
- style="font-size:14px;"></i>-->
|
|
|
- <i :class="'msg-icon el-icon-error error-color'" style="font-size:14px;"></i>
|
|
|
+ <i :class="floorIconType?'msg-icon el-icon-error error-color':'msg-icon el-icon-success success-color'" style="font-size:14px;"></i>
|
|
|
<span>{{ item.Name }}</span>
|
|
|
</span>
|
|
|
</el-tab-pane>
|
|
@@ -35,20 +33,90 @@
|
|
|
<div class="table" style="width: 100%;height: calc(100% - 47px)">
|
|
|
<el-table ref="multipleTable" :data="tableData" stripe height="100%" :header-cell-style="headerStyle" v-loading='loading'>
|
|
|
<el-table-column prop="FloorName" label="模型楼层" fixed width="150"></el-table-column>
|
|
|
- <el-table-column prop="functionNo" label="待删除设备数量" fixed width="150"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label="待补充设备数量" fixed width="150"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label="有问题的检查项" fixed width="150"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='构件范围检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='设备族编码检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='部件所在位置检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='柱边界检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="ConnectorCheck" label='连接件检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='系统类型名称检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='未在空间中的设备' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='管段检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='管网及相关设备检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="functionNoDynamicData" label='Revit族参数完整性检查' width="200"></el-table-column>
|
|
|
- <el-table-column prop="XyzOverlapCheck" label='xyz坐标重叠检查' width="200"></el-table-column>
|
|
|
+ <el-table-column prop="functionNo" label="待删除设备数量" fixed width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.toBeDel" class="item" :type='scope.row.toBeDel?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="" label="待补充设备数量" fixed width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.toBeSupplement" class="item" :type='scope.row.toBeSupplement?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="itemsProblemsCheck" label="有问题的检查项" fixed width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.itemsProblemsCheck" class="item" :type='scope.row.itemsProblemsCheck?"warning":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ElementRangeCheck" label='构件范围检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.ElementRangeCheck" class="item" :type='scope.row.ElementRangeCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="FamilyNameCheck" label='设备族编码检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.FamilyNameCheck" class="item" :type='scope.row.FamilyNameCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="EquipPartLocationCheck" label='部件所在位置检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.EquipPartLocationCheck" class="item" :type='scope.row.EquipPartLocationCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ColumnCheck" label='柱边界检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.ColumnCheck" class="item" :type='scope.row.ColumnCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ConnectorCheck" label='连接件检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.ConnectorCheck" class="item" :type='scope.row.ConnectorCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="SystemNameCheck" label='系统类型名称检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.SystemNameCheck" class="item" :type='scope.row.SystemNameCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="EquipInSpaceCheck" label='未在空间中的设备' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.EquipInSpaceCheck" class="item" :type='scope.row.EquipInSpaceCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="PipeCheck" label='管段检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.PipeCheck" class="item" :type='scope.row.PipeCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="SystemReferEquipCheck" label='管网及相关设备检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.SystemReferEquipCheck" class="item" :type='scope.row.SystemReferEquipCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ParameterIntegrityCheck" label='Revit族参数完整性检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.ParameterIntegrityCheck" class="item" :type='scope.row.ParameterIntegrityCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="XyzOverlapCheck" label='xyz坐标重叠检查' width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-badge :value="scope.row.XyzOverlapCheck" class="item" :type='scope.row.XyzOverlapCheck?"danger":"success"'>
|
|
|
+ </el-badge>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<template slot="empty">
|
|
|
<div style="height: 60%;transform: translate(-22%,50%);">
|
|
|
<i class="icon-wushuju iconfont"></i>
|
|
@@ -69,7 +137,7 @@
|
|
|
import { mapGetters } from "vuex";
|
|
|
import dasBoard from "@/views/dasboard/index";
|
|
|
import request from "@/api/model/file.js";
|
|
|
-import { exportReport, queryFloorList, queryModel, queryReportList } from "@/api/model/report.js";
|
|
|
+import { exportReport, queryFloorList, queryModel, queryReportList, queryLostReportList } from "@/api/model/report.js";
|
|
|
export default {
|
|
|
components: {
|
|
|
dasBoard
|
|
@@ -88,10 +156,6 @@ export default {
|
|
|
color: '#2b2b2b',
|
|
|
lineHeight: '30px'
|
|
|
},
|
|
|
- iconClassMap: { // 模型文件夹icon映射
|
|
|
- "Success": "msg-icon el-icon-success success-color",
|
|
|
- "Error": "msg-icon el-icon-error error-color",
|
|
|
- },
|
|
|
page: {
|
|
|
pageSize: 50,
|
|
|
pageSizes: [10, 20, 50, 100],
|
|
@@ -104,7 +168,8 @@ export default {
|
|
|
Bary: [],
|
|
|
Fary: [],
|
|
|
regex: /^(B||F)(\d)/
|
|
|
- }
|
|
|
+ },
|
|
|
+ floorIconType: null
|
|
|
}
|
|
|
},
|
|
|
mounted() { },
|
|
@@ -119,7 +184,7 @@ export default {
|
|
|
...mapGetters('layout', ['projectId'])
|
|
|
},
|
|
|
methods: {
|
|
|
- getlostFloors(ary, eng, FloorName) {
|
|
|
+ getlostFloors(ary, eng, FloorName) {// 获取缺失楼层
|
|
|
let newAry = ary[0];
|
|
|
if (newAry.FloorName !== '1') {
|
|
|
ary.unshift({ FloorName: `${1}` })
|
|
@@ -166,7 +231,7 @@ export default {
|
|
|
this.getModelFloor();
|
|
|
});
|
|
|
},
|
|
|
- getModelFloorCount() {
|
|
|
+ getModelFloorCount() {// 获取楼层模型文件数量,计算出检查出问题的模型文件
|
|
|
queryFloorList(this.params, res => {
|
|
|
this.modelFloorCount = res.Total;
|
|
|
res.Content.map(item => {
|
|
@@ -185,52 +250,98 @@ export default {
|
|
|
// console.log(res,3958)
|
|
|
// });
|
|
|
},
|
|
|
- getData(tab) {
|
|
|
- // 切换tab时执行
|
|
|
+ getData(tab) {// 切换tab时执行
|
|
|
this.getExportReport();
|
|
|
this.getModelFloor();
|
|
|
},
|
|
|
getModelFloor() {// 获取当前楼层下的模型楼层
|
|
|
let params = {
|
|
|
ProjectId: this.projectId,
|
|
|
- Id: `${this.activeTab}`
|
|
|
+ Id: `${this.activeTab}`,
|
|
|
+ PageNumber: this.page.pageNumber,
|
|
|
+ PageSize: this.page.pageSize
|
|
|
}
|
|
|
queryReportList(params, res => {
|
|
|
- let FloorName = res.Content;
|
|
|
- let that = this;
|
|
|
- if (res.Content.length > 1) {
|
|
|
- res.Content.map(item => {
|
|
|
- // this.tableData = [];
|
|
|
- // let FloorN = item.FloorName;
|
|
|
- // if (this.lostFloort.regex.test(FloorN)) {
|
|
|
- // FloorN.replace(/^(B||F)(\d)/, function (a, b, c) {
|
|
|
- // if (b === "B") {
|
|
|
- // item.FloorName = c;
|
|
|
- // that.lostFloort.Bary.push(item);
|
|
|
- // } else if (b === "F") {
|
|
|
- // item.FloorName = c;
|
|
|
- // that.lostFloort.Fary.push(item);
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else {
|
|
|
- // that.lostFloort.ary.push(item)
|
|
|
- // }
|
|
|
- })
|
|
|
- this.tableData = [];
|
|
|
- console.log(this.lostFloort.Bary, 12)
|
|
|
- console.log(this.lostFloort.Fary, 14)
|
|
|
+ if (res.Content) {
|
|
|
+ let that = this;
|
|
|
+ this.FloorName = res.Content;
|
|
|
+ this.lostFloort.ary = [];
|
|
|
+ this.lostFloort.Bary = [];
|
|
|
+ this.lostFloort.Fary = [];
|
|
|
+ for (let i = 0; i < this.FloorName.length; i++) {
|
|
|
+ let it = this.FloorName[i];
|
|
|
+ if (this.lostFloort.regex.test(it.FloorName)) {
|
|
|
+ it.FloorName.replace(/^(B||F)(\d)/g, function (a, b, c) {
|
|
|
+ if (b === "B") {
|
|
|
+ it.FloorName = c;
|
|
|
+ that.lostFloort.Bary.push(it);
|
|
|
+ } else if (b === "F") {
|
|
|
+ it.FloorName = c;
|
|
|
+ that.lostFloort.Fary.push(it);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.lostFloort.ary.push(it)
|
|
|
+ }
|
|
|
+ }
|
|
|
if (this.lostFloort.Bary.length > 0) {
|
|
|
- this.getlostFloors(this.lostFloort.Bary, "B", FloorName);
|
|
|
+ this.getlostFloors(this.lostFloort.Bary, "B", this.FloorName)
|
|
|
}
|
|
|
if (this.lostFloort.Fary.length > 0) {
|
|
|
- this.getlostFloors(this.lostFloort.Fary, "F", FloorName);
|
|
|
+ this.getlostFloors(this.lostFloort.Fary, "F", this.FloorName)
|
|
|
}
|
|
|
- this.tableData = [...this.lostFloort.ary, ...this.lostFloort.Bary, ...this.lostFloort.Fary];
|
|
|
+ if (this.lostFloort.Bary.length < 0 && this.lostFloort.Fary.length < 0) {
|
|
|
+ this.tableData = res.Content;
|
|
|
+ } else {
|
|
|
+ this.tableData = [...this.lostFloort.ary, ...this.lostFloort.Bary, ...this.lostFloort.Fary]
|
|
|
+ }
|
|
|
+ let i;
|
|
|
+ let j = 0;
|
|
|
+ this.tableData.map(item => {
|
|
|
+ i = 0;
|
|
|
+ for (let key in item) {
|
|
|
+ if (item[key] > 0) {
|
|
|
+ i += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (item.ColumnCheck !== undefined) {
|
|
|
+ item.itemsProblemsCheck = i;
|
|
|
+ item.toBeDel = 10;
|
|
|
+ item.toBeSupplement = 6;
|
|
|
+ }
|
|
|
+ if (item.itemsProblemsCheck) {
|
|
|
+ j += 1;
|
|
|
+ this.floorIconType = j;
|
|
|
+ }
|
|
|
+ })
|
|
|
} else {
|
|
|
- this.tableData = res.Content;
|
|
|
+ this.tableData = [];
|
|
|
}
|
|
|
+ this.getLostModelFloor();
|
|
|
})
|
|
|
},
|
|
|
+ getLostModelFloor() {
|
|
|
+ let param = {
|
|
|
+ ProjectId: this.projectId,
|
|
|
+ Filters: `FolderId=${this.activeTab};Status=4`,
|
|
|
+ PageNumber: this.page.pageNumber,
|
|
|
+ PageSize: this.page.pageSize
|
|
|
+ }
|
|
|
+ // queryLostReportList(param, res => {
|
|
|
+ // console.log(res, 'lost');
|
|
|
+ // this.LostFloorName = res.Content;
|
|
|
+ // for (let i = 0; i < this.LostFloorName.length; i++) {
|
|
|
+ // for (let j = 0; j < this.FloorName.length; j++) {
|
|
|
+ // if (this.LostFloorName[i].FloorName == this.FloorName.FloorName) {
|
|
|
+ // continue;
|
|
|
+ // } else {
|
|
|
+ // this.FloorName.splice(i, 0, this.LostFloorName[i])
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // this.tableData = this.FloorName;
|
|
|
+ // })
|
|
|
+ },
|
|
|
del() {
|
|
|
// 点击需从模型中删除的设备
|
|
|
let jumpRouter = this.$router.resolve({ path: '/model/report/deleted' })
|
|
@@ -244,12 +355,12 @@ export default {
|
|
|
// 切换每页显示数量
|
|
|
handleSizeChange(val) {
|
|
|
this.page.pageSize = val;
|
|
|
- // this.getTableData();
|
|
|
+ this.getModelFloor();
|
|
|
},
|
|
|
// 切换页码
|
|
|
handleCurrentChange(val) {
|
|
|
this.page.pageNumber = val;
|
|
|
- // this.getTableData();
|
|
|
+ this.getModelFloor();
|
|
|
},
|
|
|
}
|
|
|
}
|