Commit 30860c79 by guomingpang

style:修改知识库和培训管理部分样式

parents 4f8e1845 ec858e18
......@@ -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
}
......
......@@ -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;
}
}
......
......@@ -6,7 +6,7 @@
margin-bottom: 10px;
}
.bread:hover{
color: #5289FA;
color: #2966FF;
}
}
......
......@@ -16,7 +16,7 @@
.managing-right{
float: right;
color: #5289FA;
color: #2966FF;
cursor: pointer;
.tool-tip-right{
margin-right: 4px;
......
......@@ -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;
}
}
......
......@@ -109,7 +109,7 @@
margin-top: 40px;
.content {
color: #FF7519;
color: #2966FF;
cursor: pointer;
}
}
......
.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 {
......
......@@ -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}`}
>
......
......@@ -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;
......
/*
* @Author: 吴文洁
* @Date: 2020-08-31 09:34:31
* @LastEditors: zhangleyuan
* @LastEditTime: 2021-04-27 16:59:07
* @LastEditors: wufan
* @LastEditTime: 2021-05-27 10:42:12
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
import qs from 'qs';
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosPromise, AxiosError } from 'axios';
import { message } from 'antd';
......
@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;
......
......@@ -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;
}
}
}
......
......@@ -3,7 +3,7 @@
.multiple-calendar {
width: 295px;
border: 1px solid #e8e8e8;
border-radius: 4px;
border-radius: 2px;
ul {
list-style: none;
}
......@@ -22,7 +22,7 @@
cursor: default;
&:hover {
background: #FFFFFF;
border-radius: 4px;
border-radius: 2px;
}
}
.self {
......@@ -55,8 +55,8 @@
cursor: pointer;
vertical-align: top;
&:hover {
background: rgba(255, 183, 20,.2);
border-radius:4px;
background: rgba(41, 102, 255, .1);
border-radius:2px;
}
&.before-disabled {
color: #e8e8e8;
......@@ -81,11 +81,11 @@
&.active {
background: @xm-color-primary;
color: #fff;
border-radius: 4px;
border-radius: 2px;
}
&.today {
border: 1px solid @xm-color-primary;
border-radius: 5px;
border-radius: 2px;
}
}
}
......@@ -151,7 +151,7 @@
border-radius: none;
span {
background: @xm-color-primary;
border-radius: 4px;
border-radius: 2px;
}
&:hover {
span {
......@@ -164,13 +164,13 @@
border-radius: none;
span {
border: 1px solid @xm-color-primary;
border-radius: 5px;
border-radius: 2px;
}
}
&.past {
span {
background:rgba(255,133,52,0.1);
border-radius: 4px;
border-radius: 2px;
color:rgba(0,0,0,0.25);
}
}
......
.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 {
......
......@@ -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);
}
......
......@@ -6,7 +6,7 @@
*/
@import './variables.less';
@active-color: #2966ff;
@active-color: #2966FF;
// 消息提示框
.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: #2966ff !important;
background: #2966FF !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 #2966ff !important;
border: 1px solid #2966FF !important;
}
}
}
......@@ -453,8 +457,8 @@ mr0 {
.ant-calendar-footer-extra {
.ant-tag-blue {
background: #fff;
color: #2966ff;
border-color: #2966ff;
color: #2966FF;
border-color: #2966FF;
}
}
}
......@@ -470,7 +474,7 @@ mr0 {
}
.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {
color: #2966ff !important;
color: #2966FF!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: #2966ff;
>.confirm-icon{
color: #2966FF;
}
.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: #2966ff !important;
background-color: #2966FF !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;
}
......@@ -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;
}
......
......@@ -7,26 +7,25 @@
left: 0px;
right: 0;
bottom: 0;
z-index: 101;
background-color: #f0f2f5;
z-index:3;
background-color: #fff;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100%;
.page {
position: fixed;
top: 50px;
top: 60px;
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 16px;
// margin-bottom: 8px;
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 {
......
@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;
......
<!--
* @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.
......
......@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-08-24 12:20:57
* @LastEditors: wufan
* @LastEditTime: 2021-05-26 17:25:14
* @LastEditTime: 2021-05-27 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.
......
......@@ -272,7 +272,7 @@ function EmployeeManage() {
display: "flex",
alignItems: "center",
justifyContent: "flex-start",
padding: "0px 0 16px",
padding: "0px 0 4px",
}}
>
<div>
......
......@@ -2,13 +2,12 @@
.box-header {
display: flex;
width: calc(100% - 80px);
margin-bottom: 16px;
margin-bottom: 4px;
.header-item {
width: 30%;
margin-right: 3%;
display: flex;
.item-name {
width: 80px;
flex-shrink: 0;
}
}
......
......@@ -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>
);
......
......@@ -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;
}
}
......
......@@ -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;
}
}
}
......
......@@ -58,6 +58,7 @@ export default function ExaminationManager(props: any) {
onPopupScroll={handleScrollTeacherList}
suffixIcon={<span className="icon iconfont" style={{ fontSize: '12px', color: '#BFBFBF' }}>&#xe835;</span>}
value={props.val || null}
filterOption={(input: any, option: any) => option}
onChange={(value) => {
props.onChange(value)
}}
......
......@@ -27,7 +27,7 @@ import _ from "underscore";
import $ from 'jquery';
import './AddLive.less';
const defaultCover = 'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png';
const defaultCover = 'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.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>
......
.add-live-page {
position:relative !important;
.box {
margin-bottom: 66px !important;
margin-bottom: 52px !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: 252px;
padding-right: 72px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 9999;
......
......@@ -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;
......
......@@ -17,7 +17,7 @@ import Upload from '@/core/upload';
import './AddLiveBasic.less';
const defaultCover = 'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png';
const defaultCover = 'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png';
const fieldNames = { label: 'categoryName', value: 'id', children: 'sonCategoryList' };
let cutFlag = false;
let timer = null
......
......@@ -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;
......
......@@ -185,7 +185,7 @@
.select-day {
margin-bottom: 4px;
.mark-day {
color: #5289FA;
color: #2966FF;
}
}
}
......
......@@ -136,7 +136,7 @@
}
.checkExample {
width: 60px;
color: #5289FA;
color: #2966FF;
cursor: pointer;
}
.warmup {
......
......@@ -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() {
......
......@@ -32,7 +32,7 @@ const courseStateShow = {
UN_START: {
code: 1,
title: "待开课",
color: "#FFB714",
color: "#FFB129",
},
STARTING: {
code: 2,
......@@ -166,7 +166,7 @@ class LiveCourseList extends React.Component {
})
}
{ !hasCover &&
<img className="course-cover" src={'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'} />
<img className="course-cover" src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.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'}}>&#xe61d;</i></Tooltip>
<Tooltip title={<div>开启后,学员可在学院内查看到此课程。若课程“未成功开课”,则系统会自动“关闭”学院展示。<br/>关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。</div>}><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px',fontWeight:'normal'}}>&#xe61d;</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" }}
>
&#xe824;
</span>
......@@ -400,7 +400,7 @@ class LiveCourseList extends React.Component {
})
}
{ !hasCover &&
<img className="course-cover" src={'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'} />
<img className="course-cover" src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png'} />
}
<div>
{ record.courseName.length > 17?
......
......@@ -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 {
......
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:07:47
* @LastEditors: zhangleyuan
* @LastEditTime: 2021-05-10 10:15:31
* @LastEditors: wufan
* @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>
......
.add-video-course-page {
.add-graphics-course-page {
position:relative !important;
.box{
margin-bottom:66px !important;
margin-bottom:52px !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: 252px;
padding-right: 72px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
......
/*
* @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'}}>&#xe61d;</i></Tooltip>
<Tooltip title={<div>开启后,学员可在学院内查看到此课程。<br/>关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。</div>}><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px',fontWeight:'normal'}}>&#xe61d;</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" }}
>
&#xe824;
</span>
......
......@@ -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 {
......
......@@ -284,7 +284,7 @@ class ManageCoursewareModal extends React.Component {
onCancel={() => { }}
>
<span style={{
color: '#5289FA',
color: '#2966FF',
cursor: 'pointer'
}}>删除</span>
</Popconfirm>
......
......@@ -60,7 +60,7 @@
}
&:hover {
.name {
color: #FFB714;
color: #2966FF;
}
}
}
......
......@@ -27,7 +27,7 @@ class PreviewGraphicsModal extends React.Component {
footer={null}
maskClosable={false}
closeIcon={<span className="icon iconfont modal-close-icon">&#xe6ef;</span>}
className="preview-live-graphics-modal"
className="preview-graphics-modal"
>
<div className="container__wrap">
<div className="container">
......
.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%);
}
......
......@@ -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;
}
......
......@@ -131,7 +131,7 @@
margin-bottom: 40px;
.content {
color:rgba(82, 137, 250, 1);
color:#2966FF;
cursor: pointer;
}
}
......
......@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2020-08-05 10:07:47
* @LastEditors: wufan
* @LastEditTime: 2021-05-25 20:00:18
* @LastEditTime: 2021-05-27 19:25:48
* @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: '小时' },
......
.add-offline-course-page {
position:relative !important;
.box{
margin-bottom:66px !important;
margin-bottom:52px !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: 252px;
padding-right: 72px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
......
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:12:45
* @LastEditors: zhangleyuan
* @LastEditTime: 2021-03-27 16:24:47
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-05-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'}}>&#xe61d;</i></Tooltip>
<Tooltip title={<div>开启后,学员可在学院内查看到此课程。若课程“取消”,则系统会自动“关闭”学院展示。<br/>关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。</div>}><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px',fontWeight:'normal'}}>&#xe61d;</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" }}
>
&#xe824;
</span>
......
......@@ -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 {
......
......@@ -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">&#xe6ef;</span>}
className="preview-live-graphics-modal"
className="preview-offline-modal"
>
<div className="container__wrap">
<div className="container">
......
.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;
......
/*
* @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)}>
......
.add-video-course-page {
position:relative !important;
.box{
margin-bottom:66px !important;
margin-bottom:52px !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: 252px;
padding-right: 72px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 999;
......
/*
* @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' }}>
&#xe61d;
</i>
</Tooltip>
</span>
),
<Tooltip title={<div>开启后,学员可在学院内查看到此课程。<br/>关闭后,学院内不再展示此课程,但学员仍可通过分享的海报/链接查看此课程。</div>}><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px',fontWeight:'normal'}}>&#xe61d;</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" }}
>
&#xe824;
</span>
</span>
......
......@@ -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 {
......
......@@ -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('#FFB714').tooltip('time*studyTime', function( time, studyTime){
this._chart.line().position('time*studyTime').color('#FFBB54').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', ['#FDB513', '#5289FA']]}
color={['item', ['#FFBB54', '#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">
......
.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: 12px;
font-size: 14px;
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: 16px;
font-size: 14px;
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: 16px;
font-size: 14px;
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%;
......
......@@ -12,7 +12,7 @@ const ENUM = {
UN_START: {
code: 1,
title: "待开课",
color: "#FFB714",
color: "#2966FF",
},
STARTING: {
code: 2,
......
......@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-19 18:05:23
* @LastEditors: yuananting
* @LastEditTime: 2021-04-15 21:46:41
* @LastEditors: wufan
* @LastEditTime: 2021-05-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">&#xe832;</span>}
style={{width: 230}}
/>
<div className="sider-btn">
<Button
......
......@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-19 18:16:58
* @LastEditors: zangsuyun
* @LastEditTime: 2021-03-25 19:13:06
* @LastEditors: wufan
* @LastEditTime: 2021-05-30 10:19:47
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -25,14 +25,14 @@
}
.sider-tree {
width: 266px;
width: 244px;
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: 260px;
width: 234px;
.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);
}
}
}
......
......@@ -3,7 +3,7 @@
* @Author: zangsuyun
* @Date: 2021-03-12 14:49:40
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-30 18:31:24
* @LastEditTime: 2021-05-30 18:36:45
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -202,7 +202,7 @@ class KnowledgeBaseList extends React.Component {
return <img className='course-cover' key={index} src={item.mediaUrl} />
}
})}
{!hasCover && <img className='course-cover' src={"https://image.xiaomaiketang.com/xm/YNfi45JwFA.png"} />}
{!hasCover && <img className='course-cover' src={"https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png"} />}
<div>
{val.length > 17 ? (
<Tooltip title={val}>
......@@ -308,7 +308,7 @@ class KnowledgeBaseList extends React.Component {
{type === "PICTURE" && (
<div className='record__item'>
<img className='course-cover' src={coverUrl || "https://image.xiaomaiketang.com/xm/YNfi45JwFA.png"} />
<img className='course-cover' src={coverUrl || "https://image.xiaomaiketang.com/xm/wFnpZtp2yB.png"} />
{val.length > 25 ? (
<Tooltip title={val}>
<div className='course-name clamp'>{val}</div>
......
......@@ -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 {
......
......@@ -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">
......
/*
* @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} />
{/* 操作模块 */}
......
......@@ -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"
}}
>
&#xe61d;
</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"
}}
>
&#xe61d;
</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"
}}
>
&#xe61d;
</i>
</Tooltip>
......
......@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 14:38:49
* @LastEditors: zangsuyun
* @LastEditTime: 2021-03-16 15:20:51
* @LastEditors: wufan
* @LastEditTime: 2021-05-30 10:08:02
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -22,7 +22,7 @@ const courseStateShow = {
UN_START: {
code: 1,
title: "待开课",
color: "#FFB714",
color: "#FFB129",
},
STARTING: {
code: 2,
......@@ -107,6 +107,7 @@ class LiveList extends React.Component {
cursor: "pointer",
color: "#bfbfbf",
fontSize: "14px",
fontWeight:"400"
}}
>
&#xe61d;
......
......@@ -71,13 +71,13 @@
}
.courseware {
font-size: 14px;
color: #2966ff;
color: #2966FF;
line-height: 20px;
text-align: right;
cursor: pointer;
}
.quota-icon {
color: #2966ff;
color: #2966FF;
cursor: pointer;
}
.operate {
......@@ -85,7 +85,7 @@
align-items: center;
flex-wrap: wrap;
.operate__item {
color: #2966ff;
color: #2966FF;
cursor: pointer;
&.split {
margin: 0 8px;
......@@ -94,7 +94,7 @@
}
}
.operate-text {
color: #2966ff;
color: #2966FF;
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;
......
......@@ -2,8 +2,8 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 11:48:24
* @LastEditors: zangsuyun
* @LastEditTime: 2021-04-01 11:58:46
* @LastEditors: wufan
* @LastEditTime: 2021-05-30 10:08:09
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -105,6 +105,7 @@ class VideoList extends React.Component {
cursor: "pointer",
color: "#bfbfbf",
fontSize: "14px",
fontWeight:"400"
}}
>
&#xe61d;
......
.personal-info-page{
.box{
padding: 60px 60px 60px 40px !important;
padding: 24px 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
/*
* @Author: zhangleyuan
* @Date: 2020-11-27 15:06:31
* @LastEditors: zangsuyun
* @LastEditTime: 2021-03-22 13:55:24
* @LastEditors: wufan
* @LastEditTime: 2021-05-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={() => {
......
/*
* @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}>
保存
......
.add-plan-page {
position:relative !important;
.box {
margin-bottom: 66px !important;
margin-bottom: 52px !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: 252px;
padding-right: 72px;
background: #fff;
border-top: 1px solid #E8E8E8;
z-index: 9999;
......
......@@ -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) {
......
......@@ -7,7 +7,7 @@
font-weight:normal;
}
.plan-info{
margin:16px;
margin-bottom:8px;
padding:16px;
background: #FFF;
display:flex;
......
......@@ -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;
......
......@@ -134,18 +134,18 @@ class EmployeeShareData extends React.Component {
)
}
},
{
title: '手机号',
key: 'storeUserPhone',
dataIndex: 'storeUserPhone',
render: (val, record) => {
return (
<div>
{val}
</div>
)
}
},
// {
// title: '手机号',
// key: 'storeUserPhone',
// dataIndex: 'storeUserPhone',
// render: (val, record) => {
// return (
// <div>
// {val}
// </div>
// )
// }
// },
{
title: '最近分享成功时间',
key: 'recentlyForwardTime',
......
......@@ -4,7 +4,7 @@
}
.operate-item{
font-size:14px;
color:#5289FA;
color:#2966FF;
cursor: pointer;
}
.learn-num{
......
......@@ -2,7 +2,7 @@
* @Author: zhangleyuan
* @Date: 2021-02-20 16:46:46
* @LastEditors: wufan
* @LastEditTime: 2021-05-13 16:36:43
* @LastEditTime: 2021-05-14 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" }}
>
&#xe824;
</span>
......
......@@ -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 {
......
......@@ -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;
......
......@@ -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' }}>
&#xe61d;
</i>
</Tooltip>
</span>
),
<Tooltip title="培训计划的分享者/跟进人"><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px',fontWeight:"400"}}>&#xe61d;</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' }}>
&#xe61d;
</i>
</Tooltip>
</span>
),
<Tooltip title="学员培训计划中达到“已完成”状态的课程数/总课程数"><i className="icon iconfont" style={{ marginLeft: '5px',cursor:'pointer',color:'#bfbfbf',fontSize:'14px', fontWeight:"400"}}>&#xe61d;</i></Tooltip>
</span>,
key: 'learnNum',
dataIndex: 'learnNum',
width: 130,
......
......@@ -15,7 +15,7 @@
margin-bottom: 12px;
.label{
font-size:14px;
color:#666;
color:#333;
vertical-align: middle;
width:70px;
text-align:right;
......
......@@ -131,7 +131,7 @@
margin-bottom: 40px;
.content {
color:rgba(82, 137, 250, 1);
color:#2966FF;
cursor: pointer;
}
}
......
......@@ -17,7 +17,7 @@ const courseStateShow = {
UN_START: {
code: 1,
title: "待开课",
color: "#FFB714"
color: "#FFB129"
},
STARTING: {
code: 2,
......@@ -291,7 +291,7 @@ class SelectOperatorModal extends React.Component {
<span>
<span>课程信息</span>
<Tooltip title='仅显示未关联课程,已关联课程不支持重复选择'>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px" }}>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px", fontWeight: "400" }}>
&#xe61d;
</i>
</Tooltip>
......@@ -376,7 +376,7 @@ class SelectOperatorModal extends React.Component {
<span>
<span>课程信息</span>
<Tooltip title='仅显示未关联课程,已关联课程不支持重复选择'>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px" }}>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px", fontWeight: "400" }}>
&#xe61d;
</i>
</Tooltip>
......@@ -445,7 +445,7 @@ class SelectOperatorModal extends React.Component {
<span>
<span>课程信息</span>
<Tooltip title='仅显示未关联课程,已关联课程不支持重复选择'>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px" }}>
<i className='icon iconfont' style={{ marginLeft: "5px", cursor: "pointer", color: "#bfbfbf", fontSize: "14px", fontWeight: "400" }}>
&#xe61d;
</i>
</Tooltip>
......
......@@ -2,29 +2,6 @@
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
font-weight: 500;
}
// .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;
}
......
......@@ -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;
......
......@@ -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;
}
}
......
......@@ -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;
......
/*
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @LastEditors: wufan
* @LastEditTime: 2021-03-26 16:13:48
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-05-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>
)
}
......
......@@ -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;
}
}
}
......
......@@ -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"/>
......
.college-manage-page {
.breadcrumb-wrap {
margin-left: 57px;
}
.create-box {
padding-top: 108px;
margin: 0 auto;
......
......@@ -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}
>
&#xe83d;
</span>
) : (
<span
className="icon iconfont cursor ml20 handLike"
onClick={handleMenu}
>
&#xe615;
</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">&#xe85d;</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">&#xe85e;</span>
<div className="text">分享学院</div>
<span className="text">分享学院</span>
</span>
</div>
</div>
<Dropdown overlay={userMenu()} arrow>
......
@import "../../core/variables.less";
@top-height: 50px;
@top-height: 60px;
@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: 36px;
margin-left: 8px;
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;
}
}
}
......
......@@ -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) => {
......
......@@ -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: 24px;
padding: 40px;
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: 11px;
margin-top: 24px;
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;
}
}
}
......
......@@ -4,7 +4,7 @@
@import '../../core/global.less';
@import '../../core/filter.less';
@top-height: 50px;
@top-height: 60px;
.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;
}
}
......
@import '../../core/variables.less';
@top-height: 50px;
@menu-bakg: #2B2E37;
@active-color: #FFB714;
@top-height: 60px;
@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;
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment