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
a1745984
Commit
a1745984
authored
Apr 08, 2021
by
chenshu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:修改文案
parent
a435d39a
Show whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
251 additions
and
85 deletions
+251
-85
src/bu-components/ManagingMembersModal.jsx
+4
-4
src/core/xmTD.js
+2
-2
src/domains/store-domain/constants.ts
+1
-1
src/domains/store-domain/storeService.ts
+6
-6
src/modules/college-manage/CollegeInfoPage.jsx
+43
-0
src/modules/college-manage/CollegeInfoPage.less
+0
-0
src/modules/college-manage/EmployeeManage.jsx
+43
-0
src/modules/college-manage/EmployeeManage.less
+0
-0
src/modules/college-manage/UserManagePage.jsx
+43
-0
src/modules/college-manage/UserManagePage.less
+0
-0
src/modules/course-manage/components/LiveCourseFilter.jsx
+1
-1
src/modules/course-manage/components/LiveCourseList.jsx
+2
-2
src/modules/course-manage/graphics-course/AddGraphicsCourse.jsx
+1
-1
src/modules/course-manage/graphics-course/components/AddGraphicsIntro.jsx
+1
-1
src/modules/course-manage/graphics-course/components/GraphicsCourseFilter.jsx
+1
-1
src/modules/course-manage/graphics-course/components/GraphicsCourseList.jsx
+2
-2
src/modules/course-manage/video-course/AddVideoCourse.jsx
+1
-1
src/modules/course-manage/video-course/components/AddVideoIntro.jsx
+3
-3
src/modules/course-manage/video-course/components/VideoCourseFilter.jsx
+1
-1
src/modules/course-manage/video-course/components/VideoCourseList.jsx
+2
-2
src/modules/plan-manage/components/BasicInfo.jsx
+1
-1
src/modules/plan-manage/components/EmployeeShareData.jsx
+1
-1
src/modules/plan-manage/modal/UnbundEmployeeModal.jsx
+1
-1
src/modules/plan-manage/modal/relatedCourseModal.jsx
+3
-3
src/modules/root/CreateCollege.jsx
+4
-1
src/modules/root/CreateCollege.less
+25
-1
src/modules/root/Header.jsx
+6
-6
src/modules/root/SwitchRoute.tsx
+1
-1
src/modules/root/WechatLogin.tsx
+2
-2
src/modules/store-manage/CourseCatalogPage.tsx
+1
-1
src/modules/store-manage/EmployeeAddOrEditModal.tsx
+1
-1
src/modules/store-manage/EmployeesManagePage.tsx
+3
-3
src/modules/store-manage/StoreDecorationPage.tsx
+4
-4
src/modules/store-manage/StoreH5DecorationTab.jsx
+1
-1
src/modules/store-manage/StoreInfo.jsx
+17
-17
src/modules/store-manage/StoreWebDecorationTab.jsx
+1
-1
src/routes/config/mainRoutes.tsx
+17
-2
src/routes/config/menuList.tsx
+5
-10
No files found.
src/bu-components/ManagingMembersModal.jsx
View file @
a1745984
...
...
@@ -17,9 +17,9 @@ class ManagingMembersModal extends React.Component {
this
.
state
=
{
dataSource
:
[],
// 数据源
addManagingMember
:
false
,
// 是否点击了添加成员
storeId
:
User
.
getStoreId
()
,
//
店铺
Id
storeId
:
User
.
getStoreId
()
,
//
学院
Id
iconRotateList
:
[],
userAuthority
:
[
'可编辑'
,
'可查看/下载'
,
'仅可查看'
,
''
,
'创建者'
,
'
店铺
管理员'
]
,
// 空 代表删除
userAuthority
:
[
'可编辑'
,
'可查看/下载'
,
'仅可查看'
,
''
,
'创建者'
,
'
学院
管理员'
]
,
// 空 代表删除
}
}
componentDidMount
()
{
...
...
@@ -42,7 +42,7 @@ class ManagingMembersModal extends React.Component {
if
(
res
.
result
)
{
// 数据排序,文件创建者在最前,并修改文案为所有者
let
_selectUserList
=
[],
_dataSource
=
[],
flag
=
[],
_iconRotateList
=
[];
// 列表排序,文件夹创建者和机构
店铺
管理员默认排在最前
// 列表排序,文件夹创建者和机构
学院
管理员默认排在最前
res
.
result
.
map
((
item
,
index
)
=>
{
if
(
item
.
fileUserEnum
===
"CREATE"
||
item
.
fileUserEnum
===
'SUPER_ADMIN'
)
{
_dataSource
.
push
(
item
);
...
...
@@ -240,7 +240,7 @@ class ManagingMembersModal extends React.Component {
// 判断不同权限的人所能看到的
if
(
record
.
fileUserEnum
===
"CREATE"
)
{
// 创建者
num
=
4
;
}
else
if
(
record
.
fileUserEnum
===
'SUPER_ADMIN'
)
{
//
店铺
管理员
}
else
if
(
record
.
fileUserEnum
===
'SUPER_ADMIN'
)
{
//
学院
管理员
num
=
5
;
}
else
{
if
(
record
.
rights
===
"LOOK_DOWNLOAD"
)
{
...
...
src/core/xmTD.js
View file @
a1745984
...
...
@@ -26,8 +26,8 @@ window.WEBTRACING = (eventKey, eventName, content) => {
logger
.
push
(
"storeUserId"
,
storeUserId
);
logger
.
push
(
'env'
,
process
.
env
.
DEPLOY_ENV
||
'local'
);
// 哪个环境的埋点
const
_content
=
Object
.
assign
({},
content
,
{
店铺
名称
:
storeName
,
店铺
类型
:
storeType
,
学院
名称
:
storeName
,
学院
类型
:
storeType
,
storeId
,
storeUserId
,
});
...
...
src/domains/store-domain/constants.ts
View file @
a1745984
...
...
@@ -8,7 +8,7 @@
*/
export
const
storeRoleEnum
=
{
"0"
:
"
店铺
管理员"
,
"0"
:
"
学院
管理员"
,
"1"
:
"管理员"
,
"2"
:
"普通讲师"
};
...
...
src/domains/store-domain/storeService.ts
View file @
a1745984
...
...
@@ -19,7 +19,7 @@ export default class StoreService {
static
getStoreUserBasicPage
(
params
:
any
)
{
return
getStoreUserBasicPage
(
params
);
}
// 获取
店铺
角色
// 获取
学院
角色
static
getStoreRole
(
params
:
any
)
{
return
getStoreRole
(
params
);
}
...
...
@@ -44,25 +44,25 @@ export default class StoreService {
return
getUserList
(
params
);
}
// 获取
店铺
banner列表
// 获取
学院
banner列表
static
getStoreDecorationList
(
params
:
any
)
{
return
getStoreDecorationList
(
params
);
}
// 删除
店铺
banner列表
// 删除
学院
banner列表
static
deleteStoreDecorationList
(
params
:
any
)
{
return
deleteStoreDecorationList
(
params
);
}
// 添加
店铺
banner列表
// 添加
学院
banner列表
static
addStoreBanner
(
params
:
any
)
{
return
addStoreBanner
(
params
);
}
// 替换
店铺
banner列表
// 替换
学院
banner列表
static
editStoreBanner
(
params
:
any
)
{
return
editStoreBanner
(
params
);
}
// 移动
店铺
banner列表
// 移动
学院
banner列表
static
moveBannerSequence
(
params
:
any
)
{
return
moveBannerSequence
(
params
);
}
...
...
src/modules/college-manage/CollegeInfoPage.jsx
0 → 100644
View file @
a1745984
import
React
from
'react'
;
import
{
Input
,
Button
}
from
'antd'
;
import
'./CollegeInfoPage.less'
;
export
default
class
CollegeInfoPage
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
name
:
''
,
};
}
render
()
{
const
{
avatar
,
}
=
this
.
state
;
return
(
<
div
className=
"college-manage-page"
>
<
div
className=
"college-header"
>
<
div
className=
"box"
>
<
img
className=
"box-image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
div
className=
"user"
>
<
img
className=
"image"
src=
{
avatar
}
/>
<
span
className=
"name"
>
Xiaomai
</
span
>
<
span
className=
"logout"
>
退出
</
span
>
</
div
>
</
div
>
</
div
>
<
div
className=
"create-box"
>
<
img
className=
"image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
Input
className=
"input"
placeholder=
"请输入学院名称"
></
Input
>
<
Button
className=
"button"
type=
"primary"
>
确定创建
</
Button
>
</
div
>
</
div
>
)
}
}
\ No newline at end of file
src/modules/college-manage/CollegeInfoPage.less
0 → 100644
View file @
a1745984
src/modules/college-manage/EmployeeManage.jsx
0 → 100644
View file @
a1745984
import
React
from
'react'
;
import
{
Input
,
Button
}
from
'antd'
;
import
'./EmployeeManage.less'
;
export
default
class
EmployeeManage
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
name
:
''
,
};
}
render
()
{
const
{
avatar
,
}
=
this
.
state
;
return
(
<
div
className=
"college-manage-page"
>
<
div
className=
"college-header"
>
<
div
className=
"box"
>
<
img
className=
"box-image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
div
className=
"user"
>
<
img
className=
"image"
src=
{
avatar
}
/>
<
span
className=
"name"
>
Xiaomai
</
span
>
<
span
className=
"logout"
>
退出
</
span
>
</
div
>
</
div
>
</
div
>
<
div
className=
"create-box"
>
<
img
className=
"image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
Input
className=
"input"
placeholder=
"请输入学院名称"
></
Input
>
<
Button
className=
"button"
type=
"primary"
>
确定创建
</
Button
>
</
div
>
</
div
>
)
}
}
\ No newline at end of file
src/modules/college-manage/EmployeeManage.less
0 → 100644
View file @
a1745984
src/modules/college-manage/UserManagePage.jsx
0 → 100644
View file @
a1745984
import
React
from
'react'
;
import
{
Input
,
Button
}
from
'antd'
;
import
'./UserManagePage.less'
;
export
default
class
UserManagePage
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
avatar
:
'https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png'
,
name
:
''
,
};
}
render
()
{
const
{
avatar
,
}
=
this
.
state
;
return
(
<
div
className=
"college-manage-page"
>
<
div
className=
"college-header"
>
<
div
className=
"box"
>
<
img
className=
"box-image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
div
className=
"user"
>
<
img
className=
"image"
src=
{
avatar
}
/>
<
span
className=
"name"
>
Xiaomai
</
span
>
<
span
className=
"logout"
>
退出
</
span
>
</
div
>
</
div
>
</
div
>
<
div
className=
"create-box"
>
<
img
className=
"image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
Input
className=
"input"
placeholder=
"请输入学院名称"
></
Input
>
<
Button
className=
"button"
type=
"primary"
>
确定创建
</
Button
>
</
div
>
</
div
>
)
}
}
\ No newline at end of file
src/modules/college-manage/UserManagePage.less
0 → 100644
View file @
a1745984
src/modules/course-manage/components/LiveCourseFilter.jsx
View file @
a1745984
...
...
@@ -244,7 +244,7 @@ class LiveCourseFilter extends React.Component {
}
{
expandFilter
&&
<
div
className=
"search-condition__item"
>
<
span
className=
"shelf-status"
>
店铺
展示:
</
span
>
<
span
className=
"shelf-status"
>
学院
展示:
</
span
>
<
Select
style=
{
{
width
:
"calc(100% - 70px)"
}
}
placeholder=
"请选择"
...
...
src/modules/course-manage/components/LiveCourseList.jsx
View file @
a1745984
...
...
@@ -261,8 +261,8 @@ class LiveCourseList extends React.Component {
},
{
title
:
<
span
>
<
span
>
店铺
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
店铺内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”店铺展示。
<
br
/>
关闭后,店铺
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
学院
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
学院内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”学院展示。
<
br
/>
关闭后,学院
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
"9%"
,
key
:
"shelfState"
,
...
...
src/modules/course-manage/graphics-course/AddGraphicsCourse.jsx
View file @
a1745984
...
...
@@ -56,7 +56,7 @@ class AddGraphicsCourse extends React.Component {
coverId
:
null
,
// 图文封面的recourceId
coverUrl
:
defaultCoverUrl
,
// 图文课封面
studentList
:
[],
// 上课学员列表
shelfState
:
'YES'
,
//是否开启
店铺
展示
shelfState
:
'YES'
,
//是否开启
学院
展示
diskList
:
[],
// 机构可见磁盘目录
selectedFileList
:
[],
// 已经从资料云盘中勾选的文件
showCutModal
:
false
,
// 是否显示截图弹窗
...
...
src/modules/course-manage/graphics-course/components/AddGraphicsIntro.jsx
View file @
a1745984
...
...
@@ -158,7 +158,7 @@ class AddGraphicsIntro extends React.Component {
</
div
>
</
div
>
<
div
className=
"store-show"
>
<
span
className=
"label"
>
店铺
展示:
</
span
>
<
span
className=
"label"
>
学院
展示:
</
span
>
<
div
className=
"content"
>
<
Row
>
<
Col
span=
{
3
}
>
...
...
src/modules/course-manage/graphics-course/components/GraphicsCourseFilter.jsx
View file @
a1745984
...
...
@@ -196,7 +196,7 @@ class GraphicsCourseFilter extends React.Component {
</
div
>
{
expandFilter
&&
<
div
className=
"search-condition__item"
>
<
span
className=
"shelf-status"
>
店铺
展示:
</
span
>
<
span
className=
"shelf-status"
>
学院
展示:
</
span
>
<
Select
style=
{
{
width
:
"calc(100% - 84px)"
}
}
placeholder=
"请选择"
...
...
src/modules/course-manage/graphics-course/components/GraphicsCourseList.jsx
View file @
a1745984
...
...
@@ -136,8 +136,8 @@ class GraphicsCourseList extends React.Component {
},
{
title
:
<
span
>
<
span
>
店铺
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
店铺内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”店铺展示。
<
br
/>
关闭后,店铺
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
学院
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
学院内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”学院展示。
<
br
/>
关闭后,学院
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
120
,
dataIndex
:
"courseware"
,
...
...
src/modules/course-manage/video-course/AddVideoCourse.jsx
View file @
a1745984
...
...
@@ -62,7 +62,7 @@ class AddVideoCourse extends React.Component {
coverId
:
null
,
// 视频封面的recourceId
coverUrl
:
null
,
// 视频课封面
studentList
:
[],
// 上课学员列表
shelfState
:
'YES'
,
//是否开启
店铺
展示
shelfState
:
'YES'
,
//是否开启
学院
展示
scheduleMedia
:
[{
// 视频课媒体资源
contentType
:
"INTRO"
,
mediaType
:
'TEXT'
,
...
...
src/modules/course-manage/video-course/components/AddVideoIntro.jsx
View file @
a1745984
...
...
@@ -203,7 +203,7 @@ class AddVideoIntro extends React.Component {
</
div
>
</
div
>
<
div
className=
"store-show"
>
<
span
className=
"label"
>
店铺
展示:
</
span
>
<
span
className=
"label"
>
学院
展示:
</
span
>
<
div
className=
"content"
>
<
Row
>
<
Col
span=
{
3
}
>
...
...
@@ -211,8 +211,8 @@ class AddVideoIntro extends React.Component {
</
Col
>
<
Col
span=
{
21
}
>
<
div
className=
"desc"
>
<
div
>
开启:此视频将在用户
店铺
的视频列表中出现
</
div
>
<
div
>
关闭:此视频将在用户
店铺
的视频列表中隐藏
</
div
>
<
div
>
开启:此视频将在用户
学院
的视频列表中出现
</
div
>
<
div
>
关闭:此视频将在用户
学院
的视频列表中隐藏
</
div
>
</
div
>
</
Col
>
</
Row
>
...
...
src/modules/course-manage/video-course/components/VideoCourseFilter.jsx
View file @
a1745984
...
...
@@ -205,7 +205,7 @@ class VideoCourseFilter extends React.Component {
</
div
>
{
expandFilter
&&
<
div
className=
"search-condition__item"
>
<
span
className=
"shelf-status"
>
店铺
展示:
</
span
>
<
span
className=
"shelf-status"
>
学院
展示:
</
span
>
<
Select
style=
{
{
width
:
"calc(100% - 84px)"
}
}
placeholder=
"请选择"
...
...
src/modules/course-manage/video-course/components/VideoCourseList.jsx
View file @
a1745984
...
...
@@ -125,8 +125,8 @@ class VideoCourseList extends React.Component {
},
{
title
:
<
span
>
<
span
>
店铺
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
店铺内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”店铺展示。
<
br
/>
关闭后,店铺
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
学院
展示
</
span
>
<
Tooltip
title=
{
<
div
>
开启后,用户可在
学院内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”学院展示。
<
br
/>
关闭后,学院
内不再展示此课程,但用户仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
120
,
dataIndex
:
"courseware"
,
...
...
src/modules/plan-manage/components/BasicInfo.jsx
View file @
a1745984
...
...
@@ -278,7 +278,7 @@ class BasicInfo extends React.Component{
<
span
className=
"require"
>
*
</
span
>
可见范围
<
Tooltip
title=
"
店铺
管理员、管理员默认都可见"
>
title=
"
学院
管理员、管理员默认都可见"
>
<
span
className=
"iconfont"
>

</
span
>
</
Tooltip
>
:
</
span
>
<
div
className=
"content"
>
...
...
src/modules/plan-manage/components/EmployeeShareData.jsx
View file @
a1745984
...
...
@@ -10,7 +10,7 @@ import './EmployeeShareData.less';
const
{
Search
}
=
Input
;
const
UserRole
=
{
Store_Manager
:
{
text
:
"
店铺
管理员"
text
:
"
学院
管理员"
},
Cloud_Manager
:
{
text
:
"管理员"
...
...
src/modules/plan-manage/modal/UnbundEmployeeModal.jsx
View file @
a1745984
...
...
@@ -8,7 +8,7 @@ import _ from "underscore";
const
{
Search
}
=
Input
;
const
UserRole
=
{
StoreManager
:
{
text
:
"
店铺
管理员"
text
:
"
学院
管理员"
},
CloudManager
:
{
text
:
"管理员"
...
...
src/modules/plan-manage/modal/relatedCourseModal.jsx
View file @
a1745984
...
...
@@ -274,7 +274,7 @@ class SelectOperatorModal extends React.Component {
}
},
{
title
:
'
店铺
展示'
,
title
:
'
学院
展示'
,
key
:
'shelfState'
,
dataIndex
:
'shelfState'
,
width
:
'20%'
,
...
...
@@ -326,7 +326,7 @@ class SelectOperatorModal extends React.Component {
}
},
{
title
:
'
店铺
展示'
,
title
:
'
学院
展示'
,
key
:
'shelfState'
,
dataIndex
:
'shelfState'
,
width
:
'20%'
,
...
...
@@ -378,7 +378,7 @@ class SelectOperatorModal extends React.Component {
}
},
{
title
:
'
店铺
展示'
,
title
:
'
学院
展示'
,
key
:
'shelfState'
,
dataIndex
:
'shelfState'
,
width
:
'20%'
,
...
...
src/modules/root/CreateCollege.jsx
View file @
a1745984
...
...
@@ -31,7 +31,10 @@ export default class CreateCollege extends React.Component {
<
img
className=
"image"
src=
"https://image.xiaomaiketang.com/xm/HNHCAF6Fc2.png"
/>
<
span
className=
"tip"
>
建议尺寸702*180px,JPG/PNG格式,图片小于2M。
</
span
>
<
Input
className=
"input"
placeholder=
"请输入学院名称"
></
Input
>
<
Button
className=
"button"
type=
"primary"
>
确定创建
</
Button
>
<
Button
className=
"button"
type=
"primary"
>
确定创建
</
Button
>
</
div
>
</
div
>
)
...
...
src/modules/root/CreateCollege.less
View file @
a1745984
.college-manage-page {
.create-box {
padding: 108px;
padding-top: 108px;
margin: 0 auto;
width: 350px;
.image {
display: block;
border: 1px dashed #E9E9E9;
width: 312px;
height: 73px;
margin: 0 auto 16px;
}
.tip {
display: block;
color: #999999;
text-align: center;
margin-bottom: 24px;
}
.input {
width: 350px;
margin-bottom: 52px;
}
.button {
width: 350px;
height: 32px !important;
}
}
}
\ No newline at end of file
src/modules/root/Header.jsx
View file @
a1745984
...
...
@@ -146,7 +146,7 @@ function Header(props) {
// 复制分享链接
function
handleCopy
()
{
window
.
copyText
(
htmlUrl
);
message
.
success
(
'已复制
店铺
地址,快去分享吧~'
);
message
.
success
(
'已复制
学院
地址,快去分享吧~'
);
}
return
(
...
...
@@ -177,11 +177,11 @@ function Header(props) {
<
div
className=
"link-to-store"
>
<
div
className=
"link"
>
<
span
className=
"icon iconfont tool-tip-right"
>

</
span
>
<
div
className=
"text"
>
前往
店铺
</
div
>
<
div
className=
"text"
>
前往
学院
</
div
>
<
div
className=
"store-popover"
>
<
div
className=
"pc-url"
>
<
div
className=
"name"
>
网页端
店铺
</
div
>
<
div
className=
"name"
>
网页端
学院
</
div
>
<
div
className=
"url-link"
onClick=
{
()
=>
{
...
...
@@ -192,15 +192,15 @@ function Header(props) {
</
div
>
</
div
>
<
div
className=
"h5-url"
>
<
div
className=
"name"
>
手机端
店铺
</
div
>
<
div
className=
"name"
>
手机端
学院
</
div
>
<
div
id=
"h5-qrcode"
></
div
>
<
div
className=
"tip"
>
微信扫码,打开
店铺
</
div
>
<
div
className=
"tip"
>
微信扫码,打开
学院
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
"share"
onClick=
{
handleCopy
}
>
<
span
className=
"icon iconfont tool-tip-right"
>

</
span
>
<
div
className=
"text"
>
分享
店铺
</
div
>
<
div
className=
"text"
>
分享
学院
</
div
>
</
div
>
</
div
>
...
...
src/modules/root/SwitchRoute.tsx
View file @
a1745984
...
...
@@ -20,7 +20,7 @@ function SwitchRoute(props: SwitchProps) {
/**
* 角色登录后跳转
* 管理员和
店铺
管理员登录后跳转到直播课列表页面
* 管理员和
学院
管理员登录后跳转到直播课列表页面
* 讲师登录后跳转资料云盘页面
*/
switch
(
userRole
)
{
...
...
src/modules/root/WechatLogin.tsx
View file @
a1745984
...
...
@@ -98,7 +98,7 @@ export default function WechatLogin(props: any) {
}
{
status
===
2
&&
<
div
className=
"error"
>
<
div
>
所在企业还未注册
店铺
<
div
>
所在企业还未注册
学院
<
p
className=
"ope"
onClick=
{
()
=>
{
setStatus
(
0
)
...
...
@@ -108,7 +108,7 @@ export default function WechatLogin(props: any) {
}
{
status
===
3
&&
<
div
className=
"error"
>
<
div
>
你还不是
店铺
员工,请联系企业管理员
<
div
>
你还不是
学院
员工,请联系企业管理员
<
p
className=
"ope"
onClick=
{
()
=>
{
setStatus
(
0
)
...
...
src/modules/store-manage/CourseCatalogPage.tsx
View file @
a1745984
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-07-09 14:03:09
* @Last Modified by: mikey.zhaopeng
* @Last Modified time: 2020-11-28 13:53:12
*
店铺
管理-员工管理
*
学院
管理-员工管理
*/
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
{
withRouter
}
from
"react-router-dom"
;
...
...
src/modules/store-manage/EmployeeAddOrEditModal.tsx
View file @
a1745984
...
...
@@ -297,7 +297,7 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
</
Radio
>
<
Radio
value=
{
"CloudManager"
}
>
<
span
style=
{
{
color
:
"#333"
}
}
>
管理员
</
span
>
<
p
className=
"radio-tip"
>
可执行
店铺
中所有的操作
</
p
>
<
p
className=
"radio-tip"
>
可执行
学院
中所有的操作
</
p
>
</
Radio
>
</
RadioGroup
>
</
Form
.
Item
>
...
...
src/modules/store-manage/EmployeesManagePage.tsx
View file @
a1745984
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-07-09 14:03:09
* @Last Modified by: mikey.zhaopeng
* @Last Modified time: 2020-11-28 13:53:12
*
店铺
管理-员工管理
*
学院
管理-员工管理
*/
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
{
withRouter
}
from
"react-router-dom"
;
...
...
@@ -83,7 +83,7 @@ function EmployeesManagePage() {
const
roleMap
=
{
CloudManager
:
"管理员"
,
CloudLecturer
:
"讲师"
,
StoreManager
:
"
店铺
管理员"
,
StoreManager
:
"
学院
管理员"
,
};
const
storeId
=
User
.
getStoreId
();
const
StoreType
=
User
.
getStoreType
();
...
...
@@ -166,7 +166,7 @@ function EmployeesManagePage() {
title
:
"操作"
,
dataIndex
:
"operation"
,
render
:
(
val
:
string
,
record
:
RecordTypes
)
=>
{
return
record
.
role
===
"
店铺
管理员"
||
return
record
.
role
===
"
学院
管理员"
||
record
.
userId
===
User
.
getUserId
()
?
(
<
div
className=
"no-operate"
>
-
</
div
>
)
:
(
...
...
src/modules/store-manage/StoreDecorationPage.tsx
View file @
a1745984
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-11-30 10:47:38
* @LastEditors: wufan
* @LastEditTime: 2021-02-01 14:12:38
* @Description:
店铺
装修页面
* @Description:
学院
装修页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -31,7 +31,7 @@ function StoreDecorationPage(props: StoreDecoprationProps) {
return
(
<
div
className=
"page store-decoration-page"
>
<
div
className=
"content-header"
>
店铺
装修
</
div
>
<
div
className=
"content-header"
>
学院
装修
</
div
>
<
div
className=
"box"
>
<
Tabs
onChange=
{
(
key
)
=>
{
...
...
@@ -40,9 +40,9 @@ function StoreDecorationPage(props: StoreDecoprationProps) {
}
}
activeKey=
{
currentTab
}
>
<
TabPane
key=
"h5"
tab=
"H5
店铺
"
></
TabPane
>
<
TabPane
key=
"h5"
tab=
"H5
学院
"
></
TabPane
>
<
TabPane
key=
"web"
tab=
"网页端
店铺
"
></
TabPane
>
<
TabPane
key=
"web"
tab=
"网页端
学院
"
></
TabPane
>
</
Tabs
>
{
currentTab
===
'h5'
&&
<
StoreH5DecorationTab
/>
...
...
src/modules/store-manage/StoreH5DecorationTab.jsx
View file @
a1745984
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-11-30 10:47:38
* @LastEditors: zhangleyuan
* @LastEditTime: 2021-02-01 14:02:11
* @Description: web
店铺
banner页面
* @Description: web
学院
banner页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
src/modules/store-manage/StoreInfo.jsx
View file @
a1745984
...
...
@@ -185,19 +185,19 @@ class StoreInfo extends React.Component {
updateInfo
=
()
=>
{
const
{
storeName
,
storeFullName
,
logo
,
subjectType
,
corpIndustry
,
corpSubIndustry
}
=
this
.
state
;
if
(
!
storeName
){
message
.
warning
(
'请输入
店铺
简称'
);
message
.
warning
(
'请输入
学院
简称'
);
return
;
}
if
(
!
storeFullName
){
message
.
warning
(
'请输入
店铺
名称'
);
message
.
warning
(
'请输入
学院
名称'
);
return
;
}
if
(
!
subjectType
){
message
.
warning
(
'请选择
店铺
类型'
);
message
.
warning
(
'请选择
学院
类型'
);
return
;
}
if
(
!
corpIndustry
){
message
.
warning
(
'请选择
店铺
所属行业'
);
message
.
warning
(
'请选择
学院
所属行业'
);
return
;
}
const
params
=
{
...
...
@@ -219,29 +219,29 @@ class StoreInfo extends React.Component {
const
{
storeName
,
storeFullName
,
subjectType
,
corpIndustry
,
corpSubIndustry
,
showSelectFileModal
,
visible
,
hasImgReady
,
logo
,
cutImageBlob
}
=
this
.
state
;
return
(
<
div
className=
"page store-info-page"
>
<
div
className=
"content-header"
>
店铺
基本信息
</
div
>
<
div
className=
"content-header"
>
学院
基本信息
</
div
>
<
div
className=
"box"
>
<
div
className=
"store-info-header"
>
店铺
基本信息
</
div
>
<
div
className=
"store-info-header"
>
学院
基本信息
</
div
>
<
div
className=
"store-info-page-form"
>
<
Form
ref=
{
this
.
formRef
}
>
<
Form
.
Item
label=
"
店铺
简称"
label=
"
学院
简称"
name=
"storeName"
rules=
{
[{
required
:
true
}]
}
>
<
Input
value=
{
storeName
}
style=
{
{
width
:
'300px'
}
}
placeholder=
"请输入
店铺
简称"
onChange=
{
(
e
)
=>
this
.
onChangeFiledValue
(
"storeName"
,
e
.
target
.
value
)
}
maxLength=
{
20
}
/>
<
Input
value=
{
storeName
}
style=
{
{
width
:
'300px'
}
}
placeholder=
"请输入
学院
简称"
onChange=
{
(
e
)
=>
this
.
onChangeFiledValue
(
"storeName"
,
e
.
target
.
value
)
}
maxLength=
{
20
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"
店铺
名称"
label=
"
学院
名称"
name=
"storeFullName"
rules=
{
[{
required
:
true
}]
}
>
<
Input
value=
{
storeFullName
}
style=
{
{
width
:
'300px'
}
}
placeholder=
"请输入
店铺
名称"
onChange=
{
(
e
)
=>
this
.
onChangeFiledValue
(
"storeFullName"
,
e
.
target
.
value
)
}
maxLength=
{
30
}
/>
<
Input
value=
{
storeFullName
}
style=
{
{
width
:
'300px'
}
}
placeholder=
"请输入
学院
名称"
onChange=
{
(
e
)
=>
this
.
onChangeFiledValue
(
"storeFullName"
,
e
.
target
.
value
)
}
maxLength=
{
30
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"
店铺
logo"
label=
"
学院
logo"
>
<
div
className=
"logo-con"
>
<
div
className=
"logo-img-con"
>
...
...
@@ -256,7 +256,7 @@ class StoreInfo extends React.Component {
</
div
>
</
Form
.
Item
>
<
Form
.
Item
label=
"
店铺
类型"
label=
"
学院
类型"
name=
"subjectType"
rules=
{
[{
required
:
true
}]
}
>
...
...
@@ -264,7 +264,7 @@ class StoreInfo extends React.Component {
placeholder=
"Select a option and change input text above"
allowClear
style=
{
{
width
:
'300px'
}
}
placeholder=
"请选择
店铺
类型"
placeholder=
"请选择
学院
类型"
value=
{
subjectType
}
onChange=
{
(
value
)
=>
this
.
onChangeFiledValue
(
"subjectType"
,
value
)
}
>
...
...
@@ -275,12 +275,12 @@ class StoreInfo extends React.Component {
</
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
"
店铺
所属行业"
label=
"
学院
所属行业"
rules=
{
[{
required
:
true
}]
}
name=
"corpIndustry"
>
<
Select
placeholder=
"请选择
店铺
所属行业"
placeholder=
"请选择
学院
所属行业"
style=
{
{
width
:
'300px'
}
}
allowClear
value=
{
corpIndustry
}
...
...
@@ -294,11 +294,11 @@ class StoreInfo extends React.Component {
</
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
"
店铺
所属子行业"
label=
"
学院
所属子行业"
name=
"corpSubIndustry"
>
<
Select
placeholder=
"请选择
店铺
所属子行业"
placeholder=
"请选择
学院
所属子行业"
allowClear
style=
{
{
width
:
'300px'
}
}
value=
{
corpSubIndustry
}
...
...
src/modules/store-manage/StoreWebDecorationTab.jsx
View file @
a1745984
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-11-30 10:47:38
* @LastEditors: yuananting
* @LastEditTime: 2021-03-18 11:29:43
* @Description: web
店铺
banner页面
* @Description: web
学院
banner页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
src/routes/config/mainRoutes.tsx
View file @
a1745984
...
...
@@ -53,7 +53,7 @@ const mainRoutes = [
{
path
:
'/store-decoration'
,
component
:
StoreDecorationPage
,
name
:
'
店铺
装修'
name
:
'
学院
装修'
},
{
path
:
'/course-catalog'
,
...
...
@@ -96,6 +96,21 @@ const mainRoutes = [
name
:
'资料云盘'
},
{
path
:
'/college-info'
,
component
:
ResourceDisk
,
name
:
'学院信息'
},
{
path
:
'/employee-manage'
,
component
:
ResourceDisk
,
name
:
'员工管理'
},
{
path
:
'/user-manage'
,
component
:
ResourceDisk
,
name
:
'用户管理'
},
{
path
:
'/question-bank-index'
,
component
:
QuestionBankIndex
,
name
:
'题库'
...
...
@@ -128,7 +143,7 @@ const mainRoutes = [
{
path
:
'/store-info'
,
component
:
StoreInfoPage
,
name
:
'
店铺
信息'
name
:
'
学院
信息'
},
{
path
:
'/learning-data'
,
...
...
src/routes/config/menuList.tsx
View file @
a1745984
...
...
@@ -66,12 +66,12 @@ export const menuList: any = [
]
},
{
groupName
:
"
店铺
管理"
,
groupName
:
"
学院
管理"
,
groupCode
:
"CloudShop"
,
icon
:
''
,
children
:
[
{
groupName
:
"
店铺
信息"
,
groupName
:
"
学院
信息"
,
groupCode
:
"ShopInfo"
,
link
:
'/store-info'
},
...
...
@@ -85,28 +85,23 @@ export const menuList: any = [
groupCode
:
"ShopUser"
,
link
:
'/user-manage'
},
// {
// groupName: "课程分类",
// groupCode: "CourseCategory",
// link: '/course-catalog'
// },
{
groupName
:
"课程分类"
,
groupCode
:
"CourseCategory"
,
link
:
'/question-category-manage'
},
{
groupName
:
"
店铺
装修"
,
groupName
:
"
学院
装修"
,
groupCode
:
"ShopDecoration"
,
link
:
'/store-decoration'
},
{
groupName
:
"H5
店铺
"
,
groupName
:
"H5
学院
"
,
groupCode
:
"ShopDecorationH5"
,
link
:
'/store-decoration/h5'
},
{
groupName
:
"网页端
店铺
"
,
groupName
:
"网页端
学院
"
,
groupCode
:
"ShopDecorationWeb"
,
link
:
'/store-decoration/web'
}
...
...
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