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
4eee1cdf
Commit
4eee1cdf
authored
Apr 10, 2021
by
chenshu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:完善各页面
parent
c1c572c6
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
221 additions
and
55 deletions
+221
-55
src/modules/college-manage/EmployeeManage.tsx
+2
-1
src/modules/college-manage/UserManagePage.tsx
+2
-1
src/modules/college-manage/modal/ChooseMembersModal.jsx
+14
-10
src/modules/college-manage/modal/ChooseMembersModal.less
+10
-0
src/modules/college-manage/modal/SetEmployeeModal.jsx
+3
-1
src/modules/college-manage/modal/SetEmployeeModal.less
+6
-0
src/modules/root/CollegeManagePage.jsx
+63
-6
src/modules/root/CollegeManagePage.less
+44
-0
src/modules/root/CreateCollege.jsx
+46
-32
src/modules/root/CreateCollege.less
+28
-1
src/modules/root/Header.jsx
+3
-3
No files found.
src/modules/college-manage/EmployeeManage.tsx
View file @
4eee1cdf
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Author: wufan
* @Date: 2020-07-09 14:03:09
* @Date: 2020-07-09 14:03:09
* @Last Modified by: chenshu
* @Last Modified by: chenshu
* @Last Modified time: 2021-04-
09 13:41:38
* @Last Modified time: 2021-04-
10 12:10:35
* 学院管理-员工管理
* 学院管理-员工管理
*/
*/
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
React
,
{
useEffect
,
useState
}
from
"react"
;
...
@@ -395,6 +395,7 @@ function EmployeeManage() {
...
@@ -395,6 +395,7 @@ function EmployeeManage() {
isOpen=
{
employeeModal
}
isOpen=
{
employeeModal
}
type=
"USER"
type=
"USER"
handleChooseModal=
{
(
bool
:
any
)
=>
{
handleChooseModal=
{
(
bool
:
any
)
=>
{
message
.
success
(
'添加成功'
)
setEmployeeModal
(
false
)
setEmployeeModal
(
false
)
if
(
bool
)
{
if
(
bool
)
{
getEmployeeList
();
getEmployeeList
();
...
...
src/modules/college-manage/UserManagePage.tsx
View file @
4eee1cdf
...
@@ -11,7 +11,7 @@ import React, { useEffect, useState } from "react";
...
@@ -11,7 +11,7 @@ import React, { useEffect, useState } from "react";
import
{
withRouter
}
from
"react-router-dom"
;
import
{
withRouter
}
from
"react-router-dom"
;
import
_
from
"underscore"
;
import
_
from
"underscore"
;
import
{
PageControl
}
from
"@/components"
;
import
{
PageControl
}
from
"@/components"
;
import
{
Table
,
Input
,
DatePicker
,
Select
,
Button
}
from
"antd"
;
import
{
Table
,
Input
,
DatePicker
,
Select
,
Button
,
message
}
from
"antd"
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
StoreService
from
"@/domains/store-domain/storeService"
;
import
User
from
"@/common/js/user"
;
import
User
from
"@/common/js/user"
;
import
ChooseMembersModal
from
"./modal/ChooseMembersModal"
;
import
ChooseMembersModal
from
"./modal/ChooseMembersModal"
;
...
@@ -95,6 +95,7 @@ function UserManagePage() {
...
@@ -95,6 +95,7 @@ function UserManagePage() {
isOpen=
{
true
}
isOpen=
{
true
}
type=
"CUSTOMER"
type=
"CUSTOMER"
handleChooseModal=
{
(
bool
:
any
)
=>
{
handleChooseModal=
{
(
bool
:
any
)
=>
{
message
.
success
(
'添加成功'
)
setModel
(
null
)
setModel
(
null
)
if
(
bool
)
{
if
(
bool
)
{
getUserList
();
getUserList
();
...
...
src/modules/college-manage/modal/ChooseMembersModal.jsx
View file @
4eee1cdf
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
*/
*/
import
React
from
'react'
;
import
React
from
'react'
;
import
{
Modal
,
Input
,
Table
,
message
}
from
'antd'
;
import
{
Modal
,
Input
,
Table
,
message
,
Tooltip
}
from
'antd'
;
import
Service
from
'@/common/js/service'
;
import
Service
from
'@/common/js/service'
;
import
User
from
'@/common/js/user'
import
User
from
'@/common/js/user'
import
SetEmployeeModal
from
"./SetEmployeeModal"
;
import
SetEmployeeModal
from
"./SetEmployeeModal"
;
...
@@ -214,9 +214,9 @@ class ChooseMembersModal extends React.Component {
...
@@ -214,9 +214,9 @@ class ChooseMembersModal extends React.Component {
return
(
return
(
<
div
className=
'avatar'
>
<
div
className=
'avatar'
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
span
className=
'userImg'
>
<
Tooltip
title=
{
name
}
>
{
name
}
<
span
className=
'userImg'
>
{
name
}
</
span
>
</
span
>
</
Tooltip
>
</
div
>
</
div
>
)
)
}
}
...
@@ -238,9 +238,9 @@ class ChooseMembersModal extends React.Component {
...
@@ -238,9 +238,9 @@ class ChooseMembersModal extends React.Component {
return
(
return
(
<
div
className=
'avatar'
>
<
div
className=
'avatar'
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
span
className=
'userImg'
>
<
Tooltip
title=
{
name
}
>
{
name
}
<
span
className=
'userImg'
>
{
name
}
</
span
>
</
span
>
</
Tooltip
>
</
div
>
</
div
>
)
)
}
}
...
@@ -265,7 +265,7 @@ class ChooseMembersModal extends React.Component {
...
@@ -265,7 +265,7 @@ class ChooseMembersModal extends React.Component {
render
()
{
render
()
{
const
{
type
}
=
this
.
props
;
const
{
type
}
=
this
.
props
;
const
{
selectUserList
,
allUserList
,
searchKey
,
selectedRowKeys
,
openSetModal
,
isOpen
}
=
this
.
state
;
const
{
selectUserList
,
allUserList
,
searchKey
,
selectedRowKeys
,
openSetModal
,
isOpen
}
=
this
.
state
;
const
title
=
'添加员工
'
;
const
title
=
type
===
'USER'
?
'添加员工'
:
'添加用户
'
;
return
(
return
(
<
div
>
<
div
>
{
/* 添加学员页面 */
}
{
/* 添加学员页面 */
}
...
@@ -275,14 +275,18 @@ class ChooseMembersModal extends React.Component {
...
@@ -275,14 +275,18 @@ class ChooseMembersModal extends React.Component {
onCancel=
{
this
.
handleClose
}
onCancel=
{
this
.
handleClose
}
onOk=
{
()
=>
{
onOk=
{
()
=>
{
if
(
_
.
isEmpty
(
selectUserList
))
{
if
(
_
.
isEmpty
(
selectUserList
))
{
message
.
warning
(
'请选择员工
'
)
message
.
warning
(
type
===
'USER'
?
'请选择员工'
:
'请选择用户
'
)
return
null
;
return
null
;
}
}
type
===
'USER'
?
this
.
setState
({
openSetModal
:
true
,
isOpen
:
false
})
:
this
.
addCustomer
();
type
===
'USER'
?
this
.
setState
({
openSetModal
:
true
,
isOpen
:
false
})
:
this
.
addCustomer
();
}
}
}
}
okText=
{
type
===
'USER'
?
'下一步'
:
'确定'
}
title=
{
title
}
title=
{
title
}
width=
{
680
}
width=
{
680
}
maskClosable=
{
false
}
maskClosable=
{
false
}
okButtonProps=
{
!
_
.
isEmpty
(
selectUserList
)
?
{}
:
{
disabled
:
true
}
}
closeIcon=
{
<
span
className=
"icon iconfont modal-close-icon"
>

</
span
>
}
closeIcon=
{
<
span
className=
"icon iconfont modal-close-icon"
>

</
span
>
}
>
>
<
div
className=
'member-container'
>
<
div
className=
'member-container'
>
...
@@ -321,7 +325,7 @@ class ChooseMembersModal extends React.Component {
...
@@ -321,7 +325,7 @@ class ChooseMembersModal extends React.Component {
</
div
>
</
div
>
{
/* 已选择的成员列表 */
}
{
/* 已选择的成员列表 */
}
<
div
className=
'container-right'
>
<
div
className=
'container-right'
>
<
span
className=
'span-left'
>
已选择
员工
</
span
>
<
span
className=
'span-left'
>
已选择
{
type
===
'USER'
?
'员工'
:
'用户'
}
</
span
>
<
div
className=
'span-right'
onClick=
{
()
=>
this
.
clearAllUser
()
}
>
<
div
className=
'span-right'
onClick=
{
()
=>
this
.
clearAllUser
()
}
>
<
span
className=
{
(
selectUserList
.
length
>
0
)
?
'span-right-l'
:
null
}
>
清空
</
span
>
<
span
className=
{
(
selectUserList
.
length
>
0
)
?
'span-right-l'
:
null
}
>
清空
</
span
>
</
div
>
</
div
>
...
...
src/modules/college-manage/modal/ChooseMembersModal.less
View file @
4eee1cdf
...
@@ -62,6 +62,11 @@
...
@@ -62,6 +62,11 @@
color: #0081F0;
color: #0081F0;
margin-right: 6px;
margin-right: 6px;
}
}
.userImg {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
}
}
}
...
@@ -129,6 +134,11 @@
...
@@ -129,6 +134,11 @@
color: #0081F0;
color: #0081F0;
margin-right: 6px;
margin-right: 6px;
}
}
.userImg {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.ant-table-tbody{
.ant-table-tbody{
...
...
src/modules/college-manage/modal/SetEmployeeModal.jsx
View file @
4eee1cdf
import
React
from
'react'
;
import
React
from
'react'
;
import
{
Modal
,
Button
,
Radio
}
from
'antd'
;
import
{
Modal
,
Button
,
Radio
,
Tooltip
}
from
'antd'
;
import
'./SetEmployeeModal.less'
import
'./SetEmployeeModal.less'
const
RadioGroup
=
Radio
.
Group
;
const
RadioGroup
=
Radio
.
Group
;
...
@@ -65,7 +65,9 @@ export default class SetEmployeeModal extends React.Component {
...
@@ -65,7 +65,9 @@ export default class SetEmployeeModal extends React.Component {
}
}
}
}
>
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
span
className=
"icon iconfont avatar-icon"
>

</
span
>
<
Tooltip
title=
{
item
.
name
}
>
<
span
className=
'name'
>
{
item
.
name
}
</
span
>
<
span
className=
'name'
>
{
item
.
name
}
</
span
>
</
Tooltip
>
<
span
className=
"tag"
>
{
tagMap
[
item
.
roleCode
]
}
</
span
>
<
span
className=
"tag"
>
{
tagMap
[
item
.
roleCode
]
}
</
span
>
</
div
>
</
div
>
))
}
))
}
...
...
src/modules/college-manage/modal/SetEmployeeModal.less
View file @
4eee1cdf
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
padding-left: 18px;
padding-left: 18px;
padding-right: 12px;
padding-right: 12px;
cursor: pointer;
cursor: pointer;
display: flex;
&:hover {
&:hover {
background: #F3F6FA;
background: #F3F6FA;
}
}
...
@@ -27,6 +28,10 @@
...
@@ -27,6 +28,10 @@
.name {
.name {
color: #333;
color: #333;
line-height: 44px;
line-height: 44px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: calc(100% - 62px);
}
}
.tag {
.tag {
float: right;
float: right;
...
@@ -38,6 +43,7 @@
...
@@ -38,6 +43,7 @@
color: #FFB714;
color: #FFB714;
margin-top: 13px;
margin-top: 13px;
font-size: 12px;
font-size: 12px;
flex-shrink: 0;
}
}
&.selected {
&.selected {
background: rgba(255, 183, 20, 0.1);
background: rgba(255, 183, 20, 0.1);
...
...
src/modules/root/CollegeManagePage.jsx
View file @
4eee1cdf
...
@@ -3,6 +3,7 @@ import Service from "@/common/js/service";
...
@@ -3,6 +3,7 @@ import Service from "@/common/js/service";
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
User
from
"@/common/js/user"
;
import
User
from
"@/common/js/user"
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
import
{
Modal
,
message
}
from
'antd'
;
import
'./CollegeManagePage.less'
;
import
'./CollegeManagePage.less'
;
const
roleMap
=
{
const
roleMap
=
{
...
@@ -18,16 +19,17 @@ export default class CollegeManagePage extends React.Component {
...
@@ -18,16 +19,17 @@ export default class CollegeManagePage extends React.Component {
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
name
:
''
,
name
:
''
,
list
:
[],
list
:
[],
enterpriseId
:
User
.
getEnterpriseId
(),
};
};
}
}
componentDidMount
()
{
componentDidMount
()
{
const
enterpriseId
=
User
.
getEnterpriseId
();
this
.
getStoreList
();
this
.
getStoreList
(
enterpriseId
);
this
.
getEnterpriseUser
();
this
.
getEnterpriseUser
(
enterpriseId
);
}
}
getEnterpriseUser
(
enterpriseId
)
{
getEnterpriseUser
()
{
const
{
enterpriseId
}
=
this
.
state
;
const
params
=
{
const
params
=
{
enterpriseId
,
enterpriseId
,
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
...
@@ -38,7 +40,8 @@ export default class CollegeManagePage extends React.Component {
...
@@ -38,7 +40,8 @@ export default class CollegeManagePage extends React.Component {
});
});
}
}
getStoreList
(
enterpriseId
)
{
getStoreList
()
{
const
{
enterpriseId
}
=
this
.
state
;
const
params
=
{
const
params
=
{
enterpriseId
,
enterpriseId
,
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
...
@@ -48,6 +51,20 @@ export default class CollegeManagePage extends React.Component {
...
@@ -48,6 +51,20 @@ export default class CollegeManagePage extends React.Component {
});
});
}
}
changeCollege
(
item
,
bool
)
{
const
data
=
{
storeId
:
item
.
id
,
userId
:
User
.
getUserId
(),
enableState
:
bool
?
'YES'
:
'NO'
,
}
Service
.
Hades
(
'public/hades/updateStateStore'
,
data
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
message
.
success
(
bool
?
'启用成功'
:
'停用成功'
);
this
.
getStoreList
();
}
})
}
render
()
{
render
()
{
const
{
const
{
name
,
name
,
...
@@ -87,8 +104,9 @@ export default class CollegeManagePage extends React.Component {
...
@@ -87,8 +104,9 @@ export default class CollegeManagePage extends React.Component {
{
list
.
map
((
item
)
=>
(
{
list
.
map
((
item
)
=>
(
<
div
<
div
key=
{
item
.
id
}
key=
{
item
.
id
}
className=
"college-item"
className=
{
`college-item${item.state === 'VALID' ? '' : ' disabled'}`
}
onClick=
{
()
=>
{
onClick=
{
()
=>
{
if
(
item
.
state
!==
'VALID'
)
return
null
;
User
.
setStoreId
(
item
.
id
);
User
.
setStoreId
(
item
.
id
);
window
.
RCHistory
.
push
(
'/home'
)
window
.
RCHistory
.
push
(
'/home'
)
}
}
}
}
...
@@ -99,6 +117,45 @@ export default class CollegeManagePage extends React.Component {
...
@@ -99,6 +117,45 @@ export default class CollegeManagePage extends React.Component {
</
div
>
</
div
>
<
div
className=
"title"
>
{
item
.
storeName
}
</
div
>
<
div
className=
"title"
>
{
item
.
storeName
}
</
div
>
<
div
className=
"time"
>
{
moment
(
item
.
createTime
).
format
(
'YYYY-MM-DD HH:mm'
)
}
</
div
>
<
div
className=
"time"
>
{
moment
(
item
.
createTime
).
format
(
'YYYY-MM-DD HH:mm'
)
}
</
div
>
<
div
className=
"control-box"
>
{
item
.
state
===
'VALID'
&&
<
span
className=
"control-button"
onClick=
{
(
e
)
=>
{
e
.
preventDefault
();
e
.
stopPropagation
();
User
.
setStoreId
(
item
.
id
);
window
.
RCHistory
.
push
(
'/college-info'
)
}
}
>
编辑
</
span
>
}
<
span
className=
"control-button"
onClick=
{
(
e
)
=>
{
if
(
item
.
state
!==
'VALID'
)
return
null
;
e
.
preventDefault
();
e
.
stopPropagation
();
Modal
.
confirm
({
title
:
'确定停用吗?'
,
content
:
'禁用学院,所有学院相关信息不可使用,用户无法继续学习,请谨慎操作!'
,
icon
:
<
span
className=
"icon iconfont default-confirm-icon"
>

</
span
>,
onOk
:
()
=>
{
this
.
changeCollege
(
item
,
false
);
},
okText
:
'停用'
,
cancelText
:
'取消'
,
})
}
}
>
{
item
.
state
===
'VALID'
?
'停用'
:
'已停用'
}
</
span
>
<
span
className=
"control-button disable-button"
onClick=
{
(
e
)
=>
{
e
.
preventDefault
();
e
.
stopPropagation
();
this
.
changeCollege
(
item
,
true
);
}
}
>
启用
</
span
>
</
div
>
</
div
>
</
div
>
))
}
))
}
<
div
<
div
...
...
src/modules/root/CollegeManagePage.less
View file @
4eee1cdf
...
@@ -124,8 +124,52 @@
...
@@ -124,8 +124,52 @@
color: #5289FA;
color: #5289FA;
font-size: 16px;
font-size: 16px;
}
}
.control-box {
display: none;
position: absolute;
right: 16px;
bottom: 16px;
.control-button {
margin-left: 10px;
cursor: pointer;
color: #5289FA;
}
.disable-button {
display: none;
}
}
&:hover {
&:hover {
background: #F3F6FA;
background: #F3F6FA;
.control-box {
display: block;
}
}
&.disabled {
.tag {
color: #CCCCCC;
border-color: #CCCCCC;
}
.title {
color: #CCCCCC;
}
.time {
color: #CCCCCC;
}
.control-box {
display: block;
.control-button {
color: #CCCCCC;
}
}
&:hover {
.control-button {
display: none;
}
.disable-button {
display: block;
color: #5289FA;
}
}
}
}
}
}
.college-create {
.college-create {
...
...
src/modules/root/CreateCollege.jsx
View file @
4eee1cdf
import
React
from
'react'
;
import
React
from
'react'
;
import
{
Input
,
Button
,
Modal
,
message
}
from
'antd'
;
import
{
Input
,
Button
,
Modal
,
message
,
Form
}
from
'antd'
;
import
Upload
from
'@/core/upload'
;
import
Upload
from
'@/core/upload'
;
import
SelectPrepareFileModal
from
'@/modules/prepare-lesson/modal/SelectPrepareFileModal'
;
import
Service
from
"@/common/js/service"
;
import
Service
from
"@/common/js/service"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
User
from
"@/common/js/user"
;
import
User
from
"@/common/js/user"
;
...
@@ -16,15 +15,16 @@ export default class CreateCollege extends React.Component {
...
@@ -16,15 +15,16 @@ export default class CreateCollege extends React.Component {
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
logo
:
'https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png'
,
logo
:
'https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png'
,
name
:
''
,
name
:
''
,
enterpriseId
:
User
.
getEnterpriseId
(),
};
};
}
}
componentDidMount
()
{
componentDidMount
()
{
const
enterpriseId
=
User
.
getEnterpriseId
();
this
.
getEnterpriseUser
();
this
.
getEnterpriseUser
(
enterpriseId
);
}
}
getEnterpriseUser
(
enterpriseId
)
{
getEnterpriseUser
()
{
const
{
enterpriseId
}
=
this
.
state
;
const
params
=
{
const
params
=
{
enterpriseId
,
enterpriseId
,
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
...
@@ -35,8 +35,11 @@ export default class CreateCollege extends React.Component {
...
@@ -35,8 +35,11 @@ export default class CreateCollege extends React.Component {
});
});
}
}
handleSelectCover
=
(
file
)
=>
{
handleSelectCover
=
(
e
)
=>
{
this
.
uploadImage
(
file
);
const
imageFile
=
e
.
target
.
files
[
0
];
Upload
.
uploadBlobToOSS
(
imageFile
,
'cover'
+
(
new
Date
()).
valueOf
()).
then
((
url
)
=>
{
this
.
uploadImage
({
folderName
:
imageFile
.
name
,
ossUrl
:
url
});
})
}
}
//上传图片
//上传图片
...
@@ -62,7 +65,6 @@ export default class CreateCollege extends React.Component {
...
@@ -62,7 +65,6 @@ export default class CreateCollege extends React.Component {
clearTimeout
(
self
.
timer
);
clearTimeout
(
self
.
timer
);
self
.
timer
=
setTimeout
(()
=>
{
self
.
timer
=
setTimeout
(()
=>
{
if
((
self
.
state
.
rotate
!=
this
.
rotate
())
||
(
self
.
state
.
scale
!=
this
.
scale
()))
{
if
((
self
.
state
.
rotate
!=
this
.
rotate
())
||
(
self
.
state
.
scale
!=
this
.
scale
()))
{
console
.
log
(
this
.
scale
(),
'scale'
)
const
_dataUrl
=
this
.
clip
()
const
_dataUrl
=
this
.
clip
()
const
cutImageBlob
=
self
.
convertBase64UrlToBlob
(
_dataUrl
);
const
cutImageBlob
=
self
.
convertBase64UrlToBlob
(
_dataUrl
);
self
.
setState
({
self
.
setState
({
...
@@ -141,17 +143,17 @@ export default class CreateCollege extends React.Component {
...
@@ -141,17 +143,17 @@ export default class CreateCollege extends React.Component {
updateCover
=
()
=>
{
updateCover
=
()
=>
{
const
{
coverClicpPath
,
coverId
}
=
this
.
state
const
{
coverClicpPath
,
coverId
}
=
this
.
state
this
.
setState
({
this
.
setState
({
showSelectFileModal
:
false
})
this
.
setState
({
logo
:
coverClicpPath
logo
:
coverClicpPath
})
})
}
}
submit
=
()
=>
{
submit
=
()
=>
{
const
{
logo
,
collegeName
}
=
this
.
state
;
const
{
logo
,
collegeName
,
enterpriseId
}
=
this
.
state
;
if
(
!
collegeName
)
{
this
.
setState
({
showError
:
true
})
}
else
{
const
params
=
{
const
params
=
{
enterpriseId
:
User
.
getEnterpriseId
()
,
enterpriseId
,
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
logo
,
logo
,
storeName
:
collegeName
,
storeName
:
collegeName
,
...
@@ -162,6 +164,7 @@ export default class CreateCollege extends React.Component {
...
@@ -162,6 +164,7 @@ export default class CreateCollege extends React.Component {
}
}
})
})
}
}
}
render
()
{
render
()
{
const
{
const
{
...
@@ -169,10 +172,10 @@ export default class CreateCollege extends React.Component {
...
@@ -169,10 +172,10 @@ export default class CreateCollege extends React.Component {
name
,
name
,
collegeName
,
collegeName
,
logo
,
logo
,
showSelectFileModal
,
visible
,
visible
,
hasImgReady
,
hasImgReady
,
cutImageBlob
,
cutImageBlob
,
showError
,
}
=
this
.
state
;
}
=
this
.
state
;
return
(
return
(
<
div
className=
"college-manage-page"
>
<
div
className=
"college-manage-page"
>
...
@@ -192,41 +195,52 @@ export default class CreateCollege extends React.Component {
...
@@ -192,41 +195,52 @@ export default class CreateCollege extends React.Component {
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
"create-box"
>
<
div
className=
"create-box"
>
<
div
className=
"image-box"
onClick=
{
()
=>
{
this
.
setState
({
showSelectFileModal
:
true
})}
}
>
<
div
className=
"image-box"
>
<
img
className=
"image"
src=
{
logo
}
/>
<
img
className=
"image"
src=
{
logo
}
/>
<
div
className=
"image-mask"
>
<
span
className=
"icon iconfont"
onClick=
{
()
=>
this
.
refs
.
logoInput
.
click
()
}
>

</
span
>
<
span
className=
"icon iconfont"
onClick=
{
()
=>
{
this
.
setState
({
logo
:
'https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png'
,
visible
:
false
,
})
}
}
>

</
span
>
</
div
>
</
div
>
</
div
>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
Form
>
<
Form
.
Item
validateStatus=
{
showError
?
'error'
:
'success'
}
help=
{
showError
?
'请输入学院名称'
:
''
}
>
<
Input
<
Input
className=
"input"
className=
"input"
placeholder=
"请输入学院名称"
placeholder=
"请输入学院名称"
maxLength=
{
30
}
value=
{
collegeName
}
value=
{
collegeName
}
onChange=
{
(
e
)
=>
{
onChange=
{
(
e
)
=>
{
this
.
setState
({
collegeName
:
e
.
target
.
valu
e
})
this
.
setState
({
collegeName
:
e
.
target
.
value
,
showError
:
fals
e
})
}
}
}
}
></
Input
>
></
Input
>
</
Form
.
Item
>
</
Form
>
<
Button
<
Button
className=
"button"
className=
"button"
type=
"primary"
type=
"primary"
onClick=
{
()
=>
this
.
submit
()
}
onClick=
{
()
=>
this
.
submit
()
}
>
确定创建
</
Button
>
>
确定创建
</
Button
>
</
div
>
</
div
>
{
showSelectFileModal
&&
<
input
<
SelectPrepareFileModal
type=
"file"
key=
"basic"
accept=
"image/*"
operateType=
"select"
value=
{
""
}
multiple=
{
false
}
ref=
"logoInput"
accept=
"image/jpeg,image/png,image/jpg"
style=
{
{
display
:
"none"
}
}
selectTypeList=
{
[
'JPG'
,
'JPEG'
,
'PNG'
]
}
onChange=
{
this
.
handleSelectCover
}
tooltip=
'支持文件类型:jpg、jpeg、png'
isOpen=
{
showSelectFileModal
}
onClose=
{
()
=>
{
this
.
setState
({
showSelectFileModal
:
false
})
}
}
onSelect=
{
this
.
handleSelectCover
}
/>
/>
}
<
Modal
<
Modal
title=
"设置图片"
title=
"设置图片"
width=
{
1080
}
width=
{
1080
}
...
...
src/modules/root/CreateCollege.less
View file @
4eee1cdf
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
margin: 0 auto;
margin: 0 auto;
width: 350px;
width: 350px;
.image-box {
.image-box {
position: relative;
display: block;
display: block;
border: 1px dashed #E9E9E9;
border: 1px dashed #E9E9E9;
width: 312px;
width: 312px;
...
@@ -14,6 +15,32 @@
...
@@ -14,6 +15,32 @@
height: 100%;
height: 100%;
object-fit: contain;
object-fit: contain;
}
}
.image-mask {
display: none;
}
&:hover {
.image-mask {
display: block;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.65);
display: flex;
align-items: center;
justify-content: center;
.iconfont {
font-size: 14px;
padding: 10px 25px;
cursor: pointer;
color: #fff;
&:hover {
color: rgba(255, 183, 20, 1);
}
}
}
}
}
}
.tip {
.tip {
display: block;
display: block;
...
@@ -23,10 +50,10 @@
...
@@ -23,10 +50,10 @@
}
}
.input {
.input {
width: 350px;
width: 350px;
margin-bottom: 52px;
}
}
.button {
.button {
width: 350px;
width: 350px;
margin-top: 36px;
height: 32px !important;
height: 32px !important;
}
}
}
}
...
...
src/modules/root/Header.jsx
View file @
4eee1cdf
...
@@ -29,6 +29,7 @@ function Header(props) {
...
@@ -29,6 +29,7 @@ function Header(props) {
const
ctx
=
useContext
(
XMContext
);
const
ctx
=
useContext
(
XMContext
);
const
htmlUrl
=
`
${
LIVE_SHARE
}
store/index?id=
${
User
.
getStoreId
()}
&userId=
${
User
.
getUserId
()}
&from=work_weixin`
;
const
htmlUrl
=
`
${
LIVE_SHARE
}
store/index?id=
${
User
.
getStoreId
()}
&userId=
${
User
.
getUserId
()}
&from=work_weixin`
;
const
storeUserId
=
User
.
getStoreUserId
();
const
storeUserId
=
User
.
getStoreUserId
();
const
enterpriseId
=
User
.
getEnterpriseId
();
useEffect
(()
=>
{
useEffect
(()
=>
{
htmlUrl
&&
handleConvertShortUrl
();
htmlUrl
&&
handleConvertShortUrl
();
...
@@ -39,8 +40,7 @@ function Header(props) {
...
@@ -39,8 +40,7 @@ function Header(props) {
useEffect
(()
=>
{
useEffect
(()
=>
{
storeUserId
&&
getUserInfo
();
storeUserId
&&
getUserInfo
();
const
enterpriseId
=
User
.
getEnterpriseId
();
enterpriseId
?
getEnterpriseUser
()
:
User
.
setIsAdmin
(
false
);
enterpriseId
?
getEnterpriseUser
(
enterpriseId
)
:
User
.
setIsAdmin
(
false
);
},
[
storeUserId
]);
},
[
storeUserId
]);
function
getUserInfo
()
{
function
getUserInfo
()
{
...
@@ -55,7 +55,7 @@ function Header(props) {
...
@@ -55,7 +55,7 @@ function Header(props) {
});
});
}
}
function
getEnterpriseUser
(
enterpriseId
)
{
function
getEnterpriseUser
()
{
const
params
=
{
const
params
=
{
enterpriseId
,
enterpriseId
,
userId
:
User
.
getUserId
(),
userId
:
User
.
getUserId
(),
...
...
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