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
6d486edd
Commit
6d486edd
authored
May 30, 2021
by
wufan
Browse files
Options
Browse Files
Download
Plain Diff
style:合并UI优化项目
parents
7de5b423
5d0b7edd
Show whitespace changes
Inline
Side-by-side
Showing
127 changed files
with
803 additions
and
690 deletions
+803
-690
config/webpack.config.js
+2
-2
src/bu-components/ChooseMembersModal.less
+2
-2
src/bu-components/CopyFileModal.less
+1
-1
src/bu-components/ManagingMembersModal.less
+1
-1
src/bu-components/SelectPrepareFileModal.less
+2
-2
src/bu-components/ShareLiveModal.less
+1
-1
src/bu-components/ShowTip.less
+2
-2
src/bu-components/UploadProgressModal.jsx
+1
-1
src/bu-components/UploadProgressModal.less
+3
-0
src/common/js/axios.ts
+2
-3
src/components/Breadcrumbs.less
+7
-5
src/components/CheckBeforeSendCode.less
+5
-4
src/components/MultipleDatePicker.less
+9
-9
src/components/ShowTips.less
+2
-2
src/components/TableSelectedData.less
+3
-3
src/core/antd.less
+26
-20
src/core/global.less
+4
-4
src/core/page.less
+15
-26
src/core/variables.less
+4
-4
src/h5.html
+3
-3
src/index.html
+2
-2
src/modules/college-manage/EmployeeManage.tsx
+1
-1
src/modules/college-manage/UserManagePage.less
+1
-2
src/modules/college-manage/UserManagePage.tsx
+2
-2
src/modules/college-manage/modal/ChooseMembersModal.less
+2
-2
src/modules/college-manage/modal/SetEmployeeModal.less
+3
-3
src/modules/common/TeacherSelect.tsx
+1
-0
src/modules/course-manage/AddLive.jsx
+2
-2
src/modules/course-manage/AddLive.less
+20
-3
src/modules/course-manage/DataList/DataList.less
+14
-2
src/modules/course-manage/components/AddLiveBasic.jsx
+1
-1
src/modules/course-manage/components/AddLiveBasic.less
+3
-3
src/modules/course-manage/components/AddLiveClass.less
+1
-1
src/modules/course-manage/components/AddLiveIntro.less
+1
-1
src/modules/course-manage/components/GraphicsEditor.jsx
+2
-2
src/modules/course-manage/components/LiveCourseList.jsx
+5
-5
src/modules/course-manage/components/LiveCourseList.less
+4
-4
src/modules/course-manage/graphics-course/AddGraphicsCourse.jsx
+5
-5
src/modules/course-manage/graphics-course/AddGraphicsCourse.less
+6
-4
src/modules/course-manage/graphics-course/components/GraphicsCourseList.jsx
+5
-5
src/modules/course-manage/graphics-course/components/GraphicsCourseList.less
+4
-5
src/modules/course-manage/modal/ManageCoursewareModal.jsx
+1
-1
src/modules/course-manage/modal/ManageCoursewareModal.less
+1
-1
src/modules/course-manage/modal/PreviewGraphicsModal.jsx
+1
-1
src/modules/course-manage/modal/PreviewGraphicsModal.less
+4
-6
src/modules/course-manage/modal/RelatedPlanModal.less
+3
-3
src/modules/course-manage/modal/ShareLiveModal.less
+1
-1
src/modules/course-manage/offline-course/AddOfflineCourse.jsx
+2
-2
src/modules/course-manage/offline-course/AddOfflineCourse.less
+17
-6
src/modules/course-manage/offline-course/components/OfflineCourseList.jsx
+4
-4
src/modules/course-manage/offline-course/components/OfflineCourseList.less
+2
-2
src/modules/course-manage/offline-course/modal/PreviewOfflineModal.jsx
+3
-3
src/modules/course-manage/offline-course/modal/PreviewOfflineModal.less
+2
-2
src/modules/course-manage/video-course/AddVideoCourse.jsx
+3
-3
src/modules/course-manage/video-course/AddVideoCourse.less
+4
-3
src/modules/course-manage/video-course/components/VideoCourseList.jsx
+11
-20
src/modules/course-manage/video-course/components/VideoCourseList.less
+2
-3
src/modules/home/Home.jsx
+7
-3
src/modules/home/Home.less
+39
-16
src/modules/knowledge-base/ENUM.js
+1
-1
src/modules/knowledge-base/components/Classification.jsx
+3
-3
src/modules/knowledge-base/components/Classification.less
+7
-7
src/modules/knowledge-base/components/KnowledgeBaseList.jsx
+3
-3
src/modules/knowledge-base/components/KnowledgeBaseList.less
+4
-4
src/modules/knowledge-base/components/WatchData.jsx
+1
-1
src/modules/knowledge-base/index.jsx
+6
-15
src/modules/knowledge-base/modal/AddCourse.jsx
+25
-19
src/modules/knowledge-base/modal/LiveList.jsx
+4
-3
src/modules/knowledge-base/modal/LiveList.less
+6
-5
src/modules/knowledge-base/modal/VideoList.jsx
+3
-2
src/modules/personalInfo/index.less
+6
-1
src/modules/personalInfo/index.tsx
+3
-3
src/modules/plan-manage/AddPlan.jsx
+4
-4
src/modules/plan-manage/AddPlan.less
+4
-3
src/modules/plan-manage/LearningData.jsx
+1
-1
src/modules/plan-manage/LearningData.less
+1
-1
src/modules/plan-manage/components/BasicInfo.less
+1
-2
src/modules/plan-manage/components/EmployeeShareData.less
+1
-1
src/modules/plan-manage/components/PlanList.jsx
+2
-2
src/modules/plan-manage/components/PlanList.less
+2
-2
src/modules/plan-manage/components/TrainingTask.less
+2
-2
src/modules/plan-manage/components/UserLearningData.jsx
+6
-19
src/modules/plan-manage/components/UserLearningDataFilter.less
+1
-1
src/modules/plan-manage/modal/SharePlanModal.less
+1
-1
src/modules/plan-manage/modal/relatedCourseModal.jsx
+6
-32
src/modules/plan-manage/modal/relatedCourseModal.less
+0
-23
src/modules/prepare-lesson/index.less
+4
-4
src/modules/prepare-lesson/modal/SelectPrepareFileModal.less
+3
-3
src/modules/resource-disk/index.less
+7
-7
src/modules/root/App.tsx
+3
-3
src/modules/root/CollegeManagePage.less
+8
-7
src/modules/root/CreateCollege.jsx
+2
-0
src/modules/root/CreateCollege.less
+3
-0
src/modules/root/Header.jsx
+11
-19
src/modules/root/Header.less
+44
-17
src/modules/root/Login.jsx
+18
-19
src/modules/root/Login.less
+63
-44
src/modules/root/Main.less
+15
-8
src/modules/root/Menu.less
+64
-46
src/modules/root/Menu.tsx
+31
-20
src/modules/root/WechatLogin.less
+18
-13
src/modules/root/WechatLogin.tsx
+3
-2
src/modules/store-manage/CourseCatalogPage.less
+3
-3
src/modules/store-manage/StoreDecorationPage.less
+2
-2
src/modules/store-manage/StoreH5DecorationTab.jsx
+3
-3
src/modules/store-manage/StoreInfo.less
+1
-1
src/modules/store-manage/StoreWebDecorationTab.jsx
+3
-3
src/modules/teach-tool/components/CourseCategoryManage.less
+3
-3
src/modules/teach-tool/components/CourseCategorySiderTree.less
+3
-3
src/modules/teach-tool/examination-manager/AddExam.less
+6
-6
src/modules/teach-tool/examination-manager/AddExam.tsx
+6
-3
src/modules/teach-tool/examination-manager/Index.tsx
+3
-3
src/modules/teach-tool/paper-manage/OperatePaper.jsx
+8
-6
src/modules/teach-tool/paper-manage/OperatePaper.less
+19
-5
src/modules/teach-tool/paper-manage/components/PaperList.less
+2
-2
src/modules/teach-tool/paper-manage/components/SelectQuestionList.jsx
+1
-1
src/modules/teach-tool/paper-manage/components/SelectQuestionList.less
+5
-5
src/modules/teach-tool/question-manage/OperateQuestion.jsx
+8
-8
src/modules/teach-tool/question-manage/OperateQuestion.less
+4
-3
src/modules/teach-tool/question-manage/components/OperateQuestionTab.jsx
+3
-3
src/modules/teach-tool/question-manage/components/OperateQuestionTab.less
+3
-3
src/modules/teach-tool/question-manage/components/QuestionEditor.less
+2
-2
src/modules/teach-tool/question-manage/components/QuestionList.less
+2
-2
src/modules/teach-tool/question-manage/modal/BatchImportQuestionModal.jsx
+2
-2
src/modules/teach-tool/question-manage/modal/BatchImportQuestionModal.less
+1
-1
src/modules/teach-tool/question-manage/modal/PreviewQuestionModal.less
+0
-2
src/routes/config/menuList.tsx
+22
-12
No files found.
config/webpack.config.js
View file @
6d486edd
...
...
@@ -124,8 +124,8 @@ module.exports = function (webpackEnv) {
options
:
{
lessOptions
:
{
modifyVars
:
{
'primary-color'
:
'
rgba(255, 183, 20, 1)
'
,
'border-radius-base'
:
'
4px'
'primary-color'
:
'
#2966FF
'
,
'border-radius-base'
:
'
2px'
,
},
javascriptEnabled
:
true
}
...
...
src/bu-components/ChooseMembersModal.less
View file @
6d486edd
...
...
@@ -64,7 +64,7 @@
.span-left{
margin-left: 10px;
.span-left-l{
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -73,7 +73,7 @@
margin-right: 10px;
color: #999;
.span-right-l{
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/bu-components/CopyFileModal.less
View file @
6d486edd
...
...
@@ -6,7 +6,7 @@
margin-bottom: 10px;
}
.bread:hover{
color: #
5289FA
;
color: #
2966FF
;
}
}
...
...
src/bu-components/ManagingMembersModal.less
View file @
6d486edd
...
...
@@ -16,7 +16,7 @@
.managing-right{
float: right;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
.tool-tip-right{
margin-right: 4px;
...
...
src/bu-components/SelectPrepareFileModal.less
View file @
6d486edd
...
...
@@ -38,7 +38,7 @@
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #
5289FA
;
color: #
2966FF
;
}
&::before {
content: '/';
...
...
@@ -104,7 +104,7 @@
}
.footer__left {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/bu-components/ShareLiveModal.less
View file @
6d486edd
...
...
@@ -109,7 +109,7 @@
margin-top: 40px;
.content {
color: #
FF7519
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/bu-components/ShowTip.less
View file @
6d486edd
.xm-show-tip {
position: relative;
min-height:32px;
background:#
FFF4DD
;
background:#
E9EFFF
;
border-radius:4px;
display: flex;
justify-content: flex-start;
...
...
@@ -9,7 +9,7 @@
padding: 0 12px;
line-height: 32px;
span.icon {
color:#
FF9D14
;
color:#
2966FF
;
line-height: 20px;
}
p {
...
...
src/bu-components/UploadProgressModal.jsx
View file @
6d486edd
...
...
@@ -316,7 +316,7 @@ class UploadProgressModal extends React.Component {
return
(
<
div
className=
"file-item"
className=
{
`file-item ${file.status === 'fail' ? 'fail':''}`
}
key=
{
`file-item${index}`
}
>
...
...
src/bu-components/UploadProgressModal.less
View file @
6d486edd
...
...
@@ -54,6 +54,9 @@
line-height: 50px;
padding: 0 24px;
position: relative;
&.fail {
background-color: rgba(255, 79, 79, 0.06);
}
&:not(:last-child) {
margin-bottom: 4px;
...
...
src/common/js/axios.ts
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-31 09:34:31
* @LastEditors:
zhangleyu
an
* @LastEditTime: 2021-0
4-27 16:59:07
* @LastEditors:
wuf
an
* @LastEditTime: 2021-0
5-27 10:42:12
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
import
qs
from
'qs'
;
import
axios
,
{
AxiosInstance
,
AxiosRequestConfig
,
AxiosResponse
,
AxiosPromise
,
AxiosError
}
from
'axios'
;
import
{
message
}
from
'antd'
;
...
...
src/components/Breadcrumbs.less
View file @
6d486edd
@import "../core/variables.less";
.xm-breadCrumb
{
margin
-left: 16px;
.xm-breadCrumb{
padding
-left: 16px;
color: #989898;
margin-top: 10px;
margin-bottom: 10px;
+ .statistic-tips {
padding-top: 16px;
padding-bottom: 8px;
background: #fff;
width: calc(100vw - 218px);
+.statistic-tips{
position: relative;
top: -8px;
margin-bottom: 0px !important;
...
...
src/components/CheckBeforeSendCode.less
View file @
6d486edd
...
...
@@ -11,7 +11,7 @@
color: #666;
}
.nc_iconfont {
color: #
FFB714
;
color: #
2966FF
;
font-weight: bold;
border-color: #e8e8e8;
height: 40px;
...
...
@@ -26,11 +26,12 @@
box-sizing: border-box;
}
.nc_scale .nc_ok, .nc_scale .nc_bg {
background: #
FFB714
;
background: #
2966FF
;
border-radius: 4px 0 0 4px;
opacity: 0.3;
}
.nc_scale .btn_ok {
color: #
FFB714
;
color: #
2966FF
;
height: 40px;
line-height: 40px;
box-sizing: border-box;
...
...
@@ -42,7 +43,7 @@
.nc-lang-cnt {
color: #666;
a {
color: #
FFB714
;
color: #
2966FF
;
}
}
}
...
...
src/components/MultipleDatePicker.less
View file @
6d486edd
...
...
@@ -3,7 +3,7 @@
.multiple-calendar {
width: 295px;
border: 1px solid #e8e8e8;
border-radius:
4
px;
border-radius:
2
px;
ul {
list-style: none;
}
...
...
@@ -22,7 +22,7 @@
cursor: default;
&:hover {
background: #FFFFFF;
border-radius:
4
px;
border-radius:
2
px;
}
}
.self {
...
...
@@ -55,8 +55,8 @@
cursor: pointer;
vertical-align: top;
&:hover {
background: rgba(
255, 183, 20,.2
);
border-radius:
4
px;
background: rgba(
41, 102, 255, .1
);
border-radius:
2
px;
}
&.before-disabled {
color: #e8e8e8;
...
...
@@ -81,11 +81,11 @@
&.active {
background: @xm-color-primary;
color: #fff;
border-radius:
4
px;
border-radius:
2
px;
}
&.today {
border: 1px solid @xm-color-primary;
border-radius:
5
px;
border-radius:
2
px;
}
}
}
...
...
@@ -151,7 +151,7 @@
border-radius: none;
span {
background: @xm-color-primary;
border-radius:
4
px;
border-radius:
2
px;
}
&:hover {
span {
...
...
@@ -164,13 +164,13 @@
border-radius: none;
span {
border: 1px solid @xm-color-primary;
border-radius:
5
px;
border-radius:
2
px;
}
}
&.past {
span {
background:rgba(255,133,52,0.1);
border-radius:
4
px;
border-radius:
2
px;
color:rgba(0,0,0,0.25);
}
}
...
...
src/components/ShowTips.less
View file @
6d486edd
.xm-show-tip {
position: relative;
min-height:32px;
background:#
FFF4DD
;
background:#
E9EFFF
;
border-radius:4px;
display: flex;
justify-content: flex-start;
...
...
@@ -9,7 +9,7 @@
padding: 0 12px;
line-height: 32px;
.icon {
color:#
FF9D14
;
color:#
2966FF
;
font-size:14px;
}
p {
...
...
src/components/TableSelectedData.less
View file @
6d486edd
...
...
@@ -3,12 +3,12 @@
min-width: 186px;
height: 32px;
line-height: 32px;
background: #
FFF4DD
;
background: #
E9EFFF
;
padding: 0px 16px;
border-radius:4px;
margin: 16px 10px 13px 0;
.iconfont {
color: #
FF9D14
;
color: #
2966FF
;
}
.selected-text {
margin-left: 10px;
...
...
@@ -17,7 +17,7 @@
.click-clear {
float: right;
cursor: pointer;
color: #
5289FA
;
color: #
2966FF
;
&:hover {
color: rgba(85, 168, 253, 0.8);
}
...
...
src/core/antd.less
View file @
6d486edd
...
...
@@ -6,7 +6,7 @@
*/
@import './variables.less';
@active-color: #2966
ff
;
@active-color: #2966
FF
;
// 消息提示框
.ant-message {
...
...
@@ -233,6 +233,10 @@
}
}
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
font-weight: 700!important;
}
.ant-tabs-nav .ant-tabs-tab-active {
color: @active-color !important;
}
...
...
@@ -260,7 +264,7 @@
position: absolute;
width: 30px;
height: 4px;
background: #2966
ff
!important;
background: #2966
FF
!important;
left: 50%;
transform: translateX(-50%);
}
...
...
@@ -335,14 +339,14 @@ mr0 {
background: #f3f6fa;
.ant-select-selected-icon {
color:
#2966ff
!important;
color:
#2966FF
!important;
}
}
.ant-select-dropdown-menu-item-selected {
background: none;
font-weight: 400 !important;
color:
#2966ff
;
color:
#2966FF
;
}
.ant-select-open .ant-select-selection {
...
...
@@ -440,7 +444,7 @@ mr0 {
.ant-modal {
.ant-input {
&:focus {
border: 1px solid #2966
ff
!important;
border: 1px solid #2966
FF
!important;
}
}
}
...
...
@@ -453,8 +457,8 @@ mr0 {
.ant-calendar-footer-extra {
.ant-tag-blue {
background: #fff;
color: #2966
ff
;
border-color: #2966
ff
;
color: #2966
FF
;
border-color: #2966
FF
;
}
}
}
...
...
@@ -470,7 +474,7 @@ mr0 {
}
.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {
color: #2966
ff
!important;
color: #2966
FF
!important;
}
.ant-breadcrumb > span:last-child .ant-breadcrumb-separator {
...
...
@@ -498,7 +502,7 @@ mr0 {
font-size: 22px !important;
line-height: 22px !important;
float: left !important;
color:
#2966ff
!important;
color:
#2966FF
!important;
margin-right: 16px !important;
&.blue {
color: #5cbaff !important;
...
...
@@ -523,8 +527,8 @@ mr0 {
float: left;
margin-right: 16px;
}
>
.confirm-icon
{
color: #2966
ff
;
>
.confirm-icon
{
color: #2966
FF
;
}
.ant-modal-confirm-content {
margin-left: 38px;
...
...
@@ -590,9 +594,9 @@ mr0 {
// background: #FAFAFA !important;
// }
.ant-table-thead > tr > th
{
font-weight:
bold !important;
color:
#333 !important;
.ant-table-thead > tr > th{
font-weight:bold !important;
color:#333 !important;
}
td.ant-table-column-sort {
background: none;
...
...
@@ -653,12 +657,12 @@ td.ant-table-column-sort {
border-color: @xm-color-text-select-primary !important;
border: none !important;
&:hover {
background-color: #2966
ff
!important;
background-color: #2966
FF
!important;
opacity: 0.8 !important;
}
&:focus,
&:active
{
background-color:
#5c8aff
!important;
&:active{
background-color:
#5C8AFF
!important;
}
}
...
...
@@ -716,9 +720,10 @@ td.ant-table-column-sort {
box-shadow: none !important;
border-right: 0px !important;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button span {
color: #bfbfbf !important;
font-size: 12px;
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button span{
color:#bfbfbf !important;
font-size:12px;
}
.ant-modal-footer {
...
...
@@ -769,3 +774,4 @@ td.ant-table-column-sort {
.ant-table-column-sorter-full {
margin-top: -0.32rem !important;
}
src/core/global.less
View file @
6d486edd
...
...
@@ -1602,7 +1602,7 @@ input:focus {
font-size: 22px !important;
line-height: 22px !important;
float: left !important;
color: #
FFB714
!important;
color: #
2966FF
!important;
margin-right: 16px !important;
}
...
...
@@ -1678,11 +1678,11 @@ input:focus {
align-items: center;
flex-wrap: wrap;
.operate-text {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
.operate__item {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.split {
margin: 0 8px;
...
...
@@ -1690,7 +1690,7 @@ input:focus {
}
}
.more{
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
cursor: pointer;
}
...
...
src/core/page.less
View file @
6d486edd
...
...
@@ -7,26 +7,25 @@
left: 0px;
right: 0;
bottom: 0;
z-index:
101
;
background-color: #f
0f2f5
;
z-index:
3
;
background-color: #f
ff
;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100%;
.page {
position: fixed;
top:
5
0px;
top:
6
0px;
left: 180px;
right: 0;
bottom: 0;
z-index: 102;
overflow: auto;
.box {
&:first-child {
margin:0 16px;
.box{
&:first-child{
margin-bottom: 8px;
}
& + .box {
margin: 8px 16px;
}
&:last-child {
&:last-child{
margin-bottom: 16px;
}
}
...
...
@@ -47,13 +46,12 @@
line-height: 30px;
}
.content-header {
padding: 16px 16px;
padding: 16px 16px
8px 16px
;
line-height: 30px;
background: #fff;
margin: 16px 16px 0;
font-size: 24px;
color: #333;
font-weight: 500;
font-size:24px;
color:#333;
font-weight:bold;
background: #FFF;
h1 {
font-weight: normal;
display: inline-block;
...
...
@@ -62,9 +60,9 @@
.box {
padding: 16px;
margin: 0 16
px;
// margin-bottom: 8
px;
background: #ffffff;
// min-height:
400px
;
// min-height:
calc(100vh - 126px)
;
.box-header {
line-height: 30px;
padding-bottom: 12px;
...
...
@@ -91,16 +89,7 @@
.box-footer {
margin-top: 16px;
}
&:first-child {
margin-bottom: 8px;
}
& + .box {
margin: 8px 16px;
}
}
// .ant-calendar-picker{
// top:-1px;
// }
}
.box-header {
...
...
src/core/variables.less
View file @
6d486edd
@sunLight: #FED951;
@sun: #
FFB714
;
@sunDark: #
FFB714
;
@sun: #
2966FF
;
@sunDark: #
2966FF
;
@orangeLight: #FDBB70;
...
...
@@ -56,7 +56,7 @@
//old
//color
@xm-color-primary:#
FFB714
;
@xm-color-primary:#
2966FF
;
@xm-color-primary_active: #020201;
@xm-color-primary-darker: #ff8534;
@xm-color-selected: #F58E2C;
...
...
@@ -66,7 +66,7 @@
@xm-color-secondary-light: #e28534;
@xm-color-secondary: #ff8534;
@xm-color-secondary-darker: #D65E30;
@xm-color-text-select-primary:#
FFB714
;
@xm-color-text-select-primary:#
2966FF
;
@xm-color-text-select-warning:#ec4b35;
@xm-color-info: #45b2ff;
...
...
src/h5.html
View file @
6d486edd
<!--
* @Author: 吴文洁
* @Date: 2020-08-24 12:20:57
* @LastEditors:
zhangleyuan
* @LastEditTime: 2021-05-
10 13:41:44
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-05-
26 16:26:17
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
-->
...
...
@@ -25,7 +25,7 @@
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link
rel=
"manifest"
href=
"%PUBLIC_URL%/manifest.json"
/>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_2223403_
e0vkqcd8igi
.css"
>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_2223403_
oqqm4z9s35j
.css"
>
<!--
Notice the use of %PUBLIC_URL% in the tags above.
...
...
src/index.html
View file @
6d486edd
...
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-08-24 12:20:57
* @LastEditors: wufan
* @LastEditTime: 2021-05-2
6 17:25:14
* @LastEditTime: 2021-05-2
7 10:24:06
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
-->
...
...
@@ -24,7 +24,7 @@
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link
rel=
"manifest"
href=
"%PUBLIC_URL%/manifest.json"
/>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_2223403_
e0vkqcd8igi
.css"
>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_2223403_
oqqm4z9s35j
.css"
>
<!--
Notice the use of %PUBLIC_URL% in the tags above.
...
...
src/modules/college-manage/EmployeeManage.tsx
View file @
6d486edd
...
...
@@ -272,7 +272,7 @@ function EmployeeManage() {
display
:
"flex"
,
alignItems
:
"center"
,
justifyContent
:
"flex-start"
,
padding
:
"0px 0
16
px"
,
padding
:
"0px 0
4
px"
,
}
}
>
<
div
>
...
...
src/modules/college-manage/UserManagePage.less
View file @
6d486edd
...
...
@@ -2,13 +2,12 @@
.box-header {
display: flex;
width: calc(100% - 80px);
margin-bottom:
16
px;
margin-bottom:
4
px;
.header-item {
width: 30%;
margin-right: 3%;
display: flex;
.item-name {
width: 80px;
flex-shrink: 0;
}
}
...
...
src/modules/college-manage/UserManagePage.tsx
View file @
6d486edd
...
...
@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-30 10:47:38
* @LastEditors: wufan
* @LastEditTime: 2021-05-
13 17:45:53
* @LastEditTime: 2021-05-
30 15:57:40
* @Description: 学员管理页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -68,7 +68,7 @@ function UserManagePage() {
<
span
className=
"title"
>
{
val
}
</
span
>
<
span
className=
"tag"
style=
{
{
color
:
item
.
sourceEnum
===
'WORK_WE_CHAT'
?
'#
FFB714
'
:
'#1DCC65'
}
}
style=
{
{
color
:
item
.
sourceEnum
===
'WORK_WE_CHAT'
?
'#
2966FF
'
:
'#1DCC65'
}
}
>
{
item
.
sourceEnum
===
'WORK_WE_CHAT'
?
'@企业微信'
:
'@微信'
}
</
span
>
</
div
>
);
...
...
src/modules/college-manage/modal/ChooseMembersModal.less
View file @
6d486edd
...
...
@@ -79,7 +79,7 @@
line-height: 45px;
margin-left: 10px;
.span-left-l{
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -89,7 +89,7 @@
margin-right: 10px;
color: #999;
.span-right-l{
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/modules/college-manage/modal/SetEmployeeModal.less
View file @
6d486edd
...
...
@@ -39,9 +39,9 @@
height: 18px;
line-height: 18px;
padding: 0 8px;
border: 1px solid #
FFB714
;
border: 1px solid #
2966FF
;
border-radius: 9px;
color: #
FFB714
;
color: #
2966FF
;
margin-top: 13px;
font-size: 12px;
flex-shrink: 0;
...
...
@@ -54,7 +54,7 @@
left: 0;
height: 100%;
width: 4px;
background: #
FFB714
;
background: #
2966FF
;
}
}
}
...
...
src/modules/common/TeacherSelect.tsx
View file @
6d486edd
...
...
@@ -58,6 +58,7 @@ export default function ExaminationManager(props: any) {
onPopupScroll=
{
handleScrollTeacherList
}
suffixIcon=
{
<
span
className=
"icon iconfont"
style=
{
{
fontSize
:
'12px'
,
color
:
'#BFBFBF'
}
}
>

</
span
>
}
value=
{
props
.
val
||
null
}
filterOption=
{
(
input
:
any
,
option
:
any
)
=>
option
}
onChange=
{
(
value
)
=>
{
props
.
onChange
(
value
)
}
}
...
...
src/modules/course-manage/AddLive.jsx
View file @
6d486edd
...
...
@@ -27,7 +27,7 @@ import _ from "underscore";
import
$
from
'jquery'
;
import
'./AddLive.less'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/Y
Nfi45JwFA
.png'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/Y
ip2YtFDwH
.png'
;
const
defaultBasicInfo
=
{
courseName
:
null
,
// 课程名称
coverUrl
:
defaultCover
,
...
...
@@ -578,7 +578,7 @@ handleChangeBasicInfo = (field, value) => {
</
div
>
</
div
>
<
div
className=
"footer"
>
<
div
className=
"footer
shrink-footer
"
>
<
Button
onClick=
{
this
.
handleGoBack
}
>
取消
</
Button
>
<
Button
onClick=
{
this
.
handleShowPreviewModal
}
>
预览
</
Button
>
<
Button
type=
"primary"
onClick=
{
_
.
debounce
(()
=>
this
.
handleSubmit
(),
3000
,
true
)
}
>
保存
</
Button
>
...
...
src/modules/course-manage/AddLive.less
View file @
6d486edd
.add-live-page {
position:relative !important;
.box {
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
}
.add-live-page__form {
margin-top: 16px;
...
...
@@ -44,17 +44,34 @@
text-align: right;
}
}
.basic-info__wrap, .class-info__wrap, .intro-info__wrap {
.title {
position: relative;
padding-left: 14px;
&::before {
content: "";
position: absolute;
left: 0px;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 10px;
background: #2966FF;
}
}
}
}
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 9999;
...
...
src/modules/course-manage/DataList/DataList.less
View file @
6d486edd
...
...
@@ -27,7 +27,7 @@
}
.handel-btn {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.split {
...
...
@@ -41,6 +41,18 @@
font-weight: 500;
color: #333333;
margin-bottom: 16px;
position: relative;
padding-left: 14px;
&::before {
content: "";
position: absolute;
left: 0px;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 10px;
background: #2966FF;
}
}
.select-course {
width: 300px;
...
...
@@ -119,7 +131,7 @@
height: 37px;
font-size: 26px;
font-weight: 500;
color: #
5289fa
;
color: #
2966FF
;
line-height: 37px;
&.can-click {
cursor: pointer;
...
...
src/modules/course-manage/components/AddLiveBasic.jsx
View file @
6d486edd
...
...
@@ -17,7 +17,7 @@ import Upload from '@/core/upload';
import
'./AddLiveBasic.less'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/Y
Nfi45JwFA
.png'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/Y
ip2YtFDwH
.png'
;
const
fieldNames
=
{
label
:
'categoryName'
,
value
:
'id'
,
children
:
'sonCategoryList'
};
let
cutFlag
=
false
;
let
timer
=
null
...
...
src/modules/course-manage/components/AddLiveBasic.less
View file @
6d486edd
...
...
@@ -42,7 +42,7 @@
width: 100%;
height: 100%;
object-fit: contain;
border
: 1px solid #E8e8e8
;
border
-radius: 4px
;
}
}
...
...
@@ -50,7 +50,7 @@
.default-btn {
margin-left: 16px;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.disabled {
...
...
@@ -76,7 +76,7 @@
}
.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled){
font-weight:normal !important;
color:#
FF9D14
!important;
color:#
2966FF
!important;
}
#imgCutModalNew {
width: 500px;
...
...
src/modules/course-manage/components/AddLiveClass.less
View file @
6d486edd
...
...
@@ -185,7 +185,7 @@
.select-day {
margin-bottom: 4px;
.mark-day {
color: #
5289FA
;
color: #
2966FF
;
}
}
}
...
...
src/modules/course-manage/components/AddLiveIntro.less
View file @
6d486edd
...
...
@@ -136,7 +136,7 @@
}
.checkExample {
width: 60px;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
.warmup {
...
...
src/modules/course-manage/components/GraphicsEditor.jsx
View file @
6d486edd
...
...
@@ -36,8 +36,8 @@ class GraphicsEditor extends React.Component {
resetIndex
=
(
bool
)
=>
{
const
topDom
=
document
.
querySelector
(
'.top-container'
);
const
leftDom
=
document
.
querySelector
(
'.left-container'
);
topDom
.
style
.
zIndex
=
bool
?
'auto'
:
112
;
leftDom
.
style
.
zIndex
=
bool
?
'auto'
:
2
;
//
topDom.style.zIndex = bool ? 'auto' : 112;
//
leftDom.style.zIndex = bool ? 'auto' : 2;
}
renderEditor
()
{
...
...
src/modules/course-manage/components/LiveCourseList.jsx
View file @
6d486edd
...
...
@@ -32,7 +32,7 @@ const courseStateShow = {
UN_START
:
{
code
:
1
,
title
:
"待开课"
,
color
:
"#FFB
714
"
,
color
:
"#FFB
129
"
,
},
STARTING
:
{
code
:
2
,
...
...
@@ -166,7 +166,7 @@ class LiveCourseList extends React.Component {
})
}
{
!
hasCover
&&
<
img
className=
"course-cover"
src=
{
'https://image.xiaomaiketang.com/xm/Y
Nfi45JwFA
.png'
}
/>
<
img
className=
"course-cover"
src=
{
'https://image.xiaomaiketang.com/xm/Y
ip2YtFDwH
.png'
}
/>
}
<
div
>
{
record
.
courseName
.
length
>
17
?
...
...
@@ -262,7 +262,7 @@ 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
>
<
Tooltip
title=
{
<
div
>
开启后,学员可在学院内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”学院展示。
<
br
/>
关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
'normal'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
"9%"
,
key
:
"shelfState"
,
...
...
@@ -360,7 +360,7 @@ class LiveCourseList extends React.Component {
<
span
className=
"operate-text"
>
更多
</
span
>
<
span
className=
"iconfont icon"
style=
{
{
color
:
"#
5289FA
"
}
}
style=
{
{
color
:
"#
2966FF
"
}
}
>

</
span
>
...
...
@@ -400,7 +400,7 @@ class LiveCourseList extends React.Component {
})
}
{
!
hasCover
&&
<
img
className=
"course-cover"
src=
{
'https://image.xiaomaiketang.com/xm/Y
Nfi45JwFA
.png'
}
/>
<
img
className=
"course-cover"
src=
{
'https://image.xiaomaiketang.com/xm/Y
ip2YtFDwH
.png'
}
/>
}
<
div
>
{
record
.
courseName
.
length
>
17
?
...
...
src/modules/course-manage/components/LiveCourseList.less
View file @
6d486edd
...
...
@@ -83,13 +83,13 @@
}
.courseware{
font-size: 14px;
color: #
5289FA
;
color: #
2966FF
;
line-height: 20px;
text-align:right;
cursor:pointer;
}
.quota-icon{
color:#
5289FA
;
color:#
2966FF
;
cursor:pointer;
}
.operate {
...
...
@@ -97,7 +97,7 @@
align-items: center;
flex-wrap: wrap;
.operate__item {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.split {
margin: 0 8px;
...
...
@@ -106,7 +106,7 @@
}
}
.operate-text {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
.course-start-end {
...
...
src/modules/course-manage/graphics-course/AddGraphicsCourse.jsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:07:47
* @LastEditors:
zhangleyu
an
* @LastEditTime: 2021-05-
10 10:15:31
* @LastEditors:
wuf
an
* @LastEditTime: 2021-05-
27 16:37:28
* @Description: 图文课新增/编辑页
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -33,7 +33,7 @@ const fieldNames = { label: 'categoryName', value: 'id', children: 'sonCategory
//添加课程时课程默认的一些值
const
defaultShelfState
=
'YES'
;
const
whetherVisitorsJoin
=
'NO'
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
YNfi45JwFA
.png'
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
wFnpZtp2yB
.png'
;
let
cutFlag
=
false
;
class
AddGraphicsCourse
extends
React
.
Component
{
...
...
@@ -530,7 +530,7 @@ class AddGraphicsCourse extends React.Component {
const
courseWareIcon
=
FileVerifyMap
[
videoType
]
?
FileTypeIcon
[
FileVerifyMap
[
videoType
].
type
]
:
FileTypeIcon
[
videoType
];
return
(
<
div
className=
"page add-
video
-course-page"
>
<
div
className=
"page add-
graphics
-course-page"
>
<
Breadcrumbs
navList=
{
pageType
===
"add"
?
"新建图文课"
:
"编辑图文课"
}
goBack=
{
this
.
handleGoBack
}
...
...
@@ -596,7 +596,7 @@ class AddGraphicsCourse extends React.Component {
</
div
>
</
div
>
<
div
className=
"footer"
>
<
div
className=
"footer
shrink-footer
"
>
<
Button
onClick=
{
this
.
handleGoBack
}
>
取消
</
Button
>
<
Button
onClick=
{
this
.
handleShowPreviewModal
}
>
预览
</
Button
>
<
Button
type=
"primary"
onClick=
{
_
.
debounce
(()
=>
this
.
handleSubmit
(),
3000
,
true
)
}
>
保存
</
Button
>
...
...
src/modules/course-manage/graphics-course/AddGraphicsCourse.less
View file @
6d486edd
.add-
video
-course-page {
.add-
graphics
-course-page {
position:relative !important;
.box{
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
}
.ant-radio-group {
display: flex;
...
...
@@ -80,6 +80,7 @@
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 4px;
}
}
.empty-img {
...
...
@@ -129,13 +130,14 @@
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
...
...
src/modules/course-manage/graphics-course/components/GraphicsCourseList.jsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:12:45
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
13 16:32:38
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-05-
27 20:13:53
* @Description: 视频课-列表模块
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -25,7 +25,7 @@ import User from '@/common/js/user'
import
'./GraphicsCourseList.less'
;
const
ENV
=
process
.
env
.
DEPLOY_ENV
||
'dev'
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
YNfi45JwFA
.png'
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
wFnpZtp2yB
.png'
;
class
GraphicsCourseList
extends
React
.
Component
{
...
...
@@ -137,7 +137,7 @@ 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
>
<
Tooltip
title=
{
<
div
>
开启后,学员可在学院内查看到此课程。
<
br
/>
关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
'normal'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
120
,
dataIndex
:
"courseware"
,
...
...
@@ -218,7 +218,7 @@ class GraphicsCourseList extends React.Component {
<
span
className=
"operate-text"
>
更多
</
span
>
<
span
className=
"iconfont icon"
style=
{
{
color
:
"#
5289FA
"
}
}
style=
{
{
color
:
"#
2966FF
"
}
}
>

</
span
>
...
...
src/modules/course-manage/graphics-course/components/GraphicsCourseList.less
View file @
6d486edd
...
...
@@ -28,14 +28,14 @@
padding: 16px;
}
.operate-text {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.operate {
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
@@ -51,12 +51,11 @@
display: flex;
.course-cover {
min-width: 97px;
max-width: 97px;
width: 97px;
height: 50px;
border-radius: 2px;
margin-right: 8px;
// background-color: #666
;
object-fit: contain
;
}
.course-name {
...
...
src/modules/course-manage/modal/ManageCoursewareModal.jsx
View file @
6d486edd
...
...
@@ -284,7 +284,7 @@ class ManageCoursewareModal extends React.Component {
onCancel=
{
()
=>
{
}
}
>
<
span
style=
{
{
color
:
'#
5289FA
'
,
color
:
'#
2966FF
'
,
cursor
:
'pointer'
}
}
>
删除
</
span
>
</
Popconfirm
>
...
...
src/modules/course-manage/modal/ManageCoursewareModal.less
View file @
6d486edd
...
...
@@ -60,7 +60,7 @@
}
&:hover {
.name {
color: #
FFB714
;
color: #
2966FF
;
}
}
}
...
...
src/modules/course-manage/modal/PreviewGraphicsModal.jsx
View file @
6d486edd
...
...
@@ -27,7 +27,7 @@ class PreviewGraphicsModal extends React.Component {
footer=
{
null
}
maskClosable=
{
false
}
closeIcon=
{
<
span
className=
"icon iconfont modal-close-icon"
>

</
span
>
}
className=
"preview-
live-
graphics-modal"
className=
"preview-graphics-modal"
>
<
div
className=
"container__wrap"
>
<
div
className=
"container"
>
...
...
src/modules/course-manage/modal/PreviewGraphicsModal.less
View file @
6d486edd
.preview-
live-
graphics-modal {
.preview-graphics-modal {
.ant-modal-body {
background-image: url('https://image.xiaomaiketang.com/xm/xZWdziTCAf.png');
background-size: 100% 100%;
...
...
@@ -13,13 +13,12 @@
}
.container {
overflow:
scroll
;
overflow:
auto
;
height: 100%;;
.course-cover, .course-url {
width: 100%;
height: 141px;
background: #000;
}
&__body {
...
...
@@ -55,21 +54,20 @@
font-size: 12px;
color: #333333;
padding: 0 10px;
border-bottom: 1px solid #E8E8E8;
.title-word {
position: relative;
margin-right: 15px;
cursor: pointer;
}
.selected {
color: #
FFB714
;
color: #
2966FF
;
&::after {
content: '';
position: absolute;
bottom: -4px;
width: 20px;
height: 1px;
background: #
FFB714
;
background: #
2966FF
;
left: 50%;
transform: translateX(-50%);
}
...
...
src/modules/course-manage/modal/RelatedPlanModal.less
View file @
6d486edd
...
...
@@ -5,7 +5,7 @@
.select-container{
margin-bottom:12px;
.con{
background: #
FFF4DD
;
background: #
E9EFFF
;
border-radius: 4px;
padding:6px 16px;
display: inline-flex;
...
...
@@ -13,7 +13,7 @@
justify-content: space-between;
.tip{
font-size:14px;
color:#
FF9D14
;
color:#
2966FF
;
margin-right:8px;
}
.text{
...
...
@@ -22,7 +22,7 @@
margin-right:30px;
}
.clear{
color:#
5289FA
;
color:#
2966FF
;
font-size:14px;
}
...
...
src/modules/course-manage/modal/ShareLiveModal.less
View file @
6d486edd
...
...
@@ -131,7 +131,7 @@
margin-bottom: 40px;
.content {
color:
rgba(82, 137, 250, 1)
;
color:
#2966FF
;
cursor: pointer;
}
}
...
...
src/modules/course-manage/offline-course/AddOfflineCourse.jsx
View file @
6d486edd
...
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-08-05 10:07:47
* @LastEditors: wufan
* @LastEditTime: 2021-05-2
5 20:00:1
8
* @LastEditTime: 2021-05-2
7 19:25:4
8
* @Description: 线下课新增/编辑页
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -41,7 +41,7 @@ import MultipleDatePicker from '@/components/MultipleDatePicker';
import
'./AddOfflineCourse.less'
;
const
{
Option
}
=
Select
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
YNfi45JwFA
.png'
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/
pxbWKsYA87
.png'
;
let
cutFlag
=
false
;
const
unitList
=
[
{
key
:
'HOUR'
,
value
:
'小时'
},
...
...
src/modules/course-manage/offline-course/AddOfflineCourse.less
View file @
6d486edd
.add-offline-course-page {
position:relative !important;
.box{
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
}
.ant-radio-group {
display: flex;
...
...
@@ -36,6 +36,18 @@
line-height: 22px;
margin-bottom: 16px;
margin-left: -16px;
position: relative;
padding-left: 14px;
&::before {
content: "";
position: absolute;
left: 0px;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 10px;
background: #2966FF;
}
}
}
.label{
...
...
@@ -98,7 +110,7 @@
.select-day {
margin-bottom: 4px;
.mark-day {
color: #
FFB714
;
color: #
2966FF
;
}
}
}
...
...
@@ -165,7 +177,6 @@
width: 100%;
height: 100%;
object-fit: contain;
border: 1px solid #E8e8e8;
}
}
...
...
@@ -173,7 +184,7 @@
.default-btn {
margin-left: 16px;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.disabled {
...
...
@@ -219,11 +230,11 @@
position: fixed;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
...
...
src/modules/course-manage/offline-course/components/OfflineCourseList.jsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:12:45
* @LastEditors:
zhangleyuan
* @LastEditTime: 2021-0
3-27 16:24:47
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-0
5-27 20:14:01
* @Description: 视频课-列表模块
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -123,7 +123,7 @@ class OfflineCourseList 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
>
<
Tooltip
title=
{
<
div
>
开启后,学员可在学院内查看到此课程。若课程“取消”,则系统会自动“关闭”学院展示。
<
br
/>
关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
'normal'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
120
,
dataIndex
:
"courseware"
,
...
...
@@ -200,7 +200,7 @@ class OfflineCourseList extends React.Component {
<
span
className=
"operate-text"
>
更多
</
span
>
<
span
className=
"iconfont icon"
style=
{
{
color
:
"#
5289FA
"
}
}
style=
{
{
color
:
"#
2966FF
"
}
}
>

</
span
>
...
...
src/modules/course-manage/offline-course/components/OfflineCourseList.less
View file @
6d486edd
...
...
@@ -28,14 +28,14 @@
padding:16px;
}
.operate-text {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
.operate {
display: flex;
&__item {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
src/modules/course-manage/offline-course/modal/PreviewOfflineModal.jsx
View file @
6d486edd
...
...
@@ -87,8 +87,8 @@ class PreviewOfflineModal extends React.Component {
signOutEndTimeUnit
,
}
=
this
.
state
;
const
unit
=
(
signInTimeUnit
||
''
).
toLocaleLowerCase
()
+
's'
;
const
time
=
(
signInType
==
'START_AGO'
?
startTime
:
endTime
)
&&
moment
(
signInType
==
'START_AGO'
?
startTime
:
endTime
).
subtract
(
signInTimeNum
,
unit
);
const
signInTime
=
(
time
&&
signInTimeNum
)
&&
`
${
moment
(
time
).
format
(
'HH:mm'
)}
~
${
moment
(
signInType
==
'START_AGO'
?
startTime
:
endTime
).
format
(
'HH:mm'
)}
`
;
const
time
=
(
signInType
==
=
'START_AGO'
?
startTime
:
endTime
)
&&
moment
(
signInType
=
==
'START_AGO'
?
startTime
:
endTime
).
subtract
(
signInTimeNum
,
unit
);
const
signInTime
=
(
time
&&
signInTimeNum
)
&&
`
${
moment
(
time
).
format
(
'HH:mm'
)}
~
${
moment
(
signInType
==
=
'START_AGO'
?
startTime
:
endTime
).
format
(
'HH:mm'
)}
`
;
const
endUnit
=
(
signOutEndTimeUnit
||
''
).
toLocaleLowerCase
()
+
's'
;
const
end
=
(
endTime
&&
signOutEndTimeNum
)
&&
moment
(
endTime
).
add
(
signOutEndTimeNum
,
endUnit
);
let
startUnit
=
''
;
...
...
@@ -108,7 +108,7 @@ class PreviewOfflineModal extends React.Component {
footer=
{
null
}
maskClosable=
{
false
}
closeIcon=
{
<
span
className=
"icon iconfont modal-close-icon"
>

</
span
>
}
className=
"preview-
live-graphics
-modal"
className=
"preview-
offline
-modal"
>
<
div
className=
"container__wrap"
>
<
div
className=
"container"
>
...
...
src/modules/course-manage/offline-course/modal/PreviewOfflineModal.less
View file @
6d486edd
.preview-
live-graphics
-modal {
.preview-
offline
-modal {
.ant-modal-body {
background-image: url('https://image.xiaomaiketang.com/xm/xZWdziTCAf.png');
background-size: 100% 100%;
...
...
@@ -13,7 +13,7 @@
}
.container {
overflow:
scroll
;
overflow:
auto
;
height: 100%;;
&__header {
position: relative;
...
...
src/modules/course-manage/video-course/AddVideoCourse.jsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:07:47
* @LastEditors:
fusanqiasng
* @LastEditTime: 2021-05-
24 21:04:03
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
30 17:33:09
* @Description: 视频课新增/编辑页
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -684,7 +684,7 @@ class AddVideoCourse extends React.Component {
</
div
>
</
div
>
<
div
className=
'footer'
>
<
div
className=
"footer shrink-footer"
>
<
Button
onClick=
{
this
.
handleGoBack
}
>
取消
</
Button
>
<
Button
onClick=
{
this
.
handleShowPreviewModal
}
>
预览
</
Button
>
<
Button
type=
'primary'
onClick=
{
_
.
debounce
(()
=>
this
.
handleSubmit
(),
3000
,
true
)
}
>
...
...
src/modules/course-manage/video-course/AddVideoCourse.less
View file @
6d486edd
.add-video-course-page {
position:relative !important;
.box{
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
}
.ant-radio-group {
display: flex;
...
...
@@ -129,13 +129,14 @@
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
...
...
src/modules/course-manage/video-course/components/VideoCourseList.jsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:12:45
* @LastEditors: fusanqiasng
* @LastEditors: wufan
* @LastEditTime: 2021-05-30 17:33:54
* @Description: 视频课-列表模块
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -144,23 +145,10 @@ class VideoCourseList extends React.Component {
},
},
{
title
:
(
<
span
>
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
>
),
<
Tooltip
title=
{
<
div
>
开启后,学员可在学院内查看到此课程。
<
br
/>
关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。
</
div
>
}
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
'normal'
}
}
>

</
i
></
Tooltip
>
</
span
>,
width
:
120
,
key
:
'shelfState'
,
dataIndex
:
'shelfState'
,
...
...
@@ -255,9 +243,12 @@ class VideoCourseList extends React.Component {
</
If
>
<
span
className=
'operate__item split'
>
|
</
span
>
<
Dropdown
overlay=
{
this
.
renderMoreOperate
(
record
)
}
>
<
span
className=
'more-operate'
>
<
span
className=
'operate-text'
>
更多
</
span
>
<
span
className=
'iconfont icon'
style=
{
{
color
:
'#2966FF'
}
}
>
<
span
className=
"more-operate"
>
<
span
className=
"operate-text"
>
更多
</
span
>
<
span
className=
"iconfont icon"
style=
{
{
color
:
"#2966FF"
}
}
>

</
span
>
</
span
>
...
...
src/modules/course-manage/video-course/components/VideoCourseList.less
View file @
6d486edd
...
...
@@ -31,14 +31,14 @@
padding: 16px;
}
.operate-text {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.operate {
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
@@ -59,7 +59,6 @@
height: 50px;
border-radius: 2px;
margin-right: 8px;
// background-color: #666;
}
.course-name {
...
...
src/modules/home/Home.jsx
View file @
6d486edd
...
...
@@ -189,13 +189,13 @@ class Home extends React.Component {
}
}
})
this
.
_chart
.
line
().
position
(
'time*studyNum'
).
color
(
'#
5289FA
'
).
tooltip
(
'time*studyNum'
,
function
(
time
,
studyNum
){
this
.
_chart
.
line
().
position
(
'time*studyNum'
).
color
(
'#
2966FF
'
).
tooltip
(
'time*studyNum'
,
function
(
time
,
studyNum
){
return
{
name
:
'学习人数'
,
value
:
studyNum
+
'人'
}
});
this
.
_chart
.
line
().
position
(
'time*studyTime'
).
color
(
'#FFB
71
4'
).
tooltip
(
'time*studyTime'
,
function
(
time
,
studyTime
){
this
.
_chart
.
line
().
position
(
'time*studyTime'
).
color
(
'#FFB
B5
4'
).
tooltip
(
'time*studyTime'
,
function
(
time
,
studyTime
){
return
{
name
:
'人均学习时长'
,
value
:
studyTime
+
'分钟'
...
...
@@ -265,6 +265,7 @@ class Home extends React.Component {
};
return
(
<
div
className=
"home-page"
>
<
div
className=
"data-wrap"
>
<
div
className=
"home-title"
>
数据概况
</
div
>
<
div
className=
"data-box"
>
<
div
className=
"data-item"
>
...
...
@@ -364,6 +365,8 @@ class Home extends React.Component {
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
"study-wrap"
>
<
div
className=
"home-title"
>
学习概况
</
div
>
<
div
className=
"study-box"
>
<
div
className=
"study-item"
>
...
...
@@ -461,7 +464,7 @@ class Home extends React.Component {
<
Geom
type=
"intervalStack"
position=
"percent"
color=
{
[
'item'
,
[
'#F
DB513'
,
'#5289FA
'
]]
}
color=
{
[
'item'
,
[
'#F
FBB54'
,
'#2966FF
'
]]
}
tooltip=
{
[
"item*percent"
,
(
item
,
percent
)
=>
{
...
...
@@ -505,6 +508,7 @@ class Home extends React.Component {
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
"study-chart"
>
<
div
className=
"study-title"
>
学习人数与时长
<
div
className=
"study-select"
>
...
...
src/modules/home/Home.less
View file @
6d486edd
.home-page {
padding: 0 16px 16px;
//
padding: 0 16px 16px;
min-width: 1100px;
position: relative;
z-index:3;
.g2-tooltip-marker {
border-radius: 50% !important;
}
.home-title {
height: 44px;
line-height: 44px;
color: #999;
color: #333;
padding-left:28px;
font-size:16px;
font-weight:bold;
position: relative;
padding-top:16px;
&::before{
width:4px;
height:12px;
content:'';
background-image: linear-gradient(#2966FF 83.5%, #0ACCA4 16.5%);
display:inline-block;
position: absolute;
left:16px;
top:22px;
}
}
@font-face {
font-family: 'number';
src: url('https://image.xiaomaiketang.com/xm/n2sADd2jY6.TTF');
}
.data-wrap{
background: #FFF;
.data-box {
display: flex;
justify-content: space-between;
padding-left: 10px;
.data-item {
position: relative;
height: 156px;
...
...
@@ -34,9 +52,10 @@
}
.header-word {
display: inline-block;
font-size: 12
px;
font-size: 14
px;
line-height: 18px;
color: #999;
color: #333;
font-weight:500;
}
}
.data-number {
...
...
@@ -106,18 +125,22 @@
}
}
}
}
.study-wrap{
background: #FFF;
margin-top:16px;
.study-box {
display: flex;
justify-content: space-between;
padding-left: 10px;
.study-item {
position: relative;
height: 414px;
background: #fff;
width: ~'calc(50% - 8px)';
padding: 16px;
overflow: hidden;
.study-title {
font-size: 16
px;
font-size: 14
px;
color: #333;
font-weight: 500;
line-height: 22px;
...
...
@@ -145,13 +168,13 @@
color: #666;
cursor: pointer;
&.selected {
color: #FDB513
;
color: #2966FF
;
&::after {
position: absolute;
width: 24px;
height: 2px;
content: '';
background: #FDB513
;
background: #2966FF
;
border-radius: 1px;
left: 9px;
bottom: -4px;
...
...
@@ -256,7 +279,7 @@
&.unfinished {
top: 152px;
.spot {
background: #5289FA
;
background: #2966FF
;
}
}
&.finished {
...
...
@@ -284,15 +307,15 @@
}
}
}
}
.study-chart {
width: 100%;
height: 432px;
background: #fff;
padding: 16px;
margin-top: 16px;
padding-bottom: 32px;
padding: 16px 16px 32px 26px;
.study-title {
font-size: 1
6
px;
font-size: 1
4
px;
color: #333;
font-weight: 500;
line-height: 22px;
...
...
@@ -328,7 +351,7 @@
align-items: center;
color: #666;
.student-dot {
background: #
5289FA
;
background: #
2966FF
;
height: 8px;
width: 8px;
border-radius: 50%;
...
...
src/modules/knowledge-base/ENUM.js
View file @
6d486edd
...
...
@@ -12,7 +12,7 @@ const ENUM = {
UN_START
:
{
code
:
1
,
title
:
"待开课"
,
color
:
"#
FFB714
"
,
color
:
"#
2966FF
"
,
},
STARTING
:
{
code
:
2
,
...
...
src/modules/knowledge-base/components/Classification.jsx
View file @
6d486edd
...
...
@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-19 18:05:23
* @LastEditors:
yuananting
* @LastEditTime: 2021-0
4-15 21:46:41
* @LastEditors:
wufan
* @LastEditTime: 2021-0
5-30 16:48:46
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -193,10 +193,10 @@ class Classification extends Component {
className=
"sider-search"
placeholder=
"搜索名称分类"
onSearch=
{
(
value
)
=>
{
// TODO 调用查询分类接口
this
.
queryCategoryTree
(
value
);
}
}
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
style=
{
{
width
:
230
}
}
/>
<
div
className=
"sider-btn"
>
<
Button
...
...
src/modules/knowledge-base/components/Classification.less
View file @
6d486edd
...
...
@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-19 18:16:58
* @LastEditors:
zangsuyu
n
* @LastEditTime: 2021-0
3-25 19:13:06
* @LastEditors:
wufa
n
* @LastEditTime: 2021-0
5-30 10:19:47
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -25,14 +25,14 @@
}
.sider-tree {
width: 2
66
px;
width: 2
44
px;
overflow: scroll;
height: ~'calc(100vh - 300px)';
.empty-tree-tip {
text-align: center;
margin-top: 100%;
.empty-tree-btn {
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -40,7 +40,7 @@
font-size: 14px;
font-weight: 400;
color: #666666;
width: 2
60
px;
width: 2
34
px;
.anticon {
color: #666666;
}
...
...
@@ -52,12 +52,12 @@
white-space: nowrap;
}
.ant-tree-node-content-wrapper.ant-tree-node-selected {
color: #
666666
;
color: #
2966FF
;
}
}
.ant-tree-treenode-selected:hover::before,
.ant-tree-treenode-selected::before {
background:
#fffbf1
;
background:
rgba(238, 243, 255, 1)
;
}
}
}
...
...
src/modules/knowledge-base/components/KnowledgeBaseList.jsx
View file @
6d486edd
...
...
@@ -3,7 +3,7 @@
* @Author: zangsuyun
* @Date: 2021-03-12 14:49:40
* @LastEditors: wufan
* @LastEditTime: 2021-05-
13 16:35:41
* @LastEditTime: 2021-05-
27 10:23:39
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -215,7 +215,7 @@ class KnowledgeBaseList extends React.Component {
{
!
hasCover
&&
(
<
img
className=
"course-cover"
src=
{
"https://image.xiaomaiketang.com/xm/Y
Nfi45JwFA
.png"
}
src=
{
"https://image.xiaomaiketang.com/xm/Y
ip2YtFDwH
.png"
}
/>
)
}
<
div
>
...
...
@@ -353,7 +353,7 @@ class KnowledgeBaseList extends React.Component {
className=
"course-cover"
src=
{
coverUrl
||
"https://image.xiaomaiketang.com/xm/
YNfi45JwFA
.png"
"https://image.xiaomaiketang.com/xm/
wFnpZtp2yB
.png"
}
/>
{
val
.
length
>
25
?
(
...
...
src/modules/knowledge-base/components/KnowledgeBaseList.less
View file @
6d486edd
...
...
@@ -30,13 +30,13 @@
}
.courseware {
font-size: 14px;
color: #
5289fa
;
color: #
2966FF
;
line-height: 20px;
text-align: right;
cursor: pointer;
}
.quota-icon {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.operate {
...
...
@@ -44,7 +44,7 @@
align-items: center;
flex-wrap: wrap;
.operate__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
margin: 0 8px;
...
...
@@ -57,7 +57,7 @@
}
}
.operate-text {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.course-start-end {
...
...
src/modules/knowledge-base/components/WatchData.jsx
View file @
6d486edd
...
...
@@ -39,7 +39,7 @@ class WatchData extends React.Component {
<
WatchDataHeader
type=
{
ENUM
.
CourseTypeEnum
[
type
]
}
courseName=
{
localStorage
.
getItem
(
"WatchData_CourseName"
)
}
color=
"#
FFB714
"
color=
"#
2966FF
"
/>
<
div
className=
"box"
>
...
...
src/modules/knowledge-base/index.jsx
View file @
6d486edd
/*
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-12 10:43:10
<<<<<<< HEAD
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-28 13:33:07
=======
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-27 13:51:42
>>>>>>> 4399d60 (fix:修复外部课程相关模块bug)
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
import
React
from
'react'
import
KnowledgeBaseFilter
from
'./components/KnowledgeBaseFilter'
...
...
@@ -89,8 +77,11 @@ export default class KnowledgeBase extends React.Component {
<
div
className=
'left'
style=
{
{
width
:
245
}
}
>
<
Classification
updateCategoryFlag=
{
updateCategoryFlag
}
categoryId=
{
categoryId
}
getSelectedCategoryId=
{
this
.
getSelectedCategoryId
}
/>
</
div
>
<
div
className=
'liner'
style=
{
{
backgroundColor
:
'rgb(238, 238, 238)'
,
width
:
0.5
,
margin
:
'1px 16px 1px 2px'
}
}
></
div
>
<
div
className=
'right'
style=
{
{
width
:
'calc(100% - 285px)'
}
}
>
<
div
className=
"liner"
style=
{
{
backgroundColor
:
"rgb(238, 238, 238)"
,
width
:
0.5
,
margin
:
"1px 16px 1px 2px"
}
}
></
div
>
<
div
className=
"right"
style=
{
{
width
:
"calc(100% - 265px)"
}
}
>
<
KnowledgeBaseFilter
onChange=
{
this
.
handleFetchScheduleList
}
/>
{
/* 操作模块 */
}
...
...
src/modules/knowledge-base/modal/AddCourse.jsx
View file @
6d486edd
...
...
@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 09:54:26
* @LastEditors:
fusanqiasng
* @LastEditTime: 2021-05-
28 20:19:06
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
30 17:35:11
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -24,8 +24,8 @@ const { TabPane } = Tabs
const
courseStateShow
=
{
UN_START
:
{
code
:
1
,
title
:
'待开课'
,
color
:
'#2966FF'
,
title
:
"待开课"
,
color
:
"#FFB129"
,
},
STARTING
:
{
code
:
2
,
...
...
@@ -300,11 +300,13 @@ class AddCourse extends React.Component {
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
}
}
>
marginLeft
:
"5px"
,
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
...
...
@@ -395,11 +397,13 @@ class AddCourse extends React.Component {
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
}
}
>
marginLeft
:
"5px"
,
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
...
...
@@ -481,11 +485,13 @@ class AddCourse extends React.Component {
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
}
}
>
marginLeft
:
"5px"
,
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
...
...
src/modules/knowledge-base/modal/LiveList.jsx
View file @
6d486edd
...
...
@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 14:38:49
* @LastEditors:
zangsuyu
n
* @LastEditTime: 2021-0
3-16 15:20:51
* @LastEditors:
wufa
n
* @LastEditTime: 2021-0
5-30 10:08:02
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -22,7 +22,7 @@ const courseStateShow = {
UN_START
:
{
code
:
1
,
title
:
"待开课"
,
color
:
"#FFB
714
"
,
color
:
"#FFB
129
"
,
},
STARTING
:
{
code
:
2
,
...
...
@@ -107,6 +107,7 @@ class LiveList extends React.Component {
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>

...
...
src/modules/knowledge-base/modal/LiveList.less
View file @
6d486edd
...
...
@@ -71,13 +71,13 @@
}
.courseware {
font-size: 14px;
color: #2966
ff
;
color: #2966
FF
;
line-height: 20px;
text-align: right;
cursor: pointer;
}
.quota-icon {
color: #2966
ff
;
color: #2966
FF
;
cursor: pointer;
}
.operate {
...
...
@@ -85,7 +85,7 @@
align-items: center;
flex-wrap: wrap;
.operate__item {
color: #2966
ff
;
color: #2966
FF
;
cursor: pointer;
&.split {
margin: 0 8px;
...
...
@@ -94,7 +94,7 @@
}
}
.operate-text {
color: #2966
ff
;
color: #2966
FF
;
cursor: pointer;
}
.course-start-end {
...
...
@@ -126,7 +126,8 @@
}
.add-course-modal {
.ant-tabs-nav .ant-tabs-tab-active {
color: #2966ff;
// border: 1px solid #2966FF;
color: #2966FF;
}
.ant-modal-content tr > td {
padding: 12px 8px !important;
...
...
src/modules/knowledge-base/modal/VideoList.jsx
View file @
6d486edd
...
...
@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 11:48:24
* @LastEditors:
zangsuyu
n
* @LastEditTime: 2021-0
4-01 11:58:46
* @LastEditors:
wufa
n
* @LastEditTime: 2021-0
5-30 10:08:09
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -105,6 +105,7 @@ class VideoList extends React.Component {
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>

...
...
src/modules/personalInfo/index.less
View file @
6d486edd
.personal-info-page{
.box{
padding:
60
px 60px 60px 40px !important;
padding:
24
px 60px 60px 40px !important;
}
.label{
width:84px;
...
...
@@ -57,4 +57,8 @@
margin-left:20px;
}
}
.save-btn {
margin-left: 92px;
}
}
\ No newline at end of file
src/modules/personalInfo/index.tsx
View file @
6d486edd
/*
* @Author: zhangleyuan
* @Date: 2020-11-27 15:06:31
* @LastEditors:
zangsuyu
n
* @LastEditTime: 2021-0
3-22 13:55:24
* @LastEditors:
wufa
n
* @LastEditTime: 2021-0
5-28 15:31:06
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -181,7 +181,7 @@ console.log('User.getStoreType()',User.getStoreType());
</
Button
>
</
div
>
)
}
<
div
>
<
div
className=
"save-btn"
>
<
Button
type=
"primary"
onClick=
{
()
=>
{
...
...
src/modules/plan-manage/AddPlan.jsx
View file @
6d486edd
/*
* @Author: zhangleyuan
* @Date: 2021-02-20 16:13:39
* @LastEditors:
fusanqiasng
* @LastEditTime: 2021-05-
24 00:00:31
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
30 17:40:39
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -17,7 +17,7 @@ import PlanService from '@/domains/plan-domain/planService'
import
User
from
'@/common/js/user'
import
_
from
'underscore'
import
'./AddPlan.less'
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/
YNfi45JwFA.png'
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/
rEAetaTEh3.png'
;
const
defaultBasicData
=
{
planName
:
''
,
coverUrl
:
defaultCover
,
...
...
@@ -286,7 +286,7 @@ function AddPlan() {
)
}
</
div
>
</
div
>
<
div
className=
'footer'
>
<
div
className=
'footer
shrink-footer
'
>
<
Button
onClick=
{
handleGoBack
}
>
取消
</
Button
>
<
Button
type=
'primary'
onClick=
{
submitInfo
}
disabled=
{
submitDisabled
}
>
保存
...
...
src/modules/plan-manage/AddPlan.less
View file @
6d486edd
.add-plan-page {
position:relative !important;
.box {
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
.add-plan-page__form {
margin-top: 16px;
.title {
...
...
@@ -18,13 +18,14 @@
}
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 9999;
...
...
src/modules/plan-manage/LearningData.jsx
View file @
6d486edd
...
...
@@ -10,7 +10,7 @@ import Bus from '@/core/bus';
import
'./LearningData.less'
;
const
userRole
=
User
.
getUserRole
();
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/
YNfi45JwFA
.png'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/
rEAetaTEh3
.png'
;
class
LearningData
extends
React
.
Component
{
constructor
(
props
)
{
...
...
src/modules/plan-manage/LearningData.less
View file @
6d486edd
...
...
@@ -7,7 +7,7 @@
font-weight:normal;
}
.plan-info{
margin
:16
px;
margin
-bottom:8
px;
padding:16px;
background: #FFF;
display:flex;
...
...
src/modules/plan-manage/components/BasicInfo.less
View file @
6d486edd
...
...
@@ -40,13 +40,12 @@
width: 100%;
height: 100%;
object-fit: contain;
border: 1px solid #E8e8e8;
}
}
.opt-btns{
.default-btn {
margin:0 8px;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.disabled {
color: #CCC;
...
...
src/modules/plan-manage/components/EmployeeShareData.less
View file @
6d486edd
...
...
@@ -4,7 +4,7 @@
}
.operate-item{
font-size:14px;
color:#
5289FA
;
color:#
2966FF
;
cursor: pointer;
}
.learn-num{
...
...
src/modules/plan-manage/components/PlanList.jsx
View file @
6d486edd
...
...
@@ -2,7 +2,7 @@
* @Author: zhangleyuan
* @Date: 2021-02-20 16:46:46
* @LastEditors: wufan
* @LastEditTime: 2021-05-1
3 16:36:43
* @LastEditTime: 2021-05-1
4 18:12:50
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -131,7 +131,7 @@ function PlanList(props) {
<
span
className=
"operate-text"
>
更多
</
span
>
<
span
className=
"iconfont icon"
style=
{
{
color
:
"#
5289FA
"
}
}
style=
{
{
color
:
"#
2966FF
"
}
}
>

</
span
>
...
...
src/modules/plan-manage/components/PlanList.less
View file @
6d486edd
...
...
@@ -37,14 +37,14 @@
-webkit-box-orient: vertical;
}
.operate-text {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
.operate {
display: flex;
&__item {
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
src/modules/plan-manage/components/TrainingTask.less
View file @
6d486edd
...
...
@@ -17,7 +17,7 @@
font-size:14px;
}
.add-task-btn{
color: #
5289FA
;
color: #
2966FF
;
font-size:14px;
}
}
...
...
@@ -81,7 +81,7 @@
.course-box{
.add-course-con{
padding:16px 51px;
color: #
5289FA
;
color: #
2966FF
;
font-size:14px;
.add-course-btn-disabled{
font-size:14px;
...
...
src/modules/plan-manage/components/UserLearningData.jsx
View file @
6d486edd
...
...
@@ -194,16 +194,10 @@ class UserLearningData extends React.Component {
},
},
{
title
:
(
<
span
>
title
:
<
span
>
<
span
>
负责人
</
span
>
<
Tooltip
title=
'培训计划的分享者/跟进人'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
<
Tooltip
title=
"培训计划的分享者/跟进人"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
"400"
}
}
>

</
i
></
Tooltip
>
</
span
>,
key
:
'userNameList'
,
dataIndex
:
'userNameList'
,
render
:
(
val
,
record
)
=>
{
...
...
@@ -241,17 +235,10 @@ class UserLearningData extends React.Component {
},
},
{
title
:
(
<
span
>
title
:
<
span
>
<
span
>
学习进度
</
span
>
<
Tooltip
title=
'学员培训计划中达到“已完成”状态的课程数/总课程数'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
<
Tooltip
title=
"学员培训计划中达到“已完成”状态的课程数/总课程数"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
"400"
}
}
>

</
i
></
Tooltip
>
</
span
>,
key
:
'learnNum'
,
dataIndex
:
'learnNum'
,
width
:
130
,
...
...
src/modules/plan-manage/components/UserLearningDataFilter.less
View file @
6d486edd
...
...
@@ -15,7 +15,7 @@
margin-bottom: 12px;
.label{
font-size:14px;
color:#
666
;
color:#
333
;
vertical-align: middle;
width:70px;
text-align:right;
...
...
src/modules/plan-manage/modal/SharePlanModal.less
View file @
6d486edd
...
...
@@ -131,7 +131,7 @@
margin-bottom: 40px;
.content {
color:
rgba(82, 137, 250, 1)
;
color:
#2966FF
;
cursor: pointer;
}
}
...
...
src/modules/plan-manage/modal/relatedCourseModal.jsx
View file @
6d486edd
...
...
@@ -16,8 +16,8 @@ const { TabPane } = Tabs
const
courseStateShow
=
{
UN_START
:
{
code
:
1
,
title
:
'待开课'
,
color
:
'#FFB714'
title
:
"待开课"
,
color
:
"#FFB129"
,
},
STARTING
:
{
code
:
2
,
...
...
@@ -287,16 +287,8 @@ class SelectOperatorModal extends React.Component {
parseLiveColumns
=
()
=>
{
const
columns
=
[
{
title
:
(
<
span
>
<
span
>
课程信息
</
span
>
<
Tooltip
title=
'仅显示未关联课程,已关联课程不支持重复选择'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
title
:
<
span
><
span
>
课程信息
</
span
><
Tooltip
title=
"仅显示未关联课程,已关联课程不支持重复选择"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
"400"
}
}
>

</
i
></
Tooltip
></
span
>,
key
:
'course'
,
dataIndex
:
'course'
,
width
:
'40%'
,
...
...
@@ -372,16 +364,7 @@ class SelectOperatorModal extends React.Component {
const
{
videoCourseDivision
}
=
this
.
state
const
columns
=
[
{
title
:
(
<
span
>
<
span
>
课程信息
</
span
>
<
Tooltip
title=
'仅显示未关联课程,已关联课程不支持重复选择'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
title
:
<
span
><
span
>
课程信息
</
span
><
Tooltip
title=
"仅显示未关联课程,已关联课程不支持重复选择"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
"400"
}
}
>

</
i
></
Tooltip
></
span
>,
key
:
'course'
,
dataIndex
:
'course'
,
width
:
'40%'
,
...
...
@@ -441,16 +424,7 @@ class SelectOperatorModal extends React.Component {
parsePictureColumns
=
()
=>
{
const
columns
=
[
{
title
:
(
<
span
>
<
span
>
课程信息
</
span
>
<
Tooltip
title=
'仅显示未关联课程,已关联课程不支持重复选择'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
title
:
<
span
><
span
>
课程信息
</
span
><
Tooltip
title=
"仅显示未关联课程,已关联课程不支持重复选择"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
,
fontWeight
:
"400"
}
}
>

</
i
></
Tooltip
></
span
>,
key
:
'course'
,
dataIndex
:
'course'
,
width
:
'55%'
,
...
...
src/modules/plan-manage/modal/relatedCourseModal.less
View file @
6d486edd
...
...
@@ -2,29 +2,6 @@
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
font-weight: normal;
}
// .ant-tabs-nav .ant-tabs-tab {
// padding: 6px 12px !important;
// margin: 0;
// border: 1px solid #e8e8e8;
// font-size: 14px !important;
// color: #999;
// &:nth-child(1) {
// border-radius: 4px 0px 0px 4px;
// }
// &:nth-child(2) {
// border-radius: 0px 4px 4px 0px;
// }
// }
// .ant-tabs-nav .ant-tabs-tab-active {
// // border: 1px solid #ffb714;
// color: #ffb714;
// }
// .ant-tabs-top .ant-tabs-ink-bar-animated:after {
// height: 0;
// }
.ant-modal-footer {
display: flex;
}
...
...
src/modules/prepare-lesson/index.less
View file @
6d486edd
...
...
@@ -45,11 +45,11 @@
}
&:hover {
background: rgba(
255,133,52,
0.06);
background: rgba(
41, 102, 255,
0.06);
}
&.active {
background: rgba(
255,133,52,
0.06);
background: rgba(
41, 102, 255,
0.06);
.iconfont, .disk-name {
font-weight: 500;
}
...
...
@@ -163,7 +163,7 @@
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #
5289FA
;
color: #
2966FF
;
}
&::before {
content: '/';
...
...
@@ -200,7 +200,7 @@
}
.file-path {
cursor: pointer;
color: #
5289FA
;
color: #
2966FF
;
}
.ant-dropdown-trigger {
cursor: pointer;
...
...
src/modules/prepare-lesson/modal/SelectPrepareFileModal.less
View file @
6d486edd
...
...
@@ -38,7 +38,7 @@
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #
5289FA
;
color: #
2966FF
;
}
&::before {
content: '/';
...
...
@@ -83,7 +83,7 @@
color: #BFBFBF;
font-size:12px;
&.correct {
color: #
FFB714
;
color: #
2966FF
;
}
}
}
...
...
@@ -102,7 +102,7 @@
}
.footer__left {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/modules/resource-disk/index.less
View file @
6d486edd
...
...
@@ -40,11 +40,11 @@
}
&:hover {
background: rgba(
255, 183, 20, 0.05
);
background: rgba(
41, 102, 255, 0.06
);
}
&.active {
background: rgba(
255, 183, 20, 0.05
);
background: rgba(
41, 102, 255, 0.06
);
.iconfont, .disk-name {
font-weight: 500;
}
...
...
@@ -55,7 +55,7 @@
right: 0;
width: 4px;
height: 100%;
background-color: #
FFB714
;
background-color: #
2966FF
;
}
}
...
...
@@ -79,7 +79,7 @@
position: absolute;
left: 33px;
bottom: 24px;
color: #
5289FA
;
color: #
2966FF
;
}
}
...
...
@@ -172,7 +172,7 @@
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #
5289FA
;
color: #
2966FF
;
}
&::before {
content: '/';
...
...
@@ -204,12 +204,12 @@
}
&__text:hover {
color: #
5289FA
;
color: #
2966FF
;
}
}
.file-path {
cursor: pointer;
color: #
5289FA
;
color: #
2966FF
;
}
.ant-dropdown-trigger {
cursor: pointer;
...
...
src/modules/root/App.tsx
View file @
6d486edd
/*
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @LastEditors:
wufan
* @LastEditTime: 2021-0
3-26 16:13:48
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-0
5-24 16:29:05
* @Description:
*/
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
...
...
@@ -128,7 +128,7 @@ const App: React.FC = (props: any) => {
<
ConfigProvider
locale=
{
zhCN
}
autoInsertSpaceInButton=
{
false
}
>
<
Main
menuType=
{
menuType
}
/>
</
ConfigProvider
>
<
Menu
menuType=
{
menuType
}
/>
<
Menu
menuType=
{
menuType
}
handleMenuType=
{
handleMenuType
}
/>
</
div
>
)
}
...
...
src/modules/root/CollegeManagePage.less
View file @
6d486edd
...
...
@@ -13,6 +13,7 @@
display: flex;
justify-content: center;
background: #fff;
z-index: 999;
.box {
height: 60px;
width: 1280px;
...
...
@@ -38,7 +39,7 @@
}
.logout {
font-size: 14px;
color: #
5289FA
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -102,8 +103,8 @@
padding: 0 8px;
line-height: 18px;
border-radius: 9px;
border: 1px solid #
5289FA
;
color: #
5289FA
;
border: 1px solid #
2966FF
;
color: #
2966FF
;
font-size: 12px;
}
}
...
...
@@ -124,7 +125,7 @@
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: #
5289FA
;
color: #
2966FF
;
font-size: 16px;
}
.control-box {
...
...
@@ -135,7 +136,7 @@
.control-button {
margin-left: 10px;
cursor: pointer;
color: #
5289FA
;
color: #
2966FF
;
}
.disable-button {
display: none;
...
...
@@ -171,14 +172,14 @@
}
.disable-button {
display: block;
color: #
5289FA
;
color: #
2966FF
;
}
}
}
}
}
.college-create {
border: 1px dashed #
5289FA
;
border: 1px dashed #
2966FF
;
}
}
}
...
...
src/modules/root/CreateCollege.jsx
View file @
6d486edd
...
...
@@ -190,12 +190,14 @@ export default class CreateCollege extends React.Component {
<
img
className=
"box-image"
src=
"https://image.xiaomaiketang.com/xm/fe4NCjr7XF.png"
/>
</
div
>
</
div
>
<
div
className=
"breadcrumb-wrap"
>
<
Breadcrumbs
navList=
"创建企学院"
goBack=
{
()
=>
{
window
.
RCHistory
.
goBack
();
}
}
/>
</
div
>
<
div
className=
"create-box"
>
<
div
className=
"image-box"
>
<
img
className=
"image"
src=
"https://image.xiaomaiketang.com/xm/fe4NCjr7XF.png"
/>
...
...
src/modules/root/CreateCollege.less
View file @
6d486edd
.college-manage-page {
.breadcrumb-wrap {
margin-left: 57px;
}
.create-box {
padding-top: 108px;
margin: 0 auto;
...
...
src/modules/root/Header.jsx
View file @
6d486edd
...
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2019-09-10 18:26:03
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-05-
12 17:30:25
* @LastEditTime: 2021-05-
27 19:44:42
* @Description:
*/
import
React
,
{
useRef
,
useContext
,
useEffect
,
useState
}
from
"react"
;
...
...
@@ -219,23 +219,8 @@ function Header(props) {
<
div
id=
"top-container"
className=
"top-container"
>
<
div
className=
"top top-nav"
>
<
div
>
{
menuType
?
<
img
src=
'https://image.xiaomaiketang.com/xm/fe4NCjr7XF.png'
className=
"logo"
alt=
""
/>:<
img
src=
"https://image.xiaomaiketang.com/xm/c4KiP2epBP.png"
className=
"logo"
alt=
""
/>
}
<
img
src=
'https://image.xiaomaiketang.com/xm/WEsMPAYxAs.png'
className=
"logo"
alt=
""
/>
</
div
>
{
menuType
?
(
<
span
className=
"icon iconfont cursor ml20 handLike"
onClick=
{
handleMenu
}
>

</
span
>
)
:
(
<
span
className=
"icon iconfont cursor ml20 handLike"
onClick=
{
handleMenu
}
>

</
span
>
)
}
<
div
className=
"message-help"
>
{
list
.
length
?
(
<
ClickOutside
...
...
@@ -313,10 +298,15 @@ function Header(props) {
</
div
>
)
}
<
div
className=
"right-box"
>
<
div
className=
"right-bg-img"
>
<
img
src=
"https://image.xiaomaiketang.com/xm/WCwjyyXYda.png"
></
img
>
</
div
>
<
div
className=
"link-to-store"
>
<
div
className=
"link"
>
<
span
className=
"link-btn"
>
<
span
className=
"icon iconfont tool-tip-right"
>

</
span
>
<
div
className=
"text"
>
前往学院
</
div
>
<
span
className=
"text"
>
前往学院
</
span
>
</
span
>
<
div
className=
"store-popover"
>
<
div
className=
"pc-url"
>
<
div
className=
"name"
>
网页端学院
</
div
>
...
...
@@ -337,8 +327,10 @@ function Header(props) {
</
div
>
</
div
>
<
div
className=
"share"
onClick=
{
handleCopy
}
>
<
span
className=
"share-btn"
>
<
span
className=
"icon iconfont tool-tip-right"
>

</
span
>
<
div
className=
"text"
>
分享学院
</
div
>
<
span
className=
"text"
>
分享学院
</
span
>
</
span
>
</
div
>
</
div
>
<
Dropdown
overlay=
{
userMenu
()
}
arrow
>
...
...
src/modules/root/Header.less
View file @
6d486edd
@import "../../core/variables.less";
@top-height:
5
0px;
@top-height:
6
0px;
@icon-color: #939393;
.top-container {
position: absolute;
...
...
@@ -7,8 +7,17 @@
left: 0;
right: 0;
height: @top-height;
background-color: #fff;
z-index: 112;
background-color: #2966FF;
// z-index:2;
&::after{
content:'';
width:100%;
height:60px;
background: linear-gradient(180deg, #2966FF 0%, rgba(41, 102, 255, 0.82) 29%, rgba(41, 102, 255, 0.58) 55%, rgba(41, 102, 255, 0.27) 77%, rgba(7, 78, 255, 0) 100%);
position:absolute;
z-index:2;
top:59px;
}
.logo {
display: inline-block;
height: 30px;
...
...
@@ -17,7 +26,7 @@
.logo-name {
font-size: 14px;
font-weight: 500;
color: #
ffb714
;
color: #
2966FF
;
line-height: 20px;
vertical-align: middle;
font-weight: bold;
...
...
@@ -195,7 +204,7 @@
cursor: pointer;
}
.college-name {
color:
#666
;
color:
#FFFFFF
;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
...
...
@@ -204,9 +213,9 @@
.icon {
font-size: 14px;
margin-left: 8px;
color: #
8c8e93
;
color: #
FFF
;
&:hover {
color:
#555
;
color:
#FFF
;
}
}
}
...
...
@@ -274,9 +283,9 @@
align-items: center;
.store-name {
font-size: 14px;
color: #
666
;
color: #
FFF
;
line-height: 49px;
margin-left:
36
px;
margin-left:
8
px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
...
...
@@ -294,26 +303,36 @@
display: flex;
align-items: center;
}
.right-bg-img{
img{
width:277px;
height:60px;
}
}
.link-to-store {
display: flex;
height: 49px;
line-height: 49px;
.text {
font-size: 14px;
color: #
666
;
color: #
FFF
;
line-height: 49px;
margin-left: 7px;
}
.iconfont {
color: #8c8e93;
&:hover {
color: #555;
}
color: #FFF;
}
.link {
display: flex;
cursor: pointer;
position: relative;
.link-btn{
padding:3px 12px;
border: 1px solid rgba(255, 255, 255, 0.5);
border-radius: 4px;
&:hover{
border: 1px solid rgba(255, 255, 255, 1);
}
}
.store-popover {
display: none;
}
...
...
@@ -343,7 +362,7 @@
line-height: 20px;
}
.url-link {
color: #
5289fa
;
color: #
2966FF
;
font-size: 14px;
line-height: 20px;
}
...
...
@@ -374,8 +393,15 @@
}
.share {
cursor: pointer;
display: flex;
margin-left: 16px;
.share-btn{
padding:3px 12px;
border: 1px solid rgba(255, 255, 255, 0.5);
border-radius: 4px;
&:hover{
border: 1px solid rgba(255, 255, 255, 1);
}
}
}
}
.drop-menu {
...
...
@@ -503,6 +529,7 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color:#FFF;
}
}
}
...
...
src/modules/root/Login.jsx
View file @
6d486edd
...
...
@@ -147,20 +147,19 @@ function Login(props) {
}
return
(
<
div
className=
'login-page'
>
<
div
className=
'login-main'
>
<
div
className=
'left-banner'
>
<
div
>
<
img
src=
'https://image.xiaomaiketang.com/xm/Newk4NrxKC.png'
alt=
''
style=
{
{
width
:
60
,
height
:
61
}
}
/>
</
div
>
<
div
className=
'name'
>
小麦企学院
</
div
>
<
div
className=
'desc'
>
一键开启直播授课 让知识更有价值
</
div
>
<
div
className=
"login-page"
>
<
div
className=
"logo-img-box"
><
img
src=
"https://image.xiaomaiketang.com/xm/6k8PPCmywG.png"
className=
"logo-img"
/></
div
>
<
div
className=
"login-main"
>
<
div
className=
"left-banner"
>
<
div
className=
"img-box"
><
img
src=
"https://image.xiaomaiketang.com/xm/CDCcdAdaPs.png"
alt=
""
/></
div
>
</
div
>
<
div
className=
'login-box'
>
<
div
className=
'login'
>
<
div
className=
'r'
>
<
Tabs
defaultActiveKey=
'1'
>
<
TabPane
tab=
'企业微信登录'
key=
'1'
>
<
div
className=
"login-box"
>
<
div
className=
"left-top-block color-block"
></
div
>
<
div
className=
"right-bottom-block color-block"
></
div
>
<
div
className=
"login"
>
<
div
className=
"r"
>
<
Tabs
defaultActiveKey=
"1"
>
<
TabPane
tab=
"企业微信登录"
key=
"1"
>
<
WechatLogin
></
WechatLogin
>
</
TabPane
>
<
TabPane
tab=
'手机号登录'
key=
'2'
>
...
...
@@ -172,7 +171,7 @@ function Login(props) {
autoComplete=
'off'
name=
'account'
maxLength=
{
11
}
placeholder=
'手机号'
placeholder=
"请输入手机号"
value=
{
phone
}
onChange=
{
(
e
)
=>
{
setPhone
(
e
.
target
.
value
)
...
...
@@ -182,11 +181,11 @@ function Login(props) {
<
div
className=
'error-message'
></
div
>
<
div
className=
'phoneverify'
>
<
Input
type=
'text'
id=
'phoneverify'
name=
'phoneverify'
placeholder=
'验证码'
autoComplete=
'off'
type=
"text"
id=
"phoneverify"
name=
"phoneverify"
placeholder=
"请输入验证码"
autoComplete=
"off"
value=
{
phoneverify
}
maxLength=
{
4
}
onChange=
{
(
e
)
=>
{
...
...
src/modules/root/Login.less
View file @
6d486edd
...
...
@@ -4,49 +4,61 @@
font-family: "微软雅黑";
padding: 0;
min-width: 1200px;
background: #
21242e
;
background: #
F4F6FA
;
height: 100%;
overflow-y: hidden;
.logo-img-box{
position: absolute;
top:24px;
right:32px;
z-index:1;
.logo-img{
width:120px;
display: inline-block;
}
}
.login-main {
min-width: 1200px;
display: flex;
}
.left-banner {
position: fixed;
min-width: 315px;
text-align: center;
position: relative;
width: 540px;
height: 100vh;
.img-box {
background: #2966FF;
width: 540px;
height: 100vh;
img {
width: 540px;
height: 800px;
position: absolute;
left: 50%;
top: 50%;
left: 30%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
.name {
font-size: 30px;
font-weight: 500;
color: #ffffff;
line-height: 42px;
margin-top: 11px;
transform: translate(-50%,-50%);
}
.desc {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
margin-top: 10px;
}
}
.login-box {
min-width: 360px;
height: 340px;
position: fixed;
top: 50%;
left: 70%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
min-width: 740px;
height: 100vh;
width: calc(100vw - 500px);
position: relative;
.color-block {
width: 256px;
height: 256px;
background: rgba(41, 102, 255, 0.05);
position: absolute;
top:0;
left: 0;
&.right-bottom-block {
top:auto;
left: auto;
bottom: 0;
right: 0;
}
}
.go-to-site {
position: absolute;
bottom: -80px;
...
...
@@ -74,15 +86,18 @@
display: -webkit-flex;
flex-direction: row;
-webkit-flex-direction: row;
height: 100%;
width: 420px;
height: 420px;
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
overflow: hidden;
background-color: #ffffff;
border-radius: 4px;
//box-shadow: 0 0 17px @sun;
border-radius: 4px;
.ant-tabs-tab-btn {
color: #999999;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
font-size: 18px;
line-height: 25px;
&.ant-tabs-tab-active {
color: #333333;
...
...
@@ -92,6 +107,7 @@
.ant-tabs-tab-active {
.ant-tabs-tab-btn {
color: #333333;
font-weight:500!important;
}
}
.ant-tabs-nav::before {
...
...
@@ -165,7 +181,7 @@
flex: 1;
-webkit-flex: 1;
height: 100%;
padding:
24
px;
padding:
40
px;
box-sizing: border-box;
position: relative;
&.show-qrcode {
...
...
@@ -181,6 +197,9 @@
}
}
}
.login-form{
margin-top:32px;
}
.qrcode {
display: none;
text-align: center;
...
...
@@ -364,9 +383,9 @@
border-radius: 3px;
margin-top: 60px;
font-size: 14px; // font-weight: 300;
color:#
5289FA
;
color:#
2966FF
;
&:hover {
color: #
ffb714
;
color: #
2966FF
;
}
&::before {
content: "";
...
...
@@ -397,7 +416,7 @@
}
.refresh {
font-size: 14px;
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -411,7 +430,7 @@
}
}
.submit {
margin-top:
11
px;
margin-top:
24
px;
button {
// font-weight: 300;
}
...
...
@@ -450,7 +469,7 @@
text-align:center;
&:hover {
opacity: 0.7;
background:
linear-gradient(90deg, #ffb714 0%, #ffad34 100%)
;
background:
#5C8AFF
;
}
}
}
...
...
src/modules/root/Main.less
View file @
6d486edd
...
...
@@ -4,7 +4,7 @@
@import '../../core/global.less';
@import '../../core/filter.less';
@top-height:
5
0px;
@top-height:
6
0px;
.right-container {
position: absolute;
...
...
@@ -13,13 +13,20 @@
right: 0;
bottom: 0;
background-color: #f0f2f5;
overflow-x: scroll;
z-index: 1;
height: calc(~'100% - 50px');
&.right-container-vertical {
left: @xm-left-min-width;
.page {
.page {
overflow-x: auto;
padding:0 16px;
// z-index: 1;
&.right-container-vertical{
left:@xm-left-min-width;
.page{
.footer {
left: 80px;
width: calc(100% - 102px);
}
.xm-breadCrumb {
width: 100%;
}
.page{
left: @xm-left-min-width;
}
}
...
...
src/modules/root/Menu.less
View file @
6d486edd
@import '../../core/variables.less';
@top-height:
5
0px;
@menu-bakg: #
2B2E37
;
@active-color: #
FFB714
;
@top-height:
6
0px;
@menu-bakg: #
FFF
;
@active-color: #
2966FF
;
.left-container {
position: absolute;
z-index: 2;
...
...
@@ -11,10 +11,18 @@
bottom: 0;
width: @xm-left-width;
background: @menu-bakg;
color: #FFFFFF;
color: #333;
.menu-type-icon{
margin:4px 0 4px 156px;
cursor: pointer;
.icon{
font-size:14px;
}
}
.ant-menu {
padding-left: 0 !important;
background: transparent;
color: #333;
background: #FFF !important;
}
.left {
-webkit-user-select: none;
...
...
@@ -25,13 +33,11 @@
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
height: 100%;
.nav {
-webkit-flex: 1;
cursor: default;
font-size: 16px;
margin-top: 16px;
height: calc(~'100% - 72px');
overflow: auto;
&::-webkit-scrollbar {
...
...
@@ -40,6 +46,11 @@
.icon {
margin-right: 20px
}
.icon-img{
width:16px;
height:16px;
margin-right:16px;
}
.listType {
width: 5px;
height: 5px;
...
...
@@ -49,12 +60,31 @@
left: 38px;
position: absolute;
}
.ant-menu-item{
padding-left: 13px !important;
padding-right: 0px;
margin: 6px 8px;
width: calc(100% - 15px);
&:hover{
background: #F3F6FA;
border-radius: 2px;
color:#333;
}
}
.ant-menu-item-selected{
color:@active-color;
background-color:@active-color;
color:#FFF;
&:hover{
color:#FFF;
}
}
.ant-menu-submenu{
.ant-menu-submenu-title{
margin:6px 8px;
padding-left:13px !important;
}
.ant-menu-sub{
.ant-menu-item{
padding-left:
58px
padding-left:
46px !important;
}
}
...
...
@@ -75,15 +105,26 @@
&.left-container-vertical {
width: 62px;
.menu-type-icon{
margin:4px 0 4px 22px;
}
.left {
.ant-menu-submenu-arrow{
display:none !important;
}
}
}
.shink-footer {
left: 74px;
}
// &:hover{
// .menu-type-icon{
// display:inline-block;
// }
// }
}
.ant-menu
-dark.ant-menu-dark
:not(.ant-menu-horizontal) .ant-menu-item-selected {
background:@
menu-bakg
!important;
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {
background:@
active-color
!important;
}
.ant-menu.ant-menu-dark, .ant-menu-dark .ant-menu-sub, .ant-menu.ant-menu-dark .ant-menu-sub{
...
...
@@ -92,55 +133,32 @@
.ant-menu-submenu-popup>.ant-menu {
background: @menu-bakg !important;
color: #
9A9DA7
;
color: #
333
;
padding-left: 15px;
width: 132px;
min-width: auto;
li {
padding-left: 22px;
padding-right: 0;
width: 117px;
margin-bottom:0 !important;
&:first-child{
margin-top:8px !important;
}
&:last-child{
margin-bottom:8px !important;
width: calc(100% - 16px);
padding-left: 20px;
margin:12px 8px !important;
&:hover{
background: #F3F6FA;
border-radius: 2px;
color:#333 !important;
}
}
.listType {
width: 5px;
height: 5px;
background: #9A9DA7;
border-radius: 50%;
top: 18px;
left: 10px;
position: absolute;
}
.ant-menu-item-selected {
background: @menu-bakg;
color: #fff;
.listType {
background: @active-color;
color: #fff;
&:hover{
color: #fff !important;
}
}
&:hover {
.ant-menu-item-active {
color: #fff;
.listType {
background: #fff;
}
}
.ant-menu-item-selected {
.listType {
background: @active-color;
}
}
}
}
src/modules/root/Menu.tsx
View file @
6d486edd
...
...
@@ -10,7 +10,7 @@ import "./Menu.less";
const
{
SubMenu
}
=
Menu
;
function
Aside
(
props
:
any
)
{
const
{
menuType
}
=
props
const
{
menuType
,
handleMenuType
}
=
props
const
ctx
:
any
=
useContext
(
XMContext
);
const
[
selectKey
,
setSelectKey
]
=
useState
();
const
[
openKeys
,
setOpenKeys
]
=
useState
([
''
]);
...
...
@@ -41,6 +41,9 @@ function Aside(props: any) {
setOpenKeys
([
key
]);
}
}
function
handleMenu
()
{
handleMenuType
();
}
return
(
<
div
...
...
@@ -51,6 +54,21 @@ function Aside(props: any) {
:
"left-container left-container-vertical"
}
>
<
div
className=
"menu-type-icon"
onClick=
{
handleMenu
}
>
{
menuType
?
(
<
span
className=
"icon iconfont"
>

</
span
>
)
:
(
<
span
className=
"icon iconfont"
>

</
span
>
)
}
</
div
>
<
div
className=
"left"
>
<
div
className=
"nav"
>
...
...
@@ -58,7 +76,6 @@ function Aside(props: any) {
style=
{
{
minHeight
:
"100%"
,
background
:
'#0E1935'
}
}
selectedKeys=
{
selectKey
}
openKeys=
{
openKeys
}
theme=
"dark"
inlineCollapsed=
{
false
}
mode=
{
menuType
?
"inline"
:
"vertical"
}
>
...
...
@@ -68,31 +85,19 @@ function Aside(props: any) {
return
null
;
}
if
(
item
.
children
)
{
return
<
SubMenu
key=
{
item
.
groupCode
}
style=
{
{
marginTop
:
0
}
}
className=
"first-menu-item"
title=
{
<
div
>
<
span
style=
{
{
marginRight
:
6
}
}
className=
"iconfont icon"
dangerouslySetInnerHTML=
{
{
__html
:
item
.
icon
}
}
></
span
>
return
<
SubMenu
key=
{
item
.
groupCode
}
style=
{
{
marginTop
:
0
}
}
className=
"first-menu-item"
title=
{
<
div
>
{
/* <span style={{ marginRight: 16 }} className="iconfont icon" dangerouslySetInnerHTML={{ __html:item.icon}}></span> */
}
<
img
src=
{
item
.
img
}
className=
"icon-img"
></
img
>
{
menuType
&&
<
span
>
{
item
.
groupName
}
</
span
>
}
</
div
>
}
onTitleClick=
{
()
=>
onOpenChange
(
item
.
groupCode
)
}
>
}
</
div
>
}
onTitleClick=
{
()
=>
onOpenChange
(
item
.
groupCode
)
}
>
{
item
.
children
.
map
((
_item
:
any
,
_index
:
any
)
=>
{
if
(
ctx
.
xmState
.
storeUserPermissionList
.
indexOf
(
_item
.
groupCode
)
===
-
1
)
{
return
null
;
}
return
<
Menu
.
Item
onClick=
{
()
=>
{
toggleMenu
(
_item
)
}
}
style=
{
{
marginTop
:
0
}
}
key=
{
_item
.
groupCode
+
index
+
_index
}
>
<
span
className=
"listType"
></
span
>
<
span
className=
"name"
>
{
_item
.
groupName
}
</
span
>
</
Menu
.
Item
>
...
...
@@ -101,8 +106,14 @@ function Aside(props: any) {
</
SubMenu
>
}
else
{
return
<
Menu
.
Item
onClick=
{
()
=>
{
toggleMenu
(
item
)
}
}
key=
{
item
.
groupCode
}
className=
"first-menu-item"
>
{
/* <span style={{ marginRight: 16 }} className="iconfont icon" dangerouslySetInnerHTML={{ __html:item.icon}}></span> */
}
{
selectKey
===
item
.
groupCode
?
<
img
src=
{
item
.
selectImg
}
className=
"icon-img"
></
img
>
:
<
img
src=
{
item
.
img
}
className=
"icon-img"
></
img
>
}
<
span
style=
{
{
marginRight
:
6
}
}
className=
"iconfont icon"
dangerouslySetInnerHTML=
{
{
__html
:
item
.
icon
}
}
></
span
>
{
menuType
&&
<
span
>
{
item
.
groupName
}
</
span
>
}
...
...
src/modules/root/WechatLogin.less
View file @
6d486edd
...
...
@@ -9,34 +9,39 @@
color: #999999;
line-height: 20px;
}
.rwm {
.rwm{
position: relative;
width: 16
0px;
height: 16
0px;
width: 21
0px;
height: 21
0px;
text-align: center;
display: inline-block;
margin-top: 24px;
.error {
border: 1px solid #e8e8e8;
border-radius: 2px;
padding:15px;
.error{
position: absolute;
width: 100%
;
height: 100%
;
width: 200px
;
height: 200px
;
background: rgba(255, 255, 255, 0.95);
display: flex;
align-items:
center;
justify-content:
center;
left: 0
px;
top: 0
px;
div
{
align-items:
center;
justify-content:
center;
left:5
px;
top:5
px;
div
{
margin: 0 10px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 20px;
}
.ope
{
.ope
{
cursor: pointer;
color:
rgba(82, 137, 250, 1);
color:
rgba(82, 137, 250, 1);
}
}
}
...
...
src/modules/root/WechatLogin.tsx
View file @
6d486edd
...
...
@@ -36,8 +36,9 @@ export default function WechatLogin(props: any) {
let
qrnode
=
new
qrcode
({
text
:
redirect
,
correctLevel
:
2
,
size
:
160
,
image
:
'https://image.xiaomaiketang.com/xm/Newk4NrxKC.png'
,
size
:
180
,
// image: 'https://image.xiaomaiketang.com/xm/Newk4NrxKC.png',
image
:
'https://image.xiaomaiketang.com/xm/bFkRBz7teA.png'
,
imageSize
:
50
});
qrcodeWrapDom
.
innerHTML
=
''
;
...
...
src/modules/store-manage/CourseCatalogPage.less
View file @
6d486edd
...
...
@@ -4,19 +4,19 @@
}
.add-btn{
font-weight: 400;
color: #
5289FA
;
color: #
2966FF
;
line-height: 20px;
cursor: pointer;
}
.edit-btn{
font-weight: 400;
color: #
5289FA
;
color: #
2966FF
;
line-height: 20px;
cursor: pointer;
}
.delete-btn{
font-weight: 400;
color: #
5289FA
;
color: #
2966FF
;
line-height: 20px;
cursor: pointer;
}
...
...
src/modules/store-manage/StoreDecorationPage.less
View file @
6d486edd
...
...
@@ -51,14 +51,14 @@
.operation {
.edit {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
.divider-line {
color:#BFBFBF
}
.delete {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
src/modules/store-manage/StoreH5DecorationTab.jsx
View file @
6d486edd
/*
* @Author: wufan
* @Date: 2020-11-30 10:47:38
* @LastEditors:
zhangleyu
an
* @LastEditTime: 2021-0
2-01 14:02:11
* @LastEditors:
wuf
an
* @LastEditTime: 2021-0
5-28 16:20:26
* @Description: web学院banner页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -372,7 +372,7 @@ class StoreH5Decoration extends React.Component {
/>
);
return
(
<
div
className=
"
user-manage
-page"
>
<
div
className=
"
store-decoration-h5
-page"
>
<
div
className=
"box-header"
>
<
div
className=
"banner-setting"
>
<
div
className=
"title"
>
banner设置
</
div
>
...
...
src/modules/store-manage/StoreInfo.less
View file @
6d486edd
...
...
@@ -40,7 +40,7 @@
}
.operate-con{
.upload-btn{
color:#
5289FA
;
color:#
2966FF
;
font-size:14px;
margin-bottom:4px;
}
...
...
src/modules/store-manage/StoreWebDecorationTab.jsx
View file @
6d486edd
/*
* @Author: wufan
* @Date: 2020-11-30 10:47:38
* @LastEditors:
yuananting
* @LastEditTime: 2021-0
3-18 11:29:43
* @LastEditors:
wufan
* @LastEditTime: 2021-0
5-28 16:21:04
* @Description: web学院banner页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -370,7 +370,7 @@ class StoreWebDecoration extends React.Component {
/>
);
return
(
<
div
className=
"
user-manage
-page"
>
<
div
className=
"
store-decoration-web
-page"
>
<
div
className=
"box-header"
>
<
div
className=
"banner-setting"
>
<
div
className=
"title"
>
banner设置
</
div
>
...
...
src/modules/teach-tool/components/CourseCategoryManage.less
View file @
6d486edd
...
...
@@ -11,7 +11,7 @@
}
.course-category-tree {
position: relative;
margin-top: 1
6
px;
margin-top: 1
2
px;
width: 900px;
border: 1px solid #e8e8e8;
.ant-tree.ant-tree-directory {
...
...
@@ -29,7 +29,7 @@
vertical-align: middle;
}
.ant-tree-node-content-wrapper.ant-tree-node-selected {
color: #
666666
;
color: #
2966FF
;
}
.ant-tree-node-content-wrapper {
display: flex;
...
...
@@ -50,7 +50,7 @@
}
.ant-tree-treenode-selected:hover::before,
.ant-tree-treenode-selected::before {
background:
#fffbf1
;
background:
rgba(238, 243, 255, 1)
;
}
}
}
...
...
src/modules/teach-tool/components/CourseCategorySiderTree.less
View file @
6d486edd
...
...
@@ -17,14 +17,14 @@
}
.sider-tree {
width: 24
0
px;
width: 24
4
px;
overflow: scroll;
height: calc(100vh - 300px);
.empty-tree-tip {
text-align: center;
margin-top: 100%;
.empty-tree-btn {
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
}
...
...
@@ -49,7 +49,7 @@
}
.ant-tree-treenode-selected:hover::before,
.ant-tree-treenode-selected::before {
background:
#fffbf1
;
background:
rgba(238, 243, 255, 1)
;
}
}
}
...
...
src/modules/teach-tool/examination-manager/AddExam.less
View file @
6d486edd
.examPage{
padding-bottom: 62px;
.ant-alert-info{
background: rgba(255, 244, 221, 1);
border: none;
padding-bottom: 50px;
.box {
padding-bottom: 40px!important;
}
.ant-form-item{
&:last-child{
...
...
@@ -66,13 +65,14 @@
}
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 9999;
...
...
src/modules/teach-tool/examination-manager/AddExam.tsx
View file @
6d486edd
...
...
@@ -9,6 +9,8 @@ import _ from 'underscore'
import
GraphicsEditor
from
'../../course-manage/components/GraphicsEditor'
;
import
SelectPaperModal
from
'./SelectPaperModal'
import
PreviewModal
from
'./PreviewModal'
import
ShowTips
from
"@/components/ShowTips"
;
import
'./AddExam.less'
;
const
{
RangePicker
}
=
DatePicker
;
...
...
@@ -230,8 +232,9 @@ function AddExam(props: any) {
<
Breadcrumbs
navList=
{
props
.
type
===
'edit'
?
"编辑考试"
:
"新建考试"
}
goBack=
{
handleGoBack
}
/>
<
div
className=
"box"
>
<
Alert
message=
"请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利"
type=
"info"
showIcon
/>
<
div
className=
"form"
>
<
div
className=
"show-tips"
>
<
ShowTips
message=
"请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利"
/>
</
div
>
<
div
className=
"form"
>
<
div
className=
"title"
>
基本信息
</
div
>
<
Form
labelCol=
{
{
span
:
3
}
}
...
...
@@ -418,7 +421,7 @@ function AddExam(props: any) {
setPaperInfo
(
info
)
}
}
paperInfo=
{
paperInfo
}
close=
{
()
=>
{
setShowModal
(
false
)
}
}
></
SelectPaperModal
>
}
<
div
className=
"footer"
>
<
div
className=
"footer
shrink-footer
"
>
<
Button
onClick=
{
handleGoBack
}
>
取消
</
Button
>
<
Button
onClick=
{
()
=>
{
setPreview
(
true
)
}
}
>
预览
</
Button
>
<
Button
type=
"primary"
onClick=
{
handleSave
}
>
保存
</
Button
>
...
...
src/modules/teach-tool/examination-manager/Index.tsx
View file @
6d486edd
...
...
@@ -293,7 +293,7 @@ function ExaminationManager(props: any) {
<
div
style=
{
{
display
:
'flex'
}
}
>
<
div
className=
"search-condition"
>
<
div
className=
"search-condition__item"
>
<
span
className=
"search-name"
>
考试名称
:
</
span
>
<
span
className=
"search-name"
>
考试名称
:
</
span
>
<
Search
value=
{
query
.
examName
}
className=
'search-input'
...
...
@@ -321,7 +321,7 @@ function ExaminationManager(props: any) {
></
TeacherSelect
>
<
div
className=
"search-condition__item"
>
<
span
className=
"search-name"
>
考试时间
:
</
span
>
<
span
className=
"search-name"
>
考试时间
:
</
span
>
<
RangePicker
className=
'search-input'
value=
{
[
...
...
@@ -339,7 +339,7 @@ function ExaminationManager(props: any) {
</
div
>
{
!!
expandFilter
&&
<
div
className=
"search-condition__item"
>
<
span
className=
"search-name"
>
创建时间
:
</
span
>
<
span
className=
"search-name"
>
创建时间
:
</
span
>
<
RangePicker
className=
'search-input'
value=
{
[
...
...
src/modules/teach-tool/paper-manage/OperatePaper.jsx
View file @
6d486edd
/*
* @Author: yuananting
* @Date: 2021-03-27 16:15:13
* @LastEditors:
zhangleyu
an
* @LastEditTime: 2021-05-
10 10:16:31
* @LastEditors:
wuf
an
* @LastEditTime: 2021-05-
30 16:56:15
* @Description: 助学工具-新建/复制/编辑试卷
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -490,7 +490,7 @@ class OperatePaper extends Component {
title
:
"题型"
,
dataIndex
:
"questionType"
,
key
:
"questionType"
,
width
:
"1
6
%"
,
width
:
"1
2
%"
,
sorter
:
true
,
showSorterTooltip
:
false
,
filters
:
[
...
...
@@ -552,7 +552,8 @@ class OperatePaper extends Component {
<
Tooltip
title=
"多选题和填空题的漏选/半对得分不能高于题目本身分值"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#BFBFBF"
,
fontSize
:
14
}
}
style=
{
{
color
:
"#BFBFBF"
,
fontSize
:
14
,
fontWeight
:
"400"
}
}
>

</
span
>
...
...
@@ -707,7 +708,7 @@ class OperatePaper extends Component {
<
div
className=
"show-tips"
>
<
ShowTips
message=
"请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利"
/>
</
div
>
<
Form
ref=
{
this
.
formRef
}
style=
{
{
marginTop
:
24
}
}
>
<
Form
ref=
{
this
.
formRef
}
style=
{
{
marginTop
:
24
,
marginBottom
:
'85px'
}
}
>
<
Form
.
Item
name=
"paperName"
label=
"试卷名称:"
...
...
@@ -798,11 +799,12 @@ class OperatePaper extends Component {
dataSource=
{
selectQuestionList
}
pagination=
{
false
}
onChange=
{
this
.
sortByQuestionType
}
selections=
{
false
}
/>
</
ConfigProvider
>
</
Form
>
</
div
>
<
div
className=
"footer"
>
<
div
className=
"footer
shrink-footer
"
>
<
Button
onClick=
{
this
.
handleGoBack
}
>
取消
</
Button
>
<
Button
onClick=
{
this
.
previewPaper
}
>
预览
</
Button
>
<
Button
type=
"primary"
onClick=
{
this
.
savePaper
}
>
...
...
src/modules/teach-tool/paper-manage/OperatePaper.less
View file @
6d486edd
.operate-paper-page {
.box {
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
.table-style {
border: 1px solid #f0f0f0 !important;
}
...
...
@@ -20,14 +20,14 @@
color: #999999;
line-height: 20px;
span {
color: #
ffb714
;
color: #
2966FF
;
}
}
.record-operate {
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
@@ -44,13 +44,14 @@
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #e8e8e8;
z-index: 999;
...
...
@@ -58,6 +59,19 @@
margin-left: 10px;
}
}
.ant-table tbody tr {
&:last-child {
td {
border-bottom: none!important;
}
}
}
.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]) {
&::before {
width: 0!important;
}
}
}
.aid-tool-list {
...
...
src/modules/teach-tool/paper-manage/components/PaperList.less
View file @
6d486edd
...
...
@@ -47,7 +47,7 @@
position: relative;
margin-top: 16px;
.empty-list-tip {
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
.record-name {
...
...
@@ -59,7 +59,7 @@
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
src/modules/teach-tool/paper-manage/components/SelectQuestionList.jsx
View file @
6d486edd
...
...
@@ -381,7 +381,7 @@ class SelectQuestionList extends Component {
<
div
className=
"select-tip-box"
>
<
div
>
<
span
className=
"icon iconfont tip-icon"
>

</
span
>
<
span
style=
{
{
marginRight
:
8
}
}
>
已选
<
span
style=
{
{
color
:
"#
FFB714
"
}
}
>
{
selectQuestionKeys
.
length
}
</
span
>
题
</
span
>
<
span
style=
{
{
marginRight
:
8
}
}
>
已选
<
span
style=
{
{
color
:
"#
2966FF
"
}
}
>
{
selectQuestionKeys
.
length
}
</
span
>
题
</
span
>
{
selectQuestionKeys
.
length
>
0
&&
(
<
span
>
(
{
singleCount
>
0
&&
` 单选题${singleCount}题 `
}
...
...
src/modules/teach-tool/paper-manage/components/SelectQuestionList.less
View file @
6d486edd
...
...
@@ -44,7 +44,7 @@
position: relative;
margin-top: 16px;
.empty-list-tip {
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
.record-name {
...
...
@@ -56,7 +56,7 @@
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
@@ -67,13 +67,13 @@
}
}
.select-tip-box {
background: #
fff4dd
;
background: #
E9EFFF
;
border-radius: 4px;
padding: 6px 16px;
display: flex;
justify-content: space-between;
.tip-icon {
color: #
ff9d14
;
color: #
2966FF
;
font-size: 14px;
margin-right: 4px;
}
...
...
@@ -82,7 +82,7 @@
font-size: 14px;
}
.clear-btn {
color: #
5289fa
;
color: #
2966FF
;
font-size: 14px;
cursor: pointer;
}
...
...
src/modules/teach-tool/question-manage/OperateQuestion.jsx
View file @
6d486edd
/*
* @Author: yuananting
* @Date: 2021-02-25 13:46:35
* @LastEditors:
yuananting
* @LastEditTime: 2021-05-
10 20:33:16
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
24 11:32:47
* @Description: 助学工具-题库-新建/编辑题目
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -325,7 +325,7 @@ class OperateQuestion extends Component {
className=
"icon iconfont"
style=
{
{
color
:
activeKey
===
"SINGLE_CHOICE"
?
"#
ffb714
"
:
"#CCCCCC"
,
activeKey
===
"SINGLE_CHOICE"
?
"#
2966FF
"
:
"#CCCCCC"
,
}
}
>

{
" "
}
...
...
@@ -354,7 +354,7 @@ class OperateQuestion extends Component {
className=
"icon iconfont"
style=
{
{
color
:
activeKey
===
"MULTI_CHOICE"
?
"#
ffb714
"
:
"#CCCCCC"
,
activeKey
===
"MULTI_CHOICE"
?
"#
2966FF
"
:
"#CCCCCC"
,
}
}
>

{
" "
}
...
...
@@ -382,7 +382,7 @@ class OperateQuestion extends Component {
<
span
className=
"icon iconfont"
style=
{
{
color
:
activeKey
===
"JUDGE"
?
"#
ffb714
"
:
"#CCCCCC"
,
color
:
activeKey
===
"JUDGE"
?
"#
2966FF
"
:
"#CCCCCC"
,
}
}
>

{
" "
}
...
...
@@ -410,7 +410,7 @@ class OperateQuestion extends Component {
className=
"icon iconfont"
style=
{
{
color
:
activeKey
===
"GAP_FILLING"
?
"#
ffb714
"
:
"#CCCCCC"
,
activeKey
===
"GAP_FILLING"
?
"#
2966FF
"
:
"#CCCCCC"
,
}
}
>

{
" "
}
...
...
@@ -439,7 +439,7 @@ class OperateQuestion extends Component {
style=
{
{
color
:
activeKey
===
"INDEFINITE_CHOICE"
?
"#
ffb714
"
?
"#
2966FF
"
:
"#CCCCCC"
,
}
}
>
...
...
@@ -472,7 +472,7 @@ class OperateQuestion extends Component {
</
TabPane
>
</
Tabs
>
</
div
>
<
div
className=
"footer"
>
<
div
className=
"footer
shrink-footer
"
>
<
Button
onClick=
{
()
=>
{
this
.
handleGoBack
();
...
...
src/modules/teach-tool/question-manage/OperateQuestion.less
View file @
6d486edd
.operate-question-page {
.box {
margin-bottom:
66
px !important;
margin-bottom:
52
px !important;
.ant-tabs {
color: #666666;
}
...
...
@@ -8,13 +8,14 @@
.footer {
position: fixed;
left: 196px;
bottom: 0;
height: 58px;
width:
100%
;
width:
~'calc(100% - 218px)'
;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right:
25
2px;
padding-right:
7
2px;
background: #fff;
border-top: 1px solid #e8e8e8;
z-index: 999;
...
...
src/modules/teach-tool/question-manage/components/OperateQuestionTab.jsx
View file @
6d486edd
/*
* @Author: yuananting
* @Date: 2021-02-25 14:34:29
* @LastEditors:
yuananting
* @LastEditTime: 2021-0
3-29 16:22:15
* @LastEditors:
wufan
* @LastEditTime: 2021-0
5-14 18:17:08
* @Description: 助学工具-题库-操作题目Tab
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -600,7 +600,7 @@ class OperateQuestionTab extends Component {
/>
)
}
<
Tag
style=
{
{
color
:
"#
5289FA
"
,
fontSize
:
14
}
}
style=
{
{
color
:
"#
2966FF
"
,
fontSize
:
14
}
}
onClick=
{
()
=>
{
this
.
addAnswerTag
(
optionItem
);
}
}
...
...
src/modules/teach-tool/question-manage/components/OperateQuestionTab.less
View file @
6d486edd
...
...
@@ -24,7 +24,7 @@
color: #999999;
margin-top: 8px;
.fill-info_icon {
color: #
5289fa
;
color: #
2966FF
;
font-size: 14px;
padding-left: 9px;
cursor: pointer;
...
...
@@ -229,7 +229,7 @@
line-height: 33px;
align-self: stretch;
.option-operate_item__icon:hover {
color: #
ffb714
;
color: #
2966FF
;
}
.icon {
color: #bfbfbf;
...
...
@@ -252,7 +252,7 @@
border-radius: 4px;
border: 1px dashed #e8e8e8;
font-size: 14px;
color: #
5289fa
;
color: #
2966FF
;
line-height: 44px;
text-align: center;
cursor: pointer;
...
...
src/modules/teach-tool/question-manage/components/QuestionEditor.less
View file @
6d486edd
...
...
@@ -26,7 +26,7 @@
}
.editor-fill-info_icon {
color: #
5289fa
!important;
color: #
2966FF
!important;
font-size: 14px;
padding-left: 9px !important;
cursor: pointer;
...
...
@@ -163,7 +163,7 @@
&:hover {
.edtior-media_item__icon {
color: #
ffb714
;
color: #
2966FF
;
}
}
...
...
src/modules/teach-tool/question-manage/components/QuestionList.less
View file @
6d486edd
...
...
@@ -44,7 +44,7 @@
position: relative;
margin-top: 16px;
.empty-list-tip {
color: #
ffb714
;
color: #
2966FF
;
cursor: pointer;
}
.record-name {
...
...
@@ -56,7 +56,7 @@
display: flex;
&__item {
color: #
5289fa
;
color: #
2966FF
;
cursor: pointer;
&.split {
...
...
src/modules/teach-tool/question-manage/modal/BatchImportQuestionModal.jsx
View file @
6d486edd
...
...
@@ -183,11 +183,11 @@ class BatchImportQuestionModal extends Component {
/>
<
p
className=
"status"
>
导入完成
</
p
>
<
p
className=
"status-tip"
>
<
span
style=
{
{
color
:
successCnt
===
0
?
""
:
"#
FF9D14
"
}
}
>
<
span
style=
{
{
color
:
successCnt
===
0
?
""
:
"#
2966FF
"
}
}
>
{
successCnt
}
</
span
>
个题目导入成功,
<
span
style=
{
{
color
:
failCnt
===
0
?
""
:
"#
FF9D14
"
}
}
>
<
span
style=
{
{
color
:
failCnt
===
0
?
""
:
"#
2966FF
"
}
}
>
{
failCnt
}
</
span
>
个题目导入失败。
...
...
src/modules/teach-tool/question-manage/modal/BatchImportQuestionModal.less
View file @
6d486edd
...
...
@@ -63,7 +63,7 @@
}
.down-btn {
text-align: left;
color: #
5289fa
;
color: #
2966FF
;
font-size: 12px;
display: block;
margin-top: 8px;
...
...
src/modules/teach-tool/question-manage/modal/PreviewQuestionModal.less
View file @
6d486edd
...
...
@@ -209,7 +209,6 @@
color: #666666;
.desc-input-box {
margin-bottom: 8px;
display: inline-block;
*:not(p) {
font-weight: normal !important;
font-size: 14px !important;
...
...
@@ -219,7 +218,6 @@
}
}
.desc-picture-box {
display: inline-flex;
margin-bottom: 16px;
.picture-box {
width: 88px;
...
...
src/routes/config/menuList.tsx
View file @
6d486edd
/*
* @Author: yuananting
* @Date: 2021-02-21 15:53:31
* @LastEditors:
wufan
* @LastEditTime: 2021-05-
13 16:40:11
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-05-
30 11:00:09
* @Description: 描述一下咯
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
...
...
@@ -10,13 +10,16 @@ export const menuList: any = [
{
groupName
:
"中心首页"
,
groupCode
:
"CloudPage"
,
icon
:
''
,
link
:
'/home'
icon
:
''
,
link
:
'/home'
,
img
:
'https://image.xiaomaiketang.com/xm/ni3BFJDT3a.png'
,
selectImg
:
'https://image.xiaomaiketang.com/xm/GRDztTAWaM.png'
},
{
groupName
:
"课程管理"
,
groupCode
:
"CloudCourse"
,
icon
:
''
,
icon
:
''
,
img
:
'https://image.xiaomaiketang.com/xm/jBGrGjM7HQ.png'
,
children
:
[
{
groupName
:
"直播课"
,
...
...
@@ -43,19 +46,24 @@ export const menuList: any = [
{
groupName
:
"知识库"
,
groupCode
:
"CloudKnowledge"
,
icon
:
''
,
link
:
'/knowledge-base'
icon
:
''
,
link
:
'/knowledge-base'
,
img
:
'https://image.xiaomaiketang.com/xm/8sbP5rGQWh.png'
,
selectImg
:
'https://image.xiaomaiketang.com/xm/hJKCfibC22.png'
},
{
groupName
:
"资料云盘"
,
groupCode
:
"CloudDisk"
,
icon
:
''
,
link
:
'/resource-disk'
icon
:
''
,
link
:
'/resource-disk'
,
img
:
'https://image.xiaomaiketang.com/xm/zGKbXJPzXx.png'
,
selectImg
:
'https://image.xiaomaiketang.com/xm/5sN4MzjxYc.png'
,
},
{
groupName
:
"培训管理"
,
groupCode
:
"TrainManage"
,
icon
:
''
,
icon
:
''
,
img
:
'https://image.xiaomaiketang.com/xm/Yy6pZ6G6kS.png'
,
children
:
[
{
groupName
:
"培训计划"
,
...
...
@@ -67,7 +75,8 @@ export const menuList: any = [
{
groupName
:
"助学工具"
,
groupCode
:
"AidTool"
,
icon
:
''
,
icon
:
''
,
img
:
'https://image.xiaomaiketang.com/xm/xsma4hx3b3.png'
,
children
:
[
{
groupName
:
"题库"
,
...
...
@@ -89,7 +98,8 @@ export const menuList: any = [
{
groupName
:
"学院管理"
,
groupCode
:
"CloudShop"
,
icon
:
''
,
icon
:
''
,
img
:
'https://image.xiaomaiketang.com/xm/Q8i5RSMKNc.png'
,
children
:
[
{
groupName
:
"学院信息"
,
...
...
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