Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivManage
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ReactWeb5
CivManage
Commits
16c4625c
Commit
16c4625c
authored
Nov 04, 2020
by
陈前坚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: UserManage
parent
734221d9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
242 additions
and
64 deletions
+242
-64
UserManage.js
src/pages/userCenter/UserManage.js
+241
-64
UserManage.less
src/pages/userCenter/UserManage.less
+1
-0
No files found.
src/pages/userCenter/UserManage.js
View file @
16c4625c
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Tree
,
Table
,
Space
,
message
,
Modal
,
Form
,
Input
}
from
'antd'
;
import
{
UsergroupAddOutlined
,
Tree
,
Table
,
Space
,
message
,
Modal
,
Form
,
Input
,
notification
,
Tooltip
,
}
from
'antd'
;
import
{
FileAddTwoTone
,
FolderAddTwoTone
,
EditTwoTone
,
...
...
@@ -14,15 +23,22 @@ import styles from './UserManage.less';
const
UserManage
=
()
=>
{
const
time
=
new
Date
();
const
[
treeLoading
,
setTreeLoading
]
=
useState
(
false
);
const
[
tableLoading
,
setTableLoading
]
=
useState
(
false
);
const
[
treeData
,
setTreeData
]
=
useState
([]);
// 用户机构树
const
[
tableData
,
setTableData
]
=
useState
([]);
// 用户表
const
[
currentSelect
,
setCurrentSelect
]
=
useState
([]);
const
[
userVisible
,
setUserVisible
]
=
useState
(
false
);
const
[
addOrgVisible
,
setAddOrgVisible
]
=
useState
(
false
);
const
[
editOrgVisible
,
setEditOrgVisible
]
=
useState
(
false
);
const
[
deleteOrgVisible
,
setDeleteOrgVisible
]
=
useState
(
false
);
const
[
deleteUserVisible
,
setDeleteUserVisible
]
=
useState
(
false
);
const
[
orgTitle
,
setOrgTitle
]
=
useState
(
'机构'
);
const
[
orgID
,
setOrgID
]
=
useState
();
const
[
userID
,
setUserID
]
=
useState
(
'机构'
);
const
[
userID
,
setUserID
]
=
useState
();
const
[
addUserForm
]
=
Form
.
useForm
();
const
[
addOrgForm
]
=
Form
.
useForm
();
const
[
editOrgForm
]
=
Form
.
useForm
();
// 渲染机构目录树
const
mapTree
=
org
=>
{
const
haveChildren
=
Array
.
isArray
(
org
.
children
)
&&
org
.
children
.
length
>
0
;
...
...
@@ -30,13 +46,18 @@ const UserManage = () => {
title
:
(
<
div
className
=
{
styles
.
iconWraper1
}
>
{
org
.
text
}
<
FileAddTwoTone
onClick
=
{
e
=>
addUser
(
e
,
org
.
text
,
org
.
id
)}
title
=
"添加用户"
/>
<
FolderAddTwoTone
onClick
=
{
addSubOrg
}
title
=
"添加下级机构"
/>
<
EditTwoTone
onClick
=
{
editOrg
}
title
=
"编辑"
/>
<
DeleteTwoTone
onClick
=
{
deleteOrg
}
title
=
"删除"
/>
<
Tooltip
title
=
"添加用户"
>
<
FileAddTwoTone
onClick
=
{
e
=>
addUser
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"添加下级机构"
>
<
FolderAddTwoTone
onClick
=
{
e
=>
addSubOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"编辑当前机构"
>
<
EditTwoTone
onClick
=
{
e
=>
editOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"删除当前机构"
>
<
DeleteTwoTone
onClick
=
{
e
=>
deleteOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
/div
>
),
key
:
org
.
id
,
...
...
@@ -89,42 +110,51 @@ const UserManage = () => {
// 获取用户机构列表
useEffect
(()
=>
{
setTableLoading
(
true
);
getUserTree
(
-
1
,
-
1
);
},
[]);
const
getUserTree
=
(
selectOU
,
node
)
=>
{
setTreeLoading
(
true
);
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOUTree`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
node
:
-
1
,
selectOU
,
node
,
})
.
then
(
res
=>
{
setT
abl
eLoading
(
false
);
setT
re
eLoading
(
false
);
if
(
res
.
length
>
0
)
{
const
orgTree
=
res
.
map
(
org
=>
mapTree
(
org
));
setTreeData
(
orgTree
);
onSelect
([
res
[
0
].
id
]);
}
})
.
catch
(
err
=>
{
setT
abl
eLoading
(
false
);
setT
re
eLoading
(
false
);
message
.
error
(
err
);
});
}
,
[])
;
};
// 获取当前机构下所有用户
const
onSelect
=
props
=>
{
setTableLoading
(
true
);
if
(
!
props
[
0
])
{
setCurrentSelect
(
currentSelect
);
}
else
{
setCurrentSelect
(
props
[
0
]);
}
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOneOUUserListNew`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
OUID
:
props
[
0
],
OUID
:
props
[
0
]
||
currentSelect
,
})
.
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
root
.
length
>
0
)
{
const
table
=
res
.
root
.
map
((
item
,
index
)
=>
{
item
.
key
=
index
;
return
item
;
});
setTableData
(
table
);
}
const
table
=
res
.
root
.
map
((
item
,
index
)
=>
{
item
.
key
=
index
;
return
item
;
});
setTableData
(
table
);
})
.
catch
(
err
=>
{
setTableLoading
(
false
);
...
...
@@ -133,27 +163,29 @@ const UserManage = () => {
};
const
addUser
=
(
e
,
title
,
id
)
=>
{
e
.
stopPropagation
();
//
e.stopPropagation();
setUserVisible
(
true
);
setOrgTitle
(
`在
${
title
}
下添加用户`
);
setOrgID
(
id
);
};
const
addSubOrg
=
(
e
,
title
,
id
)
=>
{
e
.
stopPropagation
();
// setUser
Visible(true);
//
setOrgTitle(`在${title}下添加机构`);
//
e.stopPropagation();
setAddOrg
Visible
(
true
);
setOrgTitle
(
`在
${
title
}
下添加机构`
);
setOrgID
(
id
);
};
const
editOrg
=
(
e
,
title
,
id
)
=>
{
e
.
stopPropagation
();
// setUserVisible(true);
// setOrgTitle(`在${title}下添加用户`);
// e.stopPropagation();
setEditOrgVisible
(
true
);
editOrgForm
.
setFieldsValue
({
OUName
:
title
,
});
setOrgID
(
id
);
};
const
deleteOrg
=
(
e
,
title
,
id
)
=>
{
e
.
stopPropagation
();
// setUser
Visible(true);
//
setOrgTitle(`在${title}下添加用户`);
//
e.stopPropagation();
setDeleteOrg
Visible
(
true
);
setOrgTitle
(
`在
${
title
}
下添加用户`
);
setOrgID
(
id
);
};
// 提交-添加用户
...
...
@@ -167,25 +199,114 @@ const UserManage = () => {
userName
:
addUserForm
.
getFieldValue
(
'userName'
),
phone
:
addUserForm
.
getFieldValue
(
'phone'
)
||
''
,
email
:
addUserForm
.
getFieldValue
(
'email'
)
||
''
,
ddid
:
addUserForm
.
getFieldValue
(
'ddid'
)
||
''
,
wxid
:
addUserForm
.
getFieldValue
(
'wxid'
)
||
''
,
})
.
then
(
res
=>
{
if
(
res
.
message
===
''
)
{
Modal
.
success
({
content
:
'添加成功'
,
});
setUserVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
// 重新获取用户表
onSelect
([
orgID
]);
}
else
{
Modal
.
error
({
title
:
'添加失败'
,
content
:
res
.
message
,
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
};
// 提交-添加下级机构
const
submitAddOrg
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_AddOU`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
pid
:
orgID
,
OUName
:
addOrgForm
.
getFieldValue
(
'OUName'
),
description
:
addOrgForm
.
getFieldValue
(
'desrciption'
)
||
''
,
comment
:
''
,
})
.
then
(
res
=>
{
if
(
res
.
message
===
''
)
{
setAddOrgVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
// 重新获取机构树与用户表
getUserTree
(
-
1
,
-
1
);
// onSelect([res.OUID]);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
// Modal.error({
// title: '添加失败',
// content: res.message,
// });
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
};
// 提交-编辑当前机构
const
submitEditOrg
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_EditOneOUInfo`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
OUID
:
orgID
,
OUName
:
editOrgForm
.
getFieldValue
(
'OUName'
),
description
:
editOrgForm
.
getFieldValue
(
'desrciption'
)
||
''
,
comment
:
''
,
})
.
then
(
res
=>
{
if
(
res
.
message
===
''
)
{
setEditOrgVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
getUserTree
(
-
1
,
-
1
);
// 重新获取用户表
// onSelect([orgID]);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
};
const
submitDeleteOrg
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_DeleteOU`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
OUID
:
orgID
,
})
.
then
(
res
=>
{
if
(
res
.
message
===
''
)
{
setDeleteOrgVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
// 重新获取用户表
getUserTree
(
-
1
,
-
1
);
// onSelect([orgID]);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
setTableLoading
(
false
);
message
.
error
(
err
);
});
};
...
...
@@ -202,9 +323,6 @@ const UserManage = () => {
})
.
then
(
res
=>
{
if
(
res
.
message
===
''
)
{
Modal
.
success
({
content
:
'删除成功'
,
});
setDeleteUserVisible
(
false
);
// 重新获取用户表
onSelect
([
orgID
]);
...
...
@@ -230,16 +348,23 @@ const UserManage = () => {
background
:
'white'
,
float
:
'left'
,
padding
:
'10px'
,
minWidth
:
'330px'
,
}}
>
<
div
style
=
{{
padding
:
'8px'
}}
>
<
span
style
=
{{
padding
:
'8px'
}}
>
机构列表
<
UsergroupAddOutlined
style
=
{{
color
:
'#1890ff'
,
float
:
'right'
}}
/
>
<
/div
>
<
Tooltip
title
=
"添加下级机构"
>
<
FolderAddTwoTone
style
=
{{
fontSize
:
'16px'
,
float
:
'right'
}}
onClick
=
{
e
=>
addSubOrg
(
e
,
'根目录'
,
'-1'
)}
/
>
<
/Tooltip
>
<
/span
>
<
Tree
showLine
=
"true"
showIcon
=
"true"
loading
=
{
tableLoading
}
selectedKeys
=
{[
currentSelect
]}
loading
=
{
treeLoading
}
onSelect
=
{
onSelect
}
treeData
=
{
treeData
}
/
>
...
...
@@ -259,6 +384,7 @@ const UserManage = () => {
loading
=
{
tableLoading
}
/
>
<
/div
>
{
/* 添加用户 */
}
<
Modal
title
=
{
orgTitle
}
visible
=
{
userVisible
}
...
...
@@ -267,10 +393,6 @@ const UserManage = () => {
okText
=
"确认"
cancelText
=
"取消"
>
{
/* <div style={{ width: '20%', float: 'left' }}>
<UserAddOutlined style={{ color: 'blue', width: '40px' }} />
</div> */
}
{
/* <div style={{ width: '80%', float: 'right' }}> */
}
<
Form
form
=
{
addUserForm
}
>
<
Form
.
Item
name
=
"loginName"
...
...
@@ -281,7 +403,7 @@ const UserManage = () => {
},
]}
>
<
Input
/>
<
Input
placeholder
=
"情输入登录名称"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"password"
...
...
@@ -292,7 +414,7 @@ const UserManage = () => {
},
]}
>
<
Input
/>
<
Input
placeholder
=
"情输入账户密码"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"userName"
...
...
@@ -303,25 +425,80 @@ const UserManage = () => {
},
]}
>
<
Input
/>
<
Input
placeholder
=
"情输入用户姓名"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"phone"
label
=
"手 机 号 码"
>
<
Input
/>
<
Input
placeholder
=
"情输入手机号码"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"email"
label
=
"电 子 邮 箱"
>
<
Input
placeholder
=
"情输入电子邮箱"
/>
<
/Form.Item
>
<
/Form
>
<
/Modal
>
{
/* 添加下级机构 */
}
<
Modal
title
=
{
orgTitle
}
visible
=
{
addOrgVisible
}
onOk
=
{
submitAddOrg
}
onCancel
=
{()
=>
setAddOrgVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
>
<
Form
form
=
{
addOrgForm
}
>
<
Form
.
Item
name
=
"OUName"
label
=
"机构名称"
rules
=
{[
{
required
:
true
,
},
]}
>
<
Input
placeholder
=
"情输入机构名称"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"
email"
label
=
"电 子 邮 件
"
>
<
Input
/>
<
Form
.
Item
name
=
"
description"
label
=
"--描---述--
"
>
<
Input
placeholder
=
"情输入相关描述"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"ddid"
label
=
"钉 钉 账 户"
>
<
Input
/>
<
/Form
>
<
/Modal
>
{
/* 编辑机构 */
}
<
Modal
title
=
{
orgTitle
}
visible
=
{
editOrgVisible
}
onOk
=
{
submitEditOrg
}
onCancel
=
{()
=>
setEditOrgVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
>
<
Form
form
=
{
editOrgForm
}
>
<
Form
.
Item
name
=
"OUName"
label
=
"机构名称"
rules
=
{[
{
required
:
true
,
},
]}
>
<
Input
placeholder
=
"情输入机构名称"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"
wxid"
label
=
"微 信 账 户
"
>
<
Input
/>
<
Form
.
Item
name
=
"
description"
label
=
"--描---述--
"
>
<
Input
placeholder
=
"情输入相关描述"
/>
<
/Form.Item
>
<
/Form
>
{
/* </div> */
}
<
/Modal
>
<
Modal
title
=
"删除用户"
title
=
"确认删除机构"
visible
=
{
deleteOrgVisible
}
onOk
=
{
submitDeleteOrg
}
onCancel
=
{()
=>
setDeleteOrgVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
>
<
p
>
即将删除该机构,是否确认删除?
<
/p
>
<
/Modal
>
<
Modal
title
=
"确认删除用户"
visible
=
{
deleteUserVisible
}
onOk
=
{
submitDeleteUser
}
onCancel
=
{()
=>
setDeleteUserVisible
(
false
)}
...
...
src/pages/userCenter/UserManage.less
View file @
16c4625c
...
...
@@ -6,6 +6,7 @@
.iconWraper1:hover{
span{
margin-left: 12px;
font-size: 16px;
display: inline-block;
}
// display: block;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment