Browse Source

Merge branch 'master' of lizhiqi/yongxu-web into master

lizhiqi 1 năm trước cách đây
mục cha
commit
417b15ffd9

+ 24 - 49
src/pages/DataBoard/index.tsx

@@ -15,6 +15,7 @@ import {
   queryDeviceData,
   queryDeviceRunTime,
   queryHomeInfo,
+  queryMapJson,
   queryUserChart,
   queryUserData,
 } from '@/services/dataBoardService';
@@ -124,6 +125,7 @@ const DataBoard: React.FC = () => {
   const [userChartsData, setUserChartsData] = useState([]);
   const [deviceChartsData, setDeviceChartsData] = useState([]);
   const [areaDeviceList, setAreaDeviceList] = useState([]);
+  const [mapJson, setMapJson] = useState({});
 
   const settings = {
     dots: false, //圆点显示(false隐藏)
@@ -141,7 +143,7 @@ const DataBoard: React.FC = () => {
       if (res?.code === 0) {
         // 设备数
         setDeviceNum((data) => {
-          data.number = [90];
+          data.number = [res.data.device_count];
           return { ...data };
         });
         // 故障设备数
@@ -151,19 +153,17 @@ const DataBoard: React.FC = () => {
         });
         // 主控数量
         setMasterControlNum((data) => {
-          // data.number = [res.data.master_count];
-          data.number = [90]; // 假数据 回头删
+          data.number = [res.data.master_count];
           return { ...data };
         });
         // 分控数量
         setSubControlNum((data) => {
-          // data.number = [res.data.sub_count];
-          data.number = [90 * 3]; // 假数据 回头删
+          data.number = [res.data.sub_count];
           return { ...data };
         });
         // 设备数统计
         setDeviceStatistics((data) => {
-          data.number = [90]; // 假数据 回头删
+          data.number = [res.data.device_count];
           return { ...data };
         });
       }
@@ -176,25 +176,22 @@ const DataBoard: React.FC = () => {
       if (res?.code === 0) {
         // 注册用户数
         setUserNum((data) => {
-          data.number = [res.data.user_count * 2]; // 假数据 回头删
+          data.number = [res.data.user_count];
           return { ...data };
         });
         // 家庭数量
         setHomeNum((data) => {
-          // data.number = [res.data.home_count];
-          data.number = [108]; // 假数据 回头删
+          data.number = [res.data.home_count];
           return { ...data };
         });
         // 在线设备数
         setOnlineDeviceNum((data) => {
-          // data.number = [res.data.device_online];
-          data.number = [90];
+          data.number = [res.data.device_online];
           return { ...data };
         });
         // 离线设备数
         setOfflineDeviceNum((data) => {
-          // data.number = [res.data.device_offline];
-          data.number = [0];
+          data.number = [res.data.device_offline];
           return { ...data };
         });
       }
@@ -206,7 +203,7 @@ const DataBoard: React.FC = () => {
     queryDeviceRunTime().then((res) => {
       if (res.code === 0) {
         setAllRunTime((data) => {
-          data.number = [res.data.total_run_time * 2.2];
+          data.number = [res.data.total_run_time];
           return { ...data };
         });
         setTodayRunTime((data) => {
@@ -221,30 +218,7 @@ const DataBoard: React.FC = () => {
   const getAreaData = () => {
     queryAreaData({ region_type: '1' }).then((res) => {
       if (res?.code === 0) {
-        // 假数据 回头删
-        const arr: any = [
-          {
-            name: '济南',
-            value: 22,
-          },
-          {
-            name: '菏泽',
-            value: 15,
-          },
-          {
-            name: '泰安',
-            value: 11,
-          },
-          {
-            name: '济宁',
-            value: 9,
-          },
-          {
-            name: '潍坊',
-            value: 9,
-          },
-        ];
-        setAreaDeviceList(arr);
+        setAreaDeviceList(res.data);
       }
     });
   };
@@ -253,11 +227,6 @@ const DataBoard: React.FC = () => {
   const deviceCharts = () => {
     queryDeviceChart({ time_type: deviceTypeValue }).then((res) => {
       if (res?.code === 0) {
-        // 假数据 回头删
-        const arr = res.data;
-        for (let i = 0; i < arr.length; i++) {
-          arr[i].value = arr[i].value * 9;
-        }
         setDeviceChartsData(res.data);
       }
     });
@@ -267,11 +236,6 @@ const DataBoard: React.FC = () => {
   const userCharts = () => {
     queryUserChart({ time_type: userTypeValue }).then((res) => {
       if (res?.code === 0) {
-        // 假数据 回头删
-        const arr = res.data;
-        for (let i = 0; i < arr.length; i++) {
-          arr[i].value = arr[i].value * 2;
-        }
         setUserChartsData(res.data);
       }
     });
@@ -295,6 +259,15 @@ const DataBoard: React.FC = () => {
     }, interval);
   };
 
+  // 获取地图json数据
+  const getMapJson = () => {
+    queryMapJson().then((res) => {
+      if (res && res.code === 0) {
+        setMapJson(res.data);
+      }
+    });
+  };
+
   useEffect(() => {
     // 组件挂载时立即获取一次数据
     getAreaData();
@@ -304,6 +277,7 @@ const DataBoard: React.FC = () => {
     deviceCharts();
     userCharts();
     getHomeListInfo();
+    getMapJson();
 
     timerFun(() => {
       getAreaData();
@@ -509,9 +483,10 @@ const DataBoard: React.FC = () => {
               </div>
             </div>
           </div>
+          {/* 地图 */}
           {areaDeviceList && areaDeviceList.length ? (
             <Suspense fallback={<div>loading</div>}>
-              <MapComponent userData={userNum} areaList={areaDeviceList} />
+              <MapComponent mapJson={mapJson} userData={userNum} areaList={areaDeviceList} />
             </Suspense>
           ) : (
             <datav.Loading style={{ position: 'absolute' }}>Loading...</datav.Loading>

+ 5 - 3
src/pages/DataBoard/mapComponent.tsx

@@ -1,13 +1,14 @@
 import * as echarts from 'echarts';
 import styles from './mapComponent.less';
 import React, { useEffect, useRef } from 'react';
-import chinaMap from '../../mapJson/zaozhuang.json';
+// import chinaMap from '../../mapJson/zaozhuang.json';
 import border from '../../../public/assets/decoration_six.png';
 import * as datav from '@jiaminghi/data-view-react';
 
 interface propsData {
   userData: object;
   areaList: any;
+  mapJson: object;
 }
 
 /**
@@ -16,8 +17,9 @@ interface propsData {
  */
 const MapComponent: React.FC<propsData> = (props) => {
   const chartRef: any = useRef();
-  const { userData, areaList } = props;
-  const data: any = chinaMap; //地图的数据来自之前引入的json文件
+  const { userData, areaList, mapJson } = props;
+  // const data: any = chinaMap; //地图的数据来自之前引入的json文件
+  const data: any = mapJson; //地图的数据来自之前引入的json文件
   const geoCoordMap = {
     济南市: [117, 36.65],
     青岛市: [120.33, 36.07],

+ 11 - 9
src/pages/setting/UserManagement/edit.tsx

@@ -2,10 +2,16 @@ import React, { useEffect, useState } from 'react';
 import type { UploadProps } from 'antd';
 import { Cascader } from 'antd';
 import { Checkbox, Col, Form, Input, message, Modal, Row, Select, Upload } from 'antd';
-import { createUser, editUser, queryTreeList, queryUserList } from '@/services/setting';
+import {
+  createUser,
+  editUser,
+  queryRoleUser,
+  queryTreeList,
+  queryUserList,
+} from '@/services/setting';
 import { LoadingOutlined, PlusOutlined } from '@ant-design/icons';
 import md5 from 'js-md5';
-import { queryRole } from '@/services/role';
+import { queryRoleList } from '@/services/role';
 
 interface userEditPros {
   visible: boolean;
@@ -49,7 +55,7 @@ const Edit: React.FC<userEditPros> = (props) => {
           role_id: data[0].role_parent_id,
         };
         // 根据角色id请求用户列表接口 保证所属名称字段编辑时回显
-        queryUserList(param).then((res) => {
+        queryRoleUser(param).then((res) => {
           if (res.code === 0) {
             setSelectList(res?.data || []);
           }
@@ -58,13 +64,9 @@ const Edit: React.FC<userEditPros> = (props) => {
     }
 
     // 角色列表
-    queryRole({ q: 'list' }).then((res) => {
+    queryRoleList({ q: 'list' }).then((res) => {
       if (res.code === 0) {
-        // 去掉超级管理员的角色
-        const arr = res.data.list.filter(
-          (item: { record_id: string }) => item.record_id !== '1t7svi01izqcoog3mtdyxdq1008mws8u',
-        );
-        setRoleList(arr);
+        setRoleList(res.data.list);
       }
     });
 

+ 7 - 0
src/services/dataBoardService.ts

@@ -52,3 +52,10 @@ export async function queryUserChart(param: object) {
 export async function queryHomeInfo() {
   return request(`/web/v1/statistic/home_info`);
 }
+
+/**
+ * 查询地图数据
+ */
+export async function queryMapJson() {
+  return request(`/web/v1/map_jsons/user`);
+}

+ 8 - 0
src/services/role.ts

@@ -9,6 +9,14 @@ export async function queryRole(param: object) {
   return request(`/web/v1/roles?${stringify(param)}`);
 }
 
+/**
+ * 用户管理的角色列表查询
+ * @param param
+ */
+export async function queryRoleList(param: object) {
+  return request(`/web/v1/roles/list?${stringify(param)}`);
+}
+
 /**
  * 删除角色
  * @param record_id

+ 8 - 0
src/services/setting/index.ts

@@ -9,6 +9,14 @@ export async function queryUserList(param: object) {
   return request(`/web/v1/users?${stringify(param)}`);
 }
 
+/**
+ * 查询用户管理的根据角色id来的所属名称列表
+ * @param param
+ */
+export async function queryRoleUser(param: object) {
+  return request(`/web/v1/users/list?${stringify(param)}`);
+}
+
 /**
  * 查询用户详情信息
  * @param id