xujunjie 1 vuosi sitten
vanhempi
commit
db22afc2ed

+ 18 - 14
src/pages/HardwareController/AirConditioner.js

@@ -1,21 +1,26 @@
 import PageContent from '@/components/PageContent';
 import PageTitle from '@/components/PageTitle';
-import { queryConditionSnapshot } from '@/services/SmartOps';
+import { queryIotList } from '@/services/HardwareController';
 import { useParams, useRequest } from '@umijs/max';
+import { Spin } from 'antd';
 import styles from './index.less';
 
 const Work = (props) => {
   const { projectId } = useParams();
 
-  const { data, loading } = useRequest(queryConditionSnapshot, {
-    defaultParams: [{ project_id: projectId }],
-    initialData: {},
+  const { data, loading } = useRequest(queryIotList, {
+    defaultParams: [projectId],
   });
 
+  const getIconStatus = (status) => {
+    if (status == 1) return '';
+    if (status == 2) return styles.offline;
+    if (status == 3) return styles.error;
+  };
+
   return (
     <PageContent>
       <PageTitle>空调控制</PageTitle>
-      <div className={styles.desc}>当前空间&nbsp;&nbsp;温度:26 湿度:2.4%</div>
       <div className={`card-box ${styles.top}`}>
         <div className={styles.left}>
           <img
@@ -39,15 +44,14 @@ const Work = (props) => {
           </div>
         </div>
       </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={styles.icon}></i> 空调1
-      </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={styles.icon}></i> 空调2
-      </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={`${styles.icon} ${styles.error}`}></i> 空调3
-      </div>
+      <Spin spinning={loading}>
+        {data?.list?.map((item) => (
+          <div className={`card-box ${styles.item}`}>
+            <i className={`${styles.icon} ${getIconStatus(item.status)}`}></i>{' '}
+            {item.name}
+          </div>
+        ))}
+      </Spin>
     </PageContent>
   );
 };

+ 17 - 13
src/pages/HardwareController/Light.js

@@ -1,17 +1,22 @@
 import PageContent from '@/components/PageContent';
 import PageTitle from '@/components/PageTitle';
-import { queryConditionSnapshot } from '@/services/SmartOps';
+import { queryLightList } from '@/services/HardwareController';
 import { useParams, useRequest } from '@umijs/max';
 import styles from './index.less';
 
 const Work = (props) => {
   const { projectId } = useParams();
 
-  const { data, loading } = useRequest(queryConditionSnapshot, {
-    defaultParams: [{ project_id: projectId }],
-    initialData: {},
+  const { data, loading } = useRequest(queryLightList, {
+    defaultParams: [projectId],
   });
 
+  const getIconStatus = (status) => {
+    if (status == 1) return '';
+    if (status == 2) return styles.offline;
+    if (status == 3) return styles.error;
+  };
+
   return (
     <PageContent>
       <PageTitle>照明控制</PageTitle>
@@ -38,15 +43,14 @@ const Work = (props) => {
           </div>
         </div>
       </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={styles.icon}></i> 照明1
-      </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={styles.icon}></i> 照明2
-      </div>
-      <div className={`card-box ${styles.item}`}>
-        <i className={`${styles.icon} ${styles.error}`}></i> 照明3
-      </div>
+      <Spin spinning={loading}>
+        {data?.list?.map((item) => (
+          <div className={`card-box ${styles.item}`}>
+            <i className={`${styles.icon} ${getIconStatus(item.status)}`}></i>{' '}
+            {item.name}
+          </div>
+        ))}
+      </Spin>
     </PageContent>
   );
 };

+ 12 - 0
src/services/HardwareController.js

@@ -0,0 +1,12 @@
+import { request } from 'umi';
+
+export async function queryIotList(project_id) {
+  return request(`/api/iot/v1/aircon/list`, {
+    data: { project_id },
+  });
+}
+export async function queryLightList(project_id) {
+  return request(`/api/iot/v1/lamp/list`, {
+    data: { project_id },
+  });
+}