Procházet zdrojové kódy

fix(compiler): update

shylock před 1 rokem
rodič
revize
f85a119eac
2 změnil soubory, kde provedl 57 přidání a 18 odebrání
  1. 6 1
      src/pages/home/index.tsx
  2. 51 17
      src/pages/setting/UserManagement/edit.tsx

+ 6 - 1
src/pages/home/index.tsx

@@ -157,6 +157,7 @@ const Home: React.FC = () => {
       title: '序号',
       align: 'center',
       key: 'index',
+      width: 100,
       render: (_: any, row: any, index: number) => index + 1,
     },
     {
@@ -167,24 +168,27 @@ const Home: React.FC = () => {
     },
     {
       title: '设备编号',
-      width: 100,
+      width: 200,
       dataIndex: 'gateway',
       key: 'gateway',
     },
     {
       title: '设备是否在线',
+      width: 150,
       dataIndex: 'is_online',
       key: 'is_online',
       render: (v) => <span>{v ? '在线' : '离线'}</span>,
     },
     {
       title: '成员人数',
+      width: 100,
       dataIndex: 'member',
       key: 'member',
       render: (v) => v && <span>{v.length}</span>,
     },
     {
       title: '地区',
+      width: 150,
       dataIndex: 'district',
       key: 'district',
       render: (_, record) => {
@@ -205,6 +209,7 @@ const Home: React.FC = () => {
     {
       title: '操作',
       key: 'action',
+      width: 200,
       render: (_, record) => (
         <Space size="middle">
           <a

+ 51 - 17
src/pages/setting/UserManagement/edit.tsx

@@ -6,6 +6,7 @@ import { createUser, editUser, queryRoleUser, queryTreeList } from '@/services/s
 import { LoadingOutlined, PlusOutlined } from '@ant-design/icons';
 import md5 from 'js-md5';
 import { queryRoleList } from '@/services/role';
+import { infoQuery } from '@/services/ReportingManagement';
 
 interface userEditPros {
   visible: boolean;
@@ -29,6 +30,7 @@ const Edit: React.FC<userEditPros> = (props) => {
   const [roleList, setRoleList] = useState([]);
   const [selectList, setSelectList] = useState([]);
   const [areaList, setAreaList] = useState([]);
+  const [isCurrent, setIsCurrent] = useState(false);
 
   const getBase64 = (img: any) => {
     const reader = new FileReader();
@@ -42,28 +44,59 @@ const Edit: React.FC<userEditPros> = (props) => {
   useEffect(() => {
     // 编辑时
     if (detailData) {
+      infoQuery().then((res) => {
+        if (res?.code === 0) {
+          // 判断当前编辑用户数据和登录账号是否为同一个
+          // 同一个则直接显示用户数据中user_role(角色名称)和parent_name(所属名称)
+          if (res.data.record_id === detailData.record_id) {
+            setIsCurrent(true);
+            const user_role_list: any = [];
+            const obj = {
+              name: '',
+              record_id: '',
+            };
+            detailData.user_role.forEach((el: { role_id: string; role_name: string }) => {
+              obj.name = el.role_name;
+              obj.record_id = el.role_id;
+              user_role_list.push(obj);
+            });
+            setRoleList(user_role_list);
+          } else {
+            // 角色列表
+            queryRoleList({ q: 'list' }).then((item) => {
+              if (item.code === 0) {
+                setRoleList(item.data.list);
+              }
+            });
+          }
+        }
+      });
+
+      // 编辑时,所属地区根据角色id回显数据
       const data = [...detailData?.user_role].sort((a: any, b: any) => b.level - a.level);
       if (data && data.length) {
         const param = {
           q: 'list',
-          role_id: data[0].record_id,
+          role_id: data[0].role_id,
+          user_id: detailData.record_id,
         };
         // 根据角色id请求用户列表接口 保证所属名称字段编辑时回显
-        queryRoleUser(param).then((res) => {
-          if (res.code === 0) {
-            setSelectList(res?.data || []);
+        queryRoleUser(param).then((item) => {
+          if (item.code === 0) {
+            setSelectList(item?.data || []);
           }
         });
       }
+    } else {
+      // 新增
+      // 角色列表
+      queryRoleList({ q: 'list' }).then((res) => {
+        if (res.code === 0) {
+          setRoleList(res.data.list);
+        }
+      });
     }
 
-    // 角色列表
-    queryRoleList({ q: 'list' }).then((res) => {
-      if (res.code === 0) {
-        setRoleList(res.data.list);
-      }
-    });
-
     //  地区列表
     queryTreeList({ q: 'tree' }).then((res) => {
       if (res && res.code === 0) {
@@ -293,6 +326,7 @@ const Edit: React.FC<userEditPros> = (props) => {
                   value: option.record_id,
                   record_id: option.record_id,
                 }))}
+                disabled={isCurrent}
                 onChange={onRoleChange}
               />
             </Form.Item>
@@ -301,11 +335,11 @@ const Edit: React.FC<userEditPros> = (props) => {
             <Form.Item
               {...formItemLayoutTwo}
               name="parent_id"
-              label="所属名称"
-              rules={[{ required: true, message: '请选择所属名称' }]}
+              label="上级用户"
+              rules={[{ required: true, message: '请选择上级用户' }]}
               initialValue={detailData?.parent_id || ''}
             >
-              <Select placeholder="请选择所属名称">
+              <Select placeholder="请选择所属名称" disabled={isCurrent}>
                 {selectList && selectList.length
                   ? selectList.map(
                       (res: { user_name: string; record_id: string; parent_id: string }) => {
@@ -326,9 +360,9 @@ const Edit: React.FC<userEditPros> = (props) => {
               name="area"
               label="所属地区"
               initialValue={
-                detailData?.province
-                  ? `${detailData?.province}/${detailData?.city}/${detailData?.district}`
-                  : ''
+                detailData?.province || detailData?.city || detailData?.district
+                  ? [detailData?.province, detailData?.city, detailData?.district]
+                  : []
               }
             >
               <Cascader