Browse Source

修改获取建筑楼层公用方法

zhangyu 5 years ago
parent
commit
cefcad9e59

+ 6 - 3
src/components/ledger/handsontables/assets.vue

@@ -71,7 +71,7 @@ import tools from "@/utils/scan/tools"
 import handsonUtils from "@/utils/scan/hasontableUtils"
 import showTools from "@/utils/handsontable/notShow"
 import text from "@/utils/handsontable/mainText"
-import buildFloorData from '@/utils/handsontable/buildFloorData'
+import buildFloor from '@/utils/handsontable/buildFloorData'
 
 import qrcode from "@/components/business_space/lib/qrcode"
 import firm from "@/components/business_space/dialogs/list/firm"
@@ -120,7 +120,9 @@ export default {
     detailsDialog,
     lookPic
   },
-  created() { },
+  created() {
+    buildFloor.getData(this.buildFloorData)
+  },
   computed: {
     ...mapGetters("layout", [ "projectId", "secret", "userId" ]),
     showTypes() {
@@ -138,6 +140,7 @@ export default {
         value: false,
         label: '编辑模式'
       }],
+      buildFloorData: [], //楼层数据
       tableData: [],
       mess: {},
       tableHeader: null,
@@ -469,7 +472,7 @@ export default {
           renderer: tools.customDropdownRenderer,
           editor: "chosen",
           chosenOptions: {
-            data: buildFloorData.data
+            data: this.buildFloorData
           },
           readOnly: this.onlyRead
         })

+ 115 - 61
src/utils/handsontable/buildFloorData.js

@@ -1,30 +1,39 @@
 import { floorQuery, buildingQuery } from '@/api/scan/request'
 
