Parcourir la source

Merge branch 'dev'

zhangyu il y a 4 ans
Parent
commit
5edd33ba2f

+ 0 - 1
src/components/business_space/newGraphy/canvasFun.vue

@@ -72,7 +72,6 @@ export default {
     }
     }
   },
   },
   computed: {
   computed: {
-
   },
   },
   methods: {
   methods: {
     // 移动画布
     // 移动画布

+ 50 - 12
src/components/business_space/newGraphy/graphy.vue

@@ -131,7 +131,7 @@ import {
   queryZone,
   queryZone,
   zoneCount,
   zoneCount,
   zoneCreate,
   zoneCreate,
-  zoneQueryOutline,
+  zoneQuery,
   zoneUpdate,
   zoneUpdate,
   zoneUpdateOutline,
   zoneUpdateOutline,
   handleZoneUpdateBd
   handleZoneUpdateBd
@@ -183,11 +183,17 @@ export default {
       options: [], //其他分区类型
       options: [], //其他分区类型
       OtherValue: '',
       OtherValue: '',
       showOtherFlag: false, //是否显示其他分区类型添加
       showOtherFlag: false, //是否显示其他分区类型添加
-      fileName: '', // 下载文件名称
+      buildFloorName: "", //建筑楼层名称
     }
     }
   },
   },
   computed: {
   computed: {
-    ...mapGetters('layout', ['projectId'])
+    ...mapGetters("layout", ["projectId", "projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj ? projectObj.name ? projectObj.name : projectObj.id : this.projectId
+    }
   },
   },
   created() {
   created() {
     Opt.sceneMarkColor = new SColor('#ffffff');
     Opt.sceneMarkColor = new SColor('#ffffff');
@@ -222,7 +228,7 @@ export default {
       this.config = {
       this.config = {
         isEdit: false,
         isEdit: false,
         divide: true,
         divide: true,
-        groupSelect: true
+        groupSelect: true,
       }
       }
       // 获取当前楼层的元空间
       // 获取当前楼层的元空间
       this.getFloorISpace();
       this.getFloorISpace();
@@ -283,16 +289,16 @@ export default {
       this.view.fitSelectedToView();
       this.view.fitSelectedToView();
     },
     },
     // 父组件调用
     // 父组件调用
-    getData(buildFloor, FloorObj, tab, name) {
+    getData(buildFloor, FloorObj, tab) {
       let initType = 1;
       let initType = 1;
       if (FloorObj.FloorID == this.FloorObj.FloorID) {
       if (FloorObj.FloorID == this.FloorObj.FloorID) {
         initType = 2;
         initType = 2;
       }
       }
       this.buildFloor = buildFloor;
       this.buildFloor = buildFloor;
       this.FloorObj = FloorObj;
       this.FloorObj = FloorObj;
-      this.FloorMap = FloorObj.StructureInfo ? FloorObj.StructureInfo.FloorMap : ''
-      this.fileName = name
+      this.FloorMap = FloorObj.StructureInfo ? FloorObj.StructureInfo.FloorMap : '';
       this.tab = tab;
       this.tab = tab;
+      this.buildFloorName = `${FloorObj.buildName}-${FloorObj.label}`;
       console.log(arguments);
       console.log(arguments);
       if (tab.code == "OtherZone") {
       if (tab.code == "OtherZone") {
         // 其他分区
         // 其他分区
@@ -386,7 +392,7 @@ export default {
         pa.BuildingId = this.buildFloor[0];
         pa.BuildingId = this.buildFloor[0];
         pa.FloorId = this.buildFloor[1];
         pa.FloorId = this.buildFloor[1];
       }
       }
-      zoneQueryOutline(pa, res => {
+      zoneQuery(pa, res => {
         // 所有业务空间
         // 所有业务空间
         this.businessSpaceList = res.Content;
         this.businessSpaceList = res.Content;
         // 已关联元空间的业务空间
         // 已关联元空间的业务空间
@@ -1124,15 +1130,15 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.fileName}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.buildFloorName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.fileName}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.buildFloorName}.svg`, 6400, 4800);
     },
     },
     // 保存json
     // 保存json
     saveJson() {
     saveJson() {
-      this.view.saveFloorJson(`${this.fileName}.json`)
+      this.view.saveFloorJson(`${this.projectName}-${this.buildFloorName}.json`)
     },
     },
     // 切割划分
     // 切割划分
     divide() {
     divide() {
@@ -1154,7 +1160,7 @@ export default {
       let scale = this.view.scale;
       let scale = this.view.scale;
       this.view.scaleByPoint(val / scale, this.canvasWidth / 2, this.canvasHeight / 2);
       this.view.scaleByPoint(val / scale, this.canvasWidth / 2, this.canvasHeight / 2);
     },
     },
-    // 给定多个轮廓线的数据,计算得到面积最大值,并把它放置数组第一项
+    // 给定多个轮廓线的数据,计算得到面积最大值,并把它放置数组第一项,并将第一项顺时针处理,第一项以后的每一项做逆时针处理
     // list {XYZ}[][]
     // list {XYZ}[][]
     makeMaxAreaFirst(list) {
     makeMaxAreaFirst(list) {
       let arr = [], area = 0;
       let arr = [], area = 0;
@@ -1166,7 +1172,39 @@ export default {
           arr.push(list[i])
           arr.push(list[i])
         }
         }
       }
       }
+      arr.map((t, i) => {
+        if (!i) {
+          if (this.clockDir(t) > 0) {
+            return t
+          } else {
+            return t.reverse()
+          }
+        } else {
+          if (this.clockDir(t) > 0) {
+            return t.reverse()
+          } else {
+            return t
+          }
+        }
+      })
       return arr;
       return arr;
+    },
+    // 数组为顺时针or逆时针 顺时针非负 逆时针为 负
+    clockDir(pointList) {
+      if (pointList.length < 3) {
+        return 0;
+      }
+      let index = 0;
+      let len = pointList.length;
+      for (let i = 1; i < len; i++) {
+        if (pointList[i].X > pointList[index].X) {
+          index = i;
+        }
+      }
+      let p1 = pointList[index == 0 ? len - 1 : index - 1];
+      let p2 = pointList[index];
+      let p3 = pointList[(index + 1) % len];
+      return (p2.X - p1.X) * (p3.Y - p2.Y) - (p2.Y - p1.Y) * (p3.X - p2.X);
     }
     }
   },
   },
   filters: {
   filters: {

+ 15 - 4
src/components/data_admin/buildTask/draw/drawModel.vue

@@ -12,6 +12,7 @@ import { DivideFloorScene, FloorView } from "@saga-web/cad-engine/lib"
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import canvasFun from "@/components/business_space/newGraphy/canvasFun"
 import canvasFun from "@/components/business_space/newGraphy/canvasFun"
 import { queryEquip } from "@/api/scan/request";
 import { queryEquip } from "@/api/scan/request";
+import { mapGetters } from "vuex";
 export default {
 export default {
   components: {
   components: {
     canvasFun
     canvasFun
@@ -49,7 +50,17 @@ export default {
       type: Boolean,
       type: Boolean,
       default: false
       default: false
     },
     },
-    CurrentModelId: String
+    CurrentModelId: String,
+    modelName: String, //模型文件夹和模型文件名称
+  },
+  computed: {
+    ...mapGetters("layout", ["projectId","projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj?projectObj.name?projectObj.name:projectObj.id:this.projectId
+    }
   },
   },
   created() { },
   created() { },
   mounted() {
   mounted() {
@@ -157,14 +168,14 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.floor}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.modelName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.floor}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.modelName}.svg`, 6400, 4800);
     },
     },
     saveJson() {
     saveJson() {
-      this.view.saveFloorJson(`${this.floor}.json`)
+      this.view.saveFloorJson(`${this.projectName}-${this.modelName}.json`)
     },
     },
     // 缩放
     // 缩放
     scale(val) {
     scale(val) {

+ 16 - 3
src/components/ledger/lib/cenoteGraphy.vue

@@ -24,7 +24,11 @@ import { FloorView } from "@saga-web/cad-engine/lib/FloorView";
 import { colorArr } from '@/utils/spaceColor';
 import { colorArr } from '@/utils/spaceColor';
 import { getFloorMsgByFloorID, shaftSpaceQuery, shaftZoneLinkReplace, zoneQueryOutline } from '@/api/scan/request';
 import { getFloorMsgByFloorID, shaftSpaceQuery, shaftZoneLinkReplace, zoneQueryOutline } from '@/api/scan/request';
 import { resolve, reject } from 'q';
 import { resolve, reject } from 'q';
+import { mapGetters } from "vuex";
 export default {
 export default {
+  props: {
+    buildFloorName: String, //建筑楼层名称
+  },
   data() {
   data() {
     return {
     return {
       canvasLoading: false,//加载canvas
       canvasLoading: false,//加载canvas
@@ -54,6 +58,15 @@ export default {
   components: {
   components: {
     canvasFun
     canvasFun
   },
   },
+  computed: {
+    ...mapGetters("layout", ["projectId","projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj?projectObj.name?projectObj.name:projectObj.id:this.projectId
+    }
+  },
   created() {
   created() {
     Opt.sceneMarkColor = new SColor('#ffffff');
     Opt.sceneMarkColor = new SColor('#ffffff');
   },
   },
@@ -271,11 +284,11 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.buildingData[1]}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.buildFloorName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.buildingData[1]}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.buildFloorName}.svg`, 6400, 4800);
     },
     },
     // 框选
     // 框选
     groupSelect() {
     groupSelect() {
@@ -283,7 +296,7 @@ export default {
     },
     },
     // 保存json
     // 保存json
     saveJson() {
     saveJson() {
-      this.view.saveFloorJson(`${this.buildingData[1]}.json`)
+      this.view.saveFloorJson(`${this.projectName}-${this.buildFloorName}.json`)
     },
     },
   },
   },
   watch: {
   watch: {

+ 2 - 3
src/components/point/report/objectInstance.vue

@@ -34,8 +34,7 @@
 
 
 <script>
 <script>
 import { mapGetters } from 'vuex'
 import { mapGetters } from 'vuex'
-import { SGraphyView } from "@saga-web/graphy/lib";
-import { LocationPointScene, DivideFloorScene } from "@saga-web/cad-engine"
+import { LocationPointScene, DivideFloorScene, FloorView } from "@saga-web/cad-engine"
 import { SColor } from "@saga-web/draw/lib";
 import { SColor } from "@saga-web/draw/lib";
 
 
 import {
 import {
@@ -303,7 +302,7 @@ export default {
         //刷新canvas
         //刷新canvas
         that.refreshCanvas = new Date().getTime();
         that.refreshCanvas = new Date().getTime();
         if (!that.views[key]) {
         if (!that.views[key]) {
-          that.views[key] = new SGraphyView(`${that.forms[key].instanceId}`)
+          that.views[key] = new FloorView(`${that.forms[key].instanceId}`)
         }
         }
         that.views[key].scene = null;
         that.views[key].scene = null;
         that.scenes[key] = null;
         that.scenes[key] = null;

+ 20 - 10
src/views/data_admin/buildGraphy/graphyCanvas.vue

@@ -9,8 +9,8 @@
     </div>
     </div>
     <!-- 底部操作按钮 -->
     <!-- 底部操作按钮 -->
     <el-row v-show="type == 3" class="canvas-actions-box">
     <el-row v-show="type == 3" class="canvas-actions-box">
-      <canvasFun @move="moveCanvas" @fit="fit" @savePng="savePng" @saveSvg="saveSvg" @divide="divide" @clearDivide="clearDivide" @undo="undo"
-        @redo="redo" @scale="scale" :isEdit="isEdit" :config="config" ref="canvasFun"></canvasFun>
+      <canvasFun @move="moveCanvas" @fit="fit" @savePng="savePng" @saveSvg="saveSvg" @saveJson="saveJson" @divide="divide" @clearDivide="clearDivide"
+        @undo="undo" @redo="redo" @scale="scale" :isEdit="isEdit" :config="config" ref="canvasFun"></canvasFun>
     </el-row>
     </el-row>
     <div v-show="menuShow" id="menu" ref="menu">
     <div v-show="menuShow" id="menu" ref="menu">
       <p @click="getDatails">编辑该标签</p>
       <p @click="getDatails">编辑该标签</p>
@@ -27,8 +27,7 @@ import { mapGetters, mapActions } from "vuex";
 import {
 import {
   updateLocationPoint, //更新点位标签
   updateLocationPoint, //更新点位标签
 } from "@/api/scan/request";
 } from "@/api/scan/request";
-import { SGraphyView } from "@saga-web/graphy/lib";
-import { LocationPointScene, MarkerItem, SpaceItem } from "@saga-web/cad-engine/lib";
+import { FloorView, LocationPointScene, MarkerItem, SpaceItem } from "@saga-web/cad-engine/lib";
 import { SPoint } from "@saga-web/draw/lib";
 import { SPoint } from "@saga-web/draw/lib";
 
 
 export default {
 export default {
@@ -57,7 +56,13 @@ export default {
     };
     };
   },
   },
   computed: {
   computed: {
-    ...mapGetters('layout', ['projectId'])
+    ...mapGetters("layout", ["projectId", "projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj ? projectObj.name ? projectObj.name : projectObj.id : this.projectId
+    }
   },
   },
   created() { },
   created() { },
   mounted() {
   mounted() {
@@ -76,6 +81,7 @@ export default {
         this.type = 2;
         this.type = 2;
       } else {
       } else {
         this.buildMess = data;
         this.buildMess = data;
+        this.buildFloorName = data.buildFloorName
         this.type = 3;
         this.type = 3;
       }
       }
     },
     },
@@ -152,7 +158,7 @@ export default {
         this.view.scene.root.children = [];
         this.view.scene.root.children = [];
         this.view = null;
         this.view = null;
       }
       }
-      this.view = new SGraphyView("canvas");
+      this.view = new FloorView("canvas");
     },
     },
     // 定位
     // 定位
     locationGraphy(point) {
     locationGraphy(point) {
@@ -162,7 +168,7 @@ export default {
     },
     },
     //点击按钮
     //点击按钮
     addPoint(point) {
     addPoint(point) {
-      
+
       if (this.point.Id != point.Id) {
       if (this.point.Id != point.Id) {
         console.log(point)
         console.log(point)
         this.point = point;
         this.point = point;
@@ -240,7 +246,7 @@ export default {
         this.view.scene = null;
         this.view.scene = null;
         return
         return
       }
       }
-      this.view = new SGraphyView('canvas')
+      this.view = new FloorView('canvas')
     },
     },
     // 清除默认左右键事件
     // 清除默认左右键事件
     disableRightButton() {
     disableRightButton() {
@@ -269,11 +275,15 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.buildMess.code}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.buildFloorName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.buildMess.code}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.buildFloorName}.svg`, 6400, 4800);
+    },
+    // 保存json
+    saveJson() {
+      this.view.saveFloorJson(`${this.projectName}-${this.buildFloorName}.json`)
     },
     },
     // 切割划分
     // 切割划分
     divide() {
     divide() {

+ 12 - 6
src/views/data_admin/buildGraphy/index.vue

@@ -8,14 +8,16 @@
         </div> -->
         </div> -->
     <div class='search-title'>
     <div class='search-title'>
       <span class="p12">建筑楼层</span>
       <span class="p12">建筑楼层</span>
-      <el-cascader placeholder='请选择' v-model="buildVlaue" :options="options" @change="changeFloor" filterable :props="props" ref="buildfloor"></el-cascader>
+      <el-cascader placeholder='请选择' v-model="buildVlaue" :options="options" @change="changeFloor" filterable :props="props" ref="buildfloor">
+      </el-cascader>
     </div>
     </div>
     <div class="graphy-view">
     <div class="graphy-view">
       <div class="graphy-main">
       <div class="graphy-main">
         <graphy-canvas v-if="show" @getDetails="getDetails" @resetPoint="resetPoint" ref="canvas"></graphy-canvas>
         <graphy-canvas v-if="show" @getDetails="getDetails" @resetPoint="resetPoint" ref="canvas"></graphy-canvas>
       </div>
       </div>
       <div class="graphy-right">
       <div class="graphy-right">
-        <graphy-tabs v-show="show" ref="tabs" :floorOption="options" :pointParam="pointParam" @setFalg="setFalg" @getLocation="getLocation" @getPointList="sendPointList" @closeCanvas="closeCanvas">
+        <graphy-tabs v-show="show" ref="tabs" :floorOption="options" :pointParam="pointParam" @setFalg="setFalg" @getLocation="getLocation"
+          @getPointList="sendPointList" @closeCanvas="closeCanvas">
         </graphy-tabs>
         </graphy-tabs>
       </div>
       </div>
     </div>
     </div>
@@ -61,7 +63,7 @@ export default {
         ProjId: this.projectId, //项目id
         ProjId: this.projectId, //项目id
         UserId: this.userId, //用户id
         UserId: this.userId, //用户id
         fllorName: "",
         fllorName: "",
-        buildingData:[],//建筑楼层信息
+        buildingData: [],//建筑楼层信息
       },
       },
       options: [],
       options: [],
       map: null,
       map: null,
@@ -81,14 +83,17 @@ export default {
     //修改楼层
     //修改楼层
     changeFloor(val) {
     changeFloor(val) {
       let floorMap = "",
       let floorMap = "",
-        name = ""
+        name = "",
+        buildFloorName = ''
       this.options.map(item => {
       this.options.map(item => {
         if (!!item.Floor && item.Floor.length) {
         if (!!item.Floor && item.Floor.length) {
           if (item.BuildID == val[0]) {
           if (item.BuildID == val[0]) {
+            buildFloorName = `${item.BuildLocalName || item.BuildName}-`
             item.Floor.map(child => {
             item.Floor.map(child => {
               if (child.BuildID == val[1]) {
               if (child.BuildID == val[1]) {
                 floorMap = child.StructureInfo ? child.StructureInfo.FloorMap : ''
                 floorMap = child.StructureInfo ? child.StructureInfo.FloorMap : ''
                 name = child.FloorLocalName
                 name = child.FloorLocalName
+                buildFloorName += `${child.FloorLocalName || child.FloorName}`
               }
               }
             })
             })
           }
           }
@@ -98,7 +103,8 @@ export default {
         code: val[1],
         code: val[1],
         map: floorMap,
         map: floorMap,
         name: name,
         name: name,
-        buildingData:val
+        buildingData: val,
+        buildFloorName: buildFloorName
       }
       }
       this.getPoint(obj)
       this.getPoint(obj)
     },
     },
@@ -179,7 +185,7 @@ export default {
       this.$refs.tabs.getDetails(item);
       this.$refs.tabs.getDetails(item);
     },
     },
     //关闭canvas
     //关闭canvas
-    closeCanvas(){
+    closeCanvas() {
       this.show = false;
       this.show = false;
     }
     }
   },
   },

+ 5 - 2
src/views/data_admin/buildTask/addTask/addModelTask.vue

@@ -19,7 +19,7 @@
         </div>
         </div>
       </div>
       </div>
       <div class="r-model">
       <div class="r-model">
-        <draw-model ref="drawModel" :id="1" :CurrentModelId="CurrentModelId" :isLight="isLight" @changeButtonContent="changeButtonContent"></draw-model>
+        <draw-model ref="drawModel" :id="1" :CurrentModelId="CurrentModelId" :modelName="modelName" :isLight="isLight" @changeButtonContent="changeButtonContent"></draw-model>
       </div>
       </div>
     </el-row>
     </el-row>
     <modelTask-dialog :dialogVisible.sync="dialogVisible" :params="params" :newTaskTypes="newTaskTypes"></modelTask-dialog>
     <modelTask-dialog :dialogVisible.sync="dialogVisible" :params="params" :newTaskTypes="newTaskTypes"></modelTask-dialog>
@@ -68,7 +68,10 @@ export default {
         spaceList: this.spaceList,
         spaceList: this.spaceList,
         isVerification: this.query.isVerification
         isVerification: this.query.isVerification
       }
       }
-    }
+    },
+    modelName () {
+      return `${this.modelFolderName}-${this.modelFileName}`
+    },
   },
   },
   created() { 
   created() { 
     this.query = this.$route.query
     this.query = this.$route.query

+ 11 - 7
src/views/ledger/cenotelist/relatedSpace.vue

@@ -42,14 +42,14 @@
                 <div class="floor" style="height:100%;text-align:center;">
                 <div class="floor" style="height:100%;text-align:center;">
                   <span class="floor-item" style="border-bottom:1px solid #e4e4e4;">楼 层</span>
                   <span class="floor-item" style="border-bottom:1px solid #e4e4e4;">楼 层</span>
                   <div v-if="building" v-loading="buildingLoading">
                   <div v-if="building" v-loading="buildingLoading">
-                    <span class="floor-item" @click="changeFloor(item.FloorID)" :class="{floorItemChoose:(item.FloorID == floor)}"
+                    <span class="floor-item" @click="changeFloor(item)" :class="{floorItemChoose:(item.FloorID == floor)}"
                       v-for="item in buildingObj.Floor" :key="item.FloorID">{{ item.FloorLocalName }}</span>
                       v-for="item in buildingObj.Floor" :key="item.FloorID">{{ item.FloorLocalName }}</span>
                   </div>
                   </div>
                 </div>
                 </div>
               </el-scrollbar>
               </el-scrollbar>
             </el-col>
             </el-col>
             <el-col :span="20" style="height:100%;position:relative;">
             <el-col :span="20" style="height:100%;position:relative;">
-              <cenote-graphy ref="cenotegraphy"></cenote-graphy>
+              <cenote-graphy ref="cenotegraphy" :buildFloorName="buildFloorName"></cenote-graphy>
             </el-col>
             </el-col>
           </el-row>
           </el-row>
           <div class="elevation-box">
           <div class="elevation-box">
@@ -95,6 +95,7 @@ export default {
       // showSpaceDot: false,//空间提示红点
       // showSpaceDot: false,//空间提示红点
       // showBuildDot: false,//楼层提示红点
       // showBuildDot: false,//楼层提示红点
       isAI: true,//是否打开AI
       isAI: true,//是否打开AI
+      buildFloorName: '', //建筑楼层名称
     }
     }
   },
   },
   computed: {
   computed: {
@@ -256,7 +257,7 @@ export default {
       this.floor = '';
       this.floor = '';
       this.buildingList = [];
       this.buildingList = [];
       this.building = '';
       this.building = '';
-      this.changeFloor('');
+      this.changeFloor({FloorID: ''});
       this.loadBuildingData();
       this.loadBuildingData();
     },
     },
     //更换建筑
     //更换建筑
@@ -268,15 +269,18 @@ export default {
           this.buildingObj = item;
           this.buildingObj = item;
           if (item.Floor && item.Floor.length) {
           if (item.Floor && item.Floor.length) {
             // this.floor = item.Floor[0].FloorID
             // this.floor = item.Floor[0].FloorID
-            this.changeFloor(item.Floor[0].FloorID);
+            this.changeFloor(item.Floor[0]);
           }
           }
         }
         }
       })
       })
     },
     },
     //更换楼层
     //更换楼层
