Commit d7e3bf7e authored by 涂伟's avatar 涂伟

fix: '1.角色管理的关联用户搜索高亮2.站点管理的关联用户搜索高亮3.站点管理搜索后机构层级丢失bug修复'

parent 45859c6f
Pipeline #86236 passed with stages
...@@ -4,7 +4,7 @@ import styles from './SelectUser.less'; ...@@ -4,7 +4,7 @@ import styles from './SelectUser.less';
const CheckboxGroup = Checkbox.Group; const CheckboxGroup = Checkbox.Group;
const CardCheck = props => { const CardCheck = props => {
const { cardMsg, callback, checkList, deleKey, delFlag } = props; const { cardMsg, callback, checkList, deleKey, delFlag, searchName } = props;
const [checkedList, setCheckedList] = useState([]); // 选中列表 const [checkedList, setCheckedList] = useState([]); // 选中列表
const [indeterminate, setIndeterminate] = useState(false); const [indeterminate, setIndeterminate] = useState(false);
const [checkAll, setCheckAll] = useState(false); const [checkAll, setCheckAll] = useState(false);
...@@ -76,6 +76,23 @@ const CardCheck = props => { ...@@ -76,6 +76,23 @@ const CardCheck = props => {
setIndeterminate(false); setIndeterminate(false);
setCheckAll(e.target.checked); setCheckAll(e.target.checked);
}; };
const renderName = (name) => {
const indexsearch = name.indexOf(searchName);
const beforeStr = name.substring(0, indexsearch);
const afterStr = name.slice(indexsearch + searchName.length);
if (name.includes(searchName) && searchName !== '') {
return (
<div>
{beforeStr}
<span style={{ color: 'red' }}>{searchName}</span>
{afterStr}
</div>
)
} else {
return (<div>{name}</div>)
}
}
return ( return (
<div className={styles.checkContent}> <div className={styles.checkContent}>
<div className={styles.topCheckbox}> <div className={styles.topCheckbox}>
...@@ -96,7 +113,10 @@ const CardCheck = props => { ...@@ -96,7 +113,10 @@ const CardCheck = props => {
{plainOptions.map(item => ( {plainOptions.map(item => (
<Checkbox key={item.value} value={item.value}> <Checkbox key={item.value} value={item.value}>
{/* <Tooltip placement="topLeft" title={item.label}> */} {/* <Tooltip placement="topLeft" title={item.label}> */}
<span className={styles.fontlabel}>{item.label}</span> <span className={styles.fontlabel}>
{/* {item.label}{searchName} */}
{renderName(item.label)}
</span>
{/* </Tooltip> */} {/* </Tooltip> */}
</Checkbox> </Checkbox>
))} ))}
......
...@@ -289,6 +289,7 @@ const NewSelectUser = props => { ...@@ -289,6 +289,7 @@ const NewSelectUser = props => {
checkList={checkList} checkList={checkList}
deleKey={deleKey} deleKey={deleKey}
delFlag={delFlag} delFlag={delFlag}
searchName={searchName}
/> />
</div> </div>
))} ))}
......
...@@ -284,6 +284,9 @@ const SiteManageV2 = () => { ...@@ -284,6 +284,9 @@ const SiteManageV2 = () => {
if (res.code === 0 && res.data) { if (res.code === 0 && res.data) {
setShowSearchStyle(true); setShowSearchStyle(true);
let list = res.data.data; let list = res.data.data;
list.map(v=>{
v.groupName=v.level
})
// 还原选择的数据 // 还原选择的数据
let indete = indeterminate; let indete = indeterminate;
if (selectList.length > 0) { if (selectList.length > 0) {
...@@ -338,6 +341,9 @@ const SiteManageV2 = () => { ...@@ -338,6 +341,9 @@ const SiteManageV2 = () => {
if (res.code === 0 && res.data) { if (res.code === 0 && res.data) {
setShowSearchStyle(true); setShowSearchStyle(true);
let list = res.data.data; let list = res.data.data;
list.map(v=>{
v.groupName=v.level
})
// 还原选择的数据 // 还原选择的数据
let indete = indeterminate; let indete = indeterminate;
if (selectList.length > 0) { if (selectList.length > 0) {
...@@ -735,6 +741,7 @@ const SiteManageV2 = () => { ...@@ -735,6 +741,7 @@ const SiteManageV2 = () => {
key={v.userId} key={v.userId}
selectList={selectList} selectList={selectList}
handleChangeSignel={props.handleChangeSignel} handleChangeSignel={props.handleChangeSignel}
searchName={name}
/> />
))} ))}
</div> </div>
...@@ -975,6 +982,7 @@ const SiteManageV2 = () => { ...@@ -975,6 +982,7 @@ const SiteManageV2 = () => {
handleChangeAll={handleChangeAll} handleChangeAll={handleChangeAll}
handleChangeSignel={handleChangeSignel} handleChangeSignel={handleChangeSignel}
item={item} item={item}
name={name}
/> />
))} ))}
</div> </div>
...@@ -1004,14 +1012,30 @@ const SiteManageV2 = () => { ...@@ -1004,14 +1012,30 @@ const SiteManageV2 = () => {
}; };
const CheckBoxRow = props => { const CheckBoxRow = props => {
let { vIndex, index, isChecked, userName, item, selectList, groupName } = props; let { vIndex, index, isChecked, userName, item, selectList, groupName, searchName } = props;
const renderName = (name) => {
const indexsearch = name.indexOf(searchName);
const beforeStr = name.substring(0, indexsearch);
const afterStr = name.slice(indexsearch + searchName.length);
if (name.includes(searchName) && searchName !== '') {
return (
<div>
{beforeStr}
<span style={{ color: 'red' }}>{searchName}</span>
{afterStr}
</div>
)
} else {
return (<div>{name}</div>)
}
}
return ( return (
<Checkbox <Checkbox
className={styles.siteList} className={styles.siteList}
checked={selectList.size > 0 && selectList.has(`${item.userId}|${item.groupId}`)} checked={selectList.size > 0 && selectList.has(`${item.userId}|${item.groupId}`)}
onClick={e => props.handleChangeSignel(e, index, vIndex, item, groupName)} onClick={e => props.handleChangeSignel(e, index, vIndex, item, groupName)}
> >
{userName} {renderName(userName)}
</Checkbox> </Checkbox>
); );
}; };
......
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