Commit 84ddf94d authored by Maofei94's avatar Maofei94

fix: fix bug

parent 18801f9f
......@@ -18,6 +18,7 @@ export const checkChildrenByCondition = (item, fn, tag = 'every') => {
};
const ListCard = props => {
console.log(props, 'props');
const {
ouid,
searchWord,
......@@ -79,7 +80,7 @@ const ListCard = props => {
/>
))
) : (
<Empty />
<Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />
)}
</>
)}
......
......@@ -25,7 +25,11 @@
flex-wrap: wrap;
align-items: center;
.ant-checkbox-group-item{
flex:0 0 150px;
flex:0 0 auto;
flex-shrink: 0;
flex-grow: 0;
margin-right: 60px;
// min-width: 180px;
margin-bottom: 5px;
}
}
......
......@@ -16,6 +16,7 @@ import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons';
import {
setMenuToRole,
getRoleGroupList,
getMenuByRoleWithLevel,
} from '@/services/userCenter/roleManage/api';
import ListCard, {
checkChildrenByCondition,
......@@ -28,7 +29,6 @@ import AddModal from './AddModal';
import DelModal from './DelModal';
import EditModal from './EditModal';
import EditGroup from './EditGroup';
import { get } from '@/services';
import userStyles from '../UserManage.less';
const { Search } = Input;
......@@ -79,7 +79,7 @@ const SiteManage = () => {
};
useEffect(() => {
setSpinLoading(true);
getRoleGroupList({ userID: 1 }).then(res => {
getRoleGroupList({ userID: '1' }).then(res => {
setSpinLoading(false);
if (res.code === 0) {
const { roleList } = res.data;
......@@ -114,8 +114,7 @@ const SiteManage = () => {
title: '默认组',
id: '',
};
get('/Cityinterface/rest/services/OMS.svc/W4_GetMenuByRoleWithLevel', {
getMenuByRoleWithLevel({
roleID: itemObj.roleID,
subSystemValue: itemObj.subSystemValue,
subSystemName: itemObj.subSystemValue,
......@@ -168,16 +167,27 @@ const SiteManage = () => {
// 树形数据转换;
const transTree = val => {
let arr = val;
let newArr = [];
let arr2 = arr.filter(item => {
if (item.child && item.child.length > 0) {
item.child.forEach(itemC => {
item.roleList.unshift(itemC);
});
}
if (item.visibleTitle === '手持系统') {
newArr[0] = item;
}
if (item.visibleTitle === '小程序') {
newArr[1] = item;
}
return (
item.visibleTitle !== '其它角色' && item.visibleTitle !== '运维管理'
item.visibleTitle !== '其它角色' &&
item.visibleTitle !== '运维管理' &&
item.visibleTitle !== '手持系统' &&
item.visibleTitle !== '小程序'
);
});
arr2 = arr2.concat(newArr);
console.log(arr2, 'arr2');
let arr3 = arr2.map(item => {
item.title = item.visibleTitle || '';
......@@ -291,9 +301,8 @@ const SiteManage = () => {
};
return (
<PageContainer>
{/* <GridContent> */}
<Row gutter={0}>
<Col lg={mulu ? 5 : 0}>
<Col span={mulu ? 5 : 0}>
<Card className={styles.cardBox}>
<Spin
tip="loading...."
......@@ -341,21 +350,28 @@ const SiteManage = () => {
confirmModal={groupModal}
/>
</Card>
</Col>
<Col>
<div>
{mulu && (
<Tooltip title="隐藏角色栏" className={styles.hide}>
<DoubleLeftOutlined onClick={() => handleHide()} />
</Tooltip>
)}
</div>
</Col>
<Col span={mulu ? 0 : 1}>
{/* {mulu && (
<Tooltip title="隐藏角色栏" className={styles.hide}>
<DoubleLeftOutlined onClick={() => handleHide()} />
</Tooltip>
)} */}
{!mulu && (
<Tooltip title="显示角色栏" className={styles.hide}>
<DoubleRightOutlined onClick={() => handleHide()} />
</Tooltip>
)}
</Col>
<Col lg={mulu ? 18 : 23}>
<Card style={{ marginBottom: '10px' }}>
<Col span={mulu ? 19 : 23}>
<Card style={{ marginBottom: '10px', minWidth: '870px' }}>
<Row align="middle">
<Col span={1}>搜索</Col>
<Col span={8}>
......@@ -388,6 +404,7 @@ const SiteManage = () => {
编辑角色
</Button>
<Button
type="primary"
danger
onClick={() => {
handleDel();
......@@ -424,7 +441,6 @@ const SiteManage = () => {
</Card>
</Col>
</Row>
{/* </GridContent> */}
</PageContainer>
);
};
......
......@@ -2,6 +2,7 @@
min-height: calc(100vh - 80px);
max-height: calc(100vh - 80px);
overflow-y: scroll;
margin-right: 20px;
}
.ant-tree-node-content-wrapper-open{
display: flex;
......@@ -26,6 +27,7 @@
align-items: center;
}
.cardBoxR{
min-width: 870px;
min-height: calc(100vh - 172px);
max-height: calc(100vh - 172px);
overflow-y: scroll;
......@@ -43,10 +45,11 @@
.hide{
display: block;
position: relative;
position: absolute;
font-size: 20px;
color: #1890FF!important;
top: 45%;
left: 50%;
transform: translate(-50%,-50%);
right:0;
transform: translate(0%,-50%);
z-index: 2;
}
......@@ -11,20 +11,17 @@ import {
List,
Space,
} from 'antd';
import {
FileAddTwoTone,
EditTwoTone,
DeleteTwoTone,
DoubleLeftOutlined,
DoubleRightOutlined,
} from '@ant-design/icons';
import { GridContent } from '@ant-design/pro-layout';
import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons';
import PageContainer from '@/components/BasePageContainer';
import {
getWebModuleTree,
chooseUserToStation,
getUserByStation,
} from '@/services/userCenter/siteManage/api';
import ListCard from '@/pages/orgnazation/ListCard';
import ListCard, {
checkChildrenByCondition,
getId,
} from '@/components/CheckGroup';
import styles from '@/pages/userCenter/siteManage/SiteManage.less';
import qs from 'qs';
import classnames from 'classnames';
......@@ -46,6 +43,9 @@ const SiteManage = () => {
const [subList, setSubList] = useState([]); // 选中的数组
const [spinLoading, setSpinLoading] = useState(false);
const [btnLoading, setBtnLoading] = useState(false);
const [valueList, setValueList] = useState([]);
const [dataList, setdataList] = useState([]);
const [loading, setLoading] = useState(true);
const [mulu, setMulu] = useState(true);
useEffect(() => {
......@@ -81,38 +81,68 @@ const SiteManage = () => {
console.error(err);
});
}, [flag]);
const Title = props => {
const { text } = props;
return (
<div className={styles.treeTitle}>
{text}
<div className={styles.titleBox}>
<Tooltip title="新增站点">
<FileAddTwoTone
onClick={() => {
handleAdd(props);
}}
/>
</Tooltip>
<Tooltip title="编辑站点">
<EditTwoTone
onClick={() => {
handleEdit(props);
}}
/>
</Tooltip>
<Tooltip title="删除站点">
<DeleteTwoTone
onClick={() => {
handleDel(props);
}}
/>
</Tooltip>
</div>
</div>
useEffect(() => {
if (!currentStation.stationID) return;
setLoading(true);
const defaultConfig = {};
getUserByStation({
stationID: currentStation.stationID,
_version: 9999,
_dc: new Date().getTime(),
})
.then(res => {
const list = [];
// eslint-disable-next-line no-unused-expressions
res &&
res.forEach(item => {
list.push({ ...defaultConfig, ...item });
});
const finalList = buildMap(list);
setdataList(finalList);
setValueList(
finalList
.map(l =>
checkChildrenByCondition(
l,
it => (it.isChecked ? [getId(it)] : []),
'map',
).flat(Infinity),
)
.flat(Infinity)
.filter(Boolean),
);
setLoading(false);
})
.catch(err => {
setLoading(false);
});
}, [currentStation]);
const buildMap = list => {
const obj = {
type: 'widgetGroup',
searchWord,
children: '',
text: '',
itemid: '',
};
let arr = list.map(item => {
item.id = item.OUID * 10000;
item.text = item.OUName;
item.type = 'widgetGroup';
item.children = item.userList.map(u => ({
...u,
text: u.userName,
type: 'widgetChild',
}));
return item;
});
console.log(arr);
return arr.filter(item => item.userList.length > 0);
};
// 新增站点
const handleAdd = e => {
console.log(e);
setModalVisible(true);
......@@ -125,21 +155,6 @@ const SiteManage = () => {
const handleEdit = e => {
setEditVisible(true);
};
// 树形数据转换
const transTree = val => {
let arr = val;
return arr.map((item, index) => {
item.title = Title(item) || item.text;
item.key = item.stationID || '';
let obj = {};
if (Array.isArray(item.children) && item.children.length > 0) {
transTree(item.children);
obj = item;
return obj;
}
return item;
});
};
// 获取搜索框的值
const handleSearch = value => {
setSearchWord(value);
......@@ -163,12 +178,12 @@ const SiteManage = () => {
const valueCallback = valueObj => {
setSubList(valueObj);
};
const handleCommit = value => {
let arr = Object.values(subList);
const handleCommit = results => {
setBtnLoading(true);
chooseUserToStation(
qs.stringify({
userList: String(arr.flat()),
// userList: String(arr.flat()),
userList: String(results.flat()),
stationID: currentStation.stationID,
}),
{
......@@ -188,7 +203,7 @@ const SiteManage = () => {
} else {
notification.error({
message: '提示',
duration: 3,
duration: 15,
description: res.message,
});
}
......@@ -219,10 +234,13 @@ const SiteManage = () => {
return (
<PageContainer>
<GridContent>
<Row gutter={0}>
<Col lg={mulu ? 5 : 0}>
<Card className={styles.cardBox}>
<Row>
<Col span={mulu ? 5 : 0}>
<Card
className={classnames({
[styles.cardBox]: true,
})}
>
<Spin
tip="loading...."
spinning={spinLoading}
......@@ -251,13 +269,25 @@ const SiteManage = () => {
confirmModal={editModal}
/>
</Card>
</Col>
<Col>
<div>
{mulu && (
<Tooltip title="隐藏站点" className={styles.hide}>
<DoubleLeftOutlined onClick={() => handleHide()} />
</Tooltip>
)}
{/* {!mulu && (
<Tooltip title="显示站点" className={styles.hide}>
<DoubleRightOutlined onClick={() => handleHide()} />
</Tooltip>
)} */}
</div>
</Col>
<Col span={mulu ? 0 : 1}>
{/* {mulu && (
<Tooltip title="隐藏站点" className={styles.hide}>
<DoubleLeftOutlined onClick={() => handleHide()} />
</Tooltip>
)} */}
{!mulu && (
<Tooltip title="显示站点" className={styles.hide}>
<DoubleRightOutlined onClick={() => handleHide()} />
......@@ -265,8 +295,8 @@ const SiteManage = () => {
)}
</Col>
<Col lg={mulu ? 18 : 23}>
<Card style={{ marginBottom: '10px' }}>
<Col span={mulu ? 19 : 23}>
<Card style={{ marginBottom: '10px', minWidth: '600px' }}>
<Row align="middle">
<Col span={1}>搜索</Col>
<Col span={8}>
......@@ -300,6 +330,7 @@ const SiteManage = () => {
</Button>
<Button
danger
type="primary"
onClick={() => {
handleDel(currentStation.stationID);
}}
......@@ -314,9 +345,10 @@ const SiteManage = () => {
<Card className={styles.cardBoxR}>
{currentStation.stationID && (
<ListCard
ouid={currentStation.stationID}
loading={loading}
checkList={valueList}
dataList={dataList}
searchWord={searchWord}
valueCallback={valueCallback}
onCommit={handleCommit}
btnLoading={btnLoading}
/>
......@@ -324,7 +356,6 @@ const SiteManage = () => {
</Card>
</Col>
</Row>
</GridContent>
</PageContainer>
);
};
......
......@@ -2,8 +2,8 @@
min-height: calc(100vh - 80px);
max-height: calc(100vh - 80px);
overflow: auto;
margin-right: 20px;
}
.siteTitle{
font-size: 16px;
margin: 0 0 6px 0;
......@@ -14,6 +14,7 @@
.cardBoxR{
min-height: calc(100vh - 172px);
max-height: calc(100vh - 172px);
min-width: 600px;
overflow-y: scroll;
}
.ant-tree-node-content-wrapper-open{
......@@ -53,10 +54,14 @@
.hide{
display: block;
position: relative;
position: absolute;
font-size: 20px;
color: #1890FF!important;
top: 45%;
left: 50%;
transform: translate(-50%,-50%);
right: 0;
transform: translate(0%,-50%);
z-index: 2;
}
// .hide{
// left: 0;
// }
\ No newline at end of file
......@@ -53,3 +53,7 @@ export const deleteRole = params =>
// 编辑分组名称
export const setRoleGroupName = params =>
get('/Cityinterface/rest/services/OMS.svc/P_SetRoleGroupName', params);
// 保存选择的功能
export const getMenuByRoleWithLevel = params =>
get('/Cityinterface/rest/services/OMS.svc/W4_GetMenuByRoleWithLevel', params);
......@@ -29,3 +29,7 @@ export const chooseUserToStation = (params, options) =>
params,
options,
);
// 获取人员
export const getUserByStation = params =>
get('/Cityinterface/rest/services/OMS.svc/P_GetUserByStation', params);
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