-    changeFloor(fid) {
-      this.floor = fid;
-      let buildfloor = [this.building, fid]
+    changeFloor(floorObj) {
+      this.buildFloorName = `${this.buildingObj.BuildLocalName?this.buildingObj.BuildLocalName:
+                              this.buildingObj.BuildName?this.buildingObj.BuildName:""}-${floorObj.FloorLocalName?
+                              floorObj.FloorLocalName:floorObj.FloorName?floorObj.FloorName:""}`
+      this.floor = floorObj.FloorID;
+      let buildfloor = [this.building, floorObj.FloorID]
       this.$refs.cenotegraphy.getFloorMap(buildfloor, this.ObjectType)
       this.$refs.cenotegraphy.getFloorMap(buildfloor, this.ObjectType)
     },
     },
     //平面图选中空间,立面图对应选中
     //平面图选中空间,立面图对应选中

+ 19 - 5
src/views/ledger/rentlist/manageTenantZone.vue

@@ -81,7 +81,7 @@
 </template>
 </template>
 <script>
 <script>
 import canvasFun from "@/components/business_space/newGraphy/canvasFun";
 import canvasFun from "@/components/business_space/newGraphy/canvasFun";
-import { mapGetters, mapActions } from "vuex";
+import { mapGetters } from "vuex";
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import { DivideFloorScene, SpaceItem, ZoneItem, FloorView, Opt } from "@saga-web/cad-engine/lib";
 import { DivideFloorScene, SpaceItem, ZoneItem, FloorView, Opt } from "@saga-web/cad-engine/lib";
 import { colorArr } from "@/utils/spaceColor"
 import { colorArr } from "@/utils/spaceColor"
