|
@@ -8,7 +8,9 @@ import { MessageFu } from '@/utils/message'
|
|
|
import { I5_APIdel, I5_APIgetTree, I5_APIgetUserById } from '@/store/action/Isystem/I5organization'
|
|
import { I5_APIdel, I5_APIgetTree, I5_APIgetUserById } from '@/store/action/Isystem/I5organization'
|
|
|
import { I5AddInfoType, TypeI5Tree, TypeI5UserList } from './data'
|
|
import { I5AddInfoType, TypeI5Tree, TypeI5UserList } from './data'
|
|
|
import { filterTreeByName, treeResIdFu } from '../I2dict/data'
|
|
import { filterTreeByName, treeResIdFu } from '../I2dict/data'
|
|
|
|
|
+import classNames from 'classnames'
|
|
|
import I5add from './I5add'
|
|
import I5add from './I5add'
|
|
|
|
|
+
|
|
|
function I5organization() {
|
|
function I5organization() {
|
|
|
const dispatch = useDispatch()
|
|
const dispatch = useDispatch()
|
|
|
|
|
|
|
@@ -163,104 +165,111 @@ function I5organization() {
|
|
|
return (
|
|
return (
|
|
|
<div className={styles.I5organization}>
|
|
<div className={styles.I5organization}>
|
|
|
<div className='pageTitle'>组织管理</div>
|
|
<div className='pageTitle'>组织管理</div>
|
|
|
- <div className='I5top'>
|
|
|
|
|
- <Input
|
|
|
|
|
- style={{ width: 300 }}
|
|
|
|
|
- placeholder='请输入部门名称'
|
|
|
|
|
- maxLength={30}
|
|
|
|
|
- showCount
|
|
|
|
|
- value={value}
|
|
|
|
|
- onChange={e => valueChange(e.target.value)}
|
|
|
|
|
- allowClear
|
|
|
|
|
- />
|
|
|
|
|
- <Button
|
|
|
|
|
- type='primary'
|
|
|
|
|
- onClick={() => setAddInfo({ id: '-1', txt: '新增', acInfo: rightData })}
|
|
|
|
|
- >
|
|
|
|
|
- 新增
|
|
|
|
|
- </Button>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
|
|
- {/* 主体 */}
|
|
|
|
|
- <div className='I5main'>
|
|
|
|
|
- <div className='I5m1'>
|
|
|
|
|
- <div className='I5m1ll'>
|
|
|
|
|
- {treeDataTemp && treeDataTemp.length ? (
|
|
|
|
|
- <Tree
|
|
|
|
|
- // 默认全部展开
|
|
|
|
|
- defaultExpandAll={true}
|
|
|
|
|
- // 数据
|
|
|
|
|
- treeData={treeData}
|
|
|
|
|
- // 自定义字段
|
|
|
|
|
- // fieldNames={{ title: 'title', key: 'key', children: 'children' }}
|
|
|
|
|
- // 选中
|
|
|
|
|
- selectedKeys={[acShu]}
|
|
|
|
|
- // 点击
|
|
|
|
|
- onSelect={onSelect}
|
|
|
|
|
- />
|
|
|
|
|
- ) : loding ? (
|
|
|
|
|
- <div className='I5Null'>暂无数据</div>
|
|
|
|
|
- ) : null}
|
|
|
|
|
- </div>
|
|
|
|
|
- <div className='I5m1rr'>
|
|
|
|
|
- {rightData.id ? (
|
|
|
|
|
- <>
|
|
|
|
|
- <div className='I5mr2'>
|
|
|
|
|
- <div className='I5mr2Row I5mr2Row0'>
|
|
|
|
|
- <div className='I5mr2Row1'>操作:</div>
|
|
|
|
|
- <div>
|
|
|
|
|
- <Button type='text' onClick={() => addSonFu(rightData.id)}>
|
|
|
|
|
- 编辑
|
|
|
|
|
- </Button>
|
|
|
|
|
-  
|
|
|
|
|
- <MyPopconfirm txtK='删除' onConfirm={() => delTree(rightData.id)} />
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div className='I5mr2Row'>
|
|
|
|
|
- <div className='I5mr2Row1'>部门名称:</div>
|
|
|
|
|
- <div>{rightData.name}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div className='I5mr2Row'>
|
|
|
|
|
- <div className='I5mr2Row1'>部门说明:</div>
|
|
|
|
|
- <div className='I5mr2Row2_1'>{rightData.description || '(空)'}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div className='I5mr2Row'>
|
|
|
|
|
- <div className='I5mr2Row1'>层级:</div>
|
|
|
|
|
- <div>{rightData.level}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- {/* <div className='I5mr2Row'>
|
|
|
|
|
|
|
+ {/* 左侧 */}
|
|
|
|
|
+ <div className='I5son I5ll'>
|
|
|
|
|
+ <div className='I5ll1'>
|
|
|
|
|
+ <Input
|
|
|
|
|
+ style={{ width: 300 }}
|
|
|
|
|
+ placeholder='请输入部门名称'
|
|
|
|
|
+ maxLength={30}
|
|
|
|
|
+ showCount
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ onChange={e => valueChange(e.target.value)}
|
|
|
|
|
+ allowClear
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className='I5ll2'>
|
|
|
|
|
+ {treeDataTemp && treeDataTemp.length ? (
|
|
|
|
|
+ <Tree
|
|
|
|
|
+ // 默认全部展开
|
|
|
|
|
+ defaultExpandAll={true}
|
|
|
|
|
+ // 数据
|
|
|
|
|
+ treeData={treeData}
|
|
|
|
|
+ // 自定义字段
|
|
|
|
|
+ // fieldNames={{ title: 'title', key: 'key', children: 'children' }}
|
|
|
|
|
+ // 选中
|
|
|
|
|
+ selectedKeys={[acShu]}
|
|
|
|
|
+ // 点击
|
|
|
|
|
+ onSelect={onSelect}
|
|
|
|
|
+ />
|
|
|
|
|
+ ) : loding ? (
|
|
|
|
|
+ <div className='NODATA'>暂无相关搜索结果,请更换关键字搜索</div>
|
|
|
|
|
+ ) : null}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ {/* 右侧 */}
|
|
|
|
|
+ <div className='I5son I5rr'>
|
|
|
|
|
+ {rightData.id ? (
|
|
|
|
|
+ <>
|
|
|
|
|
+ <div className='I5mr2'>
|
|
|
|
|
+ <div className='I5mr2_1'>
|
|
|
|
|
+ <div>操作:</div>
|
|
|
|
|
+ <Button
|
|
|
|
|
+ size='large'
|
|
|
|
|
+ type='primary'
|
|
|
|
|
+ onClick={() => setAddInfo({ id: '-1', txt: '新增', acInfo: rightData })}
|
|
|
|
|
+ >
|
|
|
|
|
+ 新增
|
|
|
|
|
+ </Button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div className='I5mr2_2'>
|
|
|
|
|
+ <div onClick={() => addSonFu(rightData.id)} className={classNames('I5mr2Btn')}>
|
|
|
|
|
+ 编辑
|
|
|
|
|
+ </div>
|
|
|
|
|
+  
|
|
|
|
|
+ <MyPopconfirm
|
|
|
|
|
+ txtK='删除'
|
|
|
|
|
+ onConfirm={() => delTree(rightData.id)}
|
|
|
|
|
+ disabled={rightData.parentId === '0'}
|
|
|
|
|
+ Dom={<div className={classNames('I5mr2Btn I5mr2Btn2')}>删除</div>}
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div className='I5mr2Row'>
|
|
|
|
|
+ <div className='I5mr2Row1'>部门名称:</div>
|
|
|
|
|
+ <div className='I5mr2Row2'>{rightData.name}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div className='I5mr2Row'>
|
|
|
|
|
+ <div className='I5mr2Row1'>层级:</div>
|
|
|
|
|
+ <div className='I5mr2Row2'>{rightData.level}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ {/* <div className='I5mr2Row'>
|
|
|
<div className='I5mr2Row1'>id:</div>
|
|
<div className='I5mr2Row1'>id:</div>
|
|
|
- <div>{rightData.id}</div>
|
|
|
|
|
|
|
+ <div className='I5mr2Row2'>{rightData.id}</div>
|
|
|
</div> */}
|
|
</div> */}
|
|
|
|
|
|
|
|
- <div className='I5mr2Row'>
|
|
|
|
|
- <div className='I5mr2Row1'>排序值:</div>
|
|
|
|
|
- <div>{rightData.sort}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div className='I5mr2Row I5mr2RowLast'>
|
|
|
|
|
- <div className='I5mr2Row1'>相关成员:</div>
|
|
|
|
|
- <div className='I5mr2Row2'>
|
|
|
|
|
- {userList.length
|
|
|
|
|
- ? userList.map((v, i) => (
|
|
|
|
|
- <div key={v.userId}>
|
|
|
|
|
- {v.userName}
|
|
|
|
|
- {v.isLeader === 1 ? '(部门主管)' : ''}
|
|
|
|
|
- {i < userList.length - 1 ? ',' : ''}
|
|
|
|
|
- </div>
|
|
|
|
|
- ))
|
|
|
|
|
- : '(空)'}
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div className='I5mr2Row'>
|
|
|
|
|
+ <div className='I5mr2Row1'>排序值:</div>
|
|
|
|
|
+ <div className='I5mr2Row2'>{rightData.sort}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div className='I5mr2Row'>
|
|
|
|
|
+ <div className='I5mr2Row1'>部门说明:</div>
|
|
|
|
|
+ <div className='I5mr2Row2'>{rightData.description || '(空)'}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div className='I5mr2Row I5mr2RowLast'>
|
|
|
|
|
+ <div className='I5mr2Row1'>相关成员:</div>
|
|
|
|
|
+ <div className='I5mr2Row2'>
|
|
|
|
|
+ {userList.length
|
|
|
|
|
+ ? userList.map((v, i) => (
|
|
|
|
|
+ <div key={v.userId}>
|
|
|
|
|
+ {v.userName}
|
|
|
|
|
+ {v.isLeader === 1 ? '(部门主管)' : ''}
|
|
|
|
|
+ {i < userList.length - 1 ? ',' : ''}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ ))
|
|
|
|
|
+ : '(空)'}
|
|
|
</div>
|
|
</div>
|
|
|
- </>
|
|
|
|
|
- ) : null}
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </>
|
|
|
|
|
+ ) : null}
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
{/* 新增/编辑页面 中图法分类 */}
|
|
{/* 新增/编辑页面 中图法分类 */}
|
|
|
{addInfo.id ? (
|
|
{addInfo.id ? (
|
|
|
<I5add
|
|
<I5add
|