From 03df7542cd456dc3e63a33cdd1f4cced5364f867 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 27 二月 2024 13:27:17 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/system/user/index.jsx |  225 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 124 insertions(+), 101 deletions(-)

diff --git a/zy-asrs-flow/src/pages/system/user/index.jsx b/zy-asrs-flow/src/pages/system/user/index.jsx
index 8c07081..0f89bb7 100644
--- a/zy-asrs-flow/src/pages/system/user/index.jsx
+++ b/zy-asrs-flow/src/pages/system/user/index.jsx
@@ -1,4 +1,3 @@
-
 import React, { useState, useRef, useEffect } from 'react';
 import { Button, message, Modal, Row, Col, Card, Tree, Input, Tag, Skeleton } from 'antd';
 import {
@@ -12,9 +11,13 @@
 import Http from '@/utils/http';
 import Edit from './components/edit'
 import Pwd from './components/pwd'
+import AssignRole from './components/assignRole'
 import { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter } from '@/components/TableSearch'
 import { transformTreeData, getTreeAllKeys } from '@/utils/tree-util'
 import { statusMap } from '@/utils/enum-util'
+import { repairBug } from '@/utils/common-util';
+
+const TABLE_KEY = "pro-table-user";
 
 const handleSave = async (val) => {
     const hide = message.loading('姝e湪娣诲姞');
@@ -125,6 +128,8 @@
 
     const [pwdModalVisible, setPwdModalVisible] = useState(false);
 
+    const [assignModalVisible, setAssignModalVisible] = useState(false);
+
     const loadDeptTreeData = (param) => {
         setDeptTreeLoading(true);
         Http.doPostPromise('/api/dept/tree', param, (res) => {
@@ -142,7 +147,7 @@
     }
 
     useEffect(() => {
-        const handleResize = () => setBoxHeight(window.innerHeight - 420);
+        const handleResize = () => setBoxHeight(window.innerHeight - 320);
         window.addEventListener('resize', handleResize);
         handleResize();
 
@@ -156,14 +161,13 @@
             title: 'No',
             dataIndex: 'index',
             valueType: 'indexBorder',
-            width: 30,
+            width: 48,
         },
         {
             title: '閮ㄩ棬',
             dataIndex: 'deptId$',
             valueType: 'text',
             hidden: false,
-            width: 100,
             render: (_, record) => {
                 if (_ && _ !== '-') {
                     return <Tag color={""}>{_}</Tag>
@@ -185,7 +189,6 @@
             valueType: 'text',
             hidden: false,
             copyable: true,
-            width: 100,
             filterDropdown: (props) => <TextFilter
                 name='username'
                 {...props}
@@ -201,7 +204,6 @@
             dataIndex: 'nickname',
             valueType: 'text',
             hidden: false,
-            width: 100,
             filterDropdown: (props) => <TextFilter
                 name='nickname'
                 {...props}
@@ -216,8 +218,7 @@
             title: '瀵嗙爜',
             dataIndex: 'password',
             valueType: 'password',
-            hidden: true,
-            width: 100,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='password'
                 {...props}
@@ -229,8 +230,7 @@
             title: '澶村儚',
             dataIndex: 'avatar',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='avatar'
                 {...props}
@@ -242,8 +242,7 @@
             title: '宸ュ彿',
             dataIndex: 'code',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='code'
                 {...props}
@@ -256,7 +255,6 @@
             dataIndex: 'sex$',
             valueType: 'text',
             hidden: false,
-            width: 80,
             filterDropdown: (props) => <SelectFilter
                 name='sex'
                 {...props}
@@ -273,8 +271,7 @@
             title: '鎵嬫満鍙�',
             dataIndex: 'phone',
             valueType: 'text',
-            hidden: true,
-            width: 100,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='phone'
                 {...props}
@@ -286,8 +283,7 @@
             title: '閭',
             dataIndex: 'email',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='email'
                 {...props}
@@ -299,8 +295,7 @@
             title: '閭楠岃瘉',
             dataIndex: 'emailVerified$',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <SelectFilter
                 name='emailVerified'
                 {...props}
@@ -331,8 +326,7 @@
             title: '鐪熷疄濮撳悕',
             dataIndex: 'realName',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='realName'
                 {...props}
@@ -344,8 +338,7 @@
             title: '韬唤璇佸彿',
             dataIndex: 'idCard',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='idCard'
                 {...props}
@@ -357,8 +350,7 @@
             title: '鍑虹敓鏃ユ湡',
             dataIndex: 'birthday',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='birthday'
                 {...props}
@@ -370,8 +362,7 @@
             title: '涓汉绠�浠�',
             dataIndex: 'introduction',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='introduction'
                 {...props}
@@ -384,7 +375,6 @@
             dataIndex: 'status$',
             valueType: 'text',
             hidden: false,
-            width: 80,
             render: (_, record) => {
                 const status = statusMap[record.status]
                 return <Tag color={status.color}>{status.text}</Tag>
@@ -404,8 +394,7 @@
             title: '娣诲姞鏃堕棿',
             dataIndex: 'createTime$',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <DatetimeRangeFilter
                 name='createTime'
                 {...props}
@@ -417,8 +406,7 @@
             title: '淇敼鏃堕棿',
             dataIndex: 'updateTime$',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <DatetimeRangeFilter
                 name='updateTime'
                 {...props}
@@ -430,8 +418,7 @@
             title: '淇敼浜哄憳',
             dataIndex: 'updateBy$',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <LinkFilter
                 name='updateBy'
                 major='user'
@@ -444,8 +431,7 @@
             title: '澶囨敞',
             dataIndex: 'memo',
             valueType: 'text',
-            hidden: true,
-            width: 140,
+            hidden: false,
             filterDropdown: (props) => <TextFilter
                 name='memo'
                 {...props}
@@ -457,8 +443,8 @@
         {
             title: '鎿嶄綔',
             dataIndex: 'option',
-            width: 110,
             valueType: 'option',
+            width : 180,
             render: (_, record) => [
                 <Button
                     type="link"
@@ -508,16 +494,13 @@
                     key="actionGroup"
                     name="dropdown"
                     onSelect={(key) => {
-                        if (key === 'pwd') {
-                            setPwdModalVisible(true);
+                        if (key === 'assign') {
+                            setAssignModalVisible(true);
                             setCurrentRow(record);
-                        }
-                        else if (key === 'authRole') {
                         }
                     }}
                     menus={[
-                        // { key: 'pwd', name: '瀵嗙爜閲嶇疆' },
-                        { key: 'authRole', name: '鍒嗛厤瑙掕壊' },
+                        { key: 'assign', name: '鍒嗛厤瑙掕壊' },
                     ]}
                 />,
             ],
@@ -532,7 +515,7 @@
         >
             <Row gutter={[16, 24]}>
                 <Col lg={6} md={24}>
-                    <Card title="閮ㄩ棬" style={{ width: '100%', height: 'calc(100vh - 252px)' }}>
+                    <Card title="閮ㄩ棬" style={{ width: '100%', height: 'calc(100vh - 160px)' }}>
                         <Input
                             style={{ marginBottom: 10 }}
                             placeholder="璇疯緭鍏�"
@@ -543,7 +526,7 @@
                                 })
                             }}
                         />
-                        <div style={{ height: 'calc(100vh - 402px)', overflowY: 'auto' }}>
+                        <div style={{ height: 'calc(100vh - 325px)', overflowY: 'auto' }}>
                             {deptTreeLoading ? (
                                 <Skeleton active />
                             ) : (
@@ -576,9 +559,10 @@
                         formRef={formTableRef}
                         columns={columns}
                         cardBordered
-                        scroll={{ y: boxHeight }}
+                        size='small'
+                        // scroll={{ y: boxHeight }}
                         dateFormatter="string"
-                        pagination={{ pageSize: 20 }}
+                        pagination={{ pageSize: 12 }}
                         search={false}
                         toolbar={{
                             search: {
@@ -659,9 +643,23 @@
                             }
                         }}
                         columnsState={{
-                            persistenceKey: 'pro-table-user',
+                            persistenceKey: TABLE_KEY,
                             persistenceType: 'localStorage',
                             defaultValue: {
+                                password: { show: repairBug(TABLE_KEY, 'password', false) },
+                                avatar: { show: repairBug(TABLE_KEY, 'avatar', false) },
+                                code: { show: repairBug(TABLE_KEY, 'code', false) },
+                                phone: { show: repairBug(TABLE_KEY, 'phone', false) },
+                                email: { show: repairBug(TABLE_KEY, 'email', false) },
+                                emailVerified$: { show: repairBug(TABLE_KEY, 'emailVerified$', false) },
+                                realName: { show: repairBug(TABLE_KEY, 'realName', false) },
+                                idCard: { show: repairBug(TABLE_KEY, 'idCard', false) },
+                                birthday: { show: repairBug(TABLE_KEY, 'birthday', false) },
+                                introduction: { show: repairBug(TABLE_KEY, 'introduction', false) },
+                                createTime$: { show: repairBug(TABLE_KEY, 'createTime$', false) },
+                                updateTime$: { show: repairBug(TABLE_KEY, 'updateTime$', false) },
+                                updateBy$: { show: repairBug(TABLE_KEY, 'updateBy$', false) },
+                                memo: { show: repairBug(TABLE_KEY, 'memo', false) },
                                 option: { fixed: 'right', disable: true },
                             },
                             onChange(value) {
@@ -669,60 +667,85 @@
                         }}
                     />
                 </Col>
-
-                <Edit
-                    open={modalVisible}
-                    values={currentRow || {}}
-                    treeData={deptTreeData}
-                    onCancel={
-                        () => {
-                            setModalVisible(false);
-                            setCurrentRow(undefined);
-                        }
-                    }
-                    onSubmit={async (values) => {
-                        let ok = false;
-                        if (values.id) {
-                            ok = await handleUpdate({ ...values })
-                        } else {
-                            ok = await handleSave({ ...values })
-                        }
-                        if (ok) {
-                            setModalVisible(false);
-                            setCurrentRow(undefined);
-                            if (actionRef.current) {
-                                actionRef.current.reload();
-                            }
-                        }
-                    }
-                    }
-                />
-
-                <Pwd
-                    open={pwdModalVisible}
-                    values={currentRow || {}}
-                    onCancel={
-                        () => {
-                            setPwdModalVisible(false);
-                            setCurrentRow(undefined);
-                        }
-                    }
-                    onSubmit={async (values) => {
-                        let ok = false;
-                        if (values.id) {
-                            ok = await handlePwd({ ...values })
-                        }
-                        if (ok) {
-                            setPwdModalVisible(false);
-                            setCurrentRow(undefined);
-                            if (actionRef.current) {
-                                actionRef.current.reload();
-                            }
-                        }
-                    }
-                    }
-                />
             </Row>
+
+            <Edit
+                open={modalVisible}
+                values={currentRow || {}}
+                treeData={deptTreeData}
+                onCancel={
+                    () => {
+                        setModalVisible(false);
+                        setCurrentRow(undefined);
+                    }
+                }
+                onSubmit={async (values) => {
+                    let ok = false;
+                    if (values.id) {
+                        ok = await handleUpdate({ ...values })
+                    } else {
+                        ok = await handleSave({ ...values })
+                    }
+                    if (ok) {
+                        setModalVisible(false);
+                        setCurrentRow(undefined);
+                        if (actionRef.current) {
+                            actionRef.current.reload();
+                        }
+                    }
+                }
+                }
+            />
+
+            <Pwd
+                open={pwdModalVisible}
+                values={currentRow || {}}
+                onCancel={
+                    () => {
+                        setPwdModalVisible(false);
+                        setCurrentRow(undefined);
+                    }
+                }
+                onSubmit={async (values) => {
+                    let ok = false;
+                    if (values.id) {
+                        ok = await handlePwd({ ...values })
+                    }
+                    if (ok) {
+                        setPwdModalVisible(false);
+                        setCurrentRow(undefined);
+                        if (actionRef.current) {
+                            actionRef.current.reload();
+                        }
+                    }
+                }
+                }
+            />
+
+            <AssignRole
+                open={assignModalVisible}
+                values={currentRow || {}}
+                onCancel={
+                    () => {
+                        setAssignModalVisible(false);
+                        setCurrentRow(undefined);
+                    }
+                }
+                onSubmit={async (values) => {
+                    let ok = false;
+                    if (values.id) {
+                        ok = await handleUpdate({ ...values })
+                    }
+                    if (ok) {
+                        setAssignModalVisible(false);
+                        setCurrentRow(undefined);
+                        if (actionRef.current) {
+                            actionRef.current.reload();
+                        }
+                    }
+                }}
+            />
+
         </PageContainer>
     );
 };

--
Gitblit v1.9.1