|
@@ -37,9 +37,21 @@
|
|
|
<div class="data equipment">
|
|
|
<!-- 设备:本期只做前三个 -->
|
|
|
<span class="contain-title">设备{{}}</span>
|
|
|
+ <div class="data-show">
|
|
|
+ <div v-for="(item,index) in list" :key="index" class="show-content">
|
|
|
+ <el-tooltip class="item" effect="dark" content="Bottom Center 提示文字" placement="bottom">
|
|
|
+ <i class="el-icon-info"></i>
|
|
|
+ <span>未关联资产</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <data-origin :id="'origin' + index" :renderData="item"></data-origin>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="data assets">
|
|
|
<span class="contain-title">资产{{}}</span>
|
|
|
+ <div>
|
|
|
+ <fan-chart></fan-chart>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="data parts">
|
|
|
<span class="contain-title">部件{{}}</span>
|
|
@@ -62,141 +74,50 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import dataOrigin from "@/components/ledger/report/dataorigin"
|
|
|
+import { queryDataSourceCount, synchronizeProj } from "@/fetch/point_http"
|
|
|
+import fanChart from "@/components/echarts/fanChart"
|
|
|
export default {
|
|
|
data() {
|
|
|
- return {}
|
|
|
+ return {
|
|
|
+ list: [],
|
|
|
+ equipment: [
|
|
|
+ { title: '未关联资产', tips: '' },
|
|
|
+ { title: '现场验证状态占比', tips: '' },
|
|
|
+ { title: '与模型对应占比', tips: '' }
|
|
|
+ ],
|
|
|
+ assets: [
|
|
|
+ { title: '未关联资产', tips: '' },
|
|
|
+ { title: '现场验证状态占比', tips: '' },
|
|
|
+ { title: '有无坐标占比', tips: '' }
|
|
|
+ ],
|
|
|
+ business: [
|
|
|
+ { title: '各分区占比', tips: '' },
|
|
|
+ { title: '默认分区功能类型占比', tips: '' }
|
|
|
+ ],
|
|
|
+ tenant: [
|
|
|
+ { title: '关联业务空间完成度', tips: '' }
|
|
|
+ ],
|
|
|
+ shaft: [
|
|
|
+ { title: '按功能类型占比', tips: '' },
|
|
|
+ { title: '关联业务空间完成度', tips: '' }
|
|
|
+ ],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ dataOrigin,
|
|
|
+ fanChart
|
|
|
+ },
|
|
|
+ mounted() { },
|
|
|
+ created() {
|
|
|
+ this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
- handleClickDownload() {
|
|
|
- this.loading = true
|
|
|
- this.dataList = []
|
|
|
- if (this.value == 'header1') {
|
|
|
- this.getheader1Data()
|
|
|
- } else if (this.value == 'header2') {
|
|
|
- this.getheader2Data()
|
|
|
- } else if (this.value == 'header3') {
|
|
|
- this.getheader3Data()
|
|
|
- }
|
|
|
- },
|
|
|
- getheader1Data(pageNum) {
|
|
|
- pageNum = pageNum ? pageNum : 1
|
|
|
- let params = {
|
|
|
- Cascade: [
|
|
|
- {
|
|
|
- Name: "equipCategory",
|
|
|
- Projection: ["EquipCode", "EquipName"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "property",
|
|
|
- Cascade: [
|
|
|
- {
|
|
|
- Name: "equipFamilyList",
|
|
|
- Projection: ["Family", "FamilyName"]
|
|
|
- }
|
|
|
- ],
|
|
|
- Projection: ["Family", "EquipLocalName", "EquipLocalID", "EquipID", "CodeType", "CreateTime"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "building",
|
|
|
- Projection: ["BuildLocalName", "BuildName", "BuildID"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "floor",
|
|
|
- Projection: ["FloorLocalName", "FloorName", "FloorID"]
|
|
|
- }
|
|
|
- ],
|
|
|
- Filters: " not propertyId isnull ",
|
|
|
- Orders: "CreateTime desc, EquipID asc",
|
|
|
- PageNumber: pageNum,
|
|
|
- PageSize: 1000,
|
|
|
- Projection: ["CreateTime", "BuildingId", "FloorId", "Category", "EquipLocalName", "EquipLocalID", "EquipID", "BIMID"]
|
|
|
- }
|
|
|
- queryEquip(params, res => {
|
|
|
- this.dataList = this.dataList.concat(res.Content.map((item) => {
|
|
|
- item.Property.CodeType = State[item.Property.CodeType]
|
|
|
- // item.Property.Family = Family[item.Property.Family]
|
|
|
- return item
|
|
|
- }))
|
|
|
- if (res.Total / (res.PageSize * res.PageNumber) > 1) {
|
|
|
- this.getheader1Data(res.PageNumber + 1)
|
|
|
- } else {
|
|
|
- let time = +new Date()
|
|
|
- this.loading = false
|
|
|
- jsontoExcel.downloadExl(this.header1, this.dataList, `已建立关联的资产设备-${time}`)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- getheader2Data(pageNum) {
|
|
|
- pageNum = pageNum ? pageNum : 1
|
|
|
- let params = {
|
|
|
- Cascade: [
|
|
|
- {
|
|
|
- Name: "equipCategory",
|
|
|
- Projection: ["EquipCode", "EquipName"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "building",
|
|
|
- Projection: ["BuildLocalName", "BuildName", "BuildID"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "floor",
|
|
|
- Projection: ["FloorLocalName", "FloorName", "FloorID"]
|
|
|
- }
|
|
|
- ],
|
|
|
- Filters: " propertyId isnull ",
|
|
|
- Orders: "CreateTime desc, EquipID asc",
|
|
|
- PageNumber: pageNum,
|
|
|
- PageSize: 1000,
|
|
|
- Projection: ["CreateTime", "BuildingId", "FloorId", "Category", "EquipLocalName", "EquipLocalID", "EquipID", "BIMID"]
|
|
|
- }
|
|
|
- queryEquip(params, res => {
|
|
|
- this.dataList = this.dataList.concat(res.Content)
|
|
|
- if (res.Total / (res.PageSize * res.PageNumber) > 1) {
|
|
|
- this.getheader2Data(res.PageNumber + 1)
|
|
|
- } else {
|
|
|
- let time = +new Date()
|
|
|
- this.loading = false
|
|
|
- jsontoExcel.downloadExl(this.header2, this.dataList, `未关联资产的设备-${time}`)
|
|
|
- }
|
|
|
+ getList() {
|
|
|
+ queryDataSourceCount({}, res => {
|
|
|
+ this.list = res.Content
|
|
|
})
|
|
|
},
|
|
|
- getheader3Data(pageNum) {
|
|
|
- pageNum = pageNum ? pageNum : 1
|
|
|
- let params = {
|
|
|
- Cascade: [
|
|
|
- {
|
|
|
- Name: "equipFamilyList",
|
|
|
- Projection: ["Family", "FamilyName"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "building",
|
|
|
- Projection: ["BuildLocalName", "BuildName", "BuildID"]
|
|
|
- },
|
|
|
- {
|
|
|
- Name: "floor",
|
|
|
- Projection: ["FloorLocalName", "FloorName", "FloorID"]
|
|
|
- }
|
|
|
- ],
|
|
|
- Filters: " EquipmentId isnull ",
|
|
|
- Orders: "CreateTime desc, EquipID asc",
|
|
|
- PageNumber: pageNum,
|
|
|
- PageSize: 1000,
|
|
|
- Projection: ["BuildingId", "FloorId", "Family", "EquipLocalName", "EquipLocalID", "EquipID", "CreateTime", "CodeType"]
|
|
|
- }
|
|
|
- queryProperty(params, res => {
|
|
|
- this.dataList = this.dataList.concat(res.Content.map((item) => {
|
|
|
- item.CodeType = State[item.CodeType]
|
|
|
- return item
|
|
|
- }))
|
|
|
- if (res.Total / (res.PageSize * res.PageNumber) > 1) {
|
|
|
- this.getheader3Data(res.PageNumber + 1)
|
|
|
- } else {
|
|
|
- let time = +new Date()
|
|
|
- this.loading = false
|
|
|
- jsontoExcel.downloadExl(this.header3, this.dataList, `未关联设备的资产-${time}`)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -237,16 +158,35 @@ export default {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
.data {
|
|
|
+ overflow: hidden;
|
|
|
.contain-title {
|
|
|
+ display: block;
|
|
|
+ float: left;
|
|
|
height: 30px;
|
|
|
+ width: 100%;
|
|
|
line-height: 30px;
|
|
|
border-left: 8px solid black;
|
|
|
- display: inline-block;
|
|
|
margin: 8px 8px;
|
|
|
font-weight: 600;
|
|
|
padding-left: 8px;
|
|
|
cursor: default;
|
|
|
}
|
|
|
+ .data-show {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin: 0 10px 10px 0;
|
|
|
+ .show-content {
|
|
|
+ width: 20%;
|
|
|
+ background: white;
|
|
|
+ border: 1px solid #c9c9c9;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin: 0 10px 10px 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|