Browse Source

Merge branch 'master' into feat-modalDrag

anxiaoxia 2 years ago
parent
commit
6668ecf717

+ 2 - 1
src/config/api.js

@@ -1,5 +1,6 @@
 export const BASE_PATH = '/api';
 //export const projectId = 'Pj3301100002';//之江
-//export const projectId = 'Pj1101080259';//Pj1101080259
+//export const projectId = 'Pj1101080259';//博锐
+//export const projectId = 'Pj1101140020';//吉因加
 export const projectObj = { projectId: 'Pj1101080259' };
 // export const projectObj = { projectId: 'Pj3301100002' };

+ 2 - 10
src/models/sagacare_spaceFunc.ts

@@ -63,16 +63,8 @@ export default function () {
   const [hasPersonList, setHasPersonList] = useState<any[]>([]);
 
   const querySpaceAdjustList = useCallback((selFloorId) => {
-    return getSpaceAdjustArray(
-      {
-        criteria: {
-          projectId: projectObj.projectId,
-          floorId: selFloorId,
-        },
-      },
-      {},
-    ).then(function (res) {
-      var resList = res.content || [];
+    return getSpaceAdjustArray({ floorId: selFloorId }, {}).then(function (res) {
+      var resList = res.data || [];
       setHasPersonList(resList);
       return 'next';
     });

+ 0 - 1
src/pages/Equipment/components/topNavRight/index.tsx

@@ -25,7 +25,6 @@ const TopNavRight: React.FC<topNavRightProps> = ({
 }) => {
   //const [modalvisible, setModalvisible] = useState<boolean>(false);
   //去掉全部设备的 设备列表
-
   const [deviceList, setDeviceList] = useState<navigatorItem[]>([]);
   useEffect(() => {
     setDeviceList(navigatorList.slice(1));

+ 46 - 18
src/pages/Equipment/index.tsx

@@ -24,8 +24,8 @@ import {
   getMapList,
   queryEquipStatistics,
   queryDeviceTimeManage,
+  queryProjectEquipType,
 } from '@/services/sagacare_service/environment';
-
 import {
   changeCurtain,
   changeAir,
@@ -54,7 +54,7 @@ const Environment: React.FC = () => {
 
   const [showModal, setShowModal] = useState<boolean>(false);
   const [showSpace, setShowSpace] = useState<API.MapInfo>({}); //当前弹框选中的空间
-  const [navigatorList, setNavigatorList] = useState<navigatorItem[]>([
+  const initNavigatorList = [
     {
       name: '全部设备',
       id: 'all',
@@ -87,7 +87,8 @@ const Environment: React.FC = () => {
       color: '#E89E32',
       colorStr: '232, 158, 50,',
     },
-  ]);
+  ];
+  const [navigatorList, setNavigatorList] = useState<any[]>([]);
   const [scale, setScale] = useState<number>(0.8);
   const [maxScale, setMaxScale] = useState<number>(1);
   const [transXInit, setTransXInit] = useState<number>(0);
@@ -99,7 +100,7 @@ const Environment: React.FC = () => {
   const [equipMapList, setEquipMapList] = useState<any[]>([]);
   const [timeMapList, setTimeMapList] = useState<any[]>([]);
 
-  const [selNav, setSelNav] = useState<navigatorItem>(navigatorList[0]);
+  const [selNav, setSelNav] = useState<navigatorItem>(initNavigatorList[0]);
   const [selFloorId, setSelFloorId] = useState<string>();
   const [mapCombineList, setMapCombineList] = useState<any[]>([]);
   const [loading, setLoading] = useState<boolean>(false);
@@ -215,6 +216,7 @@ const Environment: React.FC = () => {
   };
   //获取地图 mapList
   useEffect(() => {
+    getProjectEquipType();
     if (selFloorId) {
       changeLastFloorId(selFloorId);
       setLoading(true);
@@ -297,15 +299,14 @@ const Environment: React.FC = () => {
         //if (!setTimer.current) return;
         var statistics = res.data.statistics || [];
         //赋值 运行中的设备数量
+
         navigatorList.forEach(function (nItem) {
           var fres = statistics.filter((sItem: statistics) => {
             return sItem.equipType == nItem.id;
           });
           nItem.num = (fres[0] || {}).runCount;
         });
-
         setNavigatorList(navigatorList);
-
         //设备空间信息
         var spaceList = res.data.spaceList || [];
         spaceList.forEach((item: any) => {
@@ -347,13 +348,39 @@ const Environment: React.FC = () => {
   };
   let setTimer1 = useRef();
   let setTimer2 = useRef();
-  function getDeviceStatus() {
-    queryDeviceManage().then((res) => {
+
+  async function getDeviceStatus() {
+    await queryDeviceManage().then((res) => {
       setTimer1.current = setTimeout(() => {
         getDeviceStatus();
       }, 8000);
     });
   }
+
+  function getProjectEquipType() {
+    // 项目拥有的设备
+    return queryProjectEquipType().then((res) => {
+      const resData = res.data || [];
+      let arr: any = [];
+      initNavigatorList.map((item: any, idx: any) => {
+        if (idx === 0) {
+          arr.push(item);
+          return;
+        } // 第一个为全部设备,不参与对比
+        let hasEquip = false; // 没有此设备
+        resData.map((resItem: any) => {
+          if (item.id === resItem) {
+            hasEquip = true;
+          }
+        });
+        if (hasEquip) {
+          arr.push(item);
+        }
+      });
+      setNavigatorList(arr);
+    });
+  }
+
   function getSpaceHasPerson(sfId: any) {
     //获取有人无人
     querySpaceAdjustList(sfId).then((res) => {
@@ -425,14 +452,13 @@ const Environment: React.FC = () => {
         return ele.id == spaceId;
       });
       var filterSpace3 = hasPersonList.filter((ele) => {
-        return ele.id == spaceId;
+        return ele.spaceId == spaceId;
       });
       var combine = Object.assign({}, filterSpace3[0], filterSpace1[0], filterSpace2[0], mitem);
 
       combineList.push(combine);
     });
     setMapCombineList(combineList);
-    console.log('combine');
   }, [equipMapList, mapList, timeMapList, hasPersonList]);
 
   let firtTime: number = 0;
@@ -445,12 +471,14 @@ const Environment: React.FC = () => {
         type={'equipment'}
         navigatorChange={navigatorChange}
         action={
-          <TopNavRight
-            selNavObj={selNav}
-            navigatorList={navigatorList}
-            mapList={mapCombineList}
-            queryDeviceManage={queryDeviceManage}
-          ></TopNavRight>
+          navigatorList.length > 0 && (
+            <TopNavRight
+              selNavObj={selNav}
+              navigatorList={navigatorList}
+              mapList={mapCombineList}
+              queryDeviceManage={queryDeviceManage}
+            ></TopNavRight>
+          )
         }
         changeFloorId={changeFloorId}
         selParamObj={selNav}
@@ -609,7 +637,7 @@ const Environment: React.FC = () => {
                       </div>
                     )}
                     {(selNav.id == 'airConditioner' || selNav.id == 'light') &&
-                      item.isPassengerPass &&
+                      item.runStatus === 1 &&
                       item.canClick && (
                         <div
                           className={mapstyles.hasPerson}
@@ -630,7 +658,7 @@ const Environment: React.FC = () => {
                         </div>
                       )}
                     {(selNav.id == 'airConditioner' || selNav.id == 'light') &&
-                      item.isPassengerPass == false &&
+                      item.runStatus === 0 &&
                       item.canClick && (
                         <div
                           className={mapstyles.hasPerson}

+ 33 - 18
src/services/sagacare_service/environment.ts

@@ -2,6 +2,20 @@
 import { request } from 'umi';
 import { projectObj } from '@/config/api';
 import UserStorage from '@/config/sagacare/sagacare_user';
+function getProjectId() {
+  const id = projectObj.projectId;
+  return id;
+}
+
+function commonParams() {
+  var userObj = UserStorage.getInstance();
+  const user = userObj.getUser();
+  var pubname = 'sgadmin';
+
+  return `openid=${user.id}&pubname=${pubname}&projectId=${getProjectId()}&userId=${
+    user.id
+  }&userName=${user.name}&userPhone=${user.phone}`;
+}
 
 export async function getMapList(body: any, options?: { [key: string]: any }) {
   return request<API.MapInfoRes>(
@@ -58,20 +72,6 @@ export async function queryDeviceTimeManage(params: any, options?: { [key: strin
   );
 }
 
-function getProjectId() {
-  const id = projectObj.projectId;
-  return id;
-}
-
-function commonParams() {
-  var userObj = UserStorage.getInstance();
-  const user = userObj.getUser();
-  var pubname = 'sgadmin';
-
-  return `openid=${user.id}&pubname=${pubname}&projectId=${getProjectId()}&userId=${
-    user.id
-  }&userName=${user.name}`;
-}
 // chart
 export async function queryPropertyData(params: any, options?: { [key: string]: any }) {
   return request<API.DeviceTimeType>(
@@ -83,15 +83,17 @@ export async function queryPropertyData(params: any, options?: { [key: string]:
     },
   );
 }
-export async function getSpaceAdjustArray(body: any, otherParam: any) {
+// 有人无人
+export async function getSpaceAdjustArray(params: any) {
   return request<API.DeviceTimeType>(
-    `/sgadmin/duoduo-service/duoduoenv-service/spaceAdjust/getSpaceAdjustList`,
+    `/sgadmin/duoduo-service/object-service/object/equipment/queryFloorSpaceStatus?projectId=${getProjectId()}&floorId=${
+      params.floorId
+    }&equipType=bodySensor&booleanInfoCode=isPassengerPass&expireTime=5`,
     {
-      method: 'POST',
+      method: 'GET',
       headers: {
         'Content-Type': 'application/json',
       },
-      data: body,
     },
   );
 }
@@ -178,3 +180,16 @@ export async function reFreshCheckToken(header: any, options?: { [key: string]:
     ...(options || {}),
   });
 }
+
+// 项目拥有的设备
+export async function queryProjectEquipType() {
+  return request<API.EnvironmentParam>(
+    `/sgadmin/duoduo-service/object-service/object/equipment/queryProjectEquipType?${commonParams()}`,
+    {
+      method: 'GET',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+    },
+  );
+}

+ 1 - 2
src/services/sagacare_service/equipment.js

@@ -12,8 +12,7 @@ function commonParams() {
     var userObj = UserStorage.getInstance();
      const user = userObj.getUser();
      var pubname='sgadmin';
-    
-    return `openid=${user.id}&pubname=${pubname}&projectId=${getProjectId()}&userId=${user.id}&userName=${user.name}`;
+    return `openid=${user.id}&pubname=${pubname}&projectId=${getProjectId()}&userId=${user.id}&userName=${user.name}&userPhone=${user.phone}`;
 }
 
 // function commonParams() {