Commit ea045bbc by zhangleyuan

feat:处理搜索

parent 4a133475
......@@ -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>;
})
},
......
......@@ -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: "userName",
dataIndex: "realName",
width: "15%",
render: (val, record) => {
return <span>{val}</span>;
......@@ -67,13 +71,13 @@ function DepartMentTabCon(props) {
},
{
title: "岗位",
dataIndex: "depPostNameList",
dataIndex: "depNameList",
render: (val, record) => {
if(!record.depPostNameList){
if(!record.depNameList){
return <span>-</span>
}else{
record.depPostNameList.map((item, index) => {
return <span>{item}{index!==record.depPostNameList.length-1 && <span></span>}</span>;
return record.depNameList.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.queryName = record.queryName;
params.nickName = record.queryName;
}else{
params.queryName = null;
params.nickName = null;
}
}
if (current) {
......
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">&#xe832;</span>}
placeholder='搜索成员'
enterButton={<span className="icon iconfont">&#xe832;</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>
);
}
......
.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
......@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-27 16:21:49
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-28 10:15:37
* @LastEditTime: 2021-08-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);
}
......
......@@ -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">&#xe832;</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>
......
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