Browse Source

修改成 链接传入projectId

zhaojijng 3 years ago
parent
commit
b06b85a359

+ 2 - 2
src/api/second.ts

@@ -3,11 +3,11 @@ export default {
     queryFs: "/daping/duoduo-service/object-service/object/floor/queryFs", //获取楼层
     queryParam: "/daping/duoduo-service/object-service/object/floor/queryParam", //获取楼层详情
     getWeatherCurrent:
-        "/weather/duoduo-service/object-service/weather/getCurrent", //天气
+        "/daping/duoduo-service/object-service/weather/getCurrent", //天气
     queryLastDayEnergy:
         "/daping/duoduo-service/review-service/energy/week/day/query", //上月每日能耗
     queryLastAllEnergy:
         "/daping/duoduo-service/review-service/sceneValue/query", //上月所有能耗
-
+    saveMapInfo:"/daping/duoduo-service/setup-service/map/saveMapInfo"//保存地图
         
 };

+ 10 - 1
src/router/index.ts

@@ -1,6 +1,7 @@
 import Vue from "vue";
 import VueRouter, { RouteConfig } from "vue-router";
 import Home from "@/views/Home.vue";
+import store from "@/store";
 
 Vue.use(VueRouter);
 
@@ -29,7 +30,7 @@ const routes: Array<RouteConfig> = [
         path: "/mapdata",
         name: "mapdata",
         component: () => import("@/views/mapdata.vue"),
-    }
+    },
 ];
 
 const router = new VueRouter({
@@ -38,4 +39,12 @@ const router = new VueRouter({
     routes,
 });
 
+router.beforeEach((to, from, next) => {
+    // canUserAccess() 返回 `true` 或 `false`
+    console.log("to", to);
+    var projectId = to.query.projectId || "";
+    debugger;
+    projectId && store.commit("setProjectId", projectId);
+    next();
+});
 export default router;

+ 13 - 8
src/store/index.ts

@@ -5,7 +5,7 @@ import api from "@/api/index";
 import moment from "moment";
 Vue.use(Vuex);
 
-let projectId: any = (<any>window).projectId;
+//let projectId: any = (<any>window).projectId;
 
 export default new Vuex.Store({
     state: {
@@ -16,6 +16,7 @@ export default new Vuex.Store({
         weatherCont: {}, //天气
         bodyWidth: null,
         bodyHeight: null,
+        projectId: "Pj1101020002",
     },
     getters: {
         getBodyWidthHeight(state) {
@@ -23,6 +24,9 @@ export default new Vuex.Store({
         },
     },
     mutations: {
+        setProjectId(state, val) {
+            state.projectId = val;
+        },
         setBodyWidth(state, width) {
             // debugger;
             state.bodyWidth = width;
@@ -49,10 +53,9 @@ export default new Vuex.Store({
     },
     actions: {
         getRealTimeData({ state, commit }, data) {
-            console.log("projectId", projectId);
             //实时数据
             axios
-                .get(api.queryEnvCurrent + `?projectId=${projectId}`)
+                .get(api.queryEnvCurrent + `?projectId=${state.projectId}`)
                 .then((res: any) => {
                     //debugger
                     var resdata = res.data.data || [];
@@ -62,7 +65,9 @@ export default new Vuex.Store({
         getAirCondition({ state, commit }, data) {
             //空调状态
             axios
-                .get(api.queryConditionerStatus + `?projectId=${projectId}`)
+                .get(
+                    api.queryConditionerStatus + `?projectId=${state.projectId}`
+                )
                 .then((res: any) => {
                     var resdata = res.data.data || {};
                     // debugger;
@@ -72,13 +77,13 @@ export default new Vuex.Store({
         getRealTimeTemp({ state, commit }, data) {
             //实时温度
             return axios.get(
-                api.queryIndoorTempList + `?projectId=${projectId}`
+                api.queryIndoorTempList + `?projectId=${state.projectId}`
             );
         },
         getLastMonthData({ state, commit }, data) {
             //上月数据
             axios
-                .get(api.queryEnvHistory + `?projectId=${projectId}`)
+                .get(api.queryEnvHistory + `?projectId=${state.projectId}`)
                 .then((res: any) => {
                     //debugger;
                     var resdata = res.data.data || [];
@@ -94,7 +99,7 @@ export default new Vuex.Store({
             axios
                 .post(api.queryLastAllEnergy, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: state.projectId,
                         yyyymm: monthTimeStr,
                     },
                 })
@@ -107,7 +112,7 @@ export default new Vuex.Store({
         },
         getWeahter({ state, commit }, data) {
             axios
-                .get(api.getWeatherCurrent + `?projectId=${projectId}`)
+                .get(api.getWeatherCurrent + `?projectId=${state.projectId}`)
                 .then((res: any) => {
                     //temperature = res.data.content.temperature;
                     //debugger;

+ 6 - 6
src/views/horizontalScreen.vue

@@ -131,9 +131,9 @@ export default {
                 var lastAllEnergy = JSON.parse(
                     JSON.stringify(state.lastAllEnergy)
                 );
-                lastAllEnergy.energyCompare = Number(
-                    (lastAllEnergy.energyCompare * 100).toFixed(0)
-                );
+                lastAllEnergy.energyCompare = lastAllEnergy.energyCompare
+                    ? Number((lastAllEnergy.energyCompare * 100).toFixed(0))
+                    : lastAllEnergy.energyCompare;
                 return lastAllEnergy;
             },
         }),
@@ -155,9 +155,9 @@ export default {
         right: 0;
         bottom: 0;
         overflow: hidden;
-        img{
-            width:100%;
-            height:100%;
+        img {
+            width: 100%;
+            height: 100%;
         }
     }
     .hor-head {

+ 7 - 1
src/views/mapdata.vue

@@ -92,7 +92,13 @@ export default Vue.extend({
                 //console.log(hindex, windex, lindex, tindex);
             });
             console.log("allDiv", allDiv);
-             console.log("allDiv-string",JSON.stringify(allDiv) );
+            console.log("allDiv-string", JSON.stringify(allDiv));
+            this.saveMapInfo(allDiv);
+        },
+        saveMapInfo(allDiv) {
+            this.$axios.post(this.$api.saveMapInfo, allDiv).then((res) => {
+                debugger;
+            });
         },
         getNum(str, param) {
             //debugger;

+ 11 - 7
src/views/valueDelivery/FloorSpace.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="floorCont">
         <div class="topChange">
-            <div class="buildName">{{ nowBuildName }}</div>
+            <div class="buildName" v-show="allBuild.length>1">{{ nowBuildName }}</div>
             <div class="allIndicator">
                 <div
                     class="eachItem"
@@ -67,6 +67,7 @@
 import { Loading } from "element-ui";
 import moment from "moment";
 import { selectColor } from "@/utils/publicMethod";
+import { mapState } from "vuex";
 
 export default {
     name: "FloorSpace",
@@ -137,6 +138,9 @@ export default {
             },
         },
     },
+    computed: {
+        ...mapState({ projectId: (state) => state.projectId }),
+    },
     watch: {
         showPing(newv, oldv) {
             //debugger;
@@ -169,7 +173,7 @@ export default {
                             _this.nowIndicatorIndex = 0;
                             _this.nowPage = 1;
                             if (_this.nowBuildPage == _this.allBuild.length) {
-                                // _this.$emit("donetowpage");
+                                _this.$emit("donetowpage");
                                 clearTimeout(timeoutsign);
                             } else {
                                 //换下一个建筑
@@ -193,7 +197,7 @@ export default {
             this.$axios
                 .post(this.$api.queryBuilding, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: this.projectId,
                     },
                 })
                 .then((res) => {
@@ -218,7 +222,7 @@ export default {
             this.$axios
                 .post(this.$api.queryFs, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: this.projectId,
                         //'Bd3301100002bba81f4830e04cde87d4b6e5652c0d5e',
                         buildingId: buildId,
                     },
@@ -241,7 +245,7 @@ export default {
                     if (allFloor.length == 0) {
                         _this.nowBuildPage = _this.nowBuildPage + 1;
                         if (_this.nowBuildPage > _this.allBuild.length) {
-                            // _this.$emit("donetowpage");
+                            _this.$emit("donetowpage");
                             return;
                         }
                         _this.queryFs();
@@ -273,7 +277,7 @@ export default {
                     this.firstPageParams = firstPageFloors.map((item) => {
                         var obj = {};
                         obj.id = item.id;
-                        obj.projectId = projectId;
+                        obj.projectId = this.projectId;
                         obj.spaceNum = firstMaxSpace;
                         return obj;
                     });
@@ -281,7 +285,7 @@ export default {
                     this.secondPageParams = secondPageFloors.map((item) => {
                         var obj = {};
                         obj.id = item.id;
-                        obj.projectId = projectId;
+                        obj.projectId = this.projectId;
                         obj.spaceNum = sendMaxSpace;
                         return obj;
                     });

+ 12 - 7
src/views/valueDelivery/HorFloorSpace.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="floorSpace" ref="floorSpace">
         <div class="leftChange">
-            <div class="buildName">{{nowBuildName}}</div>
+            <div class="buildName" v-show="allBuild.length>1">{{nowBuildName}}</div>
             <div class="allIndicator">
                 <div
                     class="eachItem "
@@ -48,6 +48,7 @@
 <script>
 import moment from "moment";
 import { selectColor } from "@/utils/publicMethod";
+import { mapState } from "vuex";
 
 export default {
     name: 'FloorSpace',
@@ -134,6 +135,9 @@ export default {
     destroyed(){
         console.log("horfloorspace---destroyed");
     },
+    computed: {
+        ...mapState({ projectId: (state) => state.projectId }),
+    },
     methods: {
         selectColor:selectColor,
         clickIndicator(index) {
@@ -157,7 +161,7 @@ export default {
                             _this.nowPage = 1;
                              //所有建筑指标轮询结束 通知切换
                             if (_this.nowBuildPage == _this.allBuild.length) {
-                                //_this.$emit("donetowpage");
+                                _this.$emit("donetowpage");
                                 clearTimeout(timeoutsign);
                             } else {
                                 //换下一个建筑
@@ -182,7 +186,7 @@ export default {
             this.$axios
                 .post(this.$api.queryBuilding, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: this.projectId,
                     },
                 })
                 .then((res) => {
@@ -206,7 +210,7 @@ export default {
             this.$axios
                 .post(this.$api.queryFs, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: this.projectId,
                            buildingId: buildId,
                     },
                     size: 14,//最多14层
@@ -227,9 +231,10 @@ export default {
                     debugger;
                     //如果该建筑的所有楼层 没有空间 则请求下一个建筑
                     if (allFloor.length == 0) {
+                        //换下一栋楼
                         _this.nowBuildPage = _this.nowBuildPage + 1;
                         if (_this.nowBuildPage > _this.allBuild.length) {
-                            //_this.$emit("donetowpage");
+                            _this.$emit("donetowpage");
                             return;
                         }
                         _this.queryFs();
@@ -260,7 +265,7 @@ export default {
                     this.firstPageParams = firstPageFloors.map((item) => {
                         var obj = {};
                         obj.id = item.id;
-                        obj.projectId = projectId;
+                        obj.projectId = this.projectId;
                         obj.spaceNum = firstMaxSpace;//最多空间数
                         return obj;
                     });
@@ -268,7 +273,7 @@ export default {
                     this.secondPageParams = secondPageFloors.map((item) => {
                         var obj = {};
                         obj.id = item.id;
-                        obj.projectId = projectId;
+                        obj.projectId = this.projectId;
                         obj.spaceNum = sendMaxSpace;
                         return obj;
                     });

+ 12 - 9
src/views/valueDelivery/lastEnergyChart.vue

@@ -18,7 +18,7 @@
 import G2 from "@antv/g2";
 import DataSet from "@antv/data-set";
 import moment from "moment";
-import { mapGetters } from "vuex";
+import { mapGetters, mapState } from "vuex";
 
 // 自定义 shape, 支持图片形式的气泡
 G2.Shape.registerShape("interval", "borderRadius", {
@@ -67,6 +67,7 @@ export default {
     },
     computed: {
         ...mapGetters(["getBodyWidthHeight"]),
+        ...mapState({ projectId: (state) => state.projectId }),
     },
     data() {
         return {
@@ -115,7 +116,7 @@ export default {
             this.$axios
                 .post(this.$api.queryLastDayEnergy, {
                     criteria: {
-                        projectId: projectId,
+                        projectId: this.projectId,
                         date: {
                             $gte: start,
                             $lte: end,
@@ -135,10 +136,11 @@ export default {
                             dateStr.substr(6, 2);
                         item.value = Number(
                             (
-                                (item.energyAcTerminal||0) +
-                                (item.energyCooling||0) +
-                                (item.energyHeating||0) +
-                                (item.energyLight||0)+(item.energyOthers||0)
+                                (item.energyAcTerminal || 0) +
+                                (item.energyCooling || 0) +
+                                (item.energyHeating || 0) +
+                                (item.energyLight || 0) +
+                                (item.energyOthers || 0)
                             ).toFixed(0)
                         );
                     });
@@ -183,13 +185,14 @@ export default {
             // ];
 
             if (this.screenType == "hor") {
-                var end = cdata[cdata.length - 1]&&cdata[cdata.length - 1].Date;
+                var end =
+                    cdata[cdata.length - 1] && cdata[cdata.length - 1].Date;
             } else {
-                var end = cdata[11]&&cdata[11].Date;
+                var end = cdata[11] && cdata[11].Date;
             }
             var ds = new DataSet({
                 state: {
-                    start: cdata[0]&&cdata[0].Date,
+                    start: cdata[0] && cdata[0].Date,
                     end: end,
                 },
             });

+ 11 - 5
src/views/verticalScreen.vue

@@ -1,5 +1,11 @@
 <template>
-    <div class="verticalWrap" :style="{background:'url('+ver_big_bg+')',backgroundSize:'100% 100%'}">
+    <div
+        class="verticalWrap"
+        :style="{
+            background: 'url(' + ver_big_bg + ')',
+            backgroundSize: '100% 100%',
+        }"
+    >
         <div class="pageHead">
             <pageHead />
         </div>
@@ -67,7 +73,7 @@ export default {
         return {
             nowPage: null,
             verticalInterval: null,
-            ver_big_bg:require("@/assets/ver_big_bg.png"),
+            ver_big_bg: require("@/assets/ver_big_bg.png"),
         };
     },
     mounted() {
@@ -84,9 +90,9 @@ export default {
                 var lastAllEnergy = JSON.parse(
                     JSON.stringify(state.lastAllEnergy)
                 );
-                lastAllEnergy.energyCompare = Number(
-                    (lastAllEnergy.energyCompare * 100).toFixed(0)
-                );
+                lastAllEnergy.energyCompare = lastAllEnergy.energyCompare
+                    ? Number((lastAllEnergy.energyCompare * 100).toFixed(0))
+                    : lastAllEnergy.energyCompare;
                 return lastAllEnergy;
             },
         }),