Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
ea045bbc
Commit
ea045bbc
authored
Aug 03, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:处理搜索
parent
4a133475
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
144 additions
and
69 deletions
+144
-69
src/modules/college-manage/EmployeeManage.tsx
+2
-2
src/modules/college-manage/components/DepartMentTabCon.jsx
+12
-8
src/modules/college-manage/components/SearchUser.jsx
+98
-21
src/modules/college-manage/components/SearchUser.less
+17
-0
src/modules/college-manage/modal/AddOrEditPostGroupModal.jsx
+8
-8
src/modules/college-manage/modal/NewChooseMembersModal.jsx
+7
-30
No files found.
src/modules/college-manage/EmployeeManage.tsx
View file @
ea045bbc
...
...
@@ -176,10 +176,10 @@ function EmployeeManage() {
key
:
"depNameList"
,
render
:
(
val
:
string
,
record
:
RecordTypes
)
=>
{
if
(
!
record
.
depNameList
){
return
<
span
></
span
>
return
<
span
>
-
</
span
>
}
return
record
.
depNameList
.
map
((
item
,
index
)
=>
{
return
<
span
>
{
item
}
{
index
<
(
record
.
depNameList
.
length
-
1
)?
'、'
:
''
}
</
span
>;
return
<
span
>
<
WWOpenDataCom
type=
"departmentName"
openid=
{
item
}
/>
{
index
<
(
record
.
depNameList
.
length
-
1
)?
'、'
:
''
}
</
span
>;
})
},
...
...
src/modules/college-manage/components/DepartMentTabCon.jsx
View file @
ea045bbc
...
...
@@ -5,6 +5,7 @@ import NewChooseMembersModal from "@/modules/college-manage/modal/NewChooseMembe
import
LeftStructureTree
from
"./LeftStructureTree"
;
import
{
XMTable
,
PageControl
}
from
"@/components"
;
import
college
from
"@/common/lottie/college.json"
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
{
DepType
}
from
"@/domains/store-domain/constants"
;
import
User
from
"@/common/js/user"
;
...
...
@@ -35,7 +36,10 @@ function DepartMentTabCon(props) {
render
:
(
val
,
item
)
=>
{
return
(
<
div
>
<
span
>
{
val
}
</
span
>
{
item
.
sourceEnum
===
"WORK_WE_CHAT"
?
<
span
>
<
WWOpenDataCom
type=
"userName"
openid=
{
val
}
/></
span
>:
<
span
>
{
val
}
</
span
>
}
<
span
className=
"tag"
style=
{
{
...
...
@@ -51,7 +55,7 @@ function DepartMentTabCon(props) {
},
{
title
:
"真实姓名"
,
dataIndex
:
"
user
Name"
,
dataIndex
:
"
real
Name"
,
width
:
"15%"
,
render
:
(
val
,
record
)
=>
{
return
<
span
>
{
val
}
</
span
>;
...
...
@@ -67,13 +71,13 @@ function DepartMentTabCon(props) {
},
{
title
:
"岗位"
,
dataIndex
:
"dep
Post
NameList"
,
dataIndex
:
"depNameList"
,
render
:
(
val
,
record
)
=>
{
if
(
!
record
.
dep
Post
NameList
){
if
(
!
record
.
depNameList
){
return
<
span
>
-
</
span
>
}
else
{
re
cord
.
depPost
NameList
.
map
((
item
,
index
)
=>
{
return
<
span
>
{
item
}{
index
!==
record
.
dep
Post
NameList
.
length
-
1
&&
<
span
>
、
</
span
>
}
</
span
>;
re
turn
record
.
dep
NameList
.
map
((
item
,
index
)
=>
{
return
<
span
>
{
item
}{
index
!==
record
.
depNameList
.
length
-
1
&&
<
span
>
、
</
span
>
}
</
span
>;
})
}
}
...
...
@@ -128,9 +132,9 @@ function DepartMentTabCon(props) {
params
.
departmentId
=
null
;
}
if
(
record
.
queryName
){
params
.
query
Name
=
record
.
queryName
;
params
.
nick
Name
=
record
.
queryName
;
}
else
{
params
.
query
Name
=
null
;
params
.
nick
Name
=
null
;
}
}
if
(
current
)
{
...
...
src/modules/college-manage/components/SearchUser.jsx
View file @
ea045bbc
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
{
withRouter
}
from
"react-router-dom"
;
import
{
Input
}
from
"antd"
;
import
{
Input
,
Checkbox
}
from
"antd"
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
User
from
'@/common/js/user'
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
$
from
'jquery'
;
import
'./SearchUser.less'
const
{
Search
}
=
Input
;
function
SearchUser
(
props
)
{
const
[
dropDownVisible
,
setDropDownVisible
]
=
useState
(
false
);
useEffect
(()
=>
{
documentClick
();
},[])
function
onFocus
(
e
){
setDropDownVisible
(
true
);
}
function
onChange
(
e
){
props
.
onChange
(
e
.
target
.
value
)
}
function
selectuser
(
e
,
item
){
if
(
e
.
target
.
checked
){
let
_record
=
[]
_record
.
push
(
item
)
props
.
onSelect
(
_record
)
}
}
function
selectDep
(
e
,
item
){
if
(
e
.
target
.
checked
){
props
.
onSelect
(
item
.
departmentUserVOList
||
[]);
}
}
function
documentClick
(){
document
.
onclick
=
function
(
e
)
{
let
_con
=
$
(
'#search-user'
);
if
(
!
_con
.
is
(
e
.
target
)
&&
_con
.
has
(
e
.
target
).
length
===
0
){
setDropDownVisible
(
false
);
}
};
}
return
(
<
div
className=
"search-user"
>
<
div
className=
"search-user"
style=
{
{
width
:
'300px'
}
}
id=
"search-user"
>
<
Search
placeholder=
'搜索成员'
className=
'search search-input'
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
placeholder=
'搜索成员'
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
onFocus=
{
(
e
)
=>
{
onFocus
(
e
)}
}
onChange=
{
(
e
)
=>
{
onChange
(
e
)}
}
// onBlur={()=>{onBlur()}}
/>
<
div
className=
"drop-down"
>
<
div
>
<
div
>
员工
</
div
>
<
div
>
<
div
>
<
div
>
佳欢
</
div
>
<
div
>
小麦助教
</
div
>
{
dropDownVisible
&&
<
div
className=
"drop-down"
style=
{
{
width
:
'100%'
}
}
>
<
div
className=
"drop-down__list"
>
{
props
.
data
.
departmentUserVOList
&&
<
div
>
<
div
className=
"drop-down__item__title"
>
员工
</
div
>
<
div
>
<
div
>
佳欢
</
div
>
<
div
>
小麦助教
</
div
>
<
div
className=
"drop-down__item__con"
>
<
div
>
{
props
.
data
.
departmentUserVOList
.
map
((
item
,
index
)
=>
{
return
<
div
>
<
Checkbox
onChange=
{
(
e
)
=>
{
selectuser
(
e
,
item
)}
}
>
<
div
className=
"drop-down__item__con__item"
>
<
div
className=
"drop-down__item__con__item__left"
>
<
WWOpenDataCom
type=
"userName"
openid=
{
item
.
userName
}
/>
</
div
>
<
div
className=
"drop-down__item__con__item__right"
>
{
item
.
postDepNamesList
.
map
((
_item
,
index
)
=>
{
return
<
span
>
<
WWOpenDataCom
type=
"departmentName"
openid=
{
_item
}
/>
{
index
<
(
item
.
postDepNamesList
.
length
-
1
)?
'、'
:
''
}
</
span
>
})
}
</
div
>
</
div
>
</
Checkbox
>
</
div
>
})
}
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
}
{
props
.
data
.
departmentVOList
&&
<
div
>
<
div
className=
"drop-down__item__title"
>
部门
</
div
>
<
div
className=
"drop-down__item__con"
>
<
div
>
{
props
.
data
.
departmentVOList
.
map
((
item
,
index
)
=>
{
return
<
div
><
Checkbox
onChange=
{
(
e
)
=>
{
selectDep
(
e
,
item
)}
}
>
<
div
className=
"drop-down__item__con__item"
>
<
div
className=
"drop-down__item__con__item__left"
>
<
WWOpenDataCom
type=
"departmentName"
openid=
{
item
.
name
}
/>
</
div
>
</
div
>
</
Checkbox
>
</
div
>
})
}
</
div
>
</
div
>
</
div
>
}
{
(
!
props
.
data
.
departmentUserVOList
&&
!
props
.
data
.
departmentVOList
)
&&
<
div
>
暂无数据
</
div
>
}
</
div
>
</
div
>
}
</
div
>
);
}
...
...
src/modules/college-manage/components/SearchUser.less
View file @
ea045bbc
.search-user{
position: relative;
.drop-down{
padding:18px;
position: absolute;
background: #FFF;
z-index:100001;
background: #FFFFFF;
box-shadow: 0px 2px 15px 6px rgba(0, 0, 0, 0.05);
border-radius:2px;
.drop-down__item__con__item{
display:flex;
justify-content:space-between;
}
}
}
\ No newline at end of file
src/modules/college-manage/modal/AddOrEditPostGroupModal.jsx
View file @
ea045bbc
...
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-27 16:21:49
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-0
7-28 10:15:37
* @LastEditTime: 2021-0
8-03 08:39:25
* @Description: Description
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -21,13 +21,13 @@ function AddOrEditPostGroupModal(props) {
},[]);
function
changePostGroupName
(
e
){
setValidateStatus
(
'success'
);
props
.
postGroupTreeData
.
map
((
item
,
index
)
=>
{
if
(
item
.
name
===
e
.
target
.
value
){
setValidateStatus
(
'error'
);
setNameErrorMsg
(
'该岗位组已存在'
);
}
return
item
;
})
//
props.postGroupTreeData.map((item,index)=>{
//
if(item.name === e.target.value){
//
setValidateStatus('error');
//
setNameErrorMsg('该岗位组已存在');
//
}
//
return item;
//
})
setPostGroupName
(
e
.
target
.
value
);
}
...
...
src/modules/college-manage/modal/NewChooseMembersModal.jsx
View file @
ea045bbc
...
...
@@ -16,6 +16,7 @@ import MemberTree from '../components/MemberTree'
import
{
DepType
}
from
"@/domains/store-domain/constants"
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
SearchUser
from
"../components/SearchUser"
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
'./ChooseMembersModal.less'
;
import
_
from
'underscore'
;
...
...
@@ -31,7 +32,8 @@ class NewChooseMembersModal extends React.Component {
visible
:
this
.
props
.
visible
,
completeOptions
:[],
queryName
:
''
,
open
:
false
open
:
false
,
searchUserResultList
:{}
}
}
componentDidMount
()
{
...
...
@@ -221,33 +223,9 @@ class NewChooseMembersModal extends React.Component {
whetherCount
:
false
}
StoreService
.
getDepartmentUser
(
params
).
then
((
res
)
=>
{
const
_completeOptions
=
[];
const
userObj
=
{};
const
departmentGroupObj
=
{};
const
postobj
=
{};
const
{
result
=
{}}
=
res
;
const
{
departmentUserVOList
=
[],
departmentVOList
=
[]}
=
result
;
if
(
departmentUserVOList
.
length
>
0
){
userObj
.
label
=
this
.
renderTitle
(
'员工'
);
userObj
.
options
=
departmentUserVOList
.
map
((
item
,
index
)
=>
{
return
this
.
renderItem
(
item
,
'user'
);
})
}
if
(
departmentVOList
.
length
>
0
){
departmentGroupObj
.
label
=
this
.
renderTitle
(
'部门'
);
departmentGroupObj
.
options
=
departmentVOList
.
map
((
item
,
index
)
=>
{
return
this
.
renderItem
(
item
,
'group'
);
})
}
if
(
Object
.
keys
(
userObj
).
length
!==
0
){
_completeOptions
.
push
(
userObj
);
}
if
(
Object
.
keys
(
departmentGroupObj
).
length
!==
0
){
_completeOptions
.
push
(
departmentGroupObj
);
}
this
.
setState
({
completeOptions
:
_completeOptions
searchUserResultList
:
result
})
});
}
...
...
@@ -257,13 +235,12 @@ class NewChooseMembersModal extends React.Component {
open
:
false
,
queryName
:
value
});
console
.
log
()
// props.searchUserList({queryName:value},treeType,1);
}
render
()
{
const
{
type
,
treeDepType
}
=
this
.
props
;
const
{
selectUserList
,
selectObject
,
visible
,
openSetModal
}
=
this
.
state
;
const
{
selectUserList
,
selectObject
,
visible
,
openSetModal
,
searchUserResultList
}
=
this
.
state
;
const
title
=
type
===
'USER'
?
'添加员工'
:
'添加学员'
;
return
(
<
div
>
...
...
@@ -298,9 +275,9 @@ class NewChooseMembersModal extends React.Component {
enterButton={<span className="icon iconfont"></span>}
/> */
}
{
/* {this.Complete()} */
}
<
SearchUser
/>
<
SearchUser
onChange=
{
(
value
)
=>
{
this
.
getCompleteOptionData
(
value
)}
}
data=
{
searchUserResultList
}
onSelect=
{
(
record
)
=>
{
this
.
setState
({
selectUserList
:[...
selectUserList
,...
record
]})}
}
/>
<
div
className=
'container-left-body-table'
>
<
MemberTree
treeDepType=
{
treeDepType
}
onSelect=
{
(
record
)
=>
{
this
.
treeSelect
(
record
)}
}
selectUserList=
{
selectUserList
}
/>
<
MemberTree
treeDepType=
{
treeDepType
}
onSelect=
{
(
record
)
=>
{
this
.
treeSelect
(
record
)}
}
selectUserList=
{
selectUserList
}
/>
</
div
>
</
div
>
</
div
>
...
...
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