@@ -120,7 +120,21 @@ export default {
     canvasFun
     canvasFun
   },
   },
   computed: {
   computed: {
-    ...mapGetters("layout", ["projectId"])
+    ...mapGetters("layout", ["projectId","projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj?projectObj.name?projectObj.name:projectObj.id:this.projectId
+    },
+    buildFloorName() {
+      let buildObj = this.allBuilding[this.buildSelect],
+          floorObj = this.floorList[this.activeFloor];
+          console.log(buildObj,floorObj)
+      return `${buildObj.BuildLocalName?buildObj.BuildLocalName:
+              buildObj.BuildName?buildObj.BuildName:""}-${floorObj.FloorLocalID?
+              floorObj.FloorLocalID:floorObj.FloorLocalName?floorObj.FloorLocalName:FloorName}`
+    },
   },
   },
   created() {
   created() {
     this.onlyRead = this.$route.query.onlyRead;
     this.onlyRead = this.$route.query.onlyRead;
@@ -157,15 +171,15 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.floorList[this.activeFloor].FloorID}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.buildFloorName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.floorList[this.activeFloor].FloorID}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.buildFloorName}.svg`, 6400, 4800);
     },
     },
     // 保存json
     // 保存json
     saveJson() {
     saveJson() {
-      this.view.saveFloorJson(`${this.floorList[this.activeFloor].FloorID}.json`)
+      this.view.saveFloorJson(`${this.projectName}-${this.buildFloorName}.json`)
     },
     },
     // 框选
     // 框选
     groupSelect() {
     groupSelect() {

+ 10 - 5
src/views/ledger/spacelist/index.vue

@@ -160,7 +160,8 @@ export default {
           if (t.Floor) {
           if (t.Floor) {
             t.children = t.Floor.map(item => {
             t.children = t.Floor.map(item => {
               item.value = item.FloorID;
               item.value = item.FloorID;
-              item.label = item.FloorLocalName;
+              item.label = item.FloorLocalName || item.FloorName;
+              item.buildName = t.BuildLocalName || t.BuildName;
               this.floorToMap[item.FloorID] = item;
               this.floorToMap[item.FloorID] = item;
               if (item.Count > 0) {
               if (item.Count > 0) {
                 t.Count++;
                 t.Count++;
@@ -265,9 +266,13 @@ export default {
     //修改所选建筑楼层
     //修改所选建筑楼层
     changeCascader(val) {
     changeCascader(val) {
       this.buildFloorSelectd = val;
       this.buildFloorSelectd = val;
-      let name = this.$refs['cascaderAddr'].getCheckedNodes()[0].pathLabels
-      name = name.join(' ')
-      localStorage.setItem('buildingFloor', name)
+      this.$nextTick(() => {
+        let node = this.$refs['cascaderAddr'].getCheckedNodes()
+        let name = node[0].pathLabels
+        name = name.join(' ')
+        localStorage.setItem('buildingFloor', name)
+      })
+
 
 
       // 如果选择的是全部或者未明确
       // 如果选择的是全部或者未明确
       if (val.indexOf('noKnow') > -1 || val.indexOf('all') > -1) {
       if (val.indexOf('noKnow') > -1 || val.indexOf('all') > -1) {
@@ -296,7 +301,7 @@ export default {
         this.initMessage();
         this.initMessage();
       } else {
       } else {
         this.getInfected(this.buildFloorSelectd[1]);
         this.getInfected(this.buildFloorSelectd[1]);
-        this.$refs.graphy.getData(this.buildFloorSelectd, this.FloorMap, this.activeTabType, this.$refs.cascaderAddr.inputValue);
+        this.$refs.graphy.getData(this.buildFloorSelectd, this.FloorMap, this.activeTabType);
         this.childBackParam = {}
         this.childBackParam = {}
       }
       }
     },
     },

+ 16 - 7
src/views/ready/buildfloor/drawGraphy/drawFloor.vue

@@ -9,11 +9,11 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { SGraphyView } from "@saga-web/graphy/lib";
 import { DivideFloorScene, FloorView, Opt } from "@saga-web/cad-engine/lib"
 import { DivideFloorScene, FloorView, Opt } from "@saga-web/cad-engine/lib"
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import { SColor, SPoint } from "@saga-web/draw/lib";
 import canvasFun from "@/components/business_space/newGraphy/canvasFun"
 import canvasFun from "@/components/business_space/newGraphy/canvasFun"
 import { floorQueryOutline } from "@/api/scan/request";
 import { floorQueryOutline } from "@/api/scan/request";
+import { mapGetters } from "vuex";
 export default {
 export default {
   components: {
   components: {
     canvasFun
     canvasFun
@@ -51,6 +51,15 @@ export default {
       default: false
       default: false
     }
     }
   },
   },
+  computed: {
+    ...mapGetters("layout", ["projectId", "projects"]),
+    projectName() {
+      let projectObj = this.projects.find(item => {
+        return item.id == this.projectId
+      })
+      return projectObj ? projectObj.name ? projectObj.name : projectObj.id : this.projectId
+    }
+  },
   created() {
   created() {
     this.FloorID = this.$route.query.FloorID;
     this.FloorID = this.$route.query.FloorID;
     Opt.sceneMarkColor = new SColor('#00000080');
     Opt.sceneMarkColor = new SColor('#00000080');
@@ -166,11 +175,15 @@ export default {
     },
     },
     // 保存为png
     // 保存为png
     savePng() {
     savePng() {
-      this.view.saveImage(`${this.floor}.png`, 'png');
+      this.view.saveImage(`${this.projectName}-${this.buildFloorName}.png`, 'png');
     },
     },
     // 保存为svg
     // 保存为svg
     saveSvg() {
     saveSvg() {
-      this.view.saveSceneSvg(`${this.floor}.svg`, 6400, 4800);
+      this.view.saveSceneSvg(`${this.projectName}-${this.buildFloorName}.svg`, 6400, 4800);
+    },
+    // 保存json
+    saveJson() {
+      this.view.saveFloorJson(`${this.projectName}-${this.buildFloorName}.json`)
     },
     },
     // 切割划分
     // 切割划分
     divide() {
     divide() {
@@ -184,10 +197,6 @@ export default {
     changeAbsorb(isAbsorbing) {
     changeAbsorb(isAbsorbing) {
       this.drawMainScene.isAbsorbing = isAbsorbing;
       this.drawMainScene.isAbsorbing = isAbsorbing;
     },
     },
-    // 保存json
-    saveJson() {
-      this.view.saveFloorJson(`${this.floor}.json`)
-    },
     // 撤销
     // 撤销
     undo() {
     undo() {
 
 

+ 3 - 1
src/views/ready/buildfloor/index.vue

@@ -175,6 +175,7 @@
         },
         },
         loading: false, //列表loading
         loading: false, //列表loading
         curBuildId: "", //当前选中的建筑id
         curBuildId: "", //当前选中的建筑id
+        curBuildName: "", //当前选中建筑的名称
         curFloorId: "", //当前选中的楼层id
         curFloorId: "", //当前选中的楼层id
         modelId: "",
         modelId: "",
         alreadyRelatedModel: [],
         alreadyRelatedModel: [],
@@ -216,6 +217,7 @@
         });
         });
         this.buildList[index].active = true;
         this.buildList[index].active = true;
         this.curBuildId = this.buildList[index].BuildID;
         this.curBuildId = this.buildList[index].BuildID;
+        this.curBuildName = this.buildList[index].BuildLocalName || this.buildList[index].BuildName;
         this.getFloorTableData();
         this.getFloorTableData();
         this.$forceUpdate();
         this.$forceUpdate();
       },
       },
@@ -408,7 +410,7 @@
           this.modelId = "";
           this.modelId = "";
         } else {
         } else {
           this.modelId = row.ModelId;
           this.modelId = row.ModelId;
-          let pa = {modelId: this.modelId, FloorID: row.FloorID, BuildID: row.BuildID};
+          let pa = {modelId: this.modelId, FloorID: row.FloorID, BuildID: row.BuildID, BuildName: this.curBuildName};
           this.$router.push({name: "repetitionGraphy", query: pa});
           this.$router.push({name: "repetitionGraphy", query: pa});
         }
         }
       },
       },

+ 4 - 1
src/views/ready/buildfloor/repetitionGraphy.vue

@@ -41,6 +41,7 @@ export default {
     this.modelId = this.$route.query.modelId;
     this.modelId = this.$route.query.modelId;
     this.FloorID = this.$route.query.FloorID;
     this.FloorID = this.$route.query.FloorID;
     this.BuildID = this.$route.query.BuildID;
     this.BuildID = this.$route.query.BuildID;
+    this.BuildName = this.$route.query.BuildName;
     this.init();
     this.init();
   },
   },
   mounted() { },
   mounted() { },
@@ -121,10 +122,12 @@ export default {
         this.alreadyRelatedModel = res.Content.map(t => {
         this.alreadyRelatedModel = res.Content.map(t => {
           if (t.FloorID != this.FloorID) return t.ModelId
           if (t.FloorID != this.FloorID) return t.ModelId
           this.sign = t.Sign > 0
           this.sign = t.Sign > 0
+          this.FloorName = t.FloorLocalName || t.FloorName
+          this.$refs.drawFloor.buildFloorName = `${this.BuildName}-${this.FloorName}`
         }).filter(t => t);
         }).filter(t => t);
       });
       });
     },
     },
-    changeSign(flag){
+    changeSign(flag) {
       this.otherSign = flag
       this.otherSign = flag
     }
     }
   },
   },

+ 4 - 5
src/views/screen/splitscreen/integrateresults/index.vue

@@ -24,8 +24,8 @@
       <div class="content-right" id="cadBox" v-loading="loading">
       <div class="content-right" id="cadBox" v-loading="loading">
         <canvas v-show="drawCanvas" :height="cadHeight" :width="cadWidth" id="exampleCanvas" :k="refreshCanvas"></canvas>
         <canvas v-show="drawCanvas" :height="cadHeight" :width="cadWidth" id="exampleCanvas" :k="refreshCanvas"></canvas>
         <div v-show="drawCanvas" class="operate">
         <div v-show="drawCanvas" class="operate">
-          <canvasFun @fit="fit" @savePng="savePng" @saveSvg="saveSvg" @scale="scale" @saveJson="saveJson" :config="config" ref="canvasFun">
-          </canvasFun>
+          <!-- <canvasFun @fit="fit" @savePng="savePng" @saveSvg="saveSvg" @scale="scale" @saveJson="saveJson" :config="config" ref="canvasFun">
+          </canvasFun> -->
         </div>
         </div>
         <div class="no-data" v-show="!drawCanvas">
         <div class="no-data" v-show="!drawCanvas">
           <div class="position-icon">
           <div class="position-icon">
@@ -39,8 +39,7 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { SGraphyView } from "@saga-web/graphy/lib";
-import { LocationPointScene, DivideFloorScene } from "@saga-web/cad-engine";
+import { LocationPointScene, DivideFloorScene, FloorView } from "@saga-web/cad-engine";
 import { SColor } from "@saga-web/draw/lib";
 import { SColor } from "@saga-web/draw/lib";
 import { queryEquip, floorQuery, zoneQueryOutline } from '@/api/scan/request';
 import { queryEquip, floorQuery, zoneQueryOutline } from '@/api/scan/request';
 //组件
 //组件
@@ -134,7 +133,7 @@ export default {
         //刷新canvas
         //刷新canvas
         this.refreshCanvas = new Date().getTime();
         this.refreshCanvas = new Date().getTime();
         if (!this.views) {
         if (!this.views) {
-          this.views = new SGraphyView('exampleCanvas')
+          this.views = new FloorView('exampleCanvas')
         }
         }
         this.views.scene = null;
         this.views.scene = null;
         this.scenes = null;
         this.scenes = null;