Ver código fonte

模型质量报告

yangjunjing 5 anos atrás
pai
commit
bf5ff22521

+ 12 - 0
src/api/scan/request.js

@@ -899,6 +899,18 @@ export function getSupplement(param, success) {
     http.postJson(url, data, success)
 }
 
+// 模型质量报告 待删除的设备
+export function toBeDelEquipPage(params, success) {
+    let url = `${baseUrl}/equip-component/equip-query/equip-comm-del`;
+    http.postJson(url, params, success)
+}
+
+// 模型质量报告 待补充的设备
+export function toBeSupplementEquip(params, success) {
+    let url = `${baseUrl}/equip-component/equip-query/property-equip-supp`;
+    http.postJson(url, params, success)
+}
+
 //设备清单-查询当前设备下的部件分类
 export function getEquipPartsType(param, success) {
     let url = `${baseUrl}/equip-component/equip-query/components-count`;

Diferenças do arquivo suprimidas por serem muito extensas
+ 115 - 49
src/views/model/report/deleted.vue


+ 6 - 6
src/views/model/report/index.vue

@@ -281,15 +281,13 @@ export default {
     },
     getToBeCount() {// 根据模型ID获取待删除数量和待补充数量
       let equipComDelList = [];
-      // this.LostFloorName.push({
-      //   FloorName: 'B1',
-      //   Note: '缺失'
-      // })
+      this.equipComDelList = [];
       this.LostFloorName.forEach(item => {
         if (item.CurrentModelId) {
           equipComDelList.push({
             ModelId: item.CurrentModelId
           });
+          this.equipComDelList.push(item.CurrentModelId)
         } else {
           item.flag = 'lost';
           item.FloorName = `${item.Note + item.FloorName}`
@@ -345,11 +343,13 @@ export default {
       })
     },
     del() {// 点击需从模型中删除的设备  
-      let jumpRouter = this.$router.resolve({ path: '/model/report/deleted' })
+      let equipComDelList = encodeURIComponent(JSON.stringify(this.equipComDelList));
+      let jumpRouter = this.$router.resolve({ path: '/model/report/deleted', query: { equipComDelList: equipComDelList } })
       window.open(jumpRouter.href, '_blank')
     },
     supplement() {// 点击模型待补充的设备
-      let jumpRouter = this.$router.resolve({ path: '/model/report/supplement' })
+      let equipComDelList = encodeURIComponent(JSON.stringify(this.equipComDelList));
+      let jumpRouter = this.$router.resolve({ path: '/model/report/supplement', query: { equipComDelList: equipComDelList } })
       window.open(jumpRouter.href, '_blank')
     },
     getExportReport() {// 导出模型问题报告

+ 110 - 45
src/views/model/report/supplement.vue

@@ -2,64 +2,40 @@
   <!-- 待补充页面 -->
   <div class="box">
     <ul class="infinite-list" v-infinite-scroll="load" style="overflow:auto">
-      <!-- <li v-for="i in count" class="infinite-list-item"> -->
-      <li class="infinite-list-item">
+      <li class="infinite-list-item" v-for="(item,index) in pageData" :key="index">
         <div class="content-box">
           <div class="content-top">
             <div class="details">
-              <h4>{{'四位序列号'}}<el-badge value="待补充" class="item"></el-badge>
+              <h4>{{index |numTransformation(4)}}<el-badge value="待补充" class="item" type="success"></el-badge>
               </h4>
-              <h4>{{"XXXX建筑模型夹"}}-{{"XXX层"}}-{{"待删除设备名称XXXXXXXXXXXXX"}}</h4>
-              <b>标记码:<span @dblclick="copyContent" id="copy">{{'12d13fs13f1sd313'}}</span></b><span class="copy" @click="clickCopy">点击复制</span>
+              <h4>{{`${item.BuildingName}建筑模型`}}-{{`${item.FloorName}层`}}-{{`${item.EquipLocalName?item.EquipLocalName:item.EquipName}`}}</h4>
+              <b>标记码:<span @dblclick="copyContent" id="copy">{{item.EquipID}}</span></b><span class="copy" @click="clickCopy">点击复制</span>
               <input id="copyContent" type="text" @dblclick="copyContent" style="border:none;opacity:0;position:absolute;top:0;left:0;">
-              <p style="margin-top:30px;">建议使用的Revit族:{{'XXXXXXX'}}</p>
-              <p>设计图纸中编码:{{'XXXXXXX'}}</p>
-              <p><span>设备类型:{{'XXXXXXX'}}</span><span>设备ID:{{'XXXXXXX'}}</span></p>
-              <p><span>资产族:{{'XXXXXXX'}}</span><span>资产ID:{{'XXXXXXX'}}</span></p>
-              <p>现场发现人:{{'XXXXXXX'}}</p>
+              <p style="margin-top:30px;">建议使用的Revit族:{{item.Res}}</p>
+              <p>设计图纸中编码:{{item.CADID}}</p>
+              <!-- <p><span>设备类型:{{'XXXXXXX'}}</span><span>设备ID:{{'XXXXXXX'}}</span></p> -->
+              <p><span>资产族:{{'XXXXXXX'}}</span></p>
+              <p><span style="width:500px;">资产ID:{{item.EquipID}}</span></p>
+              <p>现场发现人:{{item.FindPeople}}</p>
             </div>
             <div class="plan">
               <p>平面图上的位置:<span>{{`${'('+'X:'+'329'+','+'Y:'+'398'+')'}`}}</span></p>
               <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+                <canvas id="floorCanvas" :width="canvasWidth" :height="canvasHeight" ref="canvas" tabindex="0"></canvas>
               </div>
             </div>
           </div>
           <div class="content-bottom">
-            <div class="photo">
-              <p>铭牌图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
+            <div class="photo" v-for="(it,ind) in item.LedgerParam.PhotoDoc.Nameplate" :key="ind">
+              <p>{{it.name}}<span>拍摄时间:{{it.createTime}}</span></p>
               <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+                <img :src="`/image-service/common/image_get?systemId=dataPlatform&key=${it.key}`" alt="铭牌图片">
               </div>
             </div>
-            <div class="photo">
-              <p>设备图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
-              <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
-              </div>
-            </div>
-            <div class="photo">
-              <p>设备图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
-              <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
-              </div>
-            </div>
-            <div class="photo">
-              <p>设备图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
-              <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
-              </div>
-            </div>
-            <div class="photo">
-              <p>设备图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
-              <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
-              </div>
-            </div>
-            <div class="photo">
-              <p>设备图片:<span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
-              <div class="img-box">
-                <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+            <div class="photo" v-for="(photo,num) in item.LedgerParam.PhotoDoc.Pic" :key="num+photo">
+              <p v-if="item.LedgerParam.PhotoDoc.Pic">{{photo.name}}<span>拍摄时间:{{photo.createTime}}</span></p>
+              <div class="img-box" v-if="item.LedgerParam.PhotoDoc.Pic">
+                <img :src="`/image-service/common/image_get?systemId=dataPlatform&key=${photo.key}`" alt="设备图片">
               </div>
             </div>
           </div>
@@ -70,18 +46,41 @@
 </template>
 
 <script>
+import { mapGetters } from "vuex";
+import { toBeSupplementEquip } from "@/api/scan/request.js";
+
 export default {
   components: {
 
   },
   data() {
     return {
-      count: 0
+      pageData: [],
+      count: 0,
+      equipComDelList: null,
+      page: {
+        pageSize: 50,
+        pageSizes: [10, 20, 50, 100],
+        pageNumber: 1,
+        total: 0
+      },
+      canvasWidth: 400,
+      canvasHeight: 300,
+    }
+  },
+  filters: {
+    numTransformation(num, length) {// 序列号转换为4位
+      num = Number(num + 1)
+      return (Array(length).join('0') + num).slice(-length);
     }
   },
   mounted() { },
   created() {
-
+    this.equipComDelList = decodeURIComponent(this.$route.query.equipComDelList);
+    this.getToBeSuppement();
+  },
+  computed: {
+    ...mapGetters('layout', ['projectId'])
   },
   methods: {
     load() {
@@ -113,7 +112,73 @@ export default {
         type: 'success',
         duration: 1000
       });
-    }
+    },
+    getToBeSuppement() {
+      let params = {
+        ProjectId: this.projectId,
+        Cascade: [
+          {
+            "Name": "equipFamily"
+          },
+          {
+            "Name": "familyName"
+          }
+        ],
+        Filters: `ModelId in ${this.equipComDelList}`,
+        PageNumber: this.page.pageNumber,
+        PageSize: this.page.pageSize
+      }
+      toBeSupplementEquip(params, res => {
+        this.pageData = res.Content;
+        console.log(this.pageData, 12)
+        this.pageData.forEach(item => {
+          if (item.ScanTaskBase && item.ScanTaskBase.length > 1) {
+            item.ScanTaskBase = item.ScanTaskBase.shift();
+          }
+          if (item.EquipFamily && item.EquipFamily.length) {
+            item.Res = '';
+            item.EquipFamily.forEach((it, index) => {
+              if (index !== item.EquipFamily.length - 1) {
+                item.Res += `${it.EquipCode + it.EquipName + ","}`;
+              } else {
+                item.Res += `${it.EquipCode + it.EquipName}`;
+              }
+            })
+          }
+        });
+      })
+    },
+    getGraphy() {// 绘制空间位置图片
+      let that = this;
+      that.clearGraphy()
+      that.scene = new DivideFloorScene();
+      this.canvasLoading = true;
+      that.scene.loadUrl(`/image-service/common/file_get?systemId=revit&key=${this.FloorMap}`).then(res => {
+        that.canvasLoading = false;
+        if (res == 'error') {
+          this.FloorMap = '';
+          this.$message.warning('数据解析异常');
+          return;
+        }
+        that.view.scene = that.scene;
+        that.view.fitSceneToView();
+        let tempArr = {
+          RoomLocalName: this.spaceDetails.RoomLocalName,
+          OutLine: this.spaceDetails.Outline,
+          RoomID: this.spaceDetails.RoomID,
+          Color: "#a384fc",
+        }
+        that.scene.addZoneList([tempArr]);
+        this.scene.isSpaceSelectable = false;
+      })
+    },
+    clearGraphy() {
+      if (this.view && this.view.scene) {
+        this.view.scene = null;
+        return
+      }
+      this.view = new FloorView('floorCanvas')
+    },
   }
 }
 </script>