-const buildFloorData = {
-  data: []
-}
+const buildFloor = {
+  getData: function (buildFloorData) {
+    let data, buildParams = {
+        PageNumber: 1,
+        PageSize: 500,
+        Projection: [
+            "BuildID",
+            "BuildLocalName"
+        ]
+    }, floorParams = {
+        Orders: "FloorSequenceID desc",
+        PageNumber: 1,
+        PageSize: 500,
+        Projection: [
+            "BuildID",
+            "FloorID",
+            "FloorLocalName",
+            "FloorSequenceID"
+        ]
+    }
 
-function getData () {
-  let data, buildParams = {
-      PageNumber: 1,
-      PageSize: 500,
-      Projection: [
-          "BuildID",
-          "BuildLocalName"
-      ]
-  }, floorParams = {
-      Orders: "FloorSequenceID desc",
-      PageNumber: 1,
-      PageSize: 500,
-      Projection: [
-          "BuildID",
-          "FloorID",
-          "FloorLocalName",
-          "FloorSequenceID"
-      ]
-  }
-  buildingQuery(buildParams, res => {
-      let builData = res.Content
+    let promise1 = new Promise((resolve, reject) => {
+      buildingQuery(buildParams, res => {
+        resolve(res)
+      })
+    })
+    let promise2 = new Promise((resolve, reject) => {
+      floorQuery(floorParams, res => {
+        resolve(res)
+      })
+    })
+
+    return Promise.all([promise1, promise2]).then(function(values) {
+      let builData = values[0].Content, floorData = values[1].Content
       data = builData.map(build => {
           return {
               value: build.BuildID,
@@ -35,45 +44,90 @@ function getData () {
         value: "",
         label: "未明确建筑的设备"
       })
-      floorQuery(floorParams, res => {
-          let floorData = res.Content
-          data.forEach(build => {
-              floorData.forEach(floor => {
-                  if (build.value == floor.BuildID && floor.FloorID && floor.FloorLocalName) {
-                      if (build.children) {
-                          build.children.push({
-                              value: floor.FloorID,
-                              label: floor.FloorLocalName
-                          })
-                      } else {
-                          build.children = []
-                          build.children.push({
-                              value: "",
-                              label: "未明确楼层的设备"
-                          })
-                      }
-                  }
-              })
-          })
-          data.forEach(item => {
-            if (item.children && item.children.length) {
-              item.children.forEach(child => {
-                buildFloorData.data.push({
-                  Code: item.value + "-" + child.value,
-                  Name: item.label + "-" + child.label
-                })
-              })
-            } else {
-              buildFloorData.data.push({
-                Code: item.value,
-                Name: item.label
-              })
+      data.forEach(build => {
+        floorData.forEach(floor => {
+            if (build.value == floor.BuildID && floor.FloorID && floor.FloorLocalName) {
+                if (build.children) {
+                    build.children.push({
+                        value: floor.FloorID,
+                        label: floor.FloorLocalName
+                    })
+                } else {
+                    build.children = []
+                    build.children.push({
+                        value: "",
+                        label: "未明确楼层的设备"
+                    })
+                }
             }
+        })
+      })
+      data.forEach(item => {
+        if (item.children && item.children.length) {
+          item.children.forEach(child => {
+            buildFloorData.push({
+              Code: item.value + "-" + child.value,
+              Name: item.label + "-" + child.label
+            })
           })
+        } else {
+          buildFloorData.push({
+            Code: item.value,
+            Name: item.label
+          })
+        }
       })
-  })
+    })
+    // buildingQuery(buildParams, res => {
+    //   let builData = res.Content
+    //   data = builData.map(build => {
+    //       return {
+    //           value: build.BuildID,
+    //           label: build.BuildLocalName
+    //       }
+    //   })
+    //   data.unshift({
+    //     value: "",
+    //     label: "未明确建筑的设备"
+    //   })
+    //   floorQuery(floorParams, res => {
+    //       let floorData = res.Content
+    //       data.forEach(build => {
+    //           floorData.forEach(floor => {
+    //               if (build.value == floor.BuildID && floor.FloorID && floor.FloorLocalName) {
+    //                   if (build.children) {
+    //                       build.children.push({
+    //                           value: floor.FloorID,
+    //                           label: floor.FloorLocalName
+    //                       })
+    //                   } else {
+    //                       build.children = []
+    //                       build.children.push({
+    //                           value: "",
+    //                           label: "未明确楼层的设备"
+    //                       })
+    //                   }
+    //               }
+    //           })
+    //       })
+    //       data.forEach(item => {
+    //         if (item.children && item.children.length) {
+    //           item.children.forEach(child => {
+    //             buildFloorData.push({
+    //               Code: item.value + "-" + child.value,
+    //               Name: item.label + "-" + child.label
+    //             })
+    //           })
+    //         } else {
+    //           buildFloorData.push({
+    //             Code: item.value,
+    //             Name: item.label
+    //           })
+    //         }
+    //       })
+    //   })
+    // })
+  }
 }
 
-getData()
-
-export default buildFloorData
+export default buildFloor

+ 5 - 3
src/views/ledger/property/addproperty.vue

@@ -46,7 +46,7 @@ import handsonUtils from "@/utils/hasontableUtils"
 import showTools from "@/utils/handsontable/notShow"
 import text from "@/utils/handsontable/mainText"
 import session from "@/framework/utils/storage"
-import buildFloorData from '@/utils/handsontable/buildFloorData'
+import buildFloor from '@/utils/handsontable/buildFloorData'
 
 import handsonTable from "@/components/common/handsontable"
 import { getDataDictionary, createPropertyData } from "@/api/scan/request"
@@ -78,6 +78,7 @@ export default {
     return {
       addNum: 1,
       onlyRead: false,
+      buildFloorData: [],
       tableHeader: [],
       tableData: session.get("propertyAddData")
         ? session.get("propertyAddData").length
@@ -116,7 +117,8 @@ export default {
     ...mapGetters("layout", ["projectId", "secret", "userId"])
   },
   created() {
-		this.category = this.$route.query;
+    this.category = this.$route.query;
+    buildFloor.getData(this.buildFloorData)
     this.getTableHeader();
   },
   methods: {
@@ -234,7 +236,7 @@ export default {
         renderer: tools.customDropdownRenderer,
         editor: "chosen",
         chosenOptions: {
-            data: buildFloorData.data
+            data: this.buildFloorData
         }
       })
       return data