Browse Source

modify spacebusiness

haojianlong 5 years ago
parent
commit
7f6be3c553

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

@@ -225,7 +225,7 @@ export default {
       if (val == "point") {
         this.$router.push({
           path: "/ledger/spaceDetail",
-          query: { RoomID: infos.RoomID, zone: this.zoneCode }
+          query: { RoomID: infos.RoomID, zone: this.zoneCode, isMyTab: 2 }
         })
       } else if (val == "RoomQRCode") {
         this.qrcodeUrl = this.main[row.row].RoomQRCode

+ 31 - 4
src/components/business_space/newAddDialogs/addEquipDialog.vue

@@ -76,7 +76,7 @@
       </el-col>
       <el-col :span="15">
         <span style="margin-left:10px;">所属楼层</span>
-        <el-cascader @change="getTableData" v-model="floor" :options="options"></el-cascader>
+        <el-cascader @change="getTableData" v-model="floor" :options="options" :props="props"></el-cascader>
         <el-checkbox style="margin-left:10px;" @change="getTableData" :checked="showType" label="只显示在当前业务空间中的设备"></el-checkbox>
       </el-col>
     </el-row>
@@ -114,6 +114,7 @@
 <script>
 import {
   getSpaceEquip,
+  buildingQuery, //数据中心-建筑查询
 } from "@/api/scan/request";
 import { mapGetters } from "vuex";
 export default {
@@ -121,9 +122,7 @@ export default {
 
   },
   computed: {
-    ...mapGetters("layout", [
-      "projectId",
-    ])
+    ...mapGetters("layout", ["projectId"])
   },
   data() {
     return {
@@ -148,11 +147,39 @@ export default {
         pageNumber: 1,
         total: 0
       },
+      props: { //自定义字段
+        value: "BuildID",
+        label: "BuildLocalName",
+        children: "Floor"
+      },
     };
   },
   created() {
+    this.getBuilding()
   },
   methods: {
+    // 获取项目下建筑
+    getBuilding() {
+      let pa = {
+        Cascade: [{ name: 'floor', Orders: 'SequenceId desc' }],
+        Orders: "BuildLocalName asc",
+      }
+      buildingQuery(pa, res => {
+        this.options = res.Content.map(t => {
+          if (t.Floor) {
+            t.Floor = t.Floor.map(item => {
+              item.BuildID = item.FloorID;
+              item.BuildLocalName = item.FloorLocalName;
+              return item;
+            })
+          } else {
+            t.Floor = []
+          }
+          t.Floor.unshift({ BuildID: 'isNull', BuildLocalName: '未明确楼层' })
+          return t;
+        })
+      })
+    },
     // 显示弹窗
     showDialog() {
       this.dialogVisible = true

+ 3 - 2
src/components/business_space/newTables/eqToSpaceTable.vue

@@ -2,7 +2,7 @@
   <div id="eqInSp">
     <el-row>
       <el-button type="primary" @click="add">添加{{inSpaceType}}</el-button>
-      <el-tooltip class="item" effect="dark" :content="`可前往“全部关系总览”中,按坐标计算空间内的${inSpaceType}`" placement="right">
+      <el-tooltip class="item" effect="dark" :content="`可前往“全部关系总览”中,按坐标计算${typeToTips[type]}`" placement="right">
         <el-button>按空间计算</el-button>
       </el-tooltip>
     </el-row>
@@ -50,7 +50,7 @@ import { mapGetters } from "vuex";
 import addEquipDialog from "@/components/business_space/newAddDialogs/addEquipDialog"
 export default {
   components: {
-addEquipDialog
+    addEquipDialog
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
@@ -112,6 +112,7 @@ addEquipDialog
     // 添加设备
     add() {
       this.$refs.addEqDialog.showDialog()
+      this.$refs.addEqDialog.floor = [this.params.BuildingId, this.params.FloorId]
     }
   },
   watch: {

+ 1 - 1
src/components/business_space/newTables/syInSpaceTable.vue

@@ -2,7 +2,7 @@
   <div id="eqInSp">
     <el-row>
       <el-button type="primary" @click="add">添加{{inSpaceType}}</el-button>
-      <el-tooltip class="item" effect="dark" :content="`可前往“全部关系总览”中,按坐标计算空间内的${inSpaceType}`" placement="right">
+      <el-tooltip class="item" effect="dark" :content="`可前往“全部关系总览”中,按坐标计算${typeToTips[type]}`" placement="right">
         <el-button>按空间计算</el-button>
       </el-tooltip>
     </el-row>

+ 8 - 1
src/views/ledger/spacelist/index.vue

@@ -115,7 +115,14 @@ export default {
     };
   },
   created() {
-    this.init()
+    this.init();
+    let params = this.$route.params;
+    if (params.BuildingId) {
+      this.buildFloorSelectd = [params.BuildingId, params.FloorId];
+      this.activeName = params.zone;
+      this.isMyTab = params.isMyTab;
+      this.changeRadio(this.isMyTab)
+    }
   },
   mounted() { },
   methods: {

+ 18 - 4
src/views/ledger/spacelist/spaceDetail/index.vue

@@ -14,7 +14,7 @@
           </el-tabs>
         </div>
         <div class="deleBtn">
-          <el-button size="small">删除业务空间</el-button>
+          <el-button size="small" @click="deleteSpace">删除业务空间</el-button>
         </div>
       </el-row>
       <div v-if="activeTab=='detail'" style="height:calc(100% - 110px)">
@@ -31,13 +31,13 @@
 
 <script>
 import { mapGetters } from "vuex"
-import { queryZone } from '@/api/scan/request'
+import { queryZone, deleteZone } from '@/api/scan/request'
 import eqToSpaceTable from '@/components/business_space/newTables/eqToSpaceTable'
 import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable'
 export default {
   data() {
     return {
-      params: {}, //参数-包含空间id 分区类型
+      params: {}, //参数-包含空间id 分区类型 进入方式(1-平面图 2-列表)
       tabsList: [
         { Code: 'detail', Name: '空间详情' },
         { Code: 'equipment', Name: '空间内设备' },
@@ -70,7 +70,7 @@ export default {
     goBack() {
       this.$router.push({
         name: "spacelist",
-        params: { Family: this.params.Family }
+        params: this.params
       })
     },
     // 查询空间详情
@@ -83,12 +83,26 @@ export default {
       }
       queryZone(pa, res => {
         this.spaceDetails = res.Content[0];
+        this.params.BuildingId = this.spaceDetails.BuildingId;
+        this.params.FloorId = this.spaceDetails.FloorId;
       })
     },
     // 设置iframe
     setFrame() {
       this.iframeSrc =
         `${process.env.BASE_URL}:8889/#/details?perjectId=${this.projectId}&secret=${this.secret}&FmId=${this.params.RoomID}&type=0&code=${this.params.zone}`;
+    },
+    // 删除业务空间
+    deleteSpace() {
+      let pa = {
+        data: [{
+          Id: this.spaceDetails.RoomID
+        }],
+        zone: this.params.zone
+      }
+      deleteZone(pa, res => {
+        console.log(res)
+      })
     }
   }
 };