Bladeren bron

Merge branch 'dev' of http://39.106.8.246:3003/web/ibms into dev

 Conflicts:
	src/components/relation/overview/CardList.vue
shaun-sheep 5 jaren geleden
bovenliggende
commit
e04def2c52

+ 3 - 3
package.json

@@ -31,9 +31,9 @@
     "vue-router": "^3.0.1",
     "vuex": "^3.1.0",
     "@saga-web/base": "2.1.9",
-    "@saga-web/draw": "2.1.74",
-    "@saga-web/graphy": "2.1.39",
-    "@saga-web/cad-engine": "2.0.532"
+    "@saga-web/draw": "2.1.75",
+    "@saga-web/graphy": "2.1.40",
+    "@saga-web/cad-engine": "2.0.537"
   },
   "devDependencies": {
     "ajv": "^6.9.1",

+ 1 - 1
src/components/business_space/business/handsontable.vue

@@ -807,7 +807,7 @@ export default {
     //  其他分区类型查询
     getOtherType() {
       let param = {
-        Cascade: [{ Name: 'zoneType' }],
+        Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }],
         Filters: `Code="OtherZone"`
       }
       queryAllZoneType(param, res => {

+ 168 - 152
src/components/business_space/newGraphy/graphy.vue

@@ -301,7 +301,7 @@ export default {
     // 其他分区类型查询
     getOtherType() {
       let pa = {
-        Cascade: [{ Name: 'zoneType' }],
+        Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }],
         Filters: `Code="OtherZone"`
       }
       queryAllZoneType(pa, res => {
@@ -566,62 +566,62 @@ export default {
     },
     // 根据图创建新的业务空间-弹窗返回确认创建
     createRoom(val) {
-      // const zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
-      // let spaces = {};
-      // if (this.scene.cutItem || this.scene.sceneMark) {
-      //   // 如果有划分,求交集
-      //   // 格式为Poly(先与业务空间求差集)
-      //   const obj = this.scene.getZoneDifference(true);
-      //   // 差集与楼层平面图或用户划分区域求交集
-      //   spaces = this.scene.getPloyIntersect(obj)
-      // } else {
-      //   // 格式为SPoint[]
-      //   spaces = this.scene.getZoneDifference();
-      // }
-      // for (let key in spaces) {
-      //   spaces[key].map(t => {
-      //     let temp = t.map(item => {
-      //       return {
-      //         X: 1*item.x.toFixed(2),
-      //         Y: -item.y.toFixed(2),
-      //         Z: 0
-      //       }
-      //     })
-      //     zoneObj.Outline.push([temp]);
-      //   })
-      //   let curISP = this.sourceIdToISP[key];
-      // if (curISP) {
-      //   curISP && IspaceIdList.push(curISP.RoomID);
-      //   zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
-      // }
-      // }
-      // 数据计算导致浏览器奔溃,临时注释
-      let zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
-      let selectSpaces = this.scene.getSelectedSpaces();
-      selectSpaces.map(t => {
-        zoneObj.Outline.push(t.data.OutLine);
-        let key = t.data.SourceId;
-        let curISP = this.sourceIdToISP[key];
-        if (curISP) {
-          IspaceIdList.push(curISP.RoomID);
-          zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
-        }
-      })
-      // 如果有划分,求交集
+      const zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
+      let spaces = {};
       if (this.scene.cutItem || this.scene.sceneMark) {
-        zoneObj.Outline = [];
-        let arr = this.scene.getIntersect();
-        arr.map(t => {
+        // 如果有划分,求交集
+        // 格式为Poly(先与业务空间求差集)
+        const obj = this.scene.getZoneDifference(true);
+        // 差集与楼层平面图或用户划分区域求交集
+        spaces = this.scene.getPloyIntersect(obj)
+      } else {
+        // 格式为SPoint[]
+        spaces = this.scene.getZoneDifference();
+      }
+      for (let key in spaces) {
+        spaces[key].map(t => {
           let temp = t.map(item => {
             return {
-              X: 1 * item.x,
-              Y: -item.y,
+              X: 1 * item.x.toFixed(2),
+              Y: -item.y.toFixed(2),
               Z: 0
             }
           })
           zoneObj.Outline.push([temp]);
         })
+        let curISP = this.sourceIdToISP[key];
+        if (curISP) {
+          curISP && IspaceIdList.push(curISP.RoomID);
+          zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
+        }
       }
+      // 数据计算导致浏览器奔溃,临时注释(测试计算未崩溃改好)
+      // let zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
+      // let selectSpaces = this.scene.getSelectedSpaces();
+      // selectSpaces.map(t => {
+      //   zoneObj.Outline.push(t.data.OutLine);
+      //   let key = t.data.SourceId;
+      //   let curISP = this.sourceIdToISP[key];
+      //   if (curISP) {
+      //     IspaceIdList.push(curISP.RoomID);
+      //     zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
+      //   }
+      // })
+      // // 如果有划分,求交集
+      // if (this.scene.cutItem || this.scene.sceneMark) {
+      //   zoneObj.Outline = [];
+      //   let arr = this.scene.getIntersect();
+      //   arr.map(t => {
+      //     let temp = t.map(item => {
+      //       return {
+      //         X: 1 * item.x,
+      //         Y: -item.y,
+      //         Z: 0
+      //       }
+      //     })
+      //     zoneObj.Outline.push([temp]);
+      //   })
+      // }
       // 至此
       if (!zoneObj.Outline.length) {
         zoneObj.Outline = null;
@@ -803,117 +803,133 @@ export default {
     },
     // 根据图批量创建所选业务空间
     groupCreateZone() {
-      // let arr = this.scene.getSelectedSpaces();
-      // let createSpaces = [], spaces = {};
-      // if (this.scene.cutItem || this.scene.sceneMark) {
-      //   // 如果有划分,求交集
-      //   // 格式为Poly(先与业务空间求差集)
-      //   const obj = this.scene.getZoneDifference(true);
-      //   // 差集与楼层平面图或用户划分区域求交集
-      //   spaces = this.scene.getPloyIntersect(obj)
-      // } else {
-      //   // 格式为SPoint[]
-      //   spaces = this.scene.getZoneDifference();
-      // }
-      // for (let key in spaces) {
-      //   let zoneObj = { Outline: [], Height: 0 }
-      //   spaces[key].map(t => {
-      //     let temp = t.map(item => {
-      //       return {
-      //         X: 1 * item.x.toFixed(2),
-      //         Y: -item.y.toFixed(2),
-      //         Z: 0
-      //       }
-      //     })
-      //     zoneObj.Outline.push([temp]);
-      //   })
-      //   if (!zoneObj.Outline.length) {
-      //     continue
-      //   }
-      //   let curISP = this.sourceIdToISP[key];
-      // if (curISP) {
-      //   zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
-      //   zoneObj.IspaceId = curISP.RoomID;
-      //   zoneObj.RoomLocalName = curISP.RoomLocalName;
-      // }
-      //   zoneObj.BuildingId = this.buildFloor[0];
-      //   zoneObj.FloorId = this.buildFloor[1];
-      //   createSpaces.push(zoneObj);
-      // }
-
-      // 改回之前逻辑
       let arr = this.scene.getSelectedSpaces();
-      let createSpaces = [];
-      // 如果有划分,求交集
+      let createSpaces = [], spaces = {};
       if (this.scene.cutItem || this.scene.sceneMark) {
-        let outlines = this.scene.getIntersectInSpace();
-        for (let k in outlines) {
-          outlines[k] = outlines[k].map(t => {
-            t = t.map(item => {
-              item = item.map(j => {
-                return { X: j.x, Y: -j.y, Z: 0 }
-              })
-              return item
-            })
-            return t;
-          })
-        }
-        createSpaces = arr.map(t => {
-          let line = outlines[t.data.SourceId];
-          if (!line || !line.length) {
-            return undefined
-          } else {
-            let area = 0;
-            for (let i = 0; i < line.length; i++) {
-              for (let j = 0; j < line[i].length; j++) {
-                if (j == 0) {
-                  area += this.getarea(line[i][0]);
-                } else {
-                  area -= this.getarea(line[i][j]);
-                }
-              }
-            }
-            area = (area / 1000000).toFixed(2);
-            if (area < (this.areaValue / 100)) {
-              return undefined;
-            }
-          }
-          return {
-            IspaceId: this.BIMIDToSID[t.data.SourceId],
-            RoomLocalName: this.BIMIDToSIName[t.data.SourceId],
-            Outline: line,
-            BuildingId: this.buildFloor[0],
-            FloorId: this.buildFloor[1],
-            Height: t.data.Height > 100 ? (t.data.Height / 1000).toFixed(2) : t.data.Height || 0
-          }
-        }).filter(item => item)
+        // 如果有划分,求交集
+        // 格式为Poly(先与业务空间求差集)
+        const obj = this.scene.getZoneDifference(true);
+        // 差集与楼层平面图或用户划分区域求交集
+        spaces = this.scene.getPloyIntersect(obj)
       } else {
-        createSpaces = arr.map(t => {
-          let line = t.data.OutLine;
-          if (!line || !line.length) {
-            return undefined
-          } else {
-            let area = this.getarea(line[0]);
-            if (line.length > 1) {
-              for (let i = 1; i < line.length; i++) {
-                area -= this.getarea(line[i]);
-              }
+        // 格式为SPoint[]
+        spaces = this.scene.getZoneDifference();
+      }
+      for (let key in spaces) {
+        let zoneObj = { Outline: [], Height: 0 }
+        spaces[key].map(t => {
+          let temp = t.map(item => {
+            return {
+              X: 1 * item.x.toFixed(2),
+              Y: -item.y.toFixed(2),
+              Z: 0
             }
-            area = (area / 1000000).toFixed(2);
-            if (area < (this.areaValue / 100)) {
-              return undefined;
+          })
+          zoneObj.Outline.push([temp]);
+        })
+        if (!zoneObj.Outline.length) {
+          continue
+        }
+        //计算面积
+        let area = 0, line = zoneObj.Outline;
+        for (let i = 0; i < line.length; i++) {
+          for (let j = 0; j < line[i].length; j++) {
+            if (j == 0) {
+              area += this.getarea(line[i][0]);
+            } else {
+              area -= this.getarea(line[i][j]);
             }
           }
-          return {
-            IspaceId: this.BIMIDToSID[t.data.SourceId],
-            RoomLocalName: this.BIMIDToSIName[t.data.SourceId],
-            Outline: [line],
-            BuildingId: this.buildFloor[0],
-            FloorId: this.buildFloor[1],
-            Height: t.data.Height > 100 ? (t.data.Height / 1000).toFixed(2) : t.data.Height || 0
-          }
-        }).filter(item => item);
+        }
+        area = (area / 1000000).toFixed(2);
+        if (area < (this.areaValue / 100)) {
+          continue
+        }
+        //生成空间对象
+        let curISP = this.sourceIdToISP[key];
+        if (curISP) {
+          zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
+          zoneObj.IspaceId = curISP.RoomID;
+          zoneObj.RoomLocalName = curISP.RoomLocalName;
+        }
+        zoneObj.BuildingId = this.buildFloor[0];
+        zoneObj.FloorId = this.buildFloor[1];
+        createSpaces.push(zoneObj);
       }
+
+      // 改回之前逻辑
+      // let arr = this.scene.getSelectedSpaces();
+      // let createSpaces = [];
+      // // 如果有划分,求交集
+      // if (this.scene.cutItem || this.scene.sceneMark) {
+      //   let outlines = this.scene.getIntersectInSpace();
+      //   for (let k in outlines) {
+      //     outlines[k] = outlines[k].map(t => {
+      //       t = t.map(item => {
+      //         item = item.map(j => {
+      //           return { X: j.x, Y: -j.y, Z: 0 }
+      //         })
+      //         return item
+      //       })
+      //       return t;
+      //     })
+      //   }
+      //   createSpaces = arr.map(t => {
+      //     let line = outlines[t.data.SourceId];
+      //     if (!line || !line.length) {
+      //       return undefined
+      //     } else {
+      //       let area = 0;
+      //       for (let i = 0; i < line.length; i++) {
+      //         for (let j = 0; j < line[i].length; j++) {
+      //           if (j == 0) {
+      //             area += this.getarea(line[i][0]);
+      //           } else {
+      //             area -= this.getarea(line[i][j]);
+      //           }
+      //         }
+      //       }
+      //       area = (area / 1000000).toFixed(2);
+      //       if (area < (this.areaValue / 100)) {
+      //         return undefined;
+      //       }
+      //     }
+      //     return {
+      //       IspaceId: this.BIMIDToSID[t.data.SourceId],
+      //       RoomLocalName: this.BIMIDToSIName[t.data.SourceId],
+      //       Outline: line,
+      //       BuildingId: this.buildFloor[0],
+      //       FloorId: this.buildFloor[1],
+      //       Height: t.data.Height > 100 ? (t.data.Height / 1000).toFixed(2) : t.data.Height || 0
+      //     }
+      //   }).filter(item => item)
+      // } else {
+      //   createSpaces = arr.map(t => {
+      //     let line = t.data.OutLine;
+      //     if (!line || !line.length) {
+      //       return undefined
+      //     } else {
+      //       let area = this.getarea(line[0]);
+      //       if (line.length > 1) {
+      //         for (let i = 1; i < line.length; i++) {
+      //           area -= this.getarea(line[i]);
+      //         }
+      //       }
+      //       area = (area / 1000000).toFixed(2);
+      //       if (area < (this.areaValue / 100)) {
+      //         return undefined;
+      //       }
+      //     }
+      //     return {
+      //       IspaceId: this.BIMIDToSID[t.data.SourceId],
+      //       RoomLocalName: this.BIMIDToSIName[t.data.SourceId],
+      //       Outline: [line],
+      //       BuildingId: this.buildFloor[0],
+      //       FloorId: this.buildFloor[1],
+      //       Height: t.data.Height > 100 ? (t.data.Height / 1000).toFixed(2) : t.data.Height || 0
+      //     }
+      //   }).filter(item => item);
+      // }
       if (createSpaces.length) {
         this.canvasLoading = true;
         this.groupCreateBSP(createSpaces)

+ 2 - 0
src/components/config_point/step3_edit/enum_handle.vue

@@ -112,6 +112,8 @@ export default {
             position: absolute;
             top: -35px;
             left: 23px;
+            margin: 0;
+            padding: 0;
         }
         .right {
             position: absolute;

+ 2 - 0
src/components/config_point/step3_edit/split_handle.vue

@@ -189,6 +189,8 @@ export default {
             position: absolute;
             top: -35px;
             left: 23px;
+            margin: 0;
+            padding: 0;
         }
         .right {
             position: absolute;

+ 25 - 21
src/components/config_point/step3_point/3_temps.vue

@@ -12,14 +12,17 @@
         </el-form-item>
       </el-form>
       <div>
-        <div class="flex-around" v-for="(it,ind) in typeList" :key="ind">
-          <div class="point-despoint">
-            <p class="center">原始点位说明</p>
-            <p class="p10">{{pointDes}}</p>
-          </div>
-          <div class="point-despoint">
-            <p class="center">数据字典值说明</p>
-            <p class="content-view p10">{{delDataSource(it.unitObj.DataSource)}}</p>
+        <div v-for="(it,ind) in typeList" :key="ind">
+          <p style="margin:10px 0;">信息点名称: {{it.name}}</p>
+          <div class="flex-around">
+            <div class="point-despoint">
+              <p class="center">原始点位说明</p>
+              <p class="p10">{{pointDes}}</p>
+            </div>
+            <div class="point-despoint">
+              <p class="center">数据字典值说明</p>
+              <p class="content-view p10">{{delDataSource(it.unitObj.DataSource)}}</p>
+            </div>
           </div>
         </div>
       </div>
@@ -29,6 +32,7 @@
     </div>
     <div class="collapse-item" v-if="activeName == 1">
       <div v-for="(it,ind) in typeList" :key="ind">
+        <p style="margin:10px 0;">信息点名称: {{it.name}}</p>
         <div class="flex-around">
           <div class="point-despoint">
             <p class="center">原始点位说明</p>
@@ -427,7 +431,7 @@ export default {
               seq: 1,
               ruletype: 'type1',
               content: [{
-                from: other.unit[0] + '-' + other.unit[1],
+                from: t.other.unit[0] + '-' + t.other.unit[1],
                 to: this.unitObj.unit
               }]
             }])
@@ -438,11 +442,11 @@ export default {
             // }
             break
           case '需按设置枚举转换':
-            let DataRuleContent2 = other.pointArr.length ?
+            let DataRuleContent2 = t.other.pointArr.length ?
               JSON.stringify([{
                 seq: 1,
                 ruletype: 'type2',
-                content: other.pointArr
+                content: t.other.pointArr
               }]) :
               undefined
             eachData.DataRuleContent = DataRuleContent2;
@@ -452,28 +456,28 @@ export default {
             // }
             break
           case '需按公式转换':
-            let subRule = other.from ? {
+            let subRule = t.other.from ? {
               seq: 1,
               ruletype: 'type4',
               content: [{
-                from: other.from,
-                to: other.to
+                from: t.other.from,
+                to: t.other.to
               }]
             } :
               undefined
             let extractRule = {
               seq: 2,
               ruletype: 'type5',
-              content: other.extract ? [{
+              content: t.other.extract ? [{
                 extract: 'number'
               }] : []
             }
-            let countRule = other.mark ? {
+            let countRule = t.other.mark ? {
               seq: 3,
               ruletype: 'type6',
               content: [{
-                calculationtype: other.mark,
-                value: other.markValue
+                calculationtype: t.other.mark,
+                value: t.other.markValue
               }]
             } :
               undefined
@@ -493,14 +497,14 @@ export default {
             // }
             break
           case '需拆分处理':
-            let SplitPoints = other.devArr.length ? other.devArr : undefined
+            let SplitPoints = t.other.devArr.length ? t.other.devArr : undefined
             let DataRuleContent4 = undefined
             var enum5 = null
-            if (other.tranfVal) {
+            if (t.other.tranfVal) {
               enum5 = {
                 seq: 2,
                 ruletype: 'type2',
-                content: other.pointArr
+                content: t.other.pointArr
               }
             } else {
               enum5 = {

+ 4 - 3
src/components/data_admin/buildTask/dialog/modelTaskDialog.vue

@@ -62,10 +62,10 @@ export default {
       title: "确认创建任务",
       options: [{//方案
         value: '1',
-        label: '标准'
+        label: '极简'
       }, {
         value: '2',
-        label: '极简'
+        label: '标准'
       }],
       tableData: [],
       loading: false,
@@ -164,7 +164,8 @@ export default {
         item.FolderId = this.params.modelFolderId
         item.FileName = this.params.modelFileName
         item.FileId = this.params.CurrentModelId
-        item.SchemeId = "1"
+        // 后端定义默认值(前端取消默认值设定)
+        // item.SchemeId = "1"
         return item
       })
       this.page.total = res.Total

+ 22 - 94
src/components/ledger/cenote/elevationMap.vue

@@ -7,14 +7,17 @@
           <div class="saga-group" v-for="(winth, index) in groupWidth" :key="index" :style="`width: ${100*winth}px;`"></div>
         </div>
       </div>
-      <div class="saga-floor-item" v-for="floor in elevationData" :key="'FloorSequenceID'+floor.FloorSequenceID">
-        <p class="saga-floorName">{{floor.FloorLocalName}}<i class="el-icon-right"></i></p>
+      <div class="saga-floor-item" v-for="floor in elevationData" :key="floor.FloorID">
+        <p class="saga-floorName" :title="floor.FloorLocalName?floor.FloorLocalName:floor.FloorName">
+          {{floor.FloorLocalName?floor.FloorLocalName:floor.FloorName}}
+          <i class="el-icon-right"></i>
+        </p>
         <div class="saga-spaceList">
-          <div class="saga-group" v-for="(group, groupIndex) in floor.group" :key="floor.FloorSequenceID+'-'+groupIndex" :style="`width: ${100*groupWidth[groupIndex]}px;`">
+          <div class="saga-group" v-for="(group, groupIndex) in floor.group" :style="`width: ${100*groupWidth[groupIndex]}px;`">
             <div class="saga-spaceItem" 
             :class="[spaceItem.IsAI?spaceItem.checked?'saga-spaceItem-checked':'saga-spaceItem-ai':'']" 
             v-for="spaceItem in group.spaceList" 
-            :key="spaceItem.RoomID" 
+            :key="spaceItem.RoomID"
             :title="spaceItem.RoomLocalName"
             @click="handleClickCheck(spaceItem)"
             >
@@ -55,6 +58,7 @@
   },
   methods: {
     init () { //获取数据并格式化数据
+      this.elevationData = [];
       //根据isAI判断请求参数是否包含AI推介数据(暂未完成)
       this.params.AiSwitch = this.isAI
       console.log(this.params)
@@ -62,90 +66,6 @@
       // 查询竖井关联的空间垂直交通关系
       shaftVerticalSpace(this.params, (res) => {
         let data = res.Content;
-        // let data = [
-        //   {
-        //     FloorSequenceID: 5,
-        //     FloorLocalName: 'F5',
-        //     ZoneSpaceList: [
-        //       {
-        //         RoomID: 'f5-001',
-        //         IsAI: false,
-        //         RoomLocalName: '业务空间f5-001',
-        //         SpaceIdList: ['f4-002']
-        //       }
-        //     ]
-        //   },
-        //   {
-        //     FloorSequenceID: 4,
-        //     FloorLocalName: 'F4',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f4-001',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f4-001',
-        //       SpaceIdList: ['f3-002']
-        //     }, {
-        //       RoomID: 'f4-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f4-002',
-        //       SpaceIdList: ['f5-001']
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 3,
-        //     FloorLocalName: 'F3',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f3-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f3-001',
-        //       SpaceIdList: ['f2-002']
-        //     }, {
-        //       RoomID: 'f3-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f3-002',
-        //       SpaceIdList: ['f2-002','f4-001']
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 2,
-        //     FloorLocalName: 'F2',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f2-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f2-001',
-        //       SpaceIdList: ['f1-001']
-        //     }, {
-        //       RoomID: 'f2-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f2-002',
-        //       SpaceIdList: ['f3-001','f3-002']
-        //     }, {
-        //       RoomID: 'f2-003',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f2-003',
-        //       SpaceIdList: []
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 1,
-        //     FloorLocalName: 'F1',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f1-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-001',
-        //       SpaceIdList: ['f2-001']
-        //     }, {
-        //       RoomID: 'f1-002',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-002',
-        //       SpaceIdList: []
-        //     }, {
-        //       RoomID: 'f1-003',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-003',
-        //       SpaceIdList: []
-        //     }]
-        //   }
-        // ];
         let max = 0, idMap = {}, groupMap = {}, copyData = JSON.parse(JSON.stringify(data));
         this.groupWidth = {};
         copyData.reverse().forEach(floor => {
@@ -204,11 +124,15 @@
       if (sapceItem.IsAI && this.isEdit && !this.onlyRead) { //是AI推荐并且编辑模式下
         sapceItem.checked = sapceItem.checked? false: true;
         if (sapceItem.checked) {
-          this.checkedList.push(sapceItem)
+          this.checkedList.push(sapceItem);
+          // 选中平面图的对应空间
+          this.$emit('elevationChecked',sapceItem.RoomID);
         } else {
           let index = this.checkedList.findIndex(item =>{ return item.RoomID == sapceItem.RoomID })
           if (index != -1) { // 找到对应的数据
-            this.checkedList.splice(index,1)
+            this.checkedList.splice(index,1);
+            // 取消选中平面图的对应空间
+            this.$emit('elevationUncheck',sapceItem.RoomID);
           }
         }
       }
@@ -240,7 +164,7 @@
     //   }
     // },
     params: {
-      handler(val,ccc) {
+      handler() {
         if (this.params.BuildingId && this.params.ObjectType && this.params.ShaftId) {
           this.init();
         }
@@ -254,6 +178,7 @@
 
 <style lang="less">
   .saga-elevation {
+    height: 100%;
     position: relative;
     .saga-center{
       position: absolute;
@@ -267,7 +192,7 @@
       box-sizing: border-box;
       flex-direction: column;
       justify-content: flex-end;
-      padding: 60px 10px 20px 0;
+      padding: 60px 10px 20px 0px;
       .saga-rf {
         display: flex;
         flex-direction: row;
@@ -282,8 +207,11 @@
         line-height: 60px;
       }
       .saga-floorName {
-        min-width: 50px;
+        min-width: 80px;
         text-align: right;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
       }
       .saga-spaceList {
         display: flex;
@@ -294,7 +222,7 @@
         .saga-group {
           display: flex;
           flex-direction: row;
-          margin-left: 10px;
+          margin-left: 25px;
           box-sizing: border-box;
           .saga-spaceItem {
             width: 100px;

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

@@ -180,6 +180,22 @@ export default {
         item.selected = false;
       }
     },
+    // 立面图选中空间对应平面图选中
+    canvasChecked(RoomID) {
+      this.scene.zoneList.map(zoneItem => {
+        if (zoneItem.data.RoomID == RoomID) {
+          zoneItem.selected = true;
+        }
+      })
+    },
+    // 立面图取消选中对应平面图取消选中
+    canvasUncheck(RoomID) {
+      this.scene.zoneList.map(zoneItem => {
+        if (zoneItem.data.RoomID == RoomID) {
+          zoneItem.selected = false;
+        }
+      })
+    },
     //取消编辑
     cancelEdit() {
       this.config.isEdit = false;

+ 2 - 2
src/components/model/file/versionDialog.vue

@@ -5,7 +5,7 @@
         <span>上传人:{{versionData.userName}}</span>
         <span style="marginLeft:30px;">上传时间:{{versionData.acceptTime}}</span>
         <p style="marginTop:15px;">更新内容:</p>
-        <div v-if="Object.keys(versionData.createData).length || Object.keys(versionData.deleteData).length">
+        <div v-if="Object.keys(versionData.createData).length || Object.keys(versionData.deleteData).length || versionData.buildList.length">
           <!-- 新增设备概要内容 -->
           <el-divider v-if="Object.keys(versionData.createData).length">新增设备概要内容</el-divider>
           <p v-if="Object.keys(versionData.createData).length" style="marginBottom:10px;">于【{{versionData.acceptTime}}】上传模型文件,新增设备实例如下:</p>
@@ -133,7 +133,7 @@ export default {
           })
         })
         let promise2 = new Promise((resolve, reject) => {
-            getAllEqPaType({}, res => {
+            getAllEqPaType({PageNumber: 1,PageSize: 1000,}, res => {
                 resolve(res)
             })
         })

+ 10 - 10
src/components/relation/overview/CardList.vue

@@ -253,18 +253,18 @@
           this.$refs.maintain.dialogManualTip = true
         }
         if (Manual === 3) {
-          // if (relation.RelationType) {
-          if (relation.RelManualType) {
+          // if (relation.RelManualType) {
+          if (relation.RelationType) {
             this.values = {...this.values, optionTips, lastTime}
-            // this.$refs.maintain.dialogManualOption = true //导出excel 弹窗
-            this.$router.push({
-              path:"relationShip"
-            })
+            this.$refs.maintain.dialogManualOption = true //导出excel 弹窗
+            // this.$router.push({
+            //   path:"relationShip"
+            // })
             console.log(relation,'relation')
-          localStorage.setItem('RelManualType',relation.RelManualType)
-          localStorage.setItem('RelationTypeName',relation.RelationTypeName)
-          localStorage.setItem('RelationType',relation.RelationType)
-          localStorage.setItem('ZoneType',relation.ZoneType)
+          // localStorage.setItem('RelManualType',relation.RelManualType)
+          // localStorage.setItem('RelationTypeName',relation.RelationTypeName)
+          // localStorage.setItem('RelationType',relation.RelationType)
+          // localStorage.setItem('ZoneType',relation.ZoneType)
           } else {
             this.$message.warning("设计中")
             return false

+ 4 - 3
src/views/data_admin/buildTask/addTask/addDeviceTask.vue

@@ -91,10 +91,10 @@ export default {
       },
       options: [{//方案
         value: '1',
-        label: '标准'
+        label: '极简'
       }, {
         value: '2',
-        label: '极简'
+        label: '标准'
       }],
       tableData: [],
       multipleSelection:[],
@@ -177,7 +177,8 @@ export default {
               }
             })
           }
-          item.SchemeId = "1"
+          // 后端定义默认值(前端取消默认值设定)
+          // item.SchemeId = "1"
           return item
         })
         this.page.total = res.Total

+ 33 - 29
src/views/ledger/cenotelist/relatedSpace.vue

@@ -15,10 +15,8 @@
         </div>
         <el-badge :is-dot="showSpaceDot" style="margin-left:15px;">
           <label style="line-height:32px;">业务空间类型:</label>
-          <el-select v-model="space" placeholder="请选择业务空间" @change="changeSpace" style="margin-left:15px;">
-            <el-option v-for="item in spaceList" :key="item.Code" :label="item.Name" :value="item.Code">
-            </el-option>
-          </el-select>
+          <el-cascader v-model="space" placeholder="请选择业务空间" :props="{value:'Code',label:'Name',children:'ZoneType'}" :options="spaceList"
+            @change="changeSpace" style="margin-left:15px;"></el-cascader>
         </el-badge>
       </div>
       <div class="saga-build-tab">
@@ -31,14 +29,11 @@
         <el-badge :is-dot="showBuildDot">
           <label style="line-height:32px;padding: 0 10px;">所属建筑:</label>
           <el-select v-model="building" placeholder="请选择建筑" @change="changeBuilding" v-loading="buildingLoading">
-            <el-option v-for="item in buildingList" :key="item.value" :label="item.BuildLocalName" :value="item.BuildID"></el-option>
+            <el-option v-for="item in buildingList" :key="item.value" :label="item.BuildLocalName?item.BuildLocalName:item.BuildName"
+              :value="item.BuildID"></el-option>
           </el-select>
         </el-badge>
-        <el-switch
-          v-if="!cenoteObj.onlyRead"
-          style="margin-left:15px;"
-          v-model="isAI"
-          active-text="打开AI">
+        <el-switch v-if="!cenoteObj.onlyRead" style="margin-left:15px;" v-model="isAI" active-text="打开AI">
         </el-switch>
         <div style="height:calc(100% - 42px);margin:10px 0 0 0;width:100%;">
           <el-row style="height:100%;margin:0;width:55%;position:relative;display:inline-block;border:1px solid #e4e4e4;">
@@ -58,19 +53,16 @@
             </el-col>
           </el-row>
           <div class="elevation-box">
-            <elevation-map 
-              ref="elevationMap" 
-              :onlyRead="cenoteObj.onlyRead" 
-              :isEdit="isEdit" 
-              :isAI="isAI"
-              :params="{BuildingId: building, ObjectType: space, ShaftId: $route.query.ShaftId}">
+            <elevation-map ref="elevationMap" :onlyRead="cenoteObj.onlyRead" :isEdit="isEdit" :isAI="isAI" @elevationChecked="handleCheckedSpace"
+              @elevationUncheck="handleUncheckSpace" :params="{BuildingId: building, ObjectType: ObjectType, ShaftId: $route.query.ShaftId}">
             </elevation-map>
           </div>
         </div>
 
       </div>
       <div v-show="isMyTab == 2" class="data-item">
-        <related-spaceList :space="space" :buildingList="buildingList" :spaceType="spaceType" :floorType="floorType" ref="relatedSpacelist"></related-spaceList>
+        <related-spaceList :space="ObjectType" :buildingList="buildingList" :spaceType="spaceType" :floorType="floorType" ref="relatedSpacelist">
+        </related-spaceList>
       </div>
     </div>
   </div>
@@ -81,7 +73,7 @@ import spaceSelect from "@/components/ledger/lib/spaceSelect";
 import relatedSpaceList from "@/components/ledger/cenote/relatedSpaceList";
 import elevationMap from "@/components/ledger/cenote/elevationMap";
 import addSpaceDialog from '@/components/ledger/cenote/dialog/addSpaceDialog';
-import { queryDictionaryHead, buildingQuery, shaftSpaceTypeQuery, shaftSpaceBuildingQuery } from '@/api/scan/request';
+import { queryAllZoneType, buildingQuery, shaftSpaceTypeQuery, shaftSpaceBuildingQuery } from '@/api/scan/request';
 import cenoteGraphy from '@/components/ledger/lib/cenoteGraphy'
 import { mapGetters } from 'vuex'
 export default {
@@ -92,7 +84,8 @@ export default {
       building: '',//当前建筑id
       buildingObj: {},//当前建筑obj
       buildingList: [],
-      space: '',//当前业务空间
+      space: [],//当前业务空间
+      ObjectType: '',//业务空间code
       spaceList: [],//空间list
       floor: '',//当前楼层
       dialogVisible: false,//添加空间弹窗
@@ -109,10 +102,10 @@ export default {
       return this.$route.query;
     },
     showSpaceDot() {
-      return this.spaceList.length > 1 && this.cenoteObj.onlyRead?true:false;
+      return this.spaceList.length > 1 && this.cenoteObj.onlyRead ? true : false;
     },
     showBuildDot() {
-      return this.buildingList.length > 1 && this.cenoteObj.onlyRead?true:false;
+      return this.buildingList.length > 1 && this.cenoteObj.onlyRead ? true : false;
     },
     ...mapGetters("layout", ["projectId"])
   },
@@ -127,7 +120,7 @@ export default {
     elevationMap
   },
   created() {
-    this.isAI = this.$route.query.onlyRead?false:true;
+    this.isAI = this.$route.query.onlyRead ? false : true;
     this.getSpaceData();
   },
   methods: {
@@ -146,9 +139,9 @@ export default {
       }
       else {
         let pa = {
-          Filters: `parentId='Space'`
+          Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }]
         }
-        queryDictionaryHead(pa, res => {
+        queryAllZoneType(pa, res => {
           this.spaceList = res.Content.map(t => {
             if (t.Name != "元空间") {
               this.spaceType[t.Code] = t.Name;
@@ -162,7 +155,7 @@ export default {
     //默认显示第一个空间
     showDefaultSpace() {
       if (this.spaceList.length) {
-        this.space = this.spaceList.find((item) => {return item.Code == "GeneralZone"})? "GeneralZone": this.spaceList[0].Code;
+        this.space = this.spaceList.find((item) => { return item.Code == "GeneralZone" }) ? ["GeneralZone"] : [this.spaceList[0].Code];
         // if (this.spaceList.length > 1 && this.cenoteObj.onlyRead) {
         //   this.showSpaceDot = true;
         // }
@@ -181,7 +174,7 @@ export default {
       if (this.cenoteObj.onlyRead) {
         let param = {
           ShaftId: this.$route.query.ShaftId,
-          ObjectType: this.space
+          ObjectType: this.ObjectType
         };
         this.buildingLoading = true;
         shaftSpaceBuildingQuery(param, res => {
@@ -206,7 +199,10 @@ export default {
       else {
         let param = {
           Cascade: [
-            { Name: "floor" }
+            {
+              Name: "floor",
+              Orders: "FloorSequenceID desc, name asc",
+            }
           ]
         };
         buildingQuery(param, res => {
@@ -246,7 +242,7 @@ export default {
     },
     //更改业务空间类型
     changeSpace(val) {
-      this.space = val;
+      this.ObjectType = val[val.length - 1];
       this.floor = '';
       this.buildingList = [];
       this.building = '';
@@ -271,7 +267,15 @@ export default {
     changeFloor(fid) {
       this.floor = fid;
       let buildfloor = [this.building, fid]
-      this.$refs.cenotegraphy.getFloorMap(buildfloor, this.space)
+      this.$refs.cenotegraphy.getFloorMap(buildfloor, this.ObjectType)
+    },
+    //平面图选中空间,立面图对应选中
+    handleCheckedSpace(RoomID) {
+      this.$refs.cenotegraphy.canvasChecked(RoomID);
+    },
+    //平面图取消选中空间,立面图对应取消选中
+    handleUncheckSpace(RoomID) {
+      this.$refs.cenotegraphy.canvasUncheck(RoomID);
     },
     // 编辑
     changeEditType() {

+ 1 - 1
src/views/point/config_point/edit_origin/index.vue

@@ -32,7 +32,7 @@
                     <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 8}" v-model="ProtocolInfo"  placeholder="请输入json格式数据" style="display:inline-block;width:400px;"> </el-input>
                 </el-form-item>
                 <el-form-item label="采集间隔时间">
-                    <el-input-number v-model="formData.CollectInterval" controls-position="right" @change="handleChange" :min="10"></el-input-number>s
+                    <el-input-number v-model="formData.CollectInterval" controls-position="right" @change="handleChange" :min="10"></el-input-number>&nbsp;&nbsp;s
                 </el-form-item>
             </el-form>
         </div>