Parcourir la source

项目信息管理获取详情

duxiangyu il y a 3 ans
Parent
commit
656b5939b3

+ 11 - 2
src/components/project-manage/components/basic.vue

@@ -3,10 +3,10 @@
     <Title :name="name" />
     <div class="basic-content">
       <div class="basic-line">
-        项目ID:<span>{{ "XXXXXXXXX" }}</span>
+        项目ID:<span>{{ info.id }}</span>
       </div>
       <div class="basic-line">
-        项目本地名称:<span>{{ "XXXXXXXXX" }}</span>
+        项目本地名称:<span>{{ info.localName }}</span>
       </div>
     </div>
   </div>
@@ -22,6 +22,15 @@ export default {
       type: String,
       default: "",
     },
+    info: {
+      type: Object,
+      default: () => {
+        return {
+          id: "",
+          localName: "",
+        };
+      },
+    },
   },
 };
 </script>

+ 25 - 8
src/components/project-manage/components/geo.vue

@@ -46,6 +46,20 @@ export default {
     Title,
     FormItem,
   },
+  props: {
+    PropInfo: {
+      type: Object,
+      default: () => {
+        return {
+          district: "", // 省市区县
+          address: "", // 详细地址
+          lng: "", // 经度
+          lat: "", // 纬度
+          level: null, // 抗震设防烈度
+        };
+      },
+    },
+  },
   data() {
     return {
       map: null,
@@ -53,17 +67,11 @@ export default {
       autocomplete: null,
       markers: [], // 标记数组
 
-      geoFormData: {
-        // 地理信息数据
-        district: "", // 省市区县
-        address: "", // 详细地址
-        lng: "", // 经度
-        lat: "", // 纬度
-        level: null, // 抗震设防烈度
-      },
+      geoFormData: this.PropInfo,
     };
   },
   mounted() {
+    console.log(this.geoFormData, 111);
     this.initMap();
   },
   methods: {
@@ -73,6 +81,7 @@ export default {
         key: window.__systemConf.mapKey,
         version: "2.0",
         plugins: [],
+        setCenter: [this.geoFormData.lng, this.geoFormData.lat],
       }).then((Amap) => {
         this.map = new Amap.Map("map-container", {
           zoom: 11,
@@ -138,6 +147,14 @@ export default {
       this.markers.forEach((marker) => this.map.remove(marker));
     },
   },
+  watch: {
+    PropInfo: {
+      handler: (val) => {
+        this.geoFormData = val;
+      },
+      deep: true,
+    },
+  },
 };
 </script>
 <style lang="less" scoped>

+ 50 - 4
src/components/project-manage/index.vue

@@ -4,8 +4,8 @@
       <Anchor @goAnchor="goAnchor" />
     </div>
     <div class="right">
-      <Basic name="基本信息" />
-      <Geo />
+      <Basic name="基本信息" :info="info.basic" />
+      <Geo :propInfo="info.geo" />
       <Project />
       <Business />
       <div class="bottom">
@@ -20,7 +20,8 @@ import Basic from "./components/basic.vue";
 import Geo from "./components/geo.vue";
 import Project from "./components/project.vue";
 import Business from "./components/business.vue";
-import FloorController from "@/controller/old-adm/floorController";
+import { mapState } from "vuex";
+import ScanController from "@/controller/old-adm/ScanController";
 export default {
   components: {
     Anchor,
@@ -29,8 +30,48 @@ export default {
     Project,
     Business,
   },
-  mounted() {},
+  data() {
+    return {
+      info: {
+        basic: {
+          id: "",
+          localName: "",
+        },
+        geo: {
+          district: "", // 省市区县
+          address: "", // 详细地址
+          lng: "", // 经度
+          lat: "", // 纬度
+          level: null, // 抗震设防烈度
+        },
+      },
+    };
+  },
+  computed: {
+    ...mapState(["selectProject"]),
+    ...mapState("layout", ["projectId"]),
+  },
+  mounted() {
+    console.log(this.selectProject, this.projectId);
+    this.getInfo();
+  },
   methods: {
+    getInfo() {
+      ScanController.getAllProject({
+        filters: `projectId=${this.projectId}`,
+      }).then((res) => {
+        console.log(res);
+        if (res.content.length) {
+          let info = res.content[0];
+          const { id, localName, infos } = info;
+          this.info.basic.id = id;
+          this.info.basic.localName = localName;
+
+          this.info.geo.lng = infos.longitude;
+          this.info.geo.lat = infos.latitude;
+        }
+      });
+    },
     goAnchor(anchor) {
       let name = anchor + "-container";
       let dom = document.querySelector(`.${name}`);
@@ -40,6 +81,11 @@ export default {
       }
     },
   },
+  watch: {
+    projectId() {
+      this.getInfo();
+    },
+  },
 };
 </script>
 <style lang="less" scoped>

+ 5 - 3
src/controller/old-adm/ScanController.ts

@@ -1,5 +1,5 @@
 import { baseHttpUtils } from "@/utils/http/baseHttpUtils";
-import { adm_middleware } from '@/controller/old-adm/preTypes'
+import { adm_middleware } from "@/controller/old-adm/preTypes";
 import {
   datacenter_pre,
   dict_pre,
@@ -10,8 +10,10 @@ import {
   object_pre,
   rwd_pre,
 } from "./preTypes";
+import { middlewareHttpUtils } from "@/utils/http/middlewareHttpUtils";
 class ScanController {
   static http = new baseHttpUtils();
+  static middlewareHttp = new middlewareHttpUtils();
   /**
    * 查询不在当前系统下的设备
    */
@@ -229,8 +231,8 @@ class ScanController {
     );
   }
   static async getAllProject(params, fn) {
-    const res = await ScanController.http.postRequest(
-      object_pre + "/project/query/obj",
+    const res = await this.middlewareHttp.postRequest(
+      "/object/project/query/obj",
       params
     );
     return fn ? fn(res) : res;