Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
fe98d086
Commit
fe98d086
authored
Jul 28, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:处理岗位组的添加删除
parent
537099a7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
311 additions
and
221 deletions
+311
-221
src/data-source/store/request-apis.ts
+13
-3
src/domains/store-domain/constants.ts
+9
-2
src/domains/store-domain/storeService.ts
+17
-2
src/modules/college-manage/EmployeeManage.tsx
+3
-3
src/modules/college-manage/components/CustomGroupTabCon.jsx
+74
-68
src/modules/college-manage/components/DepartMentTabCon.jsx
+6
-12
src/modules/college-manage/components/LeftStructureTree.jsx
+0
-0
src/modules/college-manage/components/LeftStructureTree.less
+12
-0
src/modules/college-manage/components/MemberTree.jsx
+36
-12
src/modules/college-manage/components/PostGroupTabCon.jsx
+74
-78
src/modules/college-manage/components/PostGroupTabCon.less
+0
-13
src/modules/college-manage/modal/AddOrEditPostGroupModal.jsx
+52
-15
src/modules/college-manage/modal/NewChooseMembersModal.jsx
+8
-6
src/modules/college-manage/modal/SetEmployeeModal.jsx
+7
-7
No files found.
src/data-source/store/request-apis.ts
View file @
fe98d086
...
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-25 18:25:02
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-2
6 16:05:10
* @LastEditTime: 2021-07-2
7 15:08:02
* @Description: Description
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -81,7 +81,17 @@ export function getByDepartmentId(params: object) {
export
function
getDepartmentUser
(
params
:
object
)
{
return
Service
.
Hades
(
"/public/hades/getDepartmentAndDepartmentUserByName"
,
params
);
}
export
function
getDepartmentUserNotPage
(
params
:
object
)
{
return
Service
.
Hades
(
"public/hades/getDepartmentAndDepartmentUserNotPageByName"
,
params
);
}
export
function
addDepartment
(
params
:
object
)
{
return
Service
.
Hades
(
"public/hades/addDepartment"
,
params
);
}
export
function
editDepartment
(
params
:
object
)
{
return
Service
.
Hades
(
"public/hades/editDepartment"
,
params
);
}
export
function
delDepartment
(
params
:
object
)
{
return
Service
.
Hades
(
"public/hades/delDepartment"
,
params
);
}
src/domains/store-domain/constants.ts
View file @
fe98d086
/*
* @Author: zhangleyuan
* @Date: 2021-01-19 11:27:56
* @LastEditors:
zhangleyuan
* @LastEditTime: 2021-0
3-08 10:36:04
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-0
7-27 15:29:08
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -12,6 +12,7 @@ export const storeRoleEnum = {
"1"
:
"管理员"
,
"2"
:
"普通讲师"
};
export
const
industryList
=
[
"IT服务"
,
"制造业"
,
"批发/零售"
,
"生活服务"
,
"文化/体育/娱乐业"
,
"建筑/房地产"
,
"教育"
,
"运输/物流/仓储"
,
"医疗"
,
"政府"
,
"金融"
,
"能源/采矿"
,
"农林渔牧"
,
"其他行业"
];
export
const
childIndustryList
=
{
...
...
@@ -29,4 +30,9 @@ export const childIndustryList = {
"能源/采矿"
:[
"电力/热力/燃气/水供应业"
,
"石油/天然气"
,
"煤炭"
,
"有色金属"
,
"钢铁"
,
"其他"
],
"农林渔牧"
:[
"农林渔牧"
],
"其他行业"
:[
"科学研究和技术服务业"
,
"社会组织"
,
"水利和环境管理"
,
"国际组织"
,
"其他"
]
}
export
const
DepType
=
{
'departMentTab'
:
'DEP_ORG'
,
'postGrouptab'
:
'DEP_POST'
,
'customGroupTab'
:
'DEP_CUSTOM'
}
\ No newline at end of file
src/domains/store-domain/storeService.ts
View file @
fe98d086
...
...
@@ -2,13 +2,15 @@
* @Author: wufan
* @Date: 2020-11-25 18:25:02
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-2
6 16:06:29
* @LastEditTime: 2021-07-2
7 15:09:12
* @Description: Description
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import
{
getEmployeeList
,
getUserList
,
getStoreDecorationList
,
getStoreRole
,
addEmployee
,
editEmployee
,
deleteEmployee
,
getCourseCatalogList
,
getAllSonCategory
,
addCourseCategory
,
delCourseCategory
,
editCourseCategory
,
deleteStoreDecorationList
,
addStoreBanner
,
editStoreBanner
,
moveBannerSequence
,
getStoreUserBasicPage
,
updateStoreMessage
,
getStoreDetail
,
getByDepartmentId
,
getDepartmentUser
}
from
'@/data-source/store/request-apis'
;
moveBannerSequence
,
getStoreUserBasicPage
,
updateStoreMessage
,
getStoreDetail
,
getByDepartmentId
,
getDepartmentUser
,
getDepartmentUserNotPage
,
addDepartment
,
editDepartment
,
delDepartment
}
from
'@/data-source/store/request-apis'
;
export
default
class
StoreService
{
// 获取员工列表
...
...
@@ -95,4 +97,16 @@ export default class StoreService {
static
getDepartmentUser
(
params
:
any
){
return
getDepartmentUser
(
params
);
}
static
getDepartmentUserNotPage
(
params
:
any
){
return
getDepartmentUserNotPage
(
params
);
}
static
addDepartment
(
params
:
any
){
return
addDepartment
(
params
);
}
static
editDepartment
(
params
:
any
){
return
editDepartment
(
params
);
}
static
delDepartment
(
params
:
any
){
return
delDepartment
(
params
);
}
}
\ No newline at end of file
src/modules/college-manage/EmployeeManage.tsx
View file @
fe98d086
...
...
@@ -408,16 +408,16 @@ function EmployeeManage() {
</
div
>
</
div
>
{
model
}
{
employeeModal
&&
{
employeeModal
&&
<
NewChooseMembersModal
visible=
{
employeeModal
}
type=
"USER"
close=
{
()
=>
{
setEmployeeModal
(
false
)}
}
onConfirm=
{
()
=>
{
setEmployeeModal
(
false
)
setEmployeeModal
(
false
)
message
.
success
(
'添加成功'
)
getEmployeeList
();
}
}
}
}
/>
}
</
div
>
...
...
src/modules/college-manage/components/CustomGroupTabCon.jsx
View file @
fe98d086
...
...
@@ -9,81 +9,81 @@ import UserTable from "./UserTable";
import
"./PostGroupTabCon.less"
;
const
{
Search
}
=
Input
;
function
CustomGroupTabCon
()
{
const
[
addOrEditPostGroupShow
,
setAddOrEditPostGroupShow
]
=
useState
(
false
);
const
[
postGroupModalType
,
setPostGroupModalType
]
=
useState
(
""
);
// 初始化弹框类型为岗位组
const
[
operatePostGroupModalType
,
setOperatePostGroupModalType
]
=
useState
(
""
);
// 初始化弹框操作为添加操作
const
[
postGroupModalTitle
,
setPostGroupModalTitle
]
=
useState
(
""
);
const
[
postGroupModalLable
,
setPostGroupModalLable
]
=
useState
(
""
);
const
[
postGroupName
,
setPostGroupName
]
=
useState
(
""
);
//
const [addOrEditPostGroupShow, setAddOrEditPostGroupShow] = useState(false);
//
const [postGroupModalType, setPostGroupModalType] = useState(""); // 初始化弹框类型为岗位组
//
const [operatePostGroupModalType,setOperatePostGroupModalType] = useState(""); // 初始化弹框操作为添加操作
//
const [postGroupModalTitle,setPostGroupModalTitle] = useState("");
//
const [postGroupModalLable,setPostGroupModalLable] = useState("");
//
const [postGroupName, setPostGroupName] = useState("");
const
[
postGroupTreeData
,
setPostGroupTreeData
]
=
useState
([]);
function
closeAddOrEditPostGroupModal
()
{
setAddOrEditPostGroupShow
(
false
);
}
//
function closeAddOrEditPostGroupModal() {
//
setAddOrEditPostGroupShow(false);
//
}
//添加岗位组/岗位
function
addPostGroup
(
type
)
{
if
(
postGroupTreeData
.
length
===
10
)
{
message
.
error
(
"岗位组数量已达10个上限"
);
return
;
}
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"add"
);
if
(
type
===
'pos
tGroup'
){
setPostGroupModalType
(
'parentGroup'
);
//parentGroup 代表岗位组
setPostGroupModalTitle
(
'添加分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
}
else
{
setPostGroupModalType
(
'sub'
);
setPostGroupModalTitle
(
'添加分组'
);
// sub代表岗位
setPostGroupModalLable
(
'分组'
);
}
}
//
//
添加岗位组/岗位
//
function addPostGroup(type) {
//
if (postGroupTreeData.length === 10) {
//
message.error("岗位组数量已达10个上限");
//
return;
//
}
//
setAddOrEditPostGroupShow(true);
//
setOperatePostGroupModalType("add");
// if(type==='paren
tGroup'){
//
setPostGroupModalType('parentGroup'); //parentGroup 代表岗位组
//
setPostGroupModalTitle('添加分组集合');
//
setPostGroupModalLable('分组集合');
//
}else{
//
setPostGroupModalType('sub');
//
setPostGroupModalTitle('添加分组'); // sub代表岗位
//
setPostGroupModalLable('分组');
//
}
//
}
//编辑岗位组/岗位
function
editPostGroup
(
record
){
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"edit"
);
//level为0的时候编辑的是岗位组 大于0的时候
if
(
record
.
level
===
0
){
setPostGroupModalType
(
'parentGroup'
);
setPostGroupModalTitle
(
'编辑分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
}
else
{
setPostGroupModalType
(
'sub'
);
setPostGroupModalTitle
(
'编辑分组'
);
setPostGroupModalLable
(
'分组'
);
}
}
//
function editPostGroup(record){
//
setAddOrEditPostGroupShow(true);
//
setOperatePostGroupModalType("edit");
//
//level为0的时候编辑的是岗位组 大于0的时候
//
if(record.level===0){
//
setPostGroupModalType('parentGroup');
//
setPostGroupModalTitle('编辑分组集合');
//
setPostGroupModalLable('分组集合');
//
}else{
//
setPostGroupModalType('sub');
//
setPostGroupModalTitle('编辑分组');
//
setPostGroupModalLable('分组');
//
}
//
}
function
getPostGroupTreeData
(){
//
function getPostGroupTreeData(){
}
function
confirmAddOrEditPostGroup
()
{
getPostGroupTreeData
()
}
function
delPostGroup
(
record
){
let
title
=
'确认删除该分组集合吗?'
;
let
content
=
'删除后,该分组集合下的岗位及也将全部删除。'
;
//
}
//
function confirmAddOrEditPostGroup() {
//
getPostGroupTreeData()
//
}
//
function delPostGroup(record){
//
let title = '确认删除该分组集合吗?';
//
let content= '删除后,该分组集合下的岗位及也将全部删除。';
if
(
record
.
level
>
0
){
title
=
'确认删除该分组吗?'
;
content
=
'删除后,不可恢复'
;
}
Modal
.
confirm
({
title
,
content
,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
okText
:
'确定'
,
okType
:
'danger'
,
cancelText
:
'取消'
,
onOk
:
()
=>
{
//
if(record.level>0){
//
title = '确认删除该分组吗?';
//
content = '删除后,不可恢复';
//
}
//
Modal.confirm({
//
title,
//
content,
//
icon: <span className='icon iconfont default-confirm-icon'></span>,
//
okText: '确定',
//
okType: 'danger',
//
cancelText: '取消',
//
onOk: () => {
},
});
}
//
},
//
});
//
}
return
(
<
div
className=
"post-group-tab-con"
>
<
div
className=
"organization"
>
{
/*
<div className="organization">
<div className="search-con">
<Search
placeholder="搜索部门/学员姓名"
...
...
@@ -108,7 +108,13 @@ function CustomGroupTabCon() {
editPostGroup={(record)=>editPostGroup(record)}
addPostGroup={(record)=>addPostGroup('post')}
/>
</
div
>
</div> */
}
<
LeftStructureTree
treeData=
{
postGroupTreeData
}
treeType=
{
"customGroupTab"
}
editPostGroup=
{
(
record
)
=>
editPostGroup
(
record
)
}
addPostGroup=
{
(
record
)
=>
addPostGroup
(
record
)
}
/>
<
div
className=
"table-con"
>
<
div
className=
"operate-area"
>
<
Button
type=
"primary"
className=
"add-user-btn"
>
...
...
@@ -118,7 +124,7 @@ function CustomGroupTabCon() {
</
div
>
<
UserTable
/>
</
div
>
{
addOrEditPostGroupShow
&&
(
{
/* {
addOrEditPostGroupShow && (
<AddOrEditPostGroupModal
onClose={() => {
closeAddOrEditPostGroupModal();
...
...
@@ -133,7 +139,7 @@ function CustomGroupTabCon() {
postGroupTreeData={postGroupTreeData}
label={postGroupModalLable}
/>
)
}
)}
*/
}
</
div
>
);
}
...
...
src/modules/college-manage/components/DepartMentTabCon.jsx
View file @
fe98d086
...
...
@@ -16,17 +16,7 @@ function DepartMentTabCon() {
return
(
<
div
className=
"department-tab-con"
>
<
div
className=
"organization"
>
<
div
className=
"search-con"
>
<
Search
placeholder=
"搜索部门/学员姓名"
className=
"search search-input"
style=
{
{
width
:
245
}
}
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
/>
</
div
>
<
LeftStructureTree
treeType=
{
'departMentTab'
}
/>
</
div
>
<
LeftStructureTree
treeType=
{
'departMentTab'
}
/>
<
div
className=
"table-con"
>
<
div
className=
"operate-area"
>
<
Button
type=
"primary"
className=
"add-user-btn"
onClick=
{
()
=>
{
setChooseMembersModalVisible
(
true
)}
}
>
添加学员
</
Button
>
...
...
@@ -37,7 +27,11 @@ function DepartMentTabCon() {
</
div
>
<
UserTable
/>
</
div
>
<
NewChooseMembersModal
visible=
{
chooseMembersModalVisible
}
type=
"CUSTOMER"
close=
{
()
=>
{
closeChooseMembersModal
()}
}
onConfirm=
{
()
=>
{}
}
/>
{
chooseMembersModalVisible
&&
<
NewChooseMembersModal
visible=
{
chooseMembersModalVisible
}
type=
"CUSTOMER"
close=
{
()
=>
{
closeChooseMembersModal
()}
}
onConfirm=
{
()
=>
{}
}
/>
}
</
div
>
);
}
...
...
src/modules/college-manage/components/LeftStructureTree.jsx
View file @
fe98d086
This diff is collapsed.
Click to expand it.
src/modules/college-manage/components/LeftStructureTree.less
View file @
fe98d086
...
...
@@ -2,6 +2,18 @@
margin-right: 24px;
overflow: scroll;
height: calc(~'100vh - 260px');
.search-con{
margin-bottom: 10px;
}
.operate {
margin-bottom:16px;
.add-btn {
width: 230px;
height:32px;
}
}
&::-webkit-scrollbar {
display: none;
}
...
...
src/modules/college-manage/components/MemberTree.jsx
View file @
fe98d086
...
...
@@ -9,7 +9,7 @@ const { DirectoryTree } = Tree;
function
MemberTree
(
props
)
{
const
{
treeType
}
=
props
;
const
{
treeData
,
setTreeData
}
=
useState
([]);
const
[
treeData
,
setTreeData
]
=
useState
([]);
useEffect
(()
=>
{
getTreeData
();
},[]);
...
...
@@ -20,29 +20,44 @@ function MemberTree(props) {
source
:
0
,
//0代表来自企培
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
(),
whetherCount
:
false
}
StoreService
.
getDepartmentUser
(
params
).
then
(()
=>
{
const
{
departmentVOList
=
[]}
=
res
.
result
;
const
_treeData
=
handleData
(
departmentVOList
);
StoreService
.
getDepartmentUserNotPage
(
params
).
then
((
res
)
=>
{
let
{
departmentVOList
=
[]}
=
res
.
result
;
let
_treeData
=
handleData
(
departmentVOList
);
console
.
log
(
"_treeData"
,
_treeData
);
setTreeData
(
_treeData
);
});
}
function
handleData
(
dataArray
){
dataArray
.
map
((
item
,
index
)
=>
{
const
_dataArray
=
dataArray
.
map
((
item
,
index
)
=>
{
item
.
key
=
item
.
id
;
item
.
children
=
[]
if
(
item
.
departmentUserVOList
){
item
.
children
=
item
.
departmentUserVOList
;
}
if
(
item
.
sonDepartmentVOList
){
item
.
children
=
item
.
sonDepartmentVOList
;
handleData
(
item
.
sonDepartmentVOList
)
item
.
children
=
[...
item
.
children
,...
item
.
sonDepartmentVOList
];
}
if
(
item
.
children
.
length
>
0
){
handleData
(
item
.
children
)
}
else
{
delete
item
.
children
}
return
item
})
return
_dataArray
;
}
function
treeSelected
(
selectedKeys
,
e
){
const
_checkedNodes
=
e
.
checkedNodes
;
const
_selectNodes
=
_checkedNodes
.
map
((
item
,
index
)
=>
{
if
(
item
.
userType
===
'VISIBLE_USER'
){
return
item
;
const
_selectNodes
=
[];
_checkedNodes
.
map
((
item
,
index
)
=>
{
if
(
item
.
userId
){
_selectNodes
.
push
(
item
);
}
})
console
.
log
(
'_selectNodes'
,
_selectNodes
);
props
.
onSelect
(
_selectNodes
);
}
return
(
...
...
@@ -59,8 +74,17 @@ function MemberTree(props) {
<
div
className=
"node-title-con"
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
span
>
{
nodeData
.
title
}
</
span
>
{
nodeData
.
userId
?
<
div
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
span
>
{
nodeData
.
userName
}
</
span
>
</
div
>
:
<
div
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
span
>
{
nodeData
.
name
}
</
span
>
</
div
>
}
</
div
>
);
}
}
...
...
src/modules/college-manage/components/PostGroupTabCon.jsx
View file @
fe98d086
...
...
@@ -2,90 +2,85 @@ import React, { useEffect, useState } from "react";
import
{
withRouter
}
from
"react-router-dom"
;
import
{
Button
,
Input
,
message
,
Modal
}
from
"antd"
;
import
LeftStructureTree
from
"./LeftStructureTree"
;
import
AddOrEditPostGroupModal
from
"../modal/AddOrEditPostGroupModal"
;
import
UserTable
from
"./UserTable"
;
import
"./PostGroupTabCon.less"
;
const
{
Search
}
=
Input
;
function
PostGroupTabCon
()
{
const
[
addOrEditPostGroupShow
,
setAddOrEditPostGroupShow
]
=
useState
(
false
);
const
[
postGroupModalType
,
setPostGroupModalType
]
=
useState
(
""
);
// 初始化弹框类型为岗位组
const
[
operatePostGroupModalType
,
setOperatePostGroupModalType
]
=
useState
(
""
);
// 初始化弹框操作为添加操作
const
[
postGroupModalTitle
,
setPostGroupModalTitle
]
=
useState
(
""
);
const
[
postGroupModalLable
,
setPostGroupModalLable
]
=
useState
(
""
);
const
[
postGroupName
,
setPostGroupName
]
=
useState
(
""
);
// const [addOrEditPostGroupShow, setAddOrEditPostGroupShow] = useState(false);
// const [postGroupModalType, setPostGroupModalType] = useState("");
// const [operatePostGroupModalType,setOperatePostGroupModalType] = useState("");
// const [postGroupModalTitle,setPostGroupModalTitle] = useState("");
// const [postGroupModalLable,setPostGroupModalLable] = useState("");
const
[
postGroupTreeData
,
setPostGroupTreeData
]
=
useState
([]);
function
closeAddOrEditPostGroupModal
()
{
setAddOrEditPostGroupShow
(
false
);
}
//
function closeAddOrEditPostGroupModal() {
//
setAddOrEditPostGroupShow(false);
//
}
//添加岗位组/岗位
function
addPostGroup
(
type
)
{
if
(
postGroupTreeData
.
length
===
10
)
{
message
.
error
(
"岗位组数量已达10个上限"
);
return
;
}
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"add"
);
if
(
type
===
'pos
tGroup'
){
setPostGroupModalType
(
'parentGroup'
);
//parentGroup 代表岗位组
setPostGroupModalTitle
(
'添加岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
}
else
{
setPostGroupModalType
(
'sub'
);
setPostGroupModalTitle
(
'添加岗位'
);
// sub代表岗位
setPostGroupModalLable
(
'岗位'
);
}
}
//
//
添加岗位组/岗位
//
function addPostGroup(type) {
//
if (postGroupTreeData.length === 10) {
//
message.error("岗位组数量已达10个上限");
//
return;
//
}
//
setAddOrEditPostGroupShow(true);
//
setOperatePostGroupModalType("add");
// if(type==='paren
tGroup'){
//
setPostGroupModalType('parentGroup'); //parentGroup 代表岗位组
//
setPostGroupModalTitle('添加岗位组');
//
setPostGroupModalLable('岗位组');
//
}else{
//
setPostGroupModalType('sub');
//
setPostGroupModalTitle('添加岗位'); // sub代表岗位
//
setPostGroupModalLable('岗位');
//
}
//
}
//编辑岗位组/岗位
function
editPostGroup
(
record
){
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"edit"
);
//level为0的时候编辑的是岗位组 大于0的时候
if
(
record
.
level
===
0
){
setPostGroupModalType
(
'parentGroup'
);
setPostGroupModalTitle
(
'编辑岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
}
else
{
setPostGroupModalType
(
'sub'
);
setPostGroupModalTitle
(
'编辑岗位'
);
setPostGroupModalLable
(
'岗位'
);
}
}
//
//
编辑岗位组/岗位
//
function editPostGroup(record){
//
setAddOrEditPostGroupShow(true);
//
setOperatePostGroupModalType("edit");
//
//level为0的时候编辑的是岗位组 大于0的时候
//
if(record.level===0){
//
setPostGroupModalType('parentGroup');
//
setPostGroupModalTitle('编辑岗位组');
//
setPostGroupModalLable('岗位组');
//
}else{
//
setPostGroupModalType('sub');
//
setPostGroupModalTitle('编辑岗位');
//
setPostGroupModalLable('岗位');
//
}
//
}
function
delPostGroup
(
record
){
let
title
=
'确认删除该岗位组吗?'
;
let
content
=
'删除后,该岗位组下的岗位及也将全部删除。'
;
//
function delPostGroup(record){
//
let title = '确认删除该岗位组吗?';
//
let content= '删除后,该岗位组下的岗位及也将全部删除。';
if
(
record
.
level
>
0
){
title
=
'确认删除该岗位吗?'
;
content
=
'删除后,不可恢复'
;
}
Modal
.
confirm
({
title
,
content
,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
okText
:
'确定'
,
okType
:
'danger'
,
cancelText
:
'取消'
,
onOk
:
()
=>
{
//
if(record.level>0){
//
title = '确认删除该岗位吗?';
//
content = '删除后,不可恢复';
//
}
//
Modal.confirm({
//
title,
//
content,
//
icon: <span className='icon iconfont default-confirm-icon'></span>,
//
okText: '确定',
//
okType: 'danger',
//
cancelText: '取消',
//
onOk: () => {
},
});
}
//
},
//
});
//
}
function
getPostGroupTreeData
(){
}
function
confirmAddOrEditPostGroup
()
{
getPostGroupTreeData
()
}
// function confirmAddOrEditPostGroup() {
// getPostGroupTreeData()
// }
return
(
<
div
className=
"post-group-tab-con"
>
<
div
className=
"organization"
>
{
/*
<div className="organization">
<div className="search-con">
<Search
placeholder="搜索部门/学员姓名"
...
...
@@ -104,14 +99,15 @@ function PostGroupTabCon() {
添加岗位组
</Button>
</div>
<
LeftStructureTree
treeData=
{
postGroupTreeData
}
treeType=
{
"postGrouptab"
}
editPostGroup=
{
(
record
)
=>
editPostGroup
(
record
)
}
addPostGroup=
{
(
record
)
=>
addPostGroup
(
'post'
)
}
delPostGroup=
{
(
record
)
=>
delPostGroup
(
'record'
)
}
/>
</
div
>
</div> */
}
<
LeftStructureTree
treeData=
{
postGroupTreeData
}
treeType=
{
"postGrouptab"
}
editPostGroup=
{
(
record
)
=>
editPostGroup
(
record
)
}
addPostGroup=
{
(
record
)
=>
addPostGroup
(
record
)
}
delPostGroup=
{
(
record
)
=>
delPostGroup
(
'record'
)
}
/>
<
div
className=
"table-con"
>
<
div
className=
"operate-area"
>
<
Button
type=
"primary"
className=
"add-user-btn"
>
...
...
@@ -121,7 +117,7 @@ function PostGroupTabCon() {
</
div
>
<
UserTable
/>
</
div
>
{
addOrEditPostGroupShow
&&
(
{
/* {
addOrEditPostGroupShow && (
<AddOrEditPostGroupModal
onClose={() => {
closeAddOrEditPostGroupModal();
...
...
@@ -136,7 +132,7 @@ function PostGroupTabCon() {
postGroupTreeData={postGroupTreeData}
label={postGroupModalLable}
/>
)
}
)}
*/
}
</
div
>
);
}
...
...
src/modules/college-manage/components/PostGroupTabCon.less
View file @
fe98d086
.post-group-tab-con {
display: flex;
.organization {
.search-con{
margin-bottom: 10px;
}
.operate {
margin-bottom:16px;
.add-btn {
width: 230px;
height:32px;
}
}
}
.table-con {
margin-left: 16px;
flex: 1;
...
...
src/modules/college-manage/modal/AddOrEditPostGroupModal.jsx
View file @
fe98d086
...
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-27 16:21:49
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-2
3 14:56:5
5
* @LastEditTime: 2021-07-2
7 18:25:3
5
* @Description: Description
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -10,24 +10,21 @@ import React, { useState, useEffect } from "react";
import
{
Modal
,
Form
,
Input
,
Button
,
message
}
from
"antd"
;
import
User
from
'@/common/js/user'
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
{
DepType
}
from
'@/domains/store-domain/constants'
;
import
'./AddOrEditPostGroupModal.less'
function
AddOrEditPostGroupModal
(
props
)
{
const
[
nameErrorMsg
,
setNameErrorMsg
]
=
useState
(
''
);
const
[
validateStatus
,
setValidateStatus
]
=
useState
(
'success'
);
const
[
postGroupName
,
setPostGroupName
]
=
useState
(
''
);
useEffect
(()
=>
{
});
},[]);
function
changePostGroupName
(
e
){
setValidateStatus
(
'success'
);
setNameErrorMsg
(
'该岗位组已存在'
);
props
.
postGroupTreeData
.
map
((
item
,
index
)
=>
{
if
(
item
.
name
===
e
.
target
.
value
){
setValidateStatus
(
'error'
);
setNameErrorMsg
(
'
'
)
setNameErrorMsg
(
'
该岗位组已存在'
);
}
return
item
;
})
...
...
@@ -35,13 +32,54 @@ function AddOrEditPostGroupModal(props) {
}
function
handleConfirm
(){
props
.
onConfirm
();
if
(
props
.
modalOperateType
===
'add'
){
addGroup
();
}
else
{
editGroup
();
}
}
function
addCatalog
(){
function
addGroup
(){
const
{
postGroupModalLevel
,
currentTab
,
currentGroupData
,
label
}
=
props
let
parmas
=
{
depLevel
:
postGroupModalLevel
,
depType
:
DepType
[
currentTab
],
departmentName
:
postGroupName
,
enterpriseId
:
User
.
getEnterpriseId
(),
source
:
0
,
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
()
}
if
(
postGroupModalLevel
===
0
){
parmas
.
parentId
=
0
;
}
else
{
parmas
.
parentId
=
currentGroupData
.
id
}
StoreService
.
addDepartment
(
parmas
).
then
((
res
)
=>
{
message
.
success
(
`
${
label
}
创建成功`
)
props
.
onConfirm
();
});
}
function
editCatalog
(){
function
editGroup
(){
const
{
postGroupModalLevel
,
currentTab
,
currentGroupData
,
label
}
=
props
let
parmas
=
{
departmentLevel
:
postGroupModalLevel
,
departmentId
:
props
.
currentGroupData
.
id
,
depType
:
DepType
[
currentTab
],
departmentName
:
postGroupName
,
enterpriseId
:
User
.
getEnterpriseId
(),
source
:
0
,
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
()
}
if
(
postGroupModalLevel
===
0
){
parmas
.
parentId
=
0
;
}
else
{
parmas
.
parentId
=
currentGroupData
.
id
}
StoreService
.
editDepartment
(
parmas
).
then
((
res
)
=>
{
message
.
success
(
`
${
label
}
修改成功`
)
props
.
onConfirm
();
});
}
return
(
<
Modal
...
...
@@ -78,10 +116,9 @@ function AddOrEditPostGroupModal(props) {
help=
{
nameErrorMsg
}
>
<
Input
type=
"text"
placeholder=
{
`请输入${props.label}名称(8个字以内)`
}
maxLength=
{
8
}
style=
{
{
width
:
348
}
}
defaultValue=
{
props
.
postGroupName
}
defaultValue=
{
props
.
modalOperateType
===
'edit'
?
props
.
currentGroupData
.
name
:
''
}
onChange=
{
(
e
)
=>
{
changePostGroupName
(
e
);
}
}
/>
</
Form
.
Item
>
</
Form
>
...
...
src/modules/college-manage/modal/NewChooseMembersModal.jsx
View file @
fe98d086
...
...
@@ -24,8 +24,8 @@ class NewChooseMembersModal extends React.Component {
this
.
state
=
{
selectUserList
:[],
selectObject
:
{},
visible
:
this
.
props
.
visible
,
openSetModal
:
false
,
visible
:
this
.
props
.
visible
}
}
...
...
@@ -75,6 +75,7 @@ class NewChooseMembersModal extends React.Component {
}
treeSelect
=
(
record
)
=>
{
// console.log('record',record)
this
.
setState
({
selectUserList
:
record
})
...
...
@@ -97,6 +98,7 @@ class NewChooseMembersModal extends React.Component {
selectUserList
:
[],
})
}
addCustomer
=
()
=>
{
const
{
selectUserList
}
=
this
.
state
;
let
enterpriseVisibleUserIdList
=
[];
// 保存新加进去的成员
...
...
@@ -118,7 +120,7 @@ class NewChooseMembersModal extends React.Component {
selectUserList
.
map
((
item
)
=>
{
enterpriseUserList
.
push
({
roleCode
:
item
.
roleCode
,
enterpriseVisibleUserId
:
item
.
enterpriseVisibleU
serId
enterpriseVisibleUserId
:
item
.
u
serId
})
return
enterpriseUserList
})
...
...
@@ -137,8 +139,8 @@ class NewChooseMembersModal extends React.Component {
}
render
()
{
const
{
type
,
openSetModal
,
visible
}
=
this
.
props
;
const
{
selectUserList
,
selectObject
}
=
this
.
state
;
const
{
type
}
=
this
.
props
;
const
{
selectUserList
,
selectObject
,
visible
,
openSetModal
}
=
this
.
state
;
const
title
=
type
===
'USER'
?
'添加员工'
:
'添加学员'
;
return
(
<
div
>
...
...
@@ -156,7 +158,7 @@ class NewChooseMembersModal extends React.Component {
message
.
warning
(
type
===
'USER'
?
'请选择员工'
:
'请选择学员'
)
return
null
;
}
type
===
'USER'
?
this
.
setState
({
openSetModal
:
true
},()
=>
{
this
.
handleClose
()
})
:
this
.
addCustomer
();
type
===
'USER'
?
this
.
setState
({
openSetModal
:
true
,
visible
:
false
})
:
this
.
addCustomer
();
}
}
okText=
{
type
===
'USER'
?
'下一步'
:
'确定'
}
title=
{
title
}
...
...
@@ -189,7 +191,7 @@ class NewChooseMembersModal extends React.Component {
image
:
college
,
description
:
'暂无数据'
}
}
rowKey=
{
(
record
)
=>
record
.
enterpriseVisibleUserI
d
}
rowKey=
{
(
record
)
=>
record
.
i
d
}
dataSource=
{
selectUserList
}
columns=
{
this
.
selectedColumnsRight
()
}
showHeader=
{
false
}
...
...
src/modules/college-manage/modal/SetEmployeeModal.jsx
View file @
fe98d086
...
...
@@ -13,13 +13,13 @@ export default class SetEmployeeModal extends React.Component {
constructor
(
props
)
{
super
(
props
);
const
list
=
props
.
list
.
map
(
item
=>
{
item
.
roleCode
=
(
props
.
selectObject
||
{})[
item
.
enterpriseVisibleU
serId
]
||
(
item
.
enterpriseRole
===
'ADMIN'
?
'Cloud_Manager'
:
'Cloud_Lecturer'
);
item
.
roleCode
=
(
props
.
selectObject
||
{})[
item
.
u
serId
]
||
(
item
.
enterpriseRole
===
'ADMIN'
?
'Cloud_Manager'
:
'Cloud_Lecturer'
);
return
item
;
})
const
selectedData
=
list
[
0
]
||
{};
this
.
state
=
{
list
,
selected
:
selectedData
.
enterpriseVisibleU
serId
,
selected
:
selectedData
.
u
serId
,
roleCode
:
selectedData
.
roleCode
,
}
}
...
...
@@ -27,7 +27,7 @@ export default class SetEmployeeModal extends React.Component {
handleChangeValues
(
value
)
{
const
{
list
,
selected
}
=
this
.
state
;
list
.
map
((
item
)
=>
{
if
(
item
.
enterpriseVisibleU
serId
===
selected
)
{
if
(
item
.
u
serId
===
selected
)
{
item
.
roleCode
=
value
;
}
})
...
...
@@ -62,15 +62,15 @@ export default class SetEmployeeModal extends React.Component {
<
div
className=
"employee-box"
>
{
list
.
map
((
item
)
=>
(
<
div
className=
{
`item ${selected === item.
enterpriseVisibleU
serId ? ' selected' : ''}`
}
key=
{
item
.
enterpriseVisibleU
serId
}
className=
{
`item ${selected === item.
u
serId ? ' selected' : ''}`
}
key=
{
item
.
u
serId
}
onClick=
{
()
=>
{
this
.
setState
({
selected
:
item
.
enterpriseVisibleU
serId
,
roleCode
:
item
.
roleCode
})
this
.
setState
({
selected
:
item
.
u
serId
,
roleCode
:
item
.
roleCode
})
}
}
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
Tooltip
title=
{
item
.
name
}
>
<
span
className=
'name'
>
{
item
.
n
ame
}
</
span
>
<
span
className=
'name'
>
{
item
.
userN
ame
}
</
span
>
</
Tooltip
>
<
span
className=
"tag"
>
{
tagMap
[
item
.
roleCode
]
}
</
span
>
</
div
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment