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
0
Merge Requests
0
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
8b8a956b
Commit
8b8a956b
authored
Aug 12, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Plain Diff
feat:解决合并代码后的冲突
parents
559d02c0
16af0617
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
372 additions
and
384 deletions
+372
-384
src/common/js/platform.js
+1
-1
src/common/js/wechatApi.js
+48
-89
src/domains/basic-domain/constants.ts
+1
-1
src/domains/course-domain/constants.ts
+1
-1
src/index.html
+12
-4
src/modules/college-manage/components/LeftStructureTree.jsx
+295
-278
src/modules/college-manage/components/MemberTree.jsx
+0
-1
src/modules/college-manage/components/MemberTree.less
+5
-1
src/modules/college-manage/components/SearchUser.jsx
+0
-1
src/modules/college-manage/modal/NewChooseMembersModal.less
+1
-1
src/modules/course-manage/components/AddLiveBasic.jsx
+4
-0
src/modules/course-manage/components/LiveCourseList.jsx
+2
-2
src/modules/root/App.tsx
+2
-4
No files found.
src/common/js/platform.js
View file @
8b8a956b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
module
.
exports
=
{
module
.
exports
=
{
isWeiXin
()
{
isWeiXin
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
indexOf
(
'micromessenger'
)
>
0
;
return
(
ua
.
indexOf
(
'micromessenger'
)
>
0
)
&&
!
(
/wxwork/i
.
test
(
navigator
.
userAgent
))
;
},
},
isWorkWx
(){
isWorkWx
(){
return
/wxwork/i
.
test
(
navigator
.
userAgent
)
return
/wxwork/i
.
test
(
navigator
.
userAgent
)
...
...
src/common/js/wechatApi.js
View file @
8b8a956b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Author: wufan
* @Date: 2021-05-11 10:21:37
* @Date: 2021-05-11 10:21:37
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-08-1
1 17:27:32
* @LastEditTime: 2021-08-1
2 15:02:18
* @Description: 企业微信api
* @Description: 企业微信api
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*
*
...
@@ -12,72 +12,35 @@ import Platform from '@/common/js/platform';
...
@@ -12,72 +12,35 @@ import Platform from '@/common/js/platform';
import
User
from
'@/common/js/user'
;
import
User
from
'@/common/js/user'
;
import
Service
from
'@/common/js/service'
;
import
Service
from
'@/common/js/service'
;
console
.
log
(
wx
.
agentConfig
,
' console.log(wx.agentConfig) '
)
export
default
class
WechatApi
{
export
default
class
WechatApi
{
static
async
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
static
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
if
(
Platform
.
isWorkWx
())
{
if
(
Platform
.
isWorkWx
())
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
console
.
log
(
1111111111111111111111111111111111
)
console
.
log
(
1111111111111111111111111111111111
)
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
,
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
const
res
=
result
.
result
;
const
res
=
result
.
result
;
this
.
config
({
wx
.
config
({
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId
:
res
.
appId
,
// 必填,企业微信的corpID
appId
:
res
.
appId
,
// 必填,企业微信的corpID
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList
:
[
'chooseImage'
,
'shareToExternalContact'
,
'selectExternalContact'
,
'selectEnterpriseContact'
],
jsApiList
:
[
'scanQRCode'
],
}).
then
(()
=>
{
});
console
.
log
(
2222222222222222222222222222222222222222
)
})
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
wx
.
ready
(()
=>
{
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
}).
then
((
result2
)
=>
{
console
.
log
(
333333333333333333333333333333333
)
const
res2
=
result2
.
result
;
this
.
agentConfig
({
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res2
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
success
:
(
res
)
=>
{
console
.
log
(
res
,
'res-agentconfig'
);
console
.
info
(
'window.WWOpenData'
,
window
.
WWOpenData
);
resolve
(
res
);
},
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
reject
(
err
);
},
});
});
})
.
catch
((
err
)
=>
{
console
.
log
(
"GGGGGGGGGGGGG"
,
err
)
})
});
})
}
else
{
if
(
params
.
isAgentConfig
)
{
console
.
log
(
32132132
,
'cesgu'
)
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
,
}).
then
((
result2
)
=>
{
}).
then
((
result2
)
=>
{
const
res2
=
result2
.
result
;
const
res2
=
result2
.
result
;
this
.
agentConfig
({
wx
.
agentConfig
({
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
...
@@ -85,58 +48,55 @@ export default class WechatApi {
...
@@ -85,58 +48,55 @@ export default class WechatApi {
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
,
'res-agentconfig'
);
console
.
log
(
res
,
'agentConfig 成功'
,
'res-agentconfig'
);
console
.
info
(
'window.WWOpenData'
,
window
.
WWOpenData
);
resolve
(
res
);
resolve
(
res
);
},
},
fail
:
(
err
)
=>
{
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
console
.
log
(
err
,
'err-agentconfig'
);
reject
(
err
);
},
},
});
});
});
});
});
});
}
wx
.
error
((
err
)
=>
{
}
console
.
log
(
'getWxCorpJSAPISignature'
,
err
)
});
}
})
static
async
config
(
config
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
console
.
info
(
'wx.config'
,
config
);
wx
.
config
(
config
);
wx
.
ready
(
resolve
);
wx
.
error
(
reject
);
}).
then
(
()
=>
{
console
.
info
(
'wx.ready'
);
},
(
error
)
=>
{
console
.
error
(
'wx.error'
,
error
);
throw
error
;
}
);
}
static
async
agentConfig
(
config
)
{
}
else
{
wx
.
agentConfig
({
...
config
});
}
static
getCurExternalContact
()
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
wx
.
ready
(()
=>
{
storeId
:
User
.
getStoreId
(),
wx
.
invoke
(
'getCurExternalContact'
,
{},
function
(
res
)
{
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
],
if
(
res
.
err_msg
==
'getCurExternalContact:ok'
)
{
}).
then
((
result2
)
=>
{
resolve
(
res
.
userId
);
//返回当前外部联系人userId
const
res2
=
result2
.
result
;
}
else
{
wx
.
agentConfig
({
reject
(
res
.
err_msg
);
//错误处理
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
}
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res2
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
success
:
(
res
)
=>
{
console
.
log
(
res
,
'agentConfig 成功'
,
'res-agentconfig'
);
resolve
(
res
);
},
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
},
});
});
});
});
});
}
);
}
}
}
static
getContext
()
{
static
getContext
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
wx
.
ready
(()
=>
{
wx
.
ready
(()
=>
{
...
@@ -156,13 +116,13 @@ export default class WechatApi {
...
@@ -156,13 +116,13 @@ export default class WechatApi {
wx
.
ready
(()
=>
{
wx
.
ready
(()
=>
{
wx
.
invoke
(
'startLiving'
,
{
wx
.
invoke
(
'startLiving'
,
{
"livingId"
:
id
,
"livingId"
:
id
,
},
function
(
res
)
{
},
function
(
res
)
{
if
(
res
.
err_msg
===
"startLiving:ok"
)
{
if
(
res
.
err_msg
===
"startLiving:ok"
)
{
resolve
(
true
)
resolve
(
true
)
}
else
{
}
else
{
reject
(
res
.
err_msg
);
//错误处理
reject
(
res
.
err_msg
);
//错误处理
}
}
});
});
});
});
})
})
}
}
...
@@ -171,8 +131,7 @@ export default class WechatApi {
...
@@ -171,8 +131,7 @@ export default class WechatApi {
wx
.
ready
(()
=>
{
wx
.
ready
(()
=>
{
wx
.
invoke
(
'replayLiving'
,
{
wx
.
invoke
(
'replayLiving'
,
{
"livingId"
:
id
,
"livingId"
:
id
,
},
function
(
res
)
{
},
function
(
res
)
{
console
.
log
(
"WorkWXAPI 进入直播间"
,
res
)
if
(
res
.
err_msg
===
"replayLiving:ok"
)
{
if
(
res
.
err_msg
===
"replayLiving:ok"
)
{
resolve
(
true
)
resolve
(
true
)
}
else
{
}
else
{
...
@@ -196,7 +155,7 @@ export default class WechatApi {
...
@@ -196,7 +155,7 @@ export default class WechatApi {
}
}
reject
(
err
);
//错误处理
reject
(
err
);
//错误处理
}
}
});
});
});
});
})
})
}
}
...
...
src/domains/basic-domain/constants.ts
View file @
8b8a956b
/*
/*
* @Author: 陈剑宇
* @Author: 陈剑宇
* @Date: 2020-05-07 14:43:01
* @Date: 2020-05-07 14:43:01
* @LastEditTime: 2021-0
6-22 16:49:06
* @LastEditTime: 2021-0
8-11 22:52:04
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @Description:
* @Description:
* @FilePath: /wheat-web-demo/src/domains/basic-domain/constants.ts
* @FilePath: /wheat-web-demo/src/domains/basic-domain/constants.ts
...
...
src/domains/course-domain/constants.ts
View file @
8b8a956b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2020-08-20 09:21:40
* @Date: 2020-08-20 09:21:40
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-0
6-11 15:17:56
* @LastEditTime: 2021-0
8-11 22:50:48
* @Description:
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
*/
...
...
src/index.html
View file @
8b8a956b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2020-08-24 12:20:57
* @Date: 2020-08-24 12:20:57
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-08-1
1 21:22:26
* @LastEditTime: 2021-08-1
2 15:01:57
* @Description:
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
-->
-->
...
@@ -40,17 +40,25 @@
...
@@ -40,17 +40,25 @@
work correctly both with client-side routing and a non-root public URL.
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
Learn how to configure a non-root public URL by running `npm run build`.
-->
-->
<title>
小麦企学院
</title>
<script
src=
"https://res.wx.qq.com/open/js/jweixin-1.2.0.js"
></script>
<script
src=
"https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/iscroll-zoom-min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/iscroll-zoom-min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/hammer.min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/hammer.min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/lrz.all.bundle.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/lrz.all.bundle.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/PhotoClip.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/PhotoClip.js"
></script>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"
></script>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"
></script>
<script
type=
"text/javascript"
src=
"https://xiaomai-js.oss-cn-hangzhou.aliyuncs.com/loghub-xm-0.0.1-beta.js"
></script>
<script
type=
"text/javascript"
src=
"https://xiaomai-js.oss-cn-hangzhou.aliyuncs.com/loghub-xm-0.0.1-beta.js"
></script>
<script
type=
"text/javascript"
src=
"//res.wx.qq.com/open/js/jweixin-1.2.0.js"
></script>
<script
type=
"text/javascript"
src=
"//open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"
></script>
</head>
</head>
<body>
<body>
<script>
setTimeout
(()
=>
{
if
(
!
wx
.
agentConfig
){
window
.
location
.
reload
()
}
},
100
)
</script>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div
id=
"root"
></div>
<div
id=
"root"
></div>
<!--
<!--
...
...
src/modules/college-manage/components/LeftStructureTree.jsx
View file @
8b8a956b
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
React
,
{
useEffect
,
useState
,
useRef
}
from
"react"
;
import
{
withRouter
}
from
"react-router-dom"
;
import
{
withRouter
}
from
"react-router-dom"
;
import
{
Tree
,
Input
,
Dropdown
,
Menu
,
Button
,
Modal
,
message
,
AutoComplete
,
Tooltip
}
from
"antd"
;
import
{
Tree
,
Input
,
Dropdown
,
Menu
,
Button
,
Modal
,
message
,
AutoComplete
,
Tooltip
}
from
"antd"
;
import
AddOrEditPostGroupModal
from
"../modal/AddOrEditPostGroupModal"
;
import
AddOrEditPostGroupModal
from
"../modal/AddOrEditPostGroupModal"
;
import
User
from
'@/common/js/user'
import
User
from
'@/common/js/user'
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
{
DepType
}
from
'@/domains/store-domain/constants'
;
import
{
DepType
}
from
'@/domains/store-domain/constants'
;
import
Bus
from
'@/core/bus'
;
import
Bus
from
'@/core/bus'
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
"./LeftStructureTree.less"
;
import
"./LeftStructureTree.less"
;
...
@@ -13,51 +13,59 @@ const { Search } = Input;
...
@@ -13,51 +13,59 @@ const { Search } = Input;
const
{
DirectoryTree
}
=
Tree
;
const
{
DirectoryTree
}
=
Tree
;
const
{
Option
}
=
AutoComplete
;
const
{
Option
}
=
AutoComplete
;
function
LeftStructureTree
(
props
)
{
function
LeftStructureTree
(
props
)
{
const
{
treeType
}
=
props
;
const
{
treeType
}
=
props
;
const
[
treeData
,
setTreeData
]
=
useState
([]);
const
[
treeData
,
setTreeData
]
=
useState
([]);
const
[
addOrEditPostGroupShow
,
setAddOrEditPostGroupShow
]
=
useState
(
false
);
const
[
addOrEditPostGroupShow
,
setAddOrEditPostGroupShow
]
=
useState
(
false
);
const
[
postGroupModalLevel
,
setPostGroupModalLevel
]
=
useState
(
""
);
const
[
postGroupModalLevel
,
setPostGroupModalLevel
]
=
useState
(
""
);
const
[
operatePostGroupModalType
,
setOperatePostGroupModalType
]
=
useState
(
""
);
const
[
operatePostGroupModalType
,
setOperatePostGroupModalType
]
=
useState
(
""
);
const
[
postGroupModalTitle
,
setPostGroupModalTitle
]
=
useState
(
""
);
const
[
postGroupModalTitle
,
setPostGroupModalTitle
]
=
useState
(
""
);
const
[
postGroupModalLable
,
setPostGroupModalLable
]
=
useState
(
""
);
const
[
postGroupModalLable
,
setPostGroupModalLable
]
=
useState
(
""
);
const
[
postGroupName
,
setPostGroupName
]
=
useState
(
""
);
const
[
postGroupName
,
setPostGroupName
]
=
useState
(
""
);
const
[
currentGroupData
,
setCurrentGroupData
]
=
useState
({});
const
[
currentGroupData
,
setCurrentGroupData
]
=
useState
({});
const
[
completeOptions
,
setCompleteOption
]
=
useState
([]);
const
[
completeOptions
,
setCompleteOption
]
=
useState
([]);
const
[
selectedKeys
,
setSelectedKeys
]
=
useState
([]);
// 设置选中的部门key值
const
[
selectedKeys
,
setSelectedKeys
]
=
useState
([]);
// 设置选中的部门key值
const
[
queryName
,
setQueryName
]
=
useState
(
''
);
// 搜索框内的值
const
[
queryName
,
setQueryName
]
=
useState
(
''
);
// 搜索框内的值
const
[
selctQueryName
,
setSelctQueryName
]
=
useState
(
''
);
// 搜索出结果后最终选择的名字
const
[
selctQueryName
,
setSelctQueryName
]
=
useState
(
''
);
// 搜索出结果后最终选择的名字
const
[
postGroupTreeData
,
setPostGroupTreeData
]
=
useState
([]);
// 为了判定创建和编辑时的数据会不会重明
const
[
postGroupTreeData
,
setPostGroupTreeData
]
=
useState
([]);
// 为了判定创建和编辑时的数据会不会重明
const
[
open
,
setOpen
]
=
useState
(
false
);
const
[
open
,
setOpen
]
=
useState
(
false
);
const
timer
=
useRef
(
null
)
useEffect
(()
=>
{
const
queryNameRef
=
useRef
(
null
)
useEffect
(()
=>
{
queryNameRef
.
current
=
queryName
},
[
queryName
])
useEffect
(()
=>
{
setQueryName
(
''
);
//切换tab时搜索置空
setQueryName
(
''
);
//切换tab时搜索置空
setCompleteOption
([]);
setCompleteOption
([]);
setOpen
(
false
);
//切换tab时搜索的下拉框置为空
setOpen
(
false
);
//切换tab时搜索的下拉框置为空
getTreeData
().
then
((
res
)
=>
{
getTreeData
().
then
((
res
)
=>
{
const
_defaultSelectedKeys
=
[];
const
_defaultSelectedKeys
=
[];
if
(
res
.
length
>
0
)
{
if
(
res
.
length
>
0
)
{
_defaultSelectedKeys
.
push
(
res
[
0
].
id
);
_defaultSelectedKeys
.
push
(
res
[
0
].
id
);
setSelectedKeys
(
_defaultSelectedKeys
);
setSelectedKeys
(
_defaultSelectedKeys
);
props
.
onChangeSelectDep
(
res
[
0
])
props
.
onChangeSelectDep
(
res
[
0
])
props
.
searchUserList
(
res
[
0
],
treeType
,
1
);
props
.
searchUserList
(
res
[
0
],
treeType
,
1
);
}
else
{
}
else
{
props
.
searchUserList
({
id
:
null
},
treeType
,
1
);
props
.
searchUserList
({
id
:
null
},
treeType
,
1
);
}
}
});
});
},[
props
.
treeType
]);
},
[
props
.
treeType
]);
useEffect
(()
=>
{
useEffect
(()
=>
{
Bus
.
bind
(
"addCustomer"
,
(
record
)
=>
{
addCustomer
(
record
.
treeType
,
record
.
query
)
})
Bus
.
bind
(
"addCustomer"
,
(
record
)
=>
{
addCustomer
(
record
.
treeType
,
record
.
query
)
})
},[]);
},
[]);
useEffect
(()
=>
{
useEffect
(()
=>
{
Bus
.
bind
(
"changeTreeData"
,
(
record
)
=>
{
getTreeData
(
record
.
treeType
)
})
Bus
.
bind
(
"changeTreeData"
,
(
record
)
=>
{
getTreeData
(
record
.
treeType
)
})
},[]);
},
[]);
const
renderTitle
=
(
title
)
=>
(
const
renderTitle
=
(
title
)
=>
(
<
span
className=
"catalog-title"
>
<
span
className=
"catalog-title"
>
{
title
}
{
title
}
</
span
>
</
span
>
);
);
const
renderItem
=
(
record
,
type
)
=>
({
const
renderItem
=
(
record
,
type
)
=>
({
value
:
record
.
userName
||
record
.
name
,
value
:
record
.
userName
||
record
.
name
,
label
:
(
label
:
(
<
div
<
div
...
@@ -70,28 +78,28 @@ function LeftStructureTree(props) {
...
@@ -70,28 +78,28 @@ function LeftStructureTree(props) {
type=
{
type
}
type=
{
type
}
>
>
{
type
===
'user'
?
{
type
===
'user'
?
<
div
className=
"search-result-item__left"
>
<
div
className=
"search-result-item__left"
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
WWOpenDataCom
type=
"userName"
openid=
{
record
.
userName
}
/>
<
WWOpenDataCom
type=
"userName"
openid=
{
record
.
userName
}
/>
</
div
>
</
div
>
:
:
<
div
className=
"search-result-item__left"
>
<
div
className=
"search-result-item__left"
>
{
props
.
treeType
===
'departMentTab'
?
{
props
.
treeType
===
'departMentTab'
?
<
WWOpenDataCom
type=
"departmentName"
openid=
{
record
.
name
}
/>
<
WWOpenDataCom
type=
"departmentName"
openid=
{
record
.
name
}
/>
:
:
<
span
>
{
record
.
name
}
</
span
>
<
span
>
{
record
.
name
}
</
span
>
}
}
</
div
>
</
div
>
}
}
{
type
===
'user'
&&
(
{
type
===
'user'
&&
(
<
div
className=
"search-result-item__right"
>
<
div
className=
"search-result-item__right"
>
<
Tooltip
title=
{
<
div
>
{
handleDepName
(
record
.
depNamesList
)
}
</
div
>
}
placement=
'top'
arrowPointAtCenter
>
<
Tooltip
title=
{
<
div
>
{
handleDepName
(
record
.
depNamesList
)
}
</
div
>
}
placement=
'top'
arrowPointAtCenter
>
{
record
.
depNamesList
.
map
((
item
,
index
)
=>
{
{
record
.
depNamesList
.
map
((
item
,
index
)
=>
{
return
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
item
}
/>
{
index
<
(
record
.
depNamesList
.
length
-
1
)?
';'
:
''
}
</
span
>
return
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
item
}
/>
{
index
<
(
record
.
depNamesList
.
length
-
1
)
?
';'
:
''
}
</
span
>
})
}
})
}
</
Tooltip
>
</
Tooltip
>
</
div
>
</
div
>
)
}
)
}
{
type
===
'post'
&&
{
type
===
'post'
&&
...
@@ -101,155 +109,155 @@ function LeftStructureTree(props) {
...
@@ -101,155 +109,155 @@ function LeftStructureTree(props) {
),
),
});
});
const
notFoundContentNode
=
()
=>
{
const
notFoundContentNode
=
()
=>
{
return
<
div
className=
"empty-con"
>
return
<
div
className=
"empty-con"
>
<
img
src=
"https://image.xiaomaiketang.com/xm/wRDrb2pJFb.png"
className=
"empty-img"
/>
<
img
src=
"https://image.xiaomaiketang.com/xm/wRDrb2pJFb.png"
className=
"empty-img"
/>
<
div
className=
"empty-text"
>
暂无数据
</
div
>
<
div
className=
"empty-text"
>
暂无数据
</
div
>
</
div
>
</
div
>
}
}
function
handleDepName
(
depArray
){
function
handleDepName
(
depArray
)
{
const
depArrayDom
=
depArray
.
map
((
item
,
index
)
=>
{
const
depArrayDom
=
depArray
.
map
((
item
,
index
)
=>
{
return
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
item
}
/>
;
</
span
>
return
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
item
}
/>
;
</
span
>
});
});
return
depArrayDom
;
return
depArrayDom
;
};
};
function
handlePlaceHolder
(){
function
handlePlaceHolder
()
{
let
placeholder
=
''
;
let
placeholder
=
''
;
switch
(
props
.
treeType
){
switch
(
props
.
treeType
)
{
case
'departMentTab'
:
case
'departMentTab'
:
placeholder
=
'搜索学员姓名、部门'
;
placeholder
=
'搜索学员姓名、部门'
;
break
;
break
;
case
'postGrouptab'
:
case
'postGrouptab'
:
placeholder
=
'搜索学员姓名/岗位/岗位组'
;
placeholder
=
'搜索学员姓名/岗位/岗位组'
;
break
;
break
;
case
'customGroupTab'
:
case
'customGroupTab'
:
placeholder
=
'搜索学员姓名/自定义分组集合/自定义分组'
;
placeholder
=
'搜索学员姓名/自定义分组集合/自定义分组'
;
break
;
break
;
default
:
default
:
break
;
break
;
}
}
return
placeholder
return
placeholder
}
}
function
confirmSearchSelect
(
value
,
option
)
{
function
confirmSearchSelect
(
value
,
option
)
{
const
param
=
{}
const
param
=
{}
setOpen
(
false
);
setOpen
(
false
);
setQueryName
(
value
);
setQueryName
(
value
);
if
(
option
.
label
.
props
.
type
===
'user'
)
{
if
(
option
.
label
.
props
.
type
===
'user'
)
{
param
.
queryName
=
value
;
param
.
queryName
=
value
;
}
else
{
}
else
{
param
.
id
=
option
.
label
.
props
.
depId
;
param
.
id
=
option
.
label
.
props
.
depId
;
}
}
props
.
searchUserList
(
param
,
treeType
,
1
);
props
.
searchUserList
(
param
,
treeType
,
1
);
}
}
// 获取关键词的搜索结果
// 获取关键词的搜索结果
function
getCompleteOptionData
(
value
){
function
getCompleteOptionData
(
value
)
{
// setQueryName(value);
// setQueryName(value);
setCompleteOption
([]);
setCompleteOption
([]);
if
(
!
value
)
{
if
(
!
value
)
{
return
return
}
}
const
params
=
{
const
params
=
{
depType
:
DepType
[
props
.
treeType
],
depType
:
DepType
[
props
.
treeType
],
queryName
:
value
,
queryName
:
value
,
enterpriseId
:
User
.
getEnterpriseId
(),
enterpriseId
:
User
.
getEnterpriseId
(),
source
:
0
,
//0代表来自企培
source
:
0
,
//0代表来自企培
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
whetherCount
:
false
,
whetherCount
:
false
,
distinct
:
false
,
distinct
:
false
,
queryType
:
'CUSTOMER'
queryType
:
'CUSTOMER'
}
}
StoreService
.
getDepartmentUser
(
params
).
then
((
res
)
=>
{
StoreService
.
getDepartmentUser
(
params
).
then
((
res
)
=>
{
const
_completeOptions
=
[];
const
_completeOptions
=
[];
const
userObj
=
{};
const
userObj
=
{};
const
departmentGroupObj
=
{};
const
departmentGroupObj
=
{};
const
postobj
=
{};
const
postobj
=
{};
const
{
result
=
{}}
=
res
;
const
{
result
=
{}
}
=
res
;
const
{
departmentUserVOList
=
[],
departmentVOList
=
[],
subLevelDepartmentVOList
=
[]
}
=
result
;
const
{
departmentUserVOList
=
[],
departmentVOList
=
[],
subLevelDepartmentVOList
=
[]
}
=
result
;
if
(
departmentUserVOList
.
length
>
0
)
{
if
(
departmentUserVOList
.
length
>
0
)
{
userObj
.
label
=
renderTitle
(
'学员'
);
userObj
.
label
=
renderTitle
(
'学员'
);
userObj
.
options
=
departmentUserVOList
.
map
((
item
,
index
)
=>
{
userObj
.
options
=
departmentUserVOList
.
map
((
item
,
index
)
=>
{
return
renderItem
(
item
,
'user'
);
return
renderItem
(
item
,
'user'
);
})
})
}
}
if
(
departmentVOList
.
length
>
0
)
{
if
(
departmentVOList
.
length
>
0
)
{
switch
(
props
.
treeType
){
switch
(
props
.
treeType
)
{
case
'departMentTab'
:
case
'departMentTab'
:
departmentGroupObj
.
label
=
renderTitle
(
'部门'
);
departmentGroupObj
.
label
=
renderTitle
(
'部门'
);
break
;
break
;
case
'postGrouptab'
:
case
'postGrouptab'
:
departmentGroupObj
.
label
=
renderTitle
(
'岗位组'
);
departmentGroupObj
.
label
=
renderTitle
(
'岗位组'
);
break
;
break
;
case
'customGroupTab'
:
case
'customGroupTab'
:
departmentGroupObj
.
label
=
renderTitle
(
'分组集合'
);
departmentGroupObj
.
label
=
renderTitle
(
'分组集合'
);
break
;
break
;
default
:
default
:
break
;
break
;
}
}
departmentGroupObj
.
options
=
departmentVOList
.
map
((
item
,
index
)
=>
{
departmentGroupObj
.
options
=
departmentVOList
.
map
((
item
,
index
)
=>
{
return
renderItem
(
item
,
'group'
);
return
renderItem
(
item
,
'group'
);
})
})
}
}
if
(
subLevelDepartmentVOList
.
length
>
0
)
{
if
(
subLevelDepartmentVOList
.
length
>
0
)
{
switch
(
props
.
treeType
){
switch
(
props
.
treeType
)
{
case
'postGrouptab'
:
case
'postGrouptab'
:
postobj
.
label
=
renderTitle
(
'岗位'
);
postobj
.
label
=
renderTitle
(
'岗位'
);
break
;
break
;
case
'customGroupTab'
:
case
'customGroupTab'
:
postobj
.
label
=
renderTitle
(
'分组'
);
postobj
.
label
=
renderTitle
(
'分组'
);
break
;
break
;
default
:
default
:
break
;
break
;
}
}
postobj
.
options
=
subLevelDepartmentVOList
.
map
((
item
,
index
)
=>
{
postobj
.
options
=
subLevelDepartmentVOList
.
map
((
item
,
index
)
=>
{
return
renderItem
(
item
,
'post'
);
return
renderItem
(
item
,
'post'
);
})
})
}
}
if
(
Object
.
keys
(
userObj
).
length
!==
0
)
{
if
(
Object
.
keys
(
userObj
).
length
!==
0
)
{
_completeOptions
.
push
(
userObj
);
_completeOptions
.
push
(
userObj
);
}
}
if
(
Object
.
keys
(
departmentGroupObj
).
length
!==
0
)
{
if
(
Object
.
keys
(
departmentGroupObj
).
length
!==
0
)
{
_completeOptions
.
push
(
departmentGroupObj
);
_completeOptions
.
push
(
departmentGroupObj
);
}
}
if
(
Object
.
keys
(
postobj
).
length
!==
0
)
{
if
(
Object
.
keys
(
postobj
).
length
!==
0
)
{
_completeOptions
.
push
(
postobj
);
_completeOptions
.
push
(
postobj
);
}
}
setCompleteOption
(
_completeOptions
);
setCompleteOption
(
_completeOptions
);
});
});
}
}
async
function
addCustomer
(
treeType
,
query
)
{
async
function
addCustomer
(
treeType
,
query
)
{
await
getTreeData
(
treeType
);
await
getTreeData
(
treeType
);
props
.
searchUserList
(
query
,
treeType
,
1
);
props
.
searchUserList
(
query
,
treeType
,
1
);
}
}
function
getTreeData
(
treeType
){
function
getTreeData
(
treeType
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
params
=
{
const
params
=
{
departmentTypeEnum
:
DepType
[
treeType
]
||
DepType
[
props
.
treeType
],
departmentTypeEnum
:
DepType
[
treeType
]
||
DepType
[
props
.
treeType
],
enterpriseId
:
User
.
getEnterpriseId
(),
enterpriseId
:
User
.
getEnterpriseId
(),
source
:
0
,
//0代表来自企培
source
:
0
,
//0代表来自企培
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
whetherCount
:
true
whetherCount
:
true
}
}
StoreService
.
queryDepartmentTree
(
params
).
then
((
res
)
=>
{
StoreService
.
queryDepartmentTree
(
params
).
then
((
res
)
=>
{
const
{
result
=
[]}
=
res
const
{
result
=
[]
}
=
res
let
{
departmentVOList
=
[]
}
=
result
;
let
{
departmentVOList
=
[]
}
=
result
;
let
_treeData
=
handleData
(
result
);
let
_treeData
=
handleData
(
result
);
setTreeData
(
_treeData
);
setTreeData
(
_treeData
);
resolve
(
result
);
resolve
(
result
);
});
});
})
})
}
}
function
handleData
(
dataArray
){
function
handleData
(
dataArray
)
{
const
_dataArray
=
dataArray
.
map
((
item
,
index
)
=>
{
const
_dataArray
=
dataArray
.
map
((
item
,
index
)
=>
{
item
.
title
=
""
;
item
.
title
=
""
;
item
.
key
=
item
.
id
;
item
.
key
=
item
.
id
;
if
(
item
.
sonDepartmentVOList
)
{
if
(
item
.
sonDepartmentVOList
)
{
item
.
children
=
item
.
sonDepartmentVOList
;
item
.
children
=
item
.
sonDepartmentVOList
;
handleData
(
item
.
sonDepartmentVOList
)
handleData
(
item
.
sonDepartmentVOList
)
}
}
...
@@ -265,24 +273,24 @@ function LeftStructureTree(props) {
...
@@ -265,24 +273,24 @@ function LeftStructureTree(props) {
const
moreOpenGroupOperate
=
(
record
)
=>
(
const
moreOpenGroupOperate
=
(
record
)
=>
(
<
Menu
>
<
Menu
>
<
Menu
.
Item
key=
"edit"
>
<
Menu
.
Item
key=
"edit"
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
editPostGroup
(
record
):
editCustomGroup
(
record
)
}
}
>
编辑
</
span
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
editPostGroup
(
record
)
:
editCustomGroup
(
record
)
}
}
>
编辑
</
span
>
</
Menu
.
Item
>
</
Menu
.
Item
>
{
record
.
depLevel
===
0
&&
{
record
.
depLevel
===
0
&&
<
Menu
.
Item
key=
"add"
>
<
Menu
.
Item
key=
"add"
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
addPostGroup
(
1
,
record
):
addCustomGroup
(
1
,
record
)
}
}
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
addPostGroup
(
1
,
record
)
:
addCustomGroup
(
1
,
record
)
}
}
>
{
props
.
treeType
===
'postGrouptab'
&&
{
props
.
treeType
===
'postGrouptab'
&&
<
span
>
新建岗位
</
span
>
<
span
>
新建岗位
</
span
>
}
}
{
props
.
treeType
===
'customGroupTab'
&&
{
props
.
treeType
===
'customGroupTab'
&&
<
span
>
新建分组
</
span
>
<
span
>
新建分组
</
span
>
}
}
</
span
>
</
span
>
</
Menu
.
Item
>
</
Menu
.
Item
>
}
}
{
/* { (record.departmentCount === 0 || !record.departmentCount) && */
}
{
/* { (record.departmentCount === 0 || !record.departmentCount) && */
}
<
Menu
.
Item
key=
"del"
>
<
Menu
.
Item
key=
"del"
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
delPostGroup
(
record
):
delCustomGroup
(
record
)
}
}
>
删除
</
span
>
<
span
onClick=
{
()
=>
{
props
.
treeType
===
'postGrouptab'
?
delPostGroup
(
record
)
:
delCustomGroup
(
record
)
}
}
>
删除
</
span
>
</
Menu
.
Item
>
</
Menu
.
Item
>
{
/* } */
}
{
/* } */
}
</
Menu
>
</
Menu
>
);
);
...
@@ -293,75 +301,75 @@ function LeftStructureTree(props) {
...
@@ -293,75 +301,75 @@ function LeftStructureTree(props) {
}
}
//添加岗位组/岗位
//添加岗位组/岗位
function
addPostGroup
(
level
,
record
)
{
function
addPostGroup
(
level
,
record
)
{
if
(
level
===
0
)
{
if
(
level
===
0
)
{
if
(
treeData
.
length
>
9
)
{
if
(
treeData
.
length
>
9
)
{
message
.
error
(
"岗位组数量已达10个上限"
);
message
.
error
(
"岗位组数量已达10个上限"
);
return
;
return
;
}
}
}
}
if
(
level
===
1
)
{
if
(
level
===
1
)
{
if
(
record
.
sonDepartmentVOList
)
{
if
(
record
.
sonDepartmentVOList
)
{
if
(
record
.
sonDepartmentVOList
.
length
>
19
)
{
if
(
record
.
sonDepartmentVOList
.
length
>
19
)
{
message
.
error
(
"岗位数量已达20个上限"
);
message
.
error
(
"岗位数量已达20个上限"
);
return
;
return
;
}
}
}
}
}
}
setCurrentGroupData
({});
setCurrentGroupData
({});
setAddOrEditPostGroupShow
(
true
);
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"add"
);
setOperatePostGroupModalType
(
"add"
);
setPostGroupModalLevel
(
level
);
setPostGroupModalLevel
(
level
);
setCurrentGroupData
(
record
);
setCurrentGroupData
(
record
);
console
.
log
(
'treeData'
,
record
);
console
.
log
(
'treeData'
,
record
);
if
(
level
===
0
)
{
if
(
level
===
0
)
{
setPostGroupModalTitle
(
'添加岗位组'
);
setPostGroupModalTitle
(
'添加岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
setPostGroupTreeData
(
treeData
);
setPostGroupTreeData
(
treeData
);
}
else
{
}
else
{
setPostGroupModalTitle
(
'添加岗位'
);
// sub代表岗位
setPostGroupModalTitle
(
'添加岗位'
);
// sub代表岗位
setPostGroupModalLable
(
'岗位'
);
setPostGroupModalLable
(
'岗位'
);
setPostGroupTreeData
(
record
.
sonDepartmentVOList
||
[]);
setPostGroupTreeData
(
record
.
sonDepartmentVOList
||
[]);
}
}
}
}
//编辑岗位组/岗位
//编辑岗位组/岗位
function
editPostGroup
(
record
){
function
editPostGroup
(
record
)
{
setAddOrEditPostGroupShow
(
true
);
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"edit"
);
setOperatePostGroupModalType
(
"edit"
);
//level为0的时候编辑的是岗位组 大于0的时候
//level为0的时候编辑的是岗位组 大于0的时候
setPostGroupModalLevel
(
record
.
depLevel
);
setPostGroupModalLevel
(
record
.
depLevel
);
setCurrentGroupData
(
record
);
setCurrentGroupData
(
record
);
console
.
log
(
'treeData'
,
record
);
console
.
log
(
'treeData'
,
record
);
if
(
record
.
depLevel
===
0
)
{
if
(
record
.
depLevel
===
0
)
{
setPostGroupModalTitle
(
'编辑岗位组'
);
setPostGroupModalTitle
(
'编辑岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
setPostGroupModalLable
(
'岗位组'
);
setPostGroupTreeData
(
treeData
);
setPostGroupTreeData
(
treeData
);
}
else
{
}
else
{
setPostGroupModalTitle
(
'编辑岗位'
);
setPostGroupModalTitle
(
'编辑岗位'
);
setPostGroupModalLable
(
'岗位'
);
setPostGroupModalLable
(
'岗位'
);
setPostGroupTreeData
(
getParentChildernData
(
record
.
parentId
));
setPostGroupTreeData
(
getParentChildernData
(
record
.
parentId
));
}
}
}
}
// 获取父节点下的所有的子级数据
// 获取父节点下的所有的子级数据
function
getParentChildernData
(
parentId
){
function
getParentChildernData
(
parentId
)
{
let
_parentChildernData
=
[]
let
_parentChildernData
=
[]
treeData
.
map
((
item
,
index
)
=>
{
treeData
.
map
((
item
,
index
)
=>
{
if
(
parentId
===
item
.
id
)
{
if
(
parentId
===
item
.
id
)
{
_parentChildernData
=
item
.
sonDepartmentVOList
_parentChildernData
=
item
.
sonDepartmentVOList
}
}
})
})
return
_parentChildernData
return
_parentChildernData
}
}
function
delPostGroup
(
record
){
function
delPostGroup
(
record
)
{
let
title
=
'确认删除该岗位组吗?'
;
let
title
=
'确认删除该岗位组吗?'
;
let
content
=
'删除后,该岗位组下的岗位及也将全部删除。'
;
let
content
=
'删除后,该岗位组下的岗位及也将全部删除。'
;
if
(
record
.
departmentCount
&&
record
.
departmentCount
>
0
)
{
if
(
record
.
departmentCount
&&
record
.
departmentCount
>
0
)
{
title
=
'删除失败'
;
title
=
'删除失败'
;
if
(
record
.
depLevel
>
0
)
{
if
(
record
.
depLevel
>
0
)
{
content
=
`
${
record
.
name
}
存在学员,不能删除该岗位`
;
content
=
`
${
record
.
name
}
存在学员,不能删除该岗位`
;
}
else
{
}
else
{
content
=
`
${
record
.
name
}
存在学员,不能删除该岗位组`
;
content
=
`
${
record
.
name
}
存在学员,不能删除该岗位组`
;
}
}
Modal
.
warning
({
Modal
.
warning
({
...
@@ -372,29 +380,29 @@ function LeftStructureTree(props) {
...
@@ -372,29 +380,29 @@ function LeftStructureTree(props) {
})
})
return
return
}
}
if
(
record
.
level
>
0
)
{
if
(
record
.
level
>
0
)
{
title
=
'确认删除该岗位吗?'
;
title
=
'确认删除该岗位吗?'
;
content
=
'删除后,不可恢复'
;
content
=
'删除后,不可恢复'
;
}
}
Modal
.
confirm
({
Modal
.
confirm
({
title
,
title
,
content
,
content
,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
okText
:
'确定'
,
okText
:
'确定'
,
okType
:
'danger'
,
okType
:
'danger'
,
cancelText
:
'取消'
,
cancelText
:
'取消'
,
onOk
:
()
=>
{
onOk
:
()
=>
{
delGroup
(
record
);
delGroup
(
record
);
},
},
});
});
}
}
function
delGroup
(
record
){
function
delGroup
(
record
)
{
let
parmas
=
{
let
parmas
=
{
departmentId
:
record
.
id
,
departmentId
:
record
.
id
,
enterpriseId
:
User
.
getEnterpriseId
(),
enterpriseId
:
User
.
getEnterpriseId
(),
source
:
0
,
source
:
0
,
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
userId
:
User
.
getUserId
()
userId
:
User
.
getUserId
()
}
}
StoreService
.
delDepartment
(
parmas
).
then
((
res
)
=>
{
StoreService
.
delDepartment
(
parmas
).
then
((
res
)
=>
{
message
.
success
(
`删除成功`
)
message
.
success
(
`删除成功`
)
...
@@ -405,16 +413,16 @@ function LeftStructureTree(props) {
...
@@ -405,16 +413,16 @@ function LeftStructureTree(props) {
//添加自定义分组集合/分组
//添加自定义分组集合/分组
function
addCustomGroup
(
level
,
record
)
{
function
addCustomGroup
(
level
,
record
)
{
if
(
level
===
0
)
{
if
(
level
===
0
)
{
if
(
treeData
.
length
>
9
)
{
if
(
treeData
.
length
>
9
)
{
message
.
error
(
"自定义分组集合数量已达10个上限"
);
message
.
error
(
"自定义分组集合数量已达10个上限"
);
return
;
return
;
}
}
}
}
if
(
level
===
1
)
{
if
(
level
===
1
)
{
if
(
record
.
sonDepartmentVOList
)
{
if
(
record
.
sonDepartmentVOList
)
{
if
(
record
.
sonDepartmentVOList
.
length
>
19
)
{
if
(
record
.
sonDepartmentVOList
.
length
>
19
)
{
message
.
error
(
"自定义分组数量已达20个上限"
);
message
.
error
(
"自定义分组数量已达20个上限"
);
return
;
return
;
}
}
...
@@ -425,41 +433,41 @@ function LeftStructureTree(props) {
...
@@ -425,41 +433,41 @@ function LeftStructureTree(props) {
setOperatePostGroupModalType
(
"add"
);
setOperatePostGroupModalType
(
"add"
);
setPostGroupModalLevel
(
level
);
setPostGroupModalLevel
(
level
);
setCurrentGroupData
(
record
)
setCurrentGroupData
(
record
)
if
(
level
===
0
)
{
if
(
level
===
0
)
{
setPostGroupModalTitle
(
'添加分组集合'
);
setPostGroupModalTitle
(
'添加分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
setPostGroupTreeData
(
treeData
);
setPostGroupTreeData
(
treeData
);
}
else
{
}
else
{
setPostGroupModalTitle
(
'添加分组'
);
// sub代表岗位
setPostGroupModalTitle
(
'添加分组'
);
// sub代表岗位
setPostGroupModalLable
(
'分组'
);
setPostGroupModalLable
(
'分组'
);
setPostGroupTreeData
(
record
.
sonDepartmentVOList
||
[]);
setPostGroupTreeData
(
record
.
sonDepartmentVOList
||
[]);
}
}
}
}
//编辑自定义分组集合/分组
//编辑自定义分组集合/分组
function
editCustomGroup
(
record
){
function
editCustomGroup
(
record
)
{
setAddOrEditPostGroupShow
(
true
);
setAddOrEditPostGroupShow
(
true
);
setOperatePostGroupModalType
(
"edit"
);
setOperatePostGroupModalType
(
"edit"
);
setPostGroupModalLevel
(
record
.
level
);
setPostGroupModalLevel
(
record
.
level
);
setCurrentGroupData
(
record
)
setCurrentGroupData
(
record
)
//level为0的时候编辑的是岗位组 大于0的时候
//level为0的时候编辑的是岗位组 大于0的时候
if
(
record
.
depLevel
===
0
)
{
if
(
record
.
depLevel
===
0
)
{
setPostGroupModalTitle
(
'编辑分组集合'
);
setPostGroupModalTitle
(
'编辑分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
setPostGroupModalLable
(
'分组集合'
);
setPostGroupTreeData
(
treeData
);
setPostGroupTreeData
(
treeData
);
}
else
{
}
else
{
setPostGroupModalTitle
(
'编辑分组'
);
setPostGroupModalTitle
(
'编辑分组'
);
setPostGroupModalLable
(
'分组'
);
setPostGroupModalLable
(
'分组'
);
setPostGroupTreeData
(
getParentChildernData
(
record
.
parentId
));
setPostGroupTreeData
(
getParentChildernData
(
record
.
parentId
));
}
}
}
}
function
delCustomGroup
(
record
){
function
delCustomGroup
(
record
)
{
let
title
=
'确认删除该分组集合吗?'
;
let
title
=
'确认删除该分组集合吗?'
;
let
content
=
'删除后,该分组集合下的岗位及也将全部删除。'
;
let
content
=
'删除后,该分组集合下的岗位及也将全部删除。'
;
if
(
record
.
departmentCount
&&
record
.
departmentCount
>
0
)
{
if
(
record
.
departmentCount
&&
record
.
departmentCount
>
0
)
{
title
=
'删除失败'
;
title
=
'删除失败'
;
if
(
record
.
level
>
0
)
{
if
(
record
.
level
>
0
)
{
content
=
`
${
record
.
name
}
存在学员,不能删除该分组`
;
content
=
`
${
record
.
name
}
存在学员,不能删除该分组`
;
}
else
{
}
else
{
content
=
`
${
record
.
name
}
存在学员,不能删除该分组集合`
;
content
=
`
${
record
.
name
}
存在学员,不能删除该分组集合`
;
}
}
Modal
.
warning
({
Modal
.
warning
({
...
@@ -470,22 +478,22 @@ function LeftStructureTree(props) {
...
@@ -470,22 +478,22 @@ function LeftStructureTree(props) {
})
})
return
return
}
}
if
(
record
.
level
>
0
)
{
if
(
record
.
level
>
0
)
{
title
=
'确认删除该分组吗?'
;
title
=
'确认删除该分组吗?'
;
content
=
'删除后,不可恢复'
;
content
=
'删除后,不可恢复'
;
}
}
Modal
.
confirm
({
Modal
.
confirm
({
title
,
title
,
content
,
content
,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
okText
:
'确定'
,
okText
:
'确定'
,
okType
:
'danger'
,
okType
:
'danger'
,
cancelText
:
'取消'
,
cancelText
:
'取消'
,
onOk
:
()
=>
{
onOk
:
()
=>
{
delGroup
(
record
)
delGroup
(
record
)
},
},
});
});
}
}
function
confirmAddOrEditPostGroup
()
{
function
confirmAddOrEditPostGroup
()
{
...
@@ -493,70 +501,79 @@ function LeftStructureTree(props) {
...
@@ -493,70 +501,79 @@ function LeftStructureTree(props) {
getTreeData
()
getTreeData
()
}
}
function
selectUserList
(
record
,
e
)
{
function
selectUserList
(
record
,
e
)
{
const
_selectKeys
=
[];
const
_selectKeys
=
[];
_selectKeys
.
push
(
e
.
selectedNodes
[
0
].
id
)
_selectKeys
.
push
(
e
.
selectedNodes
[
0
].
id
)
setSelectedKeys
(
_selectKeys
);
setSelectedKeys
(
_selectKeys
);
props
.
onChangeSelectDep
(
e
.
selectedNodes
[
0
]);
props
.
onChangeSelectDep
(
e
.
selectedNodes
[
0
]);
props
.
searchUserList
(
e
.
selectedNodes
[
0
],
treeType
,
1
);
props
.
searchUserList
(
e
.
selectedNodes
[
0
],
treeType
,
1
);
}
}
function
changeName
(
value
)
{
setQueryName
(
value
);
setOpen
(
true
);
clearTimeout
(
timer
.
current
)
timer
.
current
=
setTimeout
(()
=>
{
getCompleteOptionData
(
queryNameRef
.
current
)
},
500
)
}
return
(
return
(
<
div
className=
"left-structure-tree"
>
<
div
className=
"left-structure-tree"
>
<
div
className=
"organization"
>
<
div
className=
"organization"
>
<
div
className=
"search-con"
>
<
div
className=
"search-con"
>
{
/* <Complete/> */
}
{
/* <Complete/> */
}
<
AutoComplete
<
AutoComplete
dropdownClassName=
"certain-category-search-dropdown"
dropdownClassName=
"certain-category-search-dropdown"
dropdownMatchSelectWidth=
{
250
}
dropdownMatchSelectWidth=
{
250
}
allowClear
allowClear
onChange=
{
(
value
)
=>
{
setQueryName
(
value
);
setOpen
(
true
);
getCompleteOptionData
(
value
)}
}
onChange=
{
changeName
}
// onSearch={(value)=>{getCompleteOptionData(value)}}
// onSearch={(value)=>{getCompleteOptionData(value)}}
notFoundContent=
{
notFoundContentNode
()
}
notFoundContent=
{
notFoundContentNode
()
}
value=
{
queryName
}
value=
{
queryName
}
open=
{
open
}
open=
{
open
}
onFocus=
{
()
=>
{
setOpen
(
true
)}
}
onFocus=
{
()
=>
{
setOpen
(
true
)
}
}
onBlur=
{
()
=>
{
setOpen
(
false
)}
}
onBlur=
{
()
=>
{
setOpen
(
false
)
}
}
style=
{
{
style=
{
{
width
:
250
,
width
:
250
,
}
}
}
}
options=
{
completeOptions
}
options=
{
completeOptions
}
onSelect=
{
confirmSearchSelect
}
onSelect=
{
confirmSearchSelect
}
placeholder=
{
handlePlaceHolder
()
}
placeholder=
{
handlePlaceHolder
()
}
>
>
<
Search
<
Search
style=
{
{
width
:
250
}
}
style=
{
{
width
:
250
}
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
/>
/>
</
AutoComplete
>
</
AutoComplete
>
</
div
>
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
<
div
className=
"operate"
>
{
props
.
treeType
===
'postGrouptab'
&&
<
Button
className=
"add-btn"
onClick=
{
()
=>
{
addPostGroup
(
0
)
}
}
>
添加岗位组
</
Button
>
}
{
props
.
treeType
===
'customGroupTab'
&&
<
Button
className=
"add-btn"
onClick=
{
()
=>
{
addCustomGroup
(
0
)
}
}
>
添加自定义分组
</
Button
>
}
</
div
>
</
div
>
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
)
}
<
div
className=
"operate"
>
{
props
.
treeType
===
'postGrouptab'
&&
<
Button
className=
"add-btn"
onClick=
{
()
=>
{
addPostGroup
(
0
)
}
}
>
添加岗位组
</
Button
>
}
{
props
.
treeType
===
'customGroupTab'
&&
<
Button
className=
"add-btn"
onClick=
{
()
=>
{
addCustomGroup
(
0
)
}
}
>
添加自定义分组
</
Button
>
}
</
div
>
)
}
<
div
className=
"tree-con"
>
<
div
className=
"tree-con"
>
{
!
selctQueryName
?
{
!
selctQueryName
?
<
DirectoryTree
<
DirectoryTree
defaultExpandAll
defaultExpandAll
showIcon=
{
false
}
showIcon=
{
false
}
treeData=
{
treeData
}
treeData=
{
treeData
}
...
@@ -567,7 +584,7 @@ function LeftStructureTree(props) {
...
@@ -567,7 +584,7 @@ function LeftStructureTree(props) {
<
div
<
div
className=
"node-title-div"
className=
"node-title-div"
onMouseOver=
{
(
e
)
=>
{
onMouseOver=
{
(
e
)
=>
{
if
((
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
))
{
if
((
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
))
{
if
(
nodeData
.
key
===
"null"
)
return
;
if
(
nodeData
.
key
===
"null"
)
return
;
let
moreDiv
=
e
.
currentTarget
.
getElementsByClassName
(
let
moreDiv
=
e
.
currentTarget
.
getElementsByClassName
(
"item-more"
"item-more"
...
@@ -584,7 +601,7 @@ function LeftStructureTree(props) {
...
@@ -584,7 +601,7 @@ function LeftStructureTree(props) {
}
}
}
}
}
}
onMouseOut=
{
(
e
)
=>
{
onMouseOut=
{
(
e
)
=>
{
if
((
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
))
{
if
((
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
))
{
if
(
nodeData
.
key
===
"null"
)
return
;
if
(
nodeData
.
key
===
"null"
)
return
;
let
moreDiv
=
e
.
currentTarget
.
getElementsByClassName
(
let
moreDiv
=
e
.
currentTarget
.
getElementsByClassName
(
"item-more"
"item-more"
...
@@ -602,7 +619,7 @@ function LeftStructureTree(props) {
...
@@ -602,7 +619,7 @@ function LeftStructureTree(props) {
}
}
}
}
>
>
<
div
className=
"item-icon"
>
<
div
className=
"item-icon"
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
<
span
className=
"icon iconfont title-icon"
>

</
span
>
</
div
>
</
div
>
<
div
<
div
className=
"item-title"
className=
"item-title"
...
@@ -611,18 +628,18 @@ function LeftStructureTree(props) {
...
@@ -611,18 +628,18 @@ function LeftStructureTree(props) {
leftBoxWidth
<=
"240px"
leftBoxWidth
<=
"240px"
?
"35%"
?
"35%"
:
leftBoxWidth
<=
"304px"
:
leftBoxWidth
<=
"304px"
?
"60%"
?
"60%"
:
"78%"
,
:
"78%"
,
}
}
}
}
>
>
{
props
.
treeType
===
'departMentTab'
?
{
props
.
treeType
===
'departMentTab'
?
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
nodeData
.
name
}
/></
span
>
<
span
><
WWOpenDataCom
type=
"departmentName"
openid=
{
nodeData
.
name
}
/></
span
>
:
:
<
span
>
{
nodeData
.
name
}
</
span
>
<
span
>
{
nodeData
.
name
}
</
span
>
}
}
</
div
>
</
div
>
<
div
className=
"item-count"
>
(
{
nodeData
.
departmentCount
||
0
}
)
</
div
>
<
div
className=
"item-count"
>
(
{
nodeData
.
departmentCount
||
0
}
)
</
div
>
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
<
Dropdown
overlay=
{
moreOpenGroupOperate
(
nodeData
)
}
>
<
Dropdown
overlay=
{
moreOpenGroupOperate
(
nodeData
)
}
>
<
div
className=
"item-more icon iconfont"
>

</
div
>
<
div
className=
"item-more icon iconfont"
>

</
div
>
</
Dropdown
>
</
Dropdown
>
...
@@ -634,13 +651,13 @@ function LeftStructureTree(props) {
...
@@ -634,13 +651,13 @@ function LeftStructureTree(props) {
:
:
<
div
>
<
div
>
{
/* { (props.treeType==='departMentTab') && */
}
{
/* { (props.treeType==='departMentTab') && */
}
<
div
>
<
div
>
{
selctQueryName
.
type
===
'userName'
?
{
selctQueryName
.
type
===
'userName'
?
<
WWOpenDataCom
type=
"userName"
openid=
{
selctQueryName
.
openid
}
/>
<
WWOpenDataCom
type=
"userName"
openid=
{
selctQueryName
.
openid
}
/>
:
:
<
WWOpenDataCom
type=
"departmentName"
openid=
{
selctQueryName
.
openid
}
/>
<
WWOpenDataCom
type=
"departmentName"
openid=
{
selctQueryName
.
openid
}
/>
}
}
</
div
>
</
div
>
{
/* } */
}
{
/* } */
}
{
/* { (props.treeType==='postGrouptab' || props.treeType=== 'customGroupTab') &&
{
/* { (props.treeType==='postGrouptab' || props.treeType=== 'customGroupTab') &&
...
@@ -655,7 +672,7 @@ function LeftStructureTree(props) {
...
@@ -655,7 +672,7 @@ function LeftStructureTree(props) {
} */
}
} */
}
</
div
>
</
div
>
}
}
</
div
>
</
div
>
</
div
>
</
div
>
...
...
src/modules/college-manage/components/MemberTree.jsx
View file @
8b8a956b
...
@@ -64,7 +64,6 @@ function MemberTree(props) {
...
@@ -64,7 +64,6 @@ function MemberTree(props) {
_selectNodes
.
push
(
item
);
_selectNodes
.
push
(
item
);
}
}
})
})
console
.
log
(
'_selectNodes'
,
_selectNodes
);
props
.
onSelect
(
_selectNodes
);
props
.
onSelect
(
_selectNodes
);
}
}
return
(
return
(
...
...
src/modules/college-manage/components/MemberTree.less
View file @
8b8a956b
...
@@ -9,6 +9,9 @@
...
@@ -9,6 +9,9 @@
}
}
}
}
.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{
.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{
background: none;
background:transparent;
}
.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{
color:#000;
}
}
}
}
\ No newline at end of file
src/modules/college-manage/components/SearchUser.jsx
View file @
8b8a956b
...
@@ -64,7 +64,6 @@ function SearchUser(props) {
...
@@ -64,7 +64,6 @@ function SearchUser(props) {
onFocus=
{
(
e
)
=>
{
onFocus
(
e
)}
}
onFocus=
{
(
e
)
=>
{
onFocus
(
e
)}
}
onChange=
{
(
e
)
=>
{
onChange
(
e
)}
}
onChange=
{
(
e
)
=>
{
onChange
(
e
)}
}
className=
"search-input-item"
className=
"search-input-item"
// onBlur={()=>{onBlur()}}
/>
/>
{
dropDownVisible
&&
{
dropDownVisible
&&
<
div
className=
"drop-down"
>
<
div
className=
"drop-down"
>
...
...
src/modules/college-manage/modal/NewChooseMembersModal.less
View file @
8b8a956b
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
}
}
.container-left-body-table{
.container-left-body-table{
width: 300px;
width: 300px;
height: 33
0px;
max-height: 38
0px;
overflow: scroll;
overflow: scroll;
.ant-table {
.ant-table {
border: none;
border: none;
...
...
src/modules/course-manage/components/AddLiveBasic.jsx
View file @
8b8a956b
...
@@ -106,6 +106,7 @@ class AddLiveBasic extends React.Component {
...
@@ -106,6 +106,7 @@ class AddLiveBasic extends React.Component {
<
span
className=
'label'
>
<
span
className=
'label'
>
<
span
className=
'require'
>
*
</
span
>
课程名称:
<
span
className=
'require'
>
*
</
span
>
课程名称:
</
span
>
</
span
>
<
div
id=
"courseName"
style=
{
{
display
:
"inline-block"
}
}
>
<
Input
<
Input
className=
{
_
.
find
(
this
.
props
.
exItems
,(
item
)
=>
{
return
item
===
"courseName"
})?
"err"
:
""
}
className=
{
_
.
find
(
this
.
props
.
exItems
,(
item
)
=>
{
return
item
===
"courseName"
})?
"err"
:
""
}
value=
{
courseName
}
value=
{
courseName
}
...
@@ -116,6 +117,7 @@ class AddLiveBasic extends React.Component {
...
@@ -116,6 +117,7 @@ class AddLiveBasic extends React.Component {
this
.
props
.
onChange
(
'courseName'
,
e
.
target
.
value
)
this
.
props
.
onChange
(
'courseName'
,
e
.
target
.
value
)
}
}
}
}
/>
/>
</
div
>
</
div
>
</
div
>
<
div
className=
'course-cover'
>
<
div
className=
'course-cover'
>
<
span
className=
'label'
>
封面图:
</
span
>
<
span
className=
'label'
>
封面图:
</
span
>
...
@@ -146,6 +148,7 @@ class AddLiveBasic extends React.Component {
...
@@ -146,6 +148,7 @@ class AddLiveBasic extends React.Component {
<
span
className=
'label'
>
<
span
className=
'label'
>
<
span
className=
'require'
>
*
</
span
>
课程分类:
<
span
className=
'require'
>
*
</
span
>
课程分类:
</
span
>
</
span
>
<
div
id=
"categoryId"
style=
{
{
display
:
"inline-block"
}
}
>
<
CourseCatalogSelect
<
CourseCatalogSelect
className=
{
_
.
find
(
this
.
props
.
exItems
,(
item
)
=>
{
return
item
===
"categoryId"
})?
"err"
:
""
}
className=
{
_
.
find
(
this
.
props
.
exItems
,(
item
)
=>
{
return
item
===
"categoryId"
})?
"err"
:
""
}
value=
{
categoryId
}
value=
{
categoryId
}
...
@@ -153,6 +156,7 @@ class AddLiveBasic extends React.Component {
...
@@ -153,6 +156,7 @@ class AddLiveBasic extends React.Component {
this
.
handleChangeCatalogList
(
value
,
label
)
this
.
handleChangeCatalogList
(
value
,
label
)
}
}
}
}
/>
/>
</
div
>
</
div
>
</
div
>
{
showSelectFileModal
&&
(
{
showSelectFileModal
&&
(
<
SelectPrepareFileModal
<
SelectPrepareFileModal
...
...
src/modules/course-manage/components/LiveCourseList.jsx
View file @
8b8a956b
...
@@ -248,7 +248,7 @@ class LiveCourseList extends React.Component {
...
@@ -248,7 +248,7 @@ class LiveCourseList extends React.Component {
},
},
{
{
title
:
'课件管理'
,
title
:
'课件管理'
,
width
:
'
8%
'
,
width
:
'
75px
'
,
key
:
'courseware'
,
key
:
'courseware'
,
dataIndex
:
'courseware'
,
dataIndex
:
'courseware'
,
render
:
(
val
,
item
)
=>
{
render
:
(
val
,
item
)
=>
{
...
@@ -895,7 +895,7 @@ class LiveCourseList extends React.Component {
...
@@ -895,7 +895,7 @@ class LiveCourseList extends React.Component {
})
})
return
return
}
}
if
(
item
.
startTime
+
15
*
60
*
1000
<
new
Date
().
getTime
())
{
if
(
item
.
startTime
+
15
*
24
*
60
*
60
*
1000
<
new
Date
().
getTime
())
{
Modal
.
warning
({
Modal
.
warning
({
title
:
'提示'
,
title
:
'提示'
,
content
:
"该直播课的回放视频已失效"
,
content
:
"该直播课的回放视频已失效"
,
...
...
src/modules/root/App.tsx
View file @
8b8a956b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @Date: 2019-07-10 10:30:49
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-08-1
1 17:22:58
* @LastEditTime: 2021-08-1
2 15:02:50
* @Description:
* @Description:
*/
*/
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
...
@@ -16,11 +16,10 @@ import User from '@/common/js/user';
...
@@ -16,11 +16,10 @@ import User from '@/common/js/user';
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
{
VersionContext
,
VersionInfo
,
XMContext
}
from
'@/store/context'
;
import
{
VersionContext
,
VersionInfo
,
XMContext
}
from
'@/store/context'
;
import
WechatApi
from
'@/common/js/wechatApi'
;
import
{
setStoreGroupPermission
,
setStorePermission
,
setStoreGroupList
,
setStoreList
,
setWechatLogin
}
from
'@/store/actions/index'
;
import
{
setStoreGroupPermission
,
setStorePermission
,
setStoreGroupList
,
setStoreList
,
setWechatLogin
}
from
'@/store/actions/index'
;
import
Service
from
"@/common/js/service"
;
import
Service
from
"@/common/js/service"
;
import
Bus
from
'@/core/tbus'
;
import
Bus
from
'@/core/tbus'
;
import
WechatApi
from
'@/common/js/wechatApi'
;
import
{
func
}
from
'prop-types'
;
const
{
Footer
,
Sider
,
Content
}
=
Layout
;
const
{
Footer
,
Sider
,
Content
}
=
Layout
;
...
@@ -40,7 +39,6 @@ const App: React.FC = (props: any) => {
...
@@ -40,7 +39,6 @@ const App: React.FC = (props: any) => {
useEffect
(()
=>
{
useEffect
(()
=>
{
getStorePermission
();
getStorePermission
();
initWechatConfig
();
initWechatConfig
();
getStoreAndUserInfo
();
getStoreAndUserInfo
();
getVersion
();
getVersion
();
if
(
window
.
location
.
hash
===
"#/"
)
{
if
(
window
.
location
.
hash
===
"#/"
)
{
...
...
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