|
@@ -1,14 +1,13 @@
|
|
import {useEffect,useState} from 'react';
|
|
import {useEffect,useState} from 'react';
|
|
-import { useDispatch,useSelector } from 'react-redux'
|
|
|
|
|
|
+/*import { useDispatch,useSelector } from 'react-redux'*/
|
|
import { Table,Modal, message, Menu, Breadcrumb, Dropdown, Space, Form, Input, Button, Row, Col, Select } from 'antd';
|
|
import { Table,Modal, message, Menu, Breadcrumb, Dropdown, Space, Form, Input, Button, Row, Col, Select } from 'antd';
|
|
import { DownOutlined,PlusOutlined } from '@ant-design/icons';
|
|
import { DownOutlined,PlusOutlined } from '@ant-design/icons';
|
|
import AddSubOrg from './AddSubOrg';
|
|
import AddSubOrg from './AddSubOrg';
|
|
import './index.less';
|
|
import './index.less';
|
|
import apiObj from '@api/index';
|
|
import apiObj from '@api/index';
|
|
-import utils from '@utils/index';
|
|
|
|
|
|
+import OrgContext from './org-context';
|
|
|
|
|
|
const {post,api,xPost} = apiObj;
|
|
const {post,api,xPost} = apiObj;
|
|
-const { handleResponse } = utils;
|
|
|
|
const { Option } = Select;
|
|
const { Option } = Select;
|
|
function OrgManager(){
|
|
function OrgManager(){
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
@@ -21,17 +20,19 @@ function OrgManager(){
|
|
const [visible,setVisible] = useState(false);
|
|
const [visible,setVisible] = useState(false);
|
|
const [addVisible,setAddVisible] = useState(false);
|
|
const [addVisible,setAddVisible] = useState(false);
|
|
const [confirmLoading, setConfirmLoading] = useState(false);
|
|
const [confirmLoading, setConfirmLoading] = useState(false);
|
|
- //弹窗类型:1删除 2有子组织删除 3有用户删除 4禁用 5有子组织禁用 6有用户禁用 7重置密码
|
|
|
|
|
|
+ //弹窗类型:1删除 2有子组织、用户删除 3禁用 4有子组织、用户禁用 5重置密码
|
|
const [modalType,setModalType] = useState(1);
|
|
const [modalType,setModalType] = useState(1);
|
|
|
|
+ const [modalTitle,setModalTitle] = useState(1);
|
|
const [operId,setOperId] = useState('');
|
|
const [operId,setOperId] = useState('');
|
|
|
|
+ const [orgId,setOrgId] = useState('');
|
|
|
|
+ const [orgName,setOrgName] = useState('');
|
|
|
|
+
|
|
const tipText={
|
|
const tipText={
|
|
1:'确定要删除该组织?',
|
|
1:'确定要删除该组织?',
|
|
- 2:'当前组织存在子组织,删除后子组织将一并被删除',
|
|
|
|
- 3:'当前组织或子组织存在用户,删除后用户将一并被删除',
|
|
|
|
- 4:'确定要禁用该组织?',
|
|
|
|
- 5:'当前组织存在子组织,禁用后子组织将一并被禁用',
|
|
|
|
- 6:'当前组织或子组织存在用户,禁用后用户将一并被禁用',
|
|
|
|
- 7:'确定要重置该组织密码?',
|
|
|
|
|
|
+ 2:'当前组织内可能包含子组织或其相关用户,删除后所包含信息将一并被删除',
|
|
|
|
+ 3:'确定要禁用该组织?',
|
|
|
|
+ 4:'当前组织内可能包含子组织或其相关用户,禁用后所包含信息将一并被禁用',
|
|
|
|
+ 5:'确定要重置该组织密码?',
|
|
};
|
|
};
|
|
|
|
|
|
//获取筛选下拉数据
|
|
//获取筛选下拉数据
|
|
@@ -39,7 +40,7 @@ function OrgManager(){
|
|
post(api.getManagerBoxInfo).then((res)=>{
|
|
post(api.getManagerBoxInfo).then((res)=>{
|
|
if(res.data.code===200){
|
|
if(res.data.code===200){
|
|
const data = res.data.data;
|
|
const data = res.data.data;
|
|
- setTypeList(data["类型"]);
|
|
|
|
|
|
+ setTypeList(data[43]);
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -48,17 +49,20 @@ function OrgManager(){
|
|
post(api.getHospitalListInfo,param).then((res)=>{
|
|
post(api.getHospitalListInfo,param).then((res)=>{
|
|
if(res.data.code===200){
|
|
if(res.data.code===200){
|
|
const data = res.data.data;
|
|
const data = res.data.data;
|
|
|
|
+ setOrgId(data[0]?data[0].hospitalId:'');
|
|
|
|
+ setOrgName(data[0]?data[0].hospitalName:'')
|
|
setDataSource(data);
|
|
setDataSource(data);
|
|
}
|
|
}
|
|
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
//启用/禁用
|
|
//启用/禁用
|
|
- function enable(flag) {
|
|
|
|
- const param = {HospitalId:operId,status:flag};
|
|
|
|
|
|
+ function enable(flag,id) {
|
|
|
|
+ const param = {HospitalId:id||operId,status:flag};
|
|
xPost(api.disableHospital,param).then((res)=>{
|
|
xPost(api.disableHospital,param).then((res)=>{
|
|
if(res.data.code===200){
|
|
if(res.data.code===200){
|
|
getTableData();
|
|
getTableData();
|
|
|
|
+ setVisible(false);
|
|
message.success((flag?'启用':'禁用')+"成功");
|
|
message.success((flag?'启用':'禁用')+"成功");
|
|
}else{
|
|
}else{
|
|
message.warning(res.data.msg||'操作失败');
|
|
message.warning(res.data.msg||'操作失败');
|
|
@@ -70,9 +74,10 @@ function OrgManager(){
|
|
//重置密码
|
|
//重置密码
|
|
function onResetPsd(){
|
|
function onResetPsd(){
|
|
const param = {HospitalId:operId};
|
|
const param = {HospitalId:operId};
|
|
- xPost(api.disableHospital,param).then((res)=>{
|
|
|
|
|
|
+ xPost(api.resetPassword,param).then((res)=>{
|
|
if(res.data.code===200){
|
|
if(res.data.code===200){
|
|
getTableData();
|
|
getTableData();
|
|
|
|
+ setVisible(false)
|
|
message.success("重置成功");
|
|
message.success("重置成功");
|
|
}else{
|
|
}else{
|
|
message.warning(res.data.msg||'操作失败');
|
|
message.warning(res.data.msg||'操作失败');
|
|
@@ -87,6 +92,7 @@ function OrgManager(){
|
|
xPost(api.deleteHospital,param).then((res)=>{
|
|
xPost(api.deleteHospital,param).then((res)=>{
|
|
if(res.data.code===200){
|
|
if(res.data.code===200){
|
|
getTableData();
|
|
getTableData();
|
|
|
|
+ setVisible(false);
|
|
message.success("删除成功");
|
|
message.success("删除成功");
|
|
}else{
|
|
}else{
|
|
message.warning(res.data.msg||'操作失败');
|
|
message.warning(res.data.msg||'操作失败');
|
|
@@ -102,12 +108,12 @@ function OrgManager(){
|
|
setVisible(true);
|
|
setVisible(true);
|
|
}
|
|
}
|
|
//弹窗确认事件
|
|
//弹窗确认事件
|
|
- function handleOk(type){
|
|
|
|
- if("1,2,3".indexOf(type)>-1){
|
|
|
|
|
|
+ function handleOk(){
|
|
|
|
+ if("1,2".indexOf(modalType)>-1){
|
|
onDelete();
|
|
onDelete();
|
|
- }else if("4,5,6".indexOf(type)>-1){
|
|
|
|
|
|
+ }else if("3,4".indexOf(modalType)>-1){
|
|
enable(0);
|
|
enable(0);
|
|
- }else if(type===7){
|
|
|
|
|
|
+ }else if(modalType===5){
|
|
onResetPsd();
|
|
onResetPsd();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -115,11 +121,29 @@ function OrgManager(){
|
|
//弹窗取消
|
|
//弹窗取消
|
|
function handleCancel(){
|
|
function handleCancel(){
|
|
setVisible(false);
|
|
setVisible(false);
|
|
|
|
+ setAddVisible(false);
|
|
}
|
|
}
|
|
//新增子组织弹窗
|
|
//新增子组织弹窗
|
|
- function showAddModal(){
|
|
|
|
|
|
+ function showAddModal(title){
|
|
|
|
+ setModalTitle(title);
|
|
setAddVisible(true);
|
|
setAddVisible(true);
|
|
}
|
|
}
|
|
|
|
+ //保存
|
|
|
|
+ function addSubOrg(formData){
|
|
|
|
+ console.log('保存参数:',formData);
|
|
|
|
+ const param = formData;
|
|
|
|
+ post(api.addHospital,param).then((res)=>{
|
|
|
|
+ if(res.data.code===200){
|
|
|
|
+ getTableData();
|
|
|
|
+ setAddVisible(false);
|
|
|
|
+ message.success("添加成功");
|
|
|
|
+ }else{
|
|
|
|
+ message.warning(res.data.msg||'操作失败');
|
|
|
|
+ }
|
|
|
|
+ }).catch(()=>{
|
|
|
|
+ message.error("接口出错");
|
|
|
|
+ });
|
|
|
|
+ }
|
|
//表格渲染
|
|
//表格渲染
|
|
function RenderTable(){
|
|
function RenderTable(){
|
|
const columns = [
|
|
const columns = [
|
|
@@ -146,13 +170,13 @@ function OrgManager(){
|
|
}
|
|
}
|
|
const menu = (
|
|
const menu = (
|
|
<Menu>
|
|
<Menu>
|
|
- <Menu.Item key="0" onClick={(row)=>showModal(7,row.hospitalId)}>重置密码</Menu.Item>
|
|
|
|
- <Menu.Item key="1" onClick={(row)=>showModal(1,row.hospitalId)}>删除</Menu.Item>
|
|
|
|
|
|
+ <Menu.Item key="0" onClick={()=>showModal(5,row.hospitalId)}>重置密码</Menu.Item>
|
|
|
|
+ <Menu.Item key="1" onClick={()=>showModal((row.hasUserFlag||row.hasHospitalFlag?2:1),row.hospitalId)}>删除</Menu.Item>
|
|
</Menu>
|
|
</Menu>
|
|
);
|
|
);
|
|
return (<Space size="middle">
|
|
return (<Space size="middle">
|
|
<a>修改</a>
|
|
<a>修改</a>
|
|
- {row.status==='1'?(<a onClick={()=>showModal(4,row.hospitalId)}>禁用</a>):(<a onClick={()=>enable(row,1)}>启用</a>)}
|
|
|
|
|
|
+ {row.status==='1'?(<a onClick={()=>showModal(row.hasUserFlag||row.hasHospitalFlag?4:3,row.hospitalId)}>禁用</a>):(<a onClick={()=>enable(1,row.hospitalId)}>启用</a>)}
|
|
<Dropdown overlay={menu} trigger={['click']}>
|
|
<Dropdown overlay={menu} trigger={['click']}>
|
|
<a className="ant-dropdown-link">
|
|
<a className="ant-dropdown-link">
|
|
更多 <DownOutlined />
|
|
更多 <DownOutlined />
|
|
@@ -179,7 +203,6 @@ function OrgManager(){
|
|
form.resetFields();
|
|
form.resetFields();
|
|
getTableData();
|
|
getTableData();
|
|
};
|
|
};
|
|
-
|
|
|
|
return (
|
|
return (
|
|
<div className='container'>
|
|
<div className='container'>
|
|
<div className="filter-box">
|
|
<div className="filter-box">
|
|
@@ -197,11 +220,11 @@ function OrgManager(){
|
|
allowClear
|
|
allowClear
|
|
>
|
|
>
|
|
<Option value="">全部</Option>
|
|
<Option value="">全部</Option>
|
|
- {/*{typeList.map((item)=>{
|
|
|
|
|
|
+ {typeList.map((item)=>{
|
|
return (
|
|
return (
|
|
- <Option value={item.value}>{item.name}</Option>
|
|
|
|
|
|
+ <Option value={item.name} key={item.name}>{item.val}</Option>
|
|
)
|
|
)
|
|
- })}*/}
|
|
|
|
|
|
+ })}
|
|
</Select>
|
|
</Select>
|
|
</Form.Item>
|
|
</Form.Item>
|
|
</Col>
|
|
</Col>
|
|
@@ -234,7 +257,7 @@ function OrgManager(){
|
|
<Breadcrumb>
|
|
<Breadcrumb>
|
|
<Breadcrumb.Item>组织管理</Breadcrumb.Item>
|
|
<Breadcrumb.Item>组织管理</Breadcrumb.Item>
|
|
</Breadcrumb>
|
|
</Breadcrumb>
|
|
- <Button type="primary" icon={<PlusOutlined />} onClick={e => showAddModal('新增子组织', true)}>新增子组织</Button>
|
|
|
|
|
|
+ <Button type="primary" icon={<PlusOutlined />} onClick={()=> showAddModal('新增子组织')}>新增子组织</Button>
|
|
</div>
|
|
</div>
|
|
<RenderTable />
|
|
<RenderTable />
|
|
</div>
|
|
</div>
|
|
@@ -251,16 +274,16 @@ function OrgManager(){
|
|
<p>{tipText[modalType]}</p>
|
|
<p>{tipText[modalType]}</p>
|
|
</Modal>
|
|
</Modal>
|
|
<Modal
|
|
<Modal
|
|
- title="提示"
|
|
|
|
- okText='确定'
|
|
|
|
- cancelText='取消'
|
|
|
|
|
|
+ title={modalTitle}
|
|
|
|
+ footer={null}
|
|
width={690}
|
|
width={690}
|
|
visible={addVisible}
|
|
visible={addVisible}
|
|
- onOk={handleOk}
|
|
|
|
confirmLoading={confirmLoading}
|
|
confirmLoading={confirmLoading}
|
|
onCancel={handleCancel}
|
|
onCancel={handleCancel}
|
|
>
|
|
>
|
|
|
|
+ <OrgContext.Provider value={{orgId,orgName,typeList,save:addSubOrg}}>
|
|
<AddSubOrg />
|
|
<AddSubOrg />
|
|
|
|
+ </OrgContext.Provider>
|
|
</Modal>
|
|
</Modal>
|
|
</div>
|
|
</div>
|
|
)
|
|
)
|