Browse Source

fix buildfloor bugs

haojianlong 5 years ago
parent
commit
69adf08417

+ 9 - 3
src/components/ready/buildfloor/addConnectivity.vue

@@ -1,8 +1,8 @@
 <template>
-  <el-dialog title="楼层贯通关系维护" :visible.sync="connectDialogVis" width="30%" id="messageDialog">
+  <el-dialog title="楼层贯通关系维护" :visible.sync="connectDialogVis" width="50%" id="messageDialog">
     <el-row>
-      <div>添加与{{floor.FloorLocalName}}层有贯通关系的楼层 : </div>
-      <div :span="16">
+      <div style="line-height:32px;">添加与{{floor.FloorLocalName}}层有贯通关系的楼层 : </div>
+      <div style="width:70%">
         <bfCascader ref="bfCascader" :FloorID="floor.FloorID"></bfCascader>
       </div>
     </el-row>
@@ -61,6 +61,12 @@ export default {
 </script>
 <style lang="less" scoped>
 #messageDialog {
+  .el-row{
+    height: 50px;
+    max-height: 200px;
+    overflow-y: auto;
+    overflow-x: hidden;
+  }
   .el-row > div {
     float: left;
   }

+ 6 - 1
src/components/ready/buildfloor/buildfloorCascader.vue

@@ -47,4 +47,9 @@ export default {
     },
   }
 }
-</script>
+</script>
+<style lang="less" scoped>
+.el-cascader {
+  width: 100%;
+}
+</style>

+ 4 - 2
src/components/ready/buildfloor/formItems.vue

@@ -11,8 +11,10 @@
           <el-option v-for="op in item.options" :key="op.Code" :label="op.Name" :value="op.Code"></el-option>
         </el-select>
         <el-input v-model="form[item.Path]"
-          v-else-if="item.Visible && (item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M')"></el-input>
-        <el-input v-model="form[item.Path]" v-else readonly title="暂不支持"></el-input>
+          v-else-if="item.Visible && (item.InputMode == 'L'||item.InputMode == 'L1'||item.InputMode == 'L2'||item.InputMode == 'M')">
+          <template slot="append" v-if="item.Unit">{{item.Unit}}</template>
+        </el-input>
+        <el-input v-model="form[item.Path]" v-else disabled title="暂不支持"></el-input>
       </el-form-item>
     </el-form>
   </div>

+ 4 - 4
src/utils/buildfloor/tools.js

@@ -24,8 +24,8 @@ function returnNewObj(data, arr, val) {
  * @return a.b.c
  */
 function rKeyStrVal(key, val) {
-  let nk = key,arr = []
-  if (typeof (val) == 'object') {
+  let nk = key, arr = []
+  if (val instanceof Object && !(val instanceof Array)) {
     // for(let k in )
     return nk + '.' + rKeyStrVal()
   }
@@ -57,8 +57,8 @@ tools.formatData = (data) => {
 tools.desFormatData = (data) => {
   let newData = {}
   for (let key in data) {
-    if (typeof (data[key]) == 'object') { 
-      for(let childK in data[key]){
+    if (data[key] instanceof Object && !(data[key] instanceof Array)) {
+      for (let childK in data[key]) {
         let nk = `${key}.${childK}`
         newData[nk] = data[key][childK]
       }

+ 22 - 10
src/views/ready/buildfloor/index.vue

@@ -91,6 +91,7 @@
 <script>
 import addFloor from "@/views/ready/buildfloor/addFloor/index";
 import addBuild from "@/components/ready/buildfloor/addBuild";
+import { mapGetters, mapActions } from "vuex";
 import addConnectivity from "@/components/ready/buildfloor/addConnectivity";
 import {
   buildingQuery,
@@ -131,20 +132,26 @@ export default {
       curFloorId: '', //当前选中的楼层id
     }
   },
+  computed: {
+    ...mapGetters("layout", ["projectId"])
+  },
   mounted() { },
   created() {
-    let bdParam = {
-      PageNumber: 1,
-      PageSize: 500
-    }
-    buildingQuery(bdParam, res => {
-      this.buildList = res.Content;
-      if (this.buildList.length) {
-        this.changeBuild(0)
-      }
-    })
+    this.init()
   },
   methods: {
+    init() {
+      let bdParam = {
+        PageNumber: 1,
+        PageSize: 500
+      }
+      buildingQuery(bdParam, res => {
+        this.buildList = res.Content;
+        if (this.buildList.length) {
+          this.changeBuild(0)
+        }
+      })
+    },
     //change build
     changeBuild(index) {
       this.buildList.map(item => {
@@ -222,6 +229,11 @@ export default {
       this.$refs.addConnectivity.showDialog()
       this.$refs.addConnectivity.floor = row
     }
+  },
+  watch: {
+    projectId() {
+      this.init();
+    }
   }
 }
 </script>