Commit 808a9293 authored by 陈前坚's avatar 陈前坚

perf: style

parent c3d43d30
...@@ -60,14 +60,17 @@ const UserManage = () => { ...@@ -60,14 +60,17 @@ const UserManage = () => {
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [treeData, setTreeData] = useState([]); // 用户机构树 const [treeData, setTreeData] = useState([]); // 用户机构树
const [treeDataCopy, setTreeDataCopy] = useState([]); // 机构树数据备份,用于更改机构
const [treeState, setTreeState] = useState(true); // 树第一次加载 const [treeState, setTreeState] = useState(true); // 树第一次加载
const [treeVisible, setTreeVisible] = useState(true); // 树是否可见 const [treeVisible, setTreeVisible] = useState(true); // 树是否可见
const [tableData, setTableData] = useState([]); // 用户表 const [tableData, setTableData] = useState([]); // 用户表
const [orgFilters, setOrgFilters] = useState([]); // 用户列筛选 const [orgFilters, setOrgFilters] = useState([]); // 用户列筛选
// const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 用户表 // const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 用户表
const [searchData, setSearchData] = useState([]); // 查找用户的结果表 const [searchData, setSearchData] = useState([]); // 查找用户的结果表
const [searchWord, setSearchWord] = useState(''); // 关键字
const [userName, setUserName] = useState(''); // 查找用户的结果表
const [currentSelectOrg, setCurrentSelectOrg] = useState([]); // 左侧机构数-选中组织 const [currentSelectOrg, setCurrentSelectOrg] = useState([]); // 左侧机构数-选中组织
const [currentSelectOldOrg, setCurrentSelectOldOrg] = useState([]); // 更改机构时的树-选中组织 const [currentSelectOldOrg, setCurrentSelectOldOrg] = useState([]); // 更改机构时的树-原先选中组织
/** ***Modal弹框,是否可视**** */ /** ***Modal弹框,是否可视**** */
const [userVisible, setUserVisible] = useState(false); // 添加用户 const [userVisible, setUserVisible] = useState(false); // 添加用户
...@@ -101,6 +104,13 @@ const UserManage = () => { ...@@ -101,6 +104,13 @@ const UserManage = () => {
const [editUserForm] = Form.useForm(); // 编辑用户 const [editUserForm] = Form.useForm(); // 编辑用户
const [passwordForm] = Form.useForm(); // 修改密码 const [passwordForm] = Form.useForm(); // 修改密码
const { TabPane } = Tabs; const { TabPane } = Tabs;
const { Search } = Input;
// 获取搜索框的值
const handleSearch = e => {
setSearchWord(e.target.value);
console.log(e.target.value);
};
const getRoleValueCallback = useCallback((value, index) => { const getRoleValueCallback = useCallback((value, index) => {
roleValueList[index] = value; roleValueList[index] = value;
...@@ -120,12 +130,30 @@ const UserManage = () => { ...@@ -120,12 +130,30 @@ const UserManage = () => {
key: 'loginName', key: 'loginName',
fixed: 'left', fixed: 'left',
width: 100, width: 100,
render: item => (
<div
ref={r => {
if (r) {
r.innerHTML = item;
}
}}
/>
),
}, },
{ {
title: '用户姓名', title: '用户姓名',
dataIndex: 'userName', dataIndex: 'userName',
key: 'userName', key: 'userName',
width: 100, width: 100,
render: item => (
<div
ref={r => {
if (r) {
r.innerHTML = item;
}
}}
/>
),
}, },
{ {
title: '所在机构', title: '所在机构',
...@@ -133,7 +161,13 @@ const UserManage = () => { ...@@ -133,7 +161,13 @@ const UserManage = () => {
key: 'OUName', key: 'OUName',
width: 150, width: 150,
filters: orgFilters, filters: orgFilters,
onFilter: (value, record) => record.OUName === value, onFilter: (value, record) =>
// let count = 0;
// if (record.OUName === value) {
// count += 1;
// }
// setTableTitle(count);
record.OUName === value,
}, },
{ {
title: '手机号码', title: '手机号码',
...@@ -227,7 +261,7 @@ const UserManage = () => { ...@@ -227,7 +261,7 @@ const UserManage = () => {
); );
}, },
getCheckboxProps: record => ({ getCheckboxProps: record => ({
disabled: record.name === 'Disabled User', // Column configuration not to be checked // defaultChecked: selectedRowKeys.includes(`${record.id}`),
name: record.name, name: record.name,
}), }),
}; };
...@@ -292,8 +326,8 @@ const UserManage = () => { ...@@ -292,8 +326,8 @@ const UserManage = () => {
.then(res => { .then(res => {
if (res.length > 0) { if (res.length > 0) {
setTreeLoading(false); setTreeLoading(false);
// setTreeData1(res);
setTreeData(res); setTreeData(res);
setTreeDataCopy(res);
// 第一次加载,默认选择第一个组织 // 第一次加载,默认选择第一个组织
if (treeState) { if (treeState) {
onSelect([res[0].id], false); onSelect([res[0].id], false);
...@@ -318,7 +352,7 @@ const UserManage = () => { ...@@ -318,7 +352,7 @@ const UserManage = () => {
updateTrees(); updateTrees();
}, []); }, []);
// 获取当前机构下所有用户 // 点击树节点,获取当前机构下所有用户
const onSelect = (props, e) => { const onSelect = (props, e) => {
console.log(e); console.log(e);
setTableLoading(true); setTableLoading(true);
...@@ -335,6 +369,7 @@ const UserManage = () => { ...@@ -335,6 +369,7 @@ const UserManage = () => {
.then(res => { .then(res => {
if (res.code === 0) { if (res.code === 0) {
setTableLoading(false); setTableLoading(false);
setSearchWord(''); // 搜索框置空
setOrgTitle(res.data.GroupName); setOrgTitle(res.data.GroupName);
// 返回用户表数据结构处理,扁平化 // 返回用户表数据结构处理,扁平化
const temp = flatten(getUsers(res.data)); const temp = flatten(getUsers(res.data));
...@@ -365,6 +400,7 @@ const UserManage = () => { ...@@ -365,6 +400,7 @@ const UserManage = () => {
message.error(err); message.error(err);
}); });
}; };
// 返回用户表数据结构处理,扁平化 // 返回用户表数据结构处理,扁平化
const getUsers = orgObj => { const getUsers = orgObj => {
let result = orgObj.Users; let result = orgObj.Users;
...@@ -435,6 +471,7 @@ const UserManage = () => { ...@@ -435,6 +471,7 @@ const UserManage = () => {
// setTreeData2(treeData1); // setTreeData2(treeData1);
setCurrentUser(record); setCurrentUser(record);
setCurrentSelectOldOrg(record.OUID); setCurrentSelectOldOrg(record.OUID);
// onSelect1([record.OUID]);
}; };
// 修改密码 // 修改密码
const changePassword = record => { const changePassword = record => {
...@@ -469,11 +506,13 @@ const UserManage = () => { ...@@ -469,11 +506,13 @@ const UserManage = () => {
// 查找用户 // 查找用户
const submitSearchUser = () => { const submitSearchUser = () => {
getUserByKey(searchUserForm.getFieldValue('key')) getUserByKey(searchWord)
.then(res => { .then(res => {
if (res.success) { if (res.success) {
// setSearchUserVisible(false); // setSearchUserVisible(false);
setSearchData(res.root); // setSearchData(res.root);
setTableData(res.root);
setTableTitle(res.root.length);
} else { } else {
notification.error({ notification.error({
message: '提交失败', message: '提交失败',
...@@ -779,6 +818,7 @@ const UserManage = () => { ...@@ -779,6 +818,7 @@ const UserManage = () => {
return ( return (
<PageContainer className={styles.userManageContainer}> <PageContainer className={styles.userManageContainer}>
<div className={styles.contentContainer}> <div className={styles.contentContainer}>
{/* 左侧机构树 */}
<Spin spinning={treeLoading} tip="loading..."> <Spin spinning={treeLoading} tip="loading...">
<div className={treeVisible ? styles.orgContainer : styles.hide}> <div className={treeVisible ? styles.orgContainer : styles.hide}>
<span style={{ margin: '10px' }}>机构列表</span> <span style={{ margin: '10px' }}>机构列表</span>
...@@ -816,6 +856,8 @@ const UserManage = () => { ...@@ -816,6 +856,8 @@ const UserManage = () => {
</Tooltip> </Tooltip>
)} )}
</div> </div>
{/* 右侧用户表 */}
<div className={styles.userContainer}> <div className={styles.userContainer}>
<div style={{ height: '50px' }}> <div style={{ height: '50px' }}>
<p style={{ margin: '16px 0 10px 16px', display: 'inline-block' }}> <p style={{ margin: '16px 0 10px 16px', display: 'inline-block' }}>
...@@ -823,9 +865,19 @@ const UserManage = () => { ...@@ -823,9 +865,19 @@ const UserManage = () => {
<span className={styles.redText}>{tableTitle}</span> <span className={styles.redText}>{tableTitle}</span>
</p> </p>
<span style={{ float: 'right', margin: '10px' }}> <span style={{ float: 'right', margin: '10px' }}>
<Button type="primary" onClick={searchUser}> {/* <Button type="primary" onClick={searchUser}>
查找用户 查找用户
</Button> </Button> */}
<Search
style={{ width: 300 }}
placeholder="请输入登录名称/用户名称/手机号"
onSearch={submitSearchUser}
onChange={e => handleSearch(e)}
enterButton
value={searchWord}
/>
<Button type="primary" onClick={addUser}> <Button type="primary" onClick={addUser}>
添加用户 添加用户
</Button> </Button>
...@@ -845,14 +897,19 @@ const UserManage = () => { ...@@ -845,14 +897,19 @@ const UserManage = () => {
type: selectionType, type: selectionType,
...rowSelection, ...rowSelection,
}} }}
rowKey={record => record.userID}
locale={{ filterConfirm: '确定', filterReset: '重置' }} locale={{ filterConfirm: '确定', filterReset: '重置' }}
bordered bordered
columns={columns} columns={columns}
dataSource={tableData} dataSource={tableData}
loading={tableLoading} loading={tableLoading}
scroll={{ x: 'max-content' }} scroll={{ x: 'max-content' }}
pagination={{ showTotal: () => `共${tableTitle}条`, pageSize: 10 }}
/> />
</div> </div>
{/* Modal弹框 */}
{/* 查找用户 */} {/* 查找用户 */}
<Modal <Modal
title="查找用户" title="查找用户"
...@@ -874,19 +931,18 @@ const UserManage = () => { ...@@ -874,19 +931,18 @@ const UserManage = () => {
label="关键字搜索" label="关键字搜索"
rules={[{ required: true, message: '不能为空' }]} rules={[{ required: true, message: '不能为空' }]}
> >
<Input <Input placeholder="" onPressEnter={submitSearchUser} />
placeholder="请输入登录名称/用户名称/手机号 ,回车键查找"
onPressEnter={submitSearchUser}
/>
</Form.Item> </Form.Item>
</Form> </Form>
<Table <Table
bordered bordered
rowKey={record => record.userID}
columns={searchColumns} columns={searchColumns}
dataSource={searchData} dataSource={searchData}
onRow={record => ({ onRow={record => ({
onClick: () => { onClick: () => {
onSelect([record.OUID]); onSelect([record.OUID]);
// setSelectedRowKeys([record.userID]);
setSearchUserVisible(false); setSearchUserVisible(false);
}, },
})} })}
...@@ -1035,16 +1091,19 @@ const UserManage = () => { ...@@ -1035,16 +1091,19 @@ const UserManage = () => {
width="330px" width="330px"
> >
<span>请选择要更改的目标机构:</span> <span>请选择要更改的目标机构:</span>
{changeOrgVisible && treeData.length > 0 && ( {changeOrgVisible && treeDataCopy.length > 0 && (
<Tree <Tree
showIcon="true" showIcon="true"
showLine={{ showLeafIcon: false }} showLine={{ showLeafIcon: false }}
defaultExpandAll="true" defaultExpandAll="true"
defaultSelectedKeys={[currentSelectOldOrg]} // 未切换时原先的节点,注意要转字符串
onSelect={props => { selectedKeys={[`${currentSelectOldOrg}`]}
setNewOrgID(props[0]); onSelect={value => {
setNewOrgID(value[0]);
// 切换后选中的节点
setCurrentSelectOldOrg(value[0]);
}} }}
treeData={treeData.map(t => mapTree(t))} treeData={treeDataCopy.map(t => mapTree(t))}
/> />
)} )}
</Modal> </Modal>
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
} }
} }
.contentContainer{ .contentContainer{
min-height: calc(100vh - 48px); min-height: calc(100vh - 78px);
display: flex; display: flex;
.orgContainer{ .orgContainer{
min-height: calc(100vh - 48px); min-height: calc(100vh - 78px);
float: left; float: left;
padding: 10px; padding: 10px;
min-width: 240px; min-width: 240px;
...@@ -50,15 +50,19 @@ ...@@ -50,15 +50,19 @@
.userContainer{ .userContainer{
margin-left: 10px; margin-left: 10px;
flex: 1; flex: 1;
height: calc(100vh - 48px); height: calc(100vh - 78px);
min-width: 880px;
background: white; background: white;
.ant-table-pagination-right{ .ant-table-pagination-right{
padding-right: 12px; padding-right: 12px;
} }
.ant-btn-primary{ .ant-btn-primary{
margin-left: 30px; margin-left: 20px;
background: #50aefc; background: #50aefc;
} }
.ant-input-search-button{
margin-left: 0px !important;
}
.ant-table-thead tr th{ .ant-table-thead tr th{
font-weight: 600; font-weight: 600;
color:rgba(0,0,0,0.85); color:rgba(0,0,0,0.85);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment