Commit c1f60cf5 authored by 皮倩雯's avatar 皮倩雯

数据库连接隐藏密码,增加测试连接验证

parent bf10662d
Pipeline #37282 skipped with stages
......@@ -4,6 +4,7 @@ import { Input, Cascader, Button } from 'antd'
import { gcj_decrypt, exetent2AmapPoint, lngLat2WebMercator } from '@/utils/transformUtil'
import { GetAllConfig, GetMetaData } from '@/services/platform/gis'
const { Search } = Input;
import styles from './index.less';
const MapScope = props => {
......@@ -15,6 +16,7 @@ const MapScope = props => {
const [isDistrict, setIsDistrict] = useState(false)
const [currentAreaName, setCurrentAreaName] = useState(null)
const [area, setArea] = useState([])
const [flag, setFlag] = useState(0)
const mapID = useRef();
const mouseToolID = useRef();
useEffect(() => {
......@@ -58,6 +60,7 @@ const MapScope = props => {
}
let wms = new window.AMap.TileLayer.WMS(wmsOption)
m.add(wms);
console.log(m)
}
}
......@@ -106,7 +109,8 @@ const MapScope = props => {
const onSubmit = () => {
console.log(currentExtent)
console.log(currentAreaName)
confirmModal && confirmModal(currentExtent, currentAreaName)
confirmModal && confirmModal(currentExtent, currentAreaName, flag)
let mouseTool = mouseToolID.current;
mouseTool.close(true)
let map = mapID.current
......@@ -117,7 +121,7 @@ const MapScope = props => {
}
const onTangleClick = () => {
setFlag(flag+1);
// if(!mouseTool){
// let tool = new AMap.MouseTool(map)
// setMouseTool(tool)
......@@ -197,16 +201,19 @@ const MapScope = props => {
return (
<SiteModal
{...props}
title={`${title}的范围选择`}
title={<span><span style={{ marginRight: '20px' }}>{title}的范围选择</span><span style={{ color: 'red' }}>提示:必须框选范围</span></span>}
bodyStyle={{ width: '100%', minHeight: '100px' }}
style={{ top: 200, borderRadius: '20px' }}
afterClose={()=>{
setFlag(0)
}}
width="800px"
cancelText="取消"
okText="确认"
onOk={() => onSubmit()}
>
<div style={{ width: "750px", height: "500px" }}>
<div style={{ width: "750px", height: "500px" }} className={styles.indexContainer}>
<div style={{ width: "750px", height: "500px", position: "absolute" }} >
<div id={mapId} style={{ width: "750px", height: "500px" }}></div>
......
.indexContainer{
.anticon svg {
margin-top: 0px;
}
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
* @Description:
* @Author: leizhe
* @Date: 2021-05-27 16:31:05
* @LastEditTime: 2021-10-29 09:59:00
* @LastEditTime: 2021-11-02 11:41:28
* @LastEditors: leizhe
*/
import React, { useState, useEffect } from 'react';
......
......@@ -699,7 +699,7 @@ const WebDic = () => {
onClick: () => {
setSelect(record);
setTwoSelectColor(record);
setSelectID(record.nodeID);
// setSelectID(record.nodeID);
},
})}
title={() => {
......@@ -771,27 +771,30 @@ const WebDic = () => {
rules={[
{ required: true, message: '不能为空' },
{
validator: (rule, value, callback) => {
validator: (rule, value) => {
const nodeName = addForm.getFieldsValue().nodeName1;//第一项的nodeName
const nodeName1 = addForm.getFieldsValue();
let result =nodeName1.users;
let arr=[];
result.map(item=>{
if (item === undefined) {
} else {
let a=item.nodeName
if(a!==''){
arr.push(a)
}
}
})
if(result){
result.map(item=>{
if (item === undefined) {
} else {
let a=item.nodeName
if(a!==''){
arr.push(a)
}
}
})
}
arr.unshift(nodeName)
console.log(arr)
if (new Set(arr).size !== arr.length) {
callback('用户名重复')
return Promise.reject('用户名重复')
}
return Promise.resolve();
}
}
]}
......
......@@ -258,7 +258,7 @@ const InitDataBase = props => {
})
.then(res => {
setCardLoading(false);
if (res.code === 0) {
if (res.code === 0&& res.data == true) {
notification.success({
message: '提示',
duration: 3,
......@@ -268,7 +268,7 @@ const InitDataBase = props => {
notification.error({
message: '提示',
duration: 15,
description: res.Say.Message || '连接失败',
description: '连接失败,请检查配置信息',
});
}
})
......@@ -669,7 +669,7 @@ const InitDataBase = props => {
];
return (
<>
<PageContainer>
<PageContainer className={styles.InitDataBaseContainer}>
<Card>
<Spin tip="loading..." spinning={cardLoading}>
<div className={styles.tableTitle}>数据库初始化</div>
......@@ -689,7 +689,7 @@ const InitDataBase = props => {
<Input placeholder="请输入用户名称" />
</Form.Item>
<Form.Item label={`${formLables.password}:`} name="password">
<Input placeholder="请输入用户密码" />
<Input placeholder="请输入用户密码" type="password"/>
</Form.Item>
<Form.Item label={`${formLables.dbName}:`} name="dbName">
<Select
......@@ -757,9 +757,11 @@ const InitDataBase = props => {
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>近期保存的数据库连接</div>
<Table
style={{ marginTop: '20px', height:'25rem', overflowY:'scroll' }}
style={{ marginTop: '20px'}}
scroll={{ x: 'max-content', y: 'calc(100vh - 580px)' }}
columns={columns}
dataSource={data}
pagination={false}
bordered
loading={tableLoading}
size="small"
......
......@@ -18,6 +18,12 @@
.ant-modal-header {
height: 70px;
}
InitDataBaseContainer{
.ant-card-body {
padding-bottom: 0px !important;
}
}
.cardContainer {
margin-top: 10px;
......@@ -41,4 +47,5 @@
padding-left: 20px;
box-sizing: border-box;
}
}
......@@ -31,13 +31,13 @@ const AddModal = props => {
notification.success({
message: '提示',
duration: 3,
description: res.message || '新增成功',
description: '新增成功',
});
} else {
notification.error({
message: '提示',
duration: 3,
description: res.message || '新增失败',
description: res.msg,
});
}
})
......@@ -89,10 +89,12 @@ const AddModal = props => {
form.resetFields();
break;
case 'edit':
console.log(formObj.type)
formObj.type === '复制集'
? setShowReplicaSet(true)
: setShowReplicaSet(false);
form.setFieldsValue({ ...formObj });
form.setFieldsValue({MongoDbType:formObj.type});
break;
default:
break;
......
......@@ -30,13 +30,13 @@ const AddModal = props => {
notification.success({
message: '提示',
duration: 3,
description: res.message || '新增成功',
description: '新增成功',
});
} else {
notification.error({
message: '提示',
duration: 3,
description: res.message || '新增失败',
description: res.msg || '新增失败',
});
}
})
......
......@@ -30,13 +30,13 @@ const AddModal = props => {
notification.success({
message: '提示',
duration: 3,
description: res.message || '新增成功',
description: '新增成功',
});
} else {
notification.error({
message: '提示',
duration: 3,
description: res.message || '新增失败',
description: res.msg,
});
}
})
......
......@@ -30,13 +30,13 @@ const AddModal = props => {
notification.success({
message: '提示',
duration: 3,
description: res.message || '新增成功',
description: '新增成功',
});
} else {
notification.error({
message: '提示',
duration: 3,
description: res.message || '新增失败',
description: res.msg ,
});
}
})
......
......@@ -15,6 +15,7 @@ const ListCardItem = props => {
useEffect(() => {
let arr = [];
console.log(userList)
userList.map((item, index) => {
let obj = { ...item };
obj.label = (
......
......@@ -412,7 +412,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择反馈名称" onChange={(e) => changeText(e, 'feedbackName')} value={inputValue.feedbackName} allowClear />
<Button type="dashed" onClick={() => pickFiled('feedbackName')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled('feedbackName')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
......@@ -436,7 +436,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择执行角色" onChange={(e) => changeText(e, 'doRole')} value={inputValue.doRole} allowClear />
<Button type="dashed" onClick={() => pickFiled1('doRole')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled1('doRole')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......
......@@ -358,7 +358,7 @@ const AddFlowsModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{width:'83%'}}placeholder="请选择受理权限" onChange={(e) => changeText(e, 'Roles')} value={inputValue.Roles} allowClear />
<Button type="dashed" onClick={() => pickFiled1('Roles')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled1('Roles')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......
......@@ -820,7 +820,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择上报字段" onChange={(e) => changeText(e, 'ReportFields')} value={inputValue.ReportFields} allowClear />
<Button type="dashed" onClick={() => pickFiled('ReportFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }}/>
<Button type="dashed" onClick={() => pickFiled('ReportFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }}/>
</div>
</Item>
</Col>
......@@ -843,7 +843,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择显示字段" onChange={(e) => changeText(e, 'DisplayFields')} value={inputValue.DisplayFields} allowClear />
<Button type="dashed" onClick={() => pickFiled('DisplayFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled('DisplayFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......@@ -866,7 +866,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择编辑字段" onChange={(e) => changeText(e, 'EditableFields')} value={inputValue.EditableFields} allowClear />
<Button type="dashed" onClick={() => pickFiled('EditableFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled('EditableFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......@@ -878,7 +878,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择转单字段" onChange={(e) => changeText(e, 'TransitFields')} value={inputValue.TransitFields} allowClear />
<Button type="dashed" onClick={() => pickFiled('TransitFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled('TransitFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......@@ -890,7 +890,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择事件权限" onChange={(e) => changeText(e, 'Roles')} value={inputValue.Roles} allowClear />
<Button type="dashed" onClick={() => pickFiled1('Roles')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled1('Roles')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......@@ -938,7 +938,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择关联字段" onChange={(e) => changeText(e, 'RelatedEventFields')} value={inputValue.RelatedEventFields} allowClear />
<Button type="dashed" onClick={() => pickFiled('RelatedEventFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled('RelatedEventFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......@@ -959,7 +959,7 @@ const AddModal = props => {
>
<div className={styles.filed_listItem} >
<Input style={{ width: '83%' }} placeholder="请选择图片表达" onChange={(e) => changeText(e, 'pictureFields')} value={inputValue.pictureFields} allowClear />
<Button type="dashed" onClick={() => pickFiled2('pictureFields')} icon={<PlusOutlined />} style={{ marginLeft: '0.5rem', width: '4rem' }} />
<Button type="dashed" onClick={() => pickFiled2('pictureFields')} icon={<PlusOutlined style={{marginTop:'5px'}}/>} style={{ marginLeft: '0.5rem', width: '4rem' }} />
</div>
</Item>
</Col>
......
......@@ -56,6 +56,7 @@ const AddModal = props => {
setCheckAll(checkAllArr);
};
useEffect(() => {
console.log(filed1)
selectAll()
}, [checkedList]);
......
......@@ -293,6 +293,7 @@ const incident = () => {
let arrr = formateArrDataA(zz, 'businessType')
console.log(arrr)
setTableData(arrr)
console.log(history.location.state)
if(history.location.state){
console.log(history)
console.log(history.location.state.rember)
......
......@@ -260,4 +260,7 @@
font-weight: 600;
color:rgba(0,0,0,0.85);
}
}
.panda-pro-pages-platform-center-bsmanager-work-order-incident-filed_listItem{
display:flex
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ import { Form, Input, notification, Select } from 'antd';
import SiteModal from '@/components/Modal/SiteModa';
import {
addRole,
getRoleGroup,
GetRoleGroup,
getWebConfigTypes,
} from '@/services/userCenter/roleManage/api';
const { Item } = Form;
......@@ -110,9 +110,8 @@ const AddModal = props => {
const selectFocus = e => {
setGroupList([]);
console.log(form.getFieldsValue().subSystemValue);
getRoleGroup({
_version: 9999,
_dc: Date.now(),
GetRoleGroup({
// subSystemValue: itemObj.subSystemValue || itemObj.visibleValue || '',
// subSystemName: itemObj.subSystemValue || itemObj.visibleValue || '',
subSystemValue: form.getFieldsValue().subSystemValue || '',
......@@ -120,7 +119,7 @@ const AddModal = props => {
})
.then(res => {
if (res) {
setGroupList(res);
setGroupList(res.data);
} else {
notification.error({
message: '提示',
......
import React, { useState, useEffect } from 'react';
import { Form, Input, notification, Select } from 'antd';
import SiteModal from '@/components/Modal/SiteModa';
import { editRole, getRoleGroup } from '@/services/userCenter/roleManage/api';
import { editRole, GetRoleGroup } from '@/services/userCenter/roleManage/api';
const { Item } = Form;
const { Option } = Select;
const AddModal = props => {
......@@ -30,8 +30,8 @@ const AddModal = props => {
roleID: itemObj.roleID,
roleName: res.roleName,
description: res.description,
group: res.group,
subSystemValue: itemObj.subSystemValue || itemObj.visibleValue || '',
remark: res.group,
// subSystemValue: itemObj.subSystemValue || itemObj.visibleValue || '',
})
.then(res => {
setLoading(false);
......@@ -74,15 +74,13 @@ const AddModal = props => {
// 获取分组列表
const selectFocus = e => {
setGroupList([]);
getRoleGroup({
_version: 9999,
_dc: Date.now(),
GetRoleGroup({
subSystemValue: itemObj.subSystemValue || itemObj.visibleValue || '',
subSystemName: itemObj.subSystemValue || itemObj.visibleValue || '',
})
.then(res => {
if (res) {
setGroupList(res);
setGroupList(res.data);
} else {
notification.error({
message: '提示',
......
......@@ -7,37 +7,68 @@ const AddUserModal = props => {
const [addOrgForm] = Form.useForm(); // 添加用户
useEffect(() => {
console.log(orgID)
addOrgForm.resetFields();
}, [orgID]);
// 提交-添加下级机构
const submitAddOrg = () => {
addOrg(
orgID.id,
addOrgForm.getFieldValue('OUName'),
addOrgForm.getFieldValue('desrciption') || '',
'',
)
.then(res => {
if (res.msg==="Ok") {
onCancel();
notification.success({
message: '提交成功',
duration: 2,
});
// 重新获取机构树与用户表
updateTrees();
onSelect([`${res.OUID}`]);
} else {
notification.error({
message: '提交失败',
description: res.msg,
});
}
})
.catch(err => {
message.error(err);
});
if(orgID == -1){
addOrg(
orgID,
addOrgForm.getFieldValue('OUName'),
addOrgForm.getFieldValue('desrciption') || '',
'',
)
.then(res => {
if (res.msg==="Ok") {
onCancel();
notification.success({
message: '提交成功',
duration: 2,
});
// 重新获取机构树与用户表
updateTrees();
onSelect([`${res.OUID}`]);
} else {
notification.error({
message: '提交失败',
description: res.msg,
});
}
})
.catch(err => {
message.error(err);
});
}else{
addOrg(
orgID.id,
addOrgForm.getFieldValue('OUName'),
addOrgForm.getFieldValue('desrciption') || '',
'',
)
.then(res => {
if (res.msg==="Ok") {
onCancel();
notification.success({
message: '提交成功',
duration: 2,
});
// 重新获取机构树与用户表
updateTrees();
onSelect([`${res.OUID}`]);
} else {
notification.error({
message: '提交失败',
description: res.msg,
});
}
})
.catch(err => {
message.error(err);
});
}
};
return (
<Modal
......
......@@ -103,7 +103,7 @@ const AddUserModal = props => {
cancelText="取消"
>
<Form form={addUserForm} labelCol={{ span: 4 }}>
<span style={{position: 'absolute', left: '1%', top: '21%', color: 'red', fontSize: '16px'}}>*</span>
<span style={{position: 'absolute', top: '21%', color: 'red', fontSize: '16px'}}>*</span>
<Form.Item
hasFeedback
name="loginName"
......@@ -118,7 +118,7 @@ const AddUserModal = props => {
>
<Input placeholder="登录名称不支持中文" />
</Form.Item>
<span style={{position: 'absolute', left: '1%', top: '35%', color: 'red', fontSize: '16px'}}>*</span>
<span style={{position: 'absolute', top: '35%', color: 'red', fontSize: '16px'}}>*</span>
<Form.Item
hasFeedback
name="password"
......@@ -136,7 +136,7 @@ const AddUserModal = props => {
>
<Input placeholder="请输入账户密码,至少6位" />
</Form.Item>
<span style={{position: 'absolute', left: '1%', top: '49%', color: 'red', fontSize: '16px'}}>*</span>
<span style={{position: 'absolute', top: '49%', color: 'red', fontSize: '16px'}}>*</span>
<Form.Item
hasFeedback
name="userName"
......
import React from 'react';
import { Modal, notification, message } from 'antd';
import { deleteOrg } from '@/services/userCenter/userManage/api';
import { Margin } from 'gojs';
const DeleteOrgModal = props => {
const { title, visible, orgID, onCancel, updateTrees} = props;
const { title, visible, orgID, onCancel, updateTrees, orgTitle} = props;
// 提交-删除机构
const submitDeleteOrg = () =>
......@@ -36,7 +37,7 @@ const DeleteOrgModal = props => {
okText="确认"
cancelText="取消"
>
<p>即将删除该机构,是否确认删除?</p>
<p style={{marginLeft:'17px'}}>即将删除<span style={{color:'red'}}>{orgTitle}</span>,是否确认删除?</p>
</Modal>
);
};
......
import React, { useState, useCallback } from 'react';
import { Modal, Spin, Tabs, notification, message } from 'antd';
import React, { useState, useCallback, useEffect } from 'react';
import { Modal, Spin, Tabs, notification, message, Checkbox } from 'antd';
import {
setUserRelation,
setUserRelations,
setUserRelations
} from '@/services/userCenter/userManage/api';
import ListCardItem from '../../orgnazation/listCardItem';
const CheckboxGroup = Checkbox.Group;
const RelateRoleModal = props => {
const {
......@@ -18,6 +19,9 @@ const RelateRoleModal = props => {
onCancel,
onSelect,
loading,
multiRoleList,
multistationList,
mult
} = props;
const { TabPane } = Tabs;
const [roleValueList, setRoleValueList] = useState({}); // 勾选的角色列表
......@@ -33,6 +37,11 @@ const RelateRoleModal = props => {
setStationValueList({ ...stationValueList });
}, []);
useEffect(() => {
console.log(rolelist)
console.log(stationlist)
}, [])
// 提交-关联角色
const submitRole = () => {
setUserRelation(
......@@ -92,10 +101,10 @@ const RelateRoleModal = props => {
});
} else {
console.log(1),
notification.error({
message: '提交失败',
description: res.msg,
});
notification.error({
message: '提交失败',
description: res.msg,
});
}
})
.catch(err => {
......@@ -108,46 +117,93 @@ const RelateRoleModal = props => {
<span style={{ color: 'red' }}>提示:批量关联角色会覆盖原有角色</span>
</span>
);
return (
<Modal
title={multiRelateRoles ? title : '关联角色'}
visible={visible}
onOk={multiRelateRoles ? submitRoles : submitRole}
onCancel={onCancel}
okText="确认"
cancelText="取消"
width="500px"
>
<Spin spinning={loading} tip="loading">
<Tabs defaultActiveKey="1" style={{ marginTop: '-16px' }}>
<TabPane tab="角色" key="1">
{visible &&
rolelist.map((role, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={role.roleList}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
</TabPane>
<TabPane tab="站点" key="2">
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
</TabPane>
</Tabs>
</Spin>
</Modal>
const title1 = (
<span>
<span>关联角色{currentUser.loginName}</span>
</span>
);
if (mult == 'Yes') {
return (
<Modal
title={multiRelateRoles ? title : title1}
visible={visible}
onOk={multiRelateRoles ? submitRoles : submitRole}
onCancel={onCancel}
okText="确认"
cancelText="取消"
width="500px"
>
<Spin spinning={loading} tip="loading">
<Tabs defaultActiveKey="1" style={{ marginTop: '-16px' }}>
<TabPane tab="角色" key="1">
{visible &&
rolelist.map((role, index) => {
return <div className={styles.cardItemData} key={index}>
<Divider orientation="left" style={{ margin: '0 0 10px 0', color: '#15428b', borderTopColor: '#99bbe8' }}><Checkbox indeterminate={indeterminate[index]} onChange={onCheckAllChange} index={index} checkvalue={filed[item]} checked={checkAll[index]} style={{ marginRight: '7px' }}></Checkbox>{role.visibleTitle}</Divider>
<CheckboxGroup options={role.roleList} value={multiRoleList} onChange={(e) => onChangeList(e, index, item)} />
</div>
})}
</TabPane>
<TabPane tab="站点" key="2">
{visible &&
stationlist.map((station, index) => {
return <div className={styles.cardItemData} key={index}>
<Divider orientation="left" style={{ margin: '0 0 10px 0', color: '#15428b', borderTopColor: '#99bbe8' }}><Checkbox indeterminate={indeterminate[index]} onChange={onCheckAllChange} index={index} checkvalue={filed[item]} checked={checkAll[index]} style={{ marginRight: '7px' }}></Checkbox>{station.visibleTitle}</Divider>
<CheckboxGroup options={station.roleList} value={multistationList} onChange={(e) => onChangeList(e, index, item)} />
</div>
})}
</TabPane>
</Tabs>
</Spin>
</Modal>
);
} else {
return (
<Modal
title={multiRelateRoles ? title : title1}
visible={visible}
onOk={multiRelateRoles ? submitRoles : submitRole}
onCancel={onCancel}
okText="确认"
cancelText="取消"
width="500px"
>
<Spin spinning={loading} tip="loading">
<Tabs defaultActiveKey="1" style={{ marginTop: '-16px' }}>
<TabPane tab="角色" key="1">
{visible &&
rolelist.map((role, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={role.roleList}
multiRoleList={multiRoleList}
mult={mult}
OUName={role.visibleTitle}
getValueCallback={getRoleValueCallback}
/>
))}
</TabPane>
<TabPane tab="站点" key="2">
{visible &&
stationlist.map((station, index) => (
<ListCardItem
itemid={index}
key={`item${index}key`}
userList={station.stationList}
multistationList={multistationList}
mult={mult}
OUName={station.visibleTitle}
getValueCallback={getStationValueCallback}
/>
))}
</TabPane>
</Tabs>
</Spin>
</Modal>
);
}
};
export default RelateRoleModal;
......@@ -65,6 +65,7 @@ import {
SetUserRelationListNew,
JumpToAnotherOUNew,
DeleteUserNew,
loadAllUserRole
} from '@/services/userCenter/userManage/api';
import { AddUserAuthSetting, GetUserAuthSet } from '@/services/database/api';
import Tree from '@/components/ExpendableTree';
......@@ -133,6 +134,9 @@ const UserManage = () => {
const [newOrgID, setNewOrgID] = useState(); // 更改机构新选择的ID
const [currentUser, setCurrentUser] = useState({}); // 当前用户
const [mult, setMult] = useState('')//判断是否是批量关联
const [multiRoleList, setMultiRoleList] = useState([])
const [multistationList, setMultiStationList] = useState([])
const [userIDs, setUserIDs] = useState(''); // 批量删除的用户
const [orgIDs, setOrgIDs] = useState(''); // 批量操作的机构
const [multiDelete, setMultiDelete] = useState(false); // 是否批量删除用户
......@@ -667,16 +671,18 @@ const UserManage = () => {
};
// 在currentUser变化后获取角色列表
useEffect(() => {
if (currentUser && currentUser.userID) {
getRoleList();
}
}, [currentUser]);
// useEffect(() => {
// if (currentUser && currentUser.userID) {
// getRoleList();
// }
// }, [currentUser]);
/** ***用户批量操作****** */
// 关联角色
const relateRoles = () => {
setMult('Yes')
getEmptyRoleList();
getCheckList()
setRoleVisible(true);
setMultiRelateRoles(true);
};
......@@ -694,6 +700,10 @@ const UserManage = () => {
/** ***右侧表格相关操作****** */
// 关联角色
const relateRole = record => {
// getEmptyRoleList(record.userID);
setMult('No')
console.log(record)
getRoleList(record)
setRoleVisible(true);
setCurrentUser(record);
setSelectColor(record);
......@@ -875,7 +885,7 @@ const UserManage = () => {
/** ***表单提交相关操作****** */
// 根据当前 userID 获取用户关联角色
const getRoleList = () => {
const getRoleList = e => {
setLoading(true);
// getUserRelationList(currentUser.userID)
// .then(res => {
......@@ -896,19 +906,18 @@ const UserManage = () => {
// setTableLoading(false);
// message.error(err);
// });
console.log(currentUser.userID);
GetUserRelationListNew({ userID: currentUser.userID })
GetUserRelationListNew({ userID: e.userID })
.then(res => {
setLoading(false);
console.log(111)
if (res.code === 0) {
const { roleList, stationList } = res.data;
setRolelist(roleList);
setStationlist(stationList);
setLoading(false);
} else {
notification.error({
message: '提交失败',
description: res.message,
});
console.log(res)
setLoading(false);
}
})
.catch(err => {
......@@ -939,19 +948,18 @@ const UserManage = () => {
// setTableLoading(false);
// message.error(err);
// });
GetUserRelationListNew({ userID: '' })
GetUserRelationListNew({ userID: 0})
.then(res => {
setLoading(false);
console.log(222)
if (res.code === 0) {
const { roleList, stationList } = res.data;
setRolelist(roleList);
setStationlist(stationList);
setLoading(false);
} else {
console.log(err);
// notification.error({
// message: '提交失败',
// description: res.message,
// });
console.log(res.msg)
setLoading(false);
}
})
.catch(err => {
......@@ -960,6 +968,29 @@ const UserManage = () => {
message.error(err);
});
};
const getCheckList = () =>{
let aa = []
let bb = []
loadAllUserRole(selectedRowKeys).then(res =>{
if(res.code === 0){
console.log(res.data.siteList.length)
if(res.data.roleList != undefined){
Object.keys(res.data.roleList).map((item,index)=>{
aa.push(item)
})
}
if(res.data.stationList != undefined){
Object.keys(res.data.stationList).map((item1,index1)=>{
bb.push(item1)
})
}
setMultiRoleList(aa)
setMultiStationList(bb)
}
})
}
// 提交-更改机构
const submitChangeOrg = () => {
// addToOrg(currentUser.userID, currentUser.OUID, newOrgID)
......@@ -1201,28 +1232,38 @@ const UserManage = () => {
};
// 更改机构范围
const submitExtent = (extent, areaName) => {
const submitExtent = (extent, areaName, flag) => {
setTreeLoading(true);
console.log(extent);
console.log(areaName);
console.log(flag)
console.log(currentSelectOrg1);
if (extent) {
setOrgArea({
OUID: currentSelectOrg1,
areaName,
extent,
}).then(res => {
if (res.msg === '') {
setTreeLoading(false);
setSaveExtentFlag(saveExtentFlag + 1);
message.success('机构范围设置成功!');
} else {
setTreeLoading(false);
message.warn(res.Message);
}
if(flag == 0){
setTreeLoading(false);
notification.warn({
message: '提交失败',
description: '请框选范围',
});
}else{
if (extent) {
setOrgArea({
OUID: currentSelectOrg1,
areaName,
extent,
}).then(res => {
if (res.msg === '') {
setTreeLoading(false);
setEditOrgExtentVisible(false);
setSaveExtentFlag(saveExtentFlag + 1);
message.success('机构范围设置成功!');
} else {
setTreeLoading(false);
setEditOrgExtentVisible(false);
message.warn(res.Message);
}
});
}
}
setEditOrgExtentVisible(false);
};
const addChange = e => {
......@@ -1355,14 +1396,14 @@ const UserManage = () => {
})}
>
<div style={{ height: '50px' }}>
<p
<span
className={styles.title}
title={`${orgTitle}(已选${
selectedRowKeys.length
}/共${tableLength}人)`}
>
{orgTitle}(已选{selectedRowKeys.length}/共{tableLength}人
</p>
</span>
<span style={{ float: 'right', margin: '10px' }}>
<Search
style={{ width: 260 }}
......@@ -1442,8 +1483,9 @@ const UserManage = () => {
/>
{/* 删除机构 */}
<DeleteOrgModal
title="确认删除机构"
title='删除机构'
visible={deleteOrgVisible}
orgTitle={orgTitle1}
orgID={orgID}
updateTrees={updateTrees}
onCancel={() => setDeleteOrgVisible(false)}
......@@ -1455,6 +1497,9 @@ const UserManage = () => {
currentSelectOrg={currentSelectOrg}
visible={roleVisible}
rolelist={rolelist}
multiRoleList={multiRoleList}
multistationList={multistationList}
mult={mult}
loading={loading}
stationlist={stationlist}
multiRelateRoles={multiRelateRoles}
......
......@@ -219,7 +219,7 @@
.title{
margin: 16px 0 10px 16px;
display: inline-block;
width: 270px;
// width: 270px;
cursor: pointer;
overflow: hidden;
text-overflow:ellipsis;
......
......@@ -2,7 +2,7 @@
* @Description:
* @Author: leizhe
* @Date: 2021-05-27 16:31:05
* @LastEditTime: 2021-10-29 11:15:29
* @LastEditTime: 2021-11-02 14:23:38
* @LastEditors: leizhe
*/
import { get, post, PUBLISH_SERVICE, CITY_SERVICE } from '@/services/index';
......@@ -43,6 +43,9 @@ export const addRole = params =>
// 获取分组列表
export const getRoleGroup = params =>
get(`${CITY_SERVICE}/OMS.svc/P_GetRoleGroup`, params);
//获取角色备注
export const GetRoleGroup = params =>
get(`${PUBLISH_SERVICE}/UserCenter/GetRoleGroup`, params);
// 编辑角色
export const editRole = params =>
get(`${PUBLISH_SERVICE}/UserCenter/EditRole`, params);
......
......@@ -100,6 +100,10 @@ export const addToOrgs = (userIDs, orgIDs, newOrgID) =>
export const updateUserPassword = params =>
post(`${PUBLISH_SERVICE}/UserCenter/UpdateUserPassword`, params);
//批量获取用户角色和机构
export const loadAllUserRole = params =>
post(`${PUBLISH_SERVICE}/UserCenter/LoadAllUserRole`, params);
export const editUser = (userID, loginName, userName, phone, email) =>
get(`${PUBLISH_SERVICE}/UserCenter/EditUser`, {
userID,
......
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