Commit 8d29826f by guomingpang

feat:外部课程相关模块提交

parent 83cbc02d
#ignore obj and lib file
dist
rev
node_modules
coverage
*/vendor.js
*/vendor.*.*
*/vendor-manifest.json
coverage
npm-shrinkwrap.json
### OSX template
.DS_Store
node_modules/
dist/
npm-debug.log
\ No newline at end of file
.AppleDouble
.LSOverride
yarn.lock
yarn-error.lock
# IntelliJ project files
.idea
*.iml
out
gen
### Sass template
.sass-cache/
*.css.map
### Vim template
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags
### SublimeText template
# cache files for sublime text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# workspace files are user-specific
*.sublime-workspace
# project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using SublimeText
# *.sublime-project
# sftp configuration file
sftp-config.json
npm-debug.log
*.zip
build/vendor.js.map
package-lock.json
.vscode/*
demo.js
debug.log
......@@ -36,7 +36,7 @@
"case-sensitive-paths-webpack-plugin": "2.3.0",
"classnames": "^2.2.6",
"cropper": "^3.1.4",
"cross-env": "^7.0.2",
"cross-env": "^7.0.3",
"css-loader": "3.4.2",
"dom-to-image": "^2.6.0",
"dotenv": "8.2.0",
......
@import '../core/variables.less';
@import "../core/variables.less";
.xm-breadCrumb{
.xm-breadCrumb {
margin-left: 16px;
color: #989898;
margin-top:10px;
margin-top: 10px;
margin-bottom: 10px;
+.statistic-tips{
+ .statistic-tips {
position: relative;
top: -8px;
margin-bottom: 0px !important;
......@@ -20,26 +20,25 @@
font-size: @xm-font-size-m;
line-height: 25px;
}
.ant-breadcrumb{
.ant-breadcrumb {
display: inline-block;
span{
span {
color: #333;
font-weight: 400;
}
}
.divide{
.divide {
display: inline-block;
position: relative;
height: 12px;
width: 25px;
&:after{
content:'';
&:after {
content: "";
position: absolute;
left: 12px;
height: 16px;
top: 0px;
border-left:1px solid #989898;
border-left: 1px solid #989898;
}
}
}
\ No newline at end of file
}
/*
* @Description:
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 10:57:14
* @LastEditors: zangsuyun
* @LastEditTime: 2021-03-13 17:16:44
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-24 22:10:50
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
import PropTypes from 'prop-types';
import PropTypes from 'prop-types'
import React from 'react'
// import { Modal } from 'antd';
import './TableSelectedData.less';
import './TableSelectedData.less'
class TableSelectedData extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className={this.props.className+' selected-data-box'}>
<span className="icon iconfont">&#xe61d;</span>
<span className="selected-text">{'已选择'+this.props.selectedNum+'项'}</span>
<span className="click-clear" onClick={this.props.clearSelectedData}>清空</span>
<div className={this.props.className + ' selected-data-box'}>
<span className='icon iconfont'>&#xe61d;</span>
<span className='selected-text'>{'已选择' + this.props.selectedNum + '项'}</span>
<span className='click-clear' onClick={this.props.clearSelectedData}>
清空
</span>
</div>
)
}
}
TableSelectedData.propTypes = {
className: PropTypes.string, // class
selectedNum: PropTypes.number, // 已选择人数
clearSelectedData: PropTypes.func, // 取消全部选择
};
className: PropTypes.string, // class
selectedNum: PropTypes.number, // 已选择人数
clearSelectedData: PropTypes.func // 取消全部选择
}
TableSelectedData.defaultProps = {
className: '',
selectedNum: 0,
clearSelectedData: function () {
}
clearSelectedData: function () {}
}
export default TableSelectedData
\ No newline at end of file
export default TableSelectedData
......@@ -8,7 +8,7 @@
right: 0;
bottom: 0;
z-index: 101;
background-color: #F0F2F5;
background-color: #f0f2f5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
.page {
......@@ -19,14 +19,14 @@
bottom: 0;
z-index: 102;
overflow: auto;
.box{
&:first-child{
.box {
&:first-child {
margin-bottom: 8px;
}
&+.box{
margin: 8px 16px;
& + .box {
margin: 8px 16px;
}
&:last-child{
&:last-child {
margin-bottom: 16px;
}
}
......@@ -42,38 +42,40 @@
animation: all 0.75;
padding-bottom: 16px;
}
.content-sub-header{
.content-sub-header {
padding: 0px 16px 0;
line-height: 30px;
}
.content-header {
padding: 10px 16px;
padding: 16px 16px;
line-height: 30px;
background: #fff;
margin: 16px 16px 0;
font-size: 24px;
color: #333;
font-weight: 500;
h1 {
font-size: 14px;
color: #898989;
font-weight: normal;
display: inline-block;
}
}
.box{
.box {
padding: 16px;
margin: 0 16px 16px;
margin-bottom: 8px;
margin: 0 16px;
background: #ffffff;
// min-height: 400px;
.box-header {
line-height: 30px;
padding-bottom: 12px;
&.searchOnly{
&.searchOnly {
padding-bottom: 0px;
}
.filter-row {
min-height: 30px;
margin-bottom: 10px;
>* {
> * {
float: left;
margin-left: 16px;
height: 40px;
......@@ -89,16 +91,12 @@
.box-footer {
margin-top: 16px;
}
&:first-child{
&:first-child {
margin-bottom: 8px;
}
&+.box{
margin: 8px 16px;
}
&:last-child{
margin-bottom: 13px;
& + .box {
margin: 8px 16px;
}
}
// .ant-calendar-picker{
// top:-1px;
......@@ -108,26 +106,25 @@
.box-header {
.ant-row-flex {
padding-top: 2px;
>div:nth-child(1) {
> div:nth-child(1) {
display: flex;
flex-wrap: wrap;
align-items:space-between;
align-items: space-between;
.flex(1);
>*{
> * {
flex-basis: 30%;
margin-right: 3%;
margin-bottom: 16px;
}
}
&.lastRow{
>div:nth-child(1) {
>*{
&.lastRow {
> div:nth-child(1) {
> * {
margin-bottom: 0px;
}
}
}
}
}
}
.full-screen-page {
......@@ -139,5 +136,5 @@
bottom: 0;
right: 0;
user-select: none;
background-color: #F0F2F5;
background-color: #f0f2f5;
}
/*
* @Author: yuananting
* @Date: 2021-03-03 15:13:12
* @LastEditors: yuananting
* @LastEditTime: 2021-04-13 13:58:40
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-25 10:07:03
* @Description: 助学工具接口
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import Service from "@/common/js/service";
import Service from '@/common/js/service'
export function queryExternalCategoryTree(params: object) {
return Service.Hades('public/externalHades/queryCategoryTree', params)
}
export function queryCategoryTree(params: object) {
return Service.Hades("public/hades/queryCategoryTree", params);
return Service.Hades('public/hades/queryCategoryTree', params)
}
export function addCategory(params: object) {
return Service.Hades("public/hades/addCategory", params);
return Service.Hades('public/hades/addCategory', params)
}
export function delCategory(params: object) {
return Service.Hades("public/hades/delCategory", params);
return Service.Hades('public/hades/delCategory', params)
}
export function editCategory(params: object) {
return Service.Hades("public/hades/editCategory", params);
return Service.Hades('public/hades/editCategory', params)
}
export function editCategoryTree(params: object) {
return Service.Hades("public/hades/editCategoryTree", params);
return Service.Hades('public/hades/editCategoryTree', params)
}
export function queryQuestionPageList(params: object) {
return Service.Hades("public/hades/queryQuestionPageList", params);
return Service.Hades('public/hades/queryQuestionPageList', params)
}
export function addQuestion(params: object) {
return Service.Hades("public/hades/addQuestion", params);
return Service.Hades('public/hades/addQuestion', params)
}
export function deleteQuestion(params: object) {
return Service.Hades("public/hades/deleteQuestion", params);
return Service.Hades('public/hades/deleteQuestion', params)
}
export function queryQuestionDetails(params: object) {
return Service.Hades("public/hades/queryQuestionDetails", params);
return Service.Hades('public/hades/queryQuestionDetails', params)
}
export function editQuestion(params: object) {
return Service.Hades("public/hades/editQuestion", params);
return Service.Hades('public/hades/editQuestion', params)
}
export function batchImport(params: object) {
return Service.Hades("public/hades/batchImport", params);
return Service.Hades('public/hades/batchImport', params)
}
export function createPaper(params: object) {
return Service.Hades("public/hades/createPaper", params);
return Service.Hades('public/hades/createPaper', params)
}
export function queryPaperPageList(params: object) {
return Service.Hades("public/hades/queryPaperPageList", params);
return Service.Hades('public/hades/queryPaperPageList', params)
}
export function deletePaper(params: object) {
return Service.Hades("public/hades/deletePaper", params);
return Service.Hades('public/hades/deletePaper', params)
}
export function queryPaperDetail(params: object) {
return Service.Hades("public/hades/queryPaperDetail", params);
return Service.Hades('public/hades/queryPaperDetail', params)
}
export function viewPaper(params: object) {
return Service.Hades("public/hades/viewPaper", params);
return Service.Hades('public/hades/viewPaper', params)
}
export function editPaper(params: object) {
return Service.Hades("public/hades/editPaper", params);
return Service.Hades('public/hades/editPaper', params)
}
export function batchQueryQuestionDetails(params: object) {
return Service.Hades("public/hades/batchQueryQuestionDetails", params);
return Service.Hades('public/hades/batchQueryQuestionDetails', params)
}
export function queryQuestionPageListWithContent(params: object) {
return Service.Hades("public/hades/queryQuestionPageListWithContent", params);
}
\ No newline at end of file
return Service.Hades('public/hades/queryQuestionPageListWithContent', params)
}
/*
* @Author: yuananting
* @Date: 2021-03-11 11:34:37
* @LastEditors: yuananting
* @LastEditTime: 2021-04-13 13:58:11
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-24 23:44:39
* @Description: 助学工具接口
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import {
queryCategoryTree,
addCategory,
delCategory,
editCategory,
editCategoryTree,
addQuestion,
queryQuestionPageList,
deleteQuestion,
queryQuestionDetails,
editQuestion,
batchImport,
createPaper,
queryPaperPageList,
deletePaper,
queryPaperDetail,
viewPaper,
import {
queryExternalCategoryTree,
queryCategoryTree,
addCategory,
delCategory,
editCategory,
editCategoryTree,
addQuestion,
queryQuestionPageList,
deleteQuestion,
queryQuestionDetails,
editQuestion,
batchImport,
createPaper,
queryPaperPageList,
deletePaper,
queryPaperDetail,
viewPaper,
editPaper,
batchQueryQuestionDetails,
queryQuestionPageListWithContent,
} from '@/data-source/aidTool/request-apis';
queryQuestionPageListWithContent
} from '@/data-source/aidTool/request-apis'
export default class AidToolService {
// 获取题目分类树
/**
* 查询运营端分类书
* @param parmas
* @returns
*/
static queryExternalCategoryTree(parmas: any) {
return queryExternalCategoryTree(parmas)
}
// 获取题目分类树
static queryCategoryTree(params: any) {
return queryCategoryTree(params);
return queryCategoryTree(params)
}
// 新增题目分类
static addCategory(params: any) {
return addCategory(params);
return addCategory(params)
}
// 删除分类
static delCategory(params: any) {
return delCategory(params);
return delCategory(params)
}
// 编辑分类
static editCategory(params: any) {
return editCategory(params);
return editCategory(params)
}
// 编辑分类树(拖拽)
static editCategoryTree(params: any) {
return editCategoryTree(params);
return editCategoryTree(params)
}
// 查询题目列表
static queryQuestionPageList(params: any) {
return queryQuestionPageList(params);
return queryQuestionPageList(params)
}
// 添加题目
static addQuestion(params: any) {
return addQuestion(params);
return addQuestion(params)
}
// 删除题目
static deleteQuestion(params: any) {
return deleteQuestion(params);
return deleteQuestion(params)
}
// 预览题目
static queryQuestionDetails(params: any) {
return queryQuestionDetails(params);
return queryQuestionDetails(params)
}
// 编辑题目
static editQuestion(params: any) {
return editQuestion(params);
return editQuestion(params)
}
// 批量导入
static batchImport(params: any) {
return batchImport(params);
return batchImport(params)
}
// 创建试卷
static createPaper(params: any) {
return createPaper(params);
return createPaper(params)
}
// 查询试卷列表
static queryPaperPageList(params: any) {
return queryPaperPageList(params);
return queryPaperPageList(params)
}
// 删除试卷
static deletePaper(params: any) {
return deletePaper(params);
return deletePaper(params)
}
// 编辑前查询试卷信息
static queryPaperDetail(params: any) {
return queryPaperDetail(params);
return queryPaperDetail(params)
}
// 预览试卷
static viewPaper(params: any) {
return viewPaper(params);
return viewPaper(params)
}
// 编辑试卷
static editPaper(params: any) {
return editPaper(params);
return editPaper(params)
}
// 操作试卷-预览查询多题目信息
static batchQueryQuestionDetails(params: any) {
return batchQueryQuestionDetails(params);
return batchQueryQuestionDetails(params)
}
// 操作试卷-选择题目列表带题目详情
static queryQuestionPageListWithContent(params: any) {
return queryQuestionPageListWithContent(params);
return queryQuestionPageListWithContent(params)
}
}
\ No newline at end of file
}
.video-course-list {
margin-top: 12px;
.video-list-table{
.video-list-table {
tbody {
tr{
&:nth-child(even){
tr {
&:nth-child(even) {
background: transparent !important;
td{
background:#FFF !important;
td {
background: #fff !important;
}
}
&:nth-child(odd){
background: #FAFAFA !important;
td{
background: #FAFAFA !important;
&:nth-child(odd) {
background: #fafafa !important;
td {
background: #fafafa !important;
}
}
&:hover{
td{
background:#F3f6fa !important;
&:hover {
td {
background: #f3f6fa !important;
}
}
}
}
}
.watchUserCount{
text-align:right;
padding:16px;
.watchUserCount {
text-align: right;
padding: 16px;
}
.operate-text {
color: #5289FA;
color: #5289fa;
cursor: pointer;
}
.operate {
display: flex;
&__item {
color: #5289FA;
color: #5289fa;
cursor: pointer;
&.split {
margin: 0 8px;
color: #BFBFBF;
color: #bfbfbf;
}
}
}
.more-operate{
line-height:20px;
.more-operate {
line-height: 20px;
}
.record__item {
display: flex;
......@@ -61,16 +61,16 @@
.course-name {
color: #666;
width:188px;
width: 188px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
height:48px;
height: 48px;
}
}
.related-task{
.related-task {
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
......@@ -93,4 +93,4 @@
background: #f3f6fa;
}
}
}
\ No newline at end of file
}
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:08:06
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-26 15:56:49
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-25 12:00:56
* @Description: 云课堂-视频课入口页面
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
import React from 'react';
import VideoCourseFilter from './components/VideoCourseFilter';
import VideoCourseOpt from './components/VieoCourseOpt';
import VideoCourseList from './components/VideoCourseList';
import CourseService from "@/domains/course-domain/CourseService";
import React from 'react'
import { Tabs } from 'antd'
import VideoCourseFilter from './components/VideoCourseFilter'
import VideoCourseOpt from './components/VieoCourseOpt'
import VideoCourseList from './components/VideoCourseList'
import CourseService from '@/domains/course-domain/CourseService'
import User from '@/common/js/user'
const { TabPane } = Tabs
class VideoCourse extends React.Component {
constructor(props) {
super(props);
super(props)
this.state = {
query: {
size: 10,
current: 1,
storeId:User.getStoreId()
storeId: User.getStoreId()
},
dataSource: [], // 视频课列表
totalCount: 0, // 视频课数据总条数
dataSource: [], // 视频课列表
totalCount: 0, // 视频课数据总条数
currentTabKey: 'internal'
}
}
componentWillMount() {
// 获取视频课列表
this.handleFetchScheduleList();
this.handleFetchScheduleList()
}
// 获取视频课列表
handleFetchScheduleList = (_query = {}) => {
const { currentTabKey } = this.state
const query = {
...this.state.query,
..._query
};
..._query,
courseDivision: currentTabKey === 'external' ? 1 : null
}
// 更新请求参数
this.setState({ query });
this.setState({ query })
CourseService.videoSchedulePage(query).then((res) => {
const { result = {} } = res || {};
const { records = [], total = 0 } = result;
const { result = {} } = res || {}
const { records = [], total = 0 } = result
this.setState({
dataSource: records,
totalCount: Number(total)
});
});
})
})
}
currenTabChange = (currentTabKey) => {
this.setState(
{
currentTabKey
},
() => {
this.handleFetchScheduleList()
}
)
}
render() {
const { dataSource, totalCount, query } = this.state;
const { dataSource, totalCount, query, currentTabKey } = this.state
return (
<div className="page video-course-page">
<div className="content-header">视频课</div>
<div className='page video-course-page'>
<div className='content-header'>视频课</div>
<div className="box">
{/* 搜索模块 */}
<VideoCourseFilter
onChange={this.handleFetchScheduleList}
/>
<div className='box'>
<Tabs onChange={this.currenTabChange} activeKey={currentTabKey}>
<TabPane key='internal' tab='内部课程'></TabPane>
<TabPane key='external' tab='外部课程'></TabPane>
</Tabs>
{/* 搜索模块 */}
<VideoCourseFilter currentTabKey={currentTabKey} onChange={this.handleFetchScheduleList} />
{/* 操作模块 */}
<VideoCourseOpt />
<If condition={currentTabKey === 'internal'}>
<VideoCourseOpt />
</If>
{/* 视频课列表模块 */}
<VideoCourseList
query={query}
dataSource={dataSource}
totalCount={totalCount}
onChange={this.handleFetchScheduleList}
/>
<VideoCourseList type={currentTabKey} query={query} dataSource={dataSource} totalCount={totalCount} onChange={this.handleFetchScheduleList} />
</div>
</div>
)
}
}
export default VideoCourse;
export default VideoCourse
......@@ -125,42 +125,10 @@
}
}
.add-course-modal {
.ant-tabs-top > .ant-tabs-nav::before {
border-bottom: 0px;
}
.ant-tabs-nav-list {
margin: 0 auto;
flex:none !important
}
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
font-weight: normal;
border-bottom: 0px;
}
.ant-tabs-nav .ant-tabs-tab {
padding: 6px 12px !important;
margin: 0;
border: 0.5px solid #e8e8e8;
font-size: 14px !important;
color: #999;
&:nth-child(1) {
border-radius: 4px 0px 0px 4px;
}
&:nth-child(3) {
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-content tr > td{
padding:12px 8px !important;
.ant-modal-content tr > td {
padding: 12px 8px !important;
}
}
/*
* @Author: zhangleyuan
* @Date: 2021-02-20 16:13:39
* @LastEditors: zhangleyuan
* @LastEditTime: 2021-03-10 18:38:50
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-23 23:59:43
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import React, { useEffect, useState } from "react";
import PlanFilter from './components/PlanFilter';
import PlanOpt from './components/PlanOpt';
import PlanList from './components/PlanList';
import PlanService from "@/domains/plan-domain/planService";
import User from '@/common/js/user';
import React, { useEffect, useState } from 'react'
import PlanFilter from './components/PlanFilter'
import PlanOpt from './components/PlanOpt'
import PlanList from './components/PlanList'
import PlanService from '@/domains/plan-domain/planService'
import User from '@/common/js/user'
function PlanPage() {
const [planListData, setPlanListData] = useState([]);
const [query,setQuery] = useState({
current:1,
size:10,
});
const [planListData, setPlanListData] = useState([])
const [query, setQuery] = useState({
current: 1,
size: 10
})
useEffect(() => {
handleFetchPlanList();
}, [query]);
const [totalCount,setTotalCount] = useState(0);
function queryChange(_query){
const params = {
...query,
..._query,
};
setQuery(params);
}
function handleFetchPlanList(_query){
function handleFetchPlanList(_query) {
const params = {
...query,
..._query,
storeUserId: User.getStoreUserId()
}
//动态获取计划列表
PlanService.getTrainingPlanPage(params).then((res) => {
const {
result: { records = [], total }
} = res
setPlanListData(records)
setTotalCount(total)
})
}
handleFetchPlanList()
}, [query])
const [totalCount, setTotalCount] = useState(0)
function queryChange(_query) {
const params = {
...query,
..._query,
storeUserId:User.getStoreUserId()
};
//动态获取计划列表
PlanService.getTrainingPlanPage(params).then((res) => {
const { result: { records = [], total } } = res;
setPlanListData(records);
setTotalCount(total);
})
..._query
}
setQuery(params)
}
return (
<div className="page">
<div className="content-header">培训计划</div>
<div className="box">
<PlanFilter onChange={queryChange}/>
<PlanOpt/>
<PlanList
planListData={planListData}
query={query}
totalCount={totalCount}
onChange={queryChange}
/>
</div>
<div className='page'>
<div className='content-header'>培训计划</div>
<div className='box'>
<PlanFilter onChange={queryChange} />
<PlanOpt />
<PlanList planListData={planListData} query={query} totalCount={totalCount} onChange={queryChange} />
</div>
</div>
)
}
export default PlanPage;
\ No newline at end of file
export default PlanPage
.related-course-modal{
.ant-tabs-top > .ant-tabs-nav::before{
border-bottom: 0px;
}
.ant-tabs-nav-list{
margin:0 auto;
}
.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;
}
}
.related-course-modal {
.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;
.ant-tabs-nav .ant-tabs-tab-active{
border: 1px solid #FFB714;
color:#FFB714;
}
// &:nth-child(1) {
// border-radius: 4px 0px 0px 4px;
// }
// &:nth-child(2) {
// border-radius: 0px 4px 4px 0px;
// }
// }
.ant-tabs-top .ant-tabs-ink-bar-animated:after{
height:0;
}
.link-create-course{
color:#666666;
font-size:14px;
width:638px;
text-align:left;
display:inline-block;
span{
color:#5289FA;
}
}
.search-container{
margin-bottom:16px;
}
.select-area{
margin-bottom:12px;
display:flex;
justify-content:space-between;
.select-box{
display:inline-box;
width: 186px;
background: #FFF4DD;
border-radius: 4px;
padding:6px 16px;
margin-right:8px;
display: flex;
justify-content: space-between;
.tip-icon{
color:#FF9D14;
font-size:14px;
margin-right:4px;
}
.select-num{
color:#666666;
font-size:14px;
}
.clear-btn{
text-align:right;
color:#5289FA;
font-size:14px;
}
}
.related-box{
padding:6px 16px;
background: #FFF4DD;
border-radius: 4px;
flex:1;
color:#666666;
font-size:14px;
}
// .ant-tabs-nav .ant-tabs-tab-active {
// // border: 1px solid #ffb714;
// color: #ffb714;
// }
// .ant-tabs-top .ant-tabs-ink-bar-animated:after {
// height: 0;
// }
.link-create-course {
color: #666666;
font-size: 14px;
width: 638px;
text-align: left;
display: inline-block;
span {
color: #5289fa;
}
.course-info{
}
.search-container {
margin-bottom: 16px;
}
.select-area {
margin-bottom: 12px;
display: flex;
justify-content: space-between;
.select-box {
display: inline-box;
width: 186px;
background: #fff4dd;
border-radius: 4px;
padding: 6px 16px;
margin-right: 8px;
display: flex;
align-items: center;
.course-cover{
width: 97px;
height: 55px;
display: inline-block;
border-radius:4px;
margin-right:8px;
justify-content: space-between;
.tip-icon {
color: #ff9d14;
font-size: 14px;
margin-right: 4px;
}
.course-name{
font-size:14px;
color:#666;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
width:238px;
.select-num {
color: #666666;
font-size: 14px;
}
.course-status {
font-size:12px;
line-height:18px;
display:inline-block;
border-radius:2px;
padding:0 8px;
margin-top:8px;
.clear-btn {
text-align: right;
color: #5289fa;
font-size: 14px;
}
}
}
\ No newline at end of file
.related-box {
padding: 6px 16px;
background: #fff4dd;
border-radius: 4px;
flex: 1;
color: #666666;
font-size: 14px;
}
}
.course-info {
display: flex;
align-items: center;
.course-cover {
width: 97px;
height: 55px;
display: inline-block;
border-radius: 4px;
margin-right: 8px;
}
.course-name {
font-size: 14px;
color: #666;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
width: 180px;
}
.course-status {
font-size: 12px;
line-height: 18px;
display: inline-block;
border-radius: 2px;
padding: 0 8px;
margin-top: 8px;
}
}
}
......@@ -15,10 +15,11 @@
background-color: #f0f2f5;
overflow-x: scroll;
z-index: 1;
&.right-container-vertical{
left:@xm-left-min-width;
.page{
.page{
height: calc(~'100% - 50px');
&.right-container-vertical {
left: @xm-left-min-width;
.page {
.page {
left: @xm-left-min-width;
}
}
......@@ -41,7 +42,6 @@
}
}
.right-container {
// min-width: 1186px;
&:before {
......@@ -111,7 +111,7 @@
}
&.multiple {
h1{
h1 {
&.on {
border-left: 1px solid @border;
}
......
.wechatLoginBox {
height: 320px;
text-align: center;
.wechatLoginBox{
height: 320px;
.text {
margin-top: 12px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
color: #999999;
line-height: 20px;
}
.rwm {
position: relative;
width: 160px;
height: 160px;
text-align: center;
.text{
margin-top: 12px;
display: inline-block;
margin-top: 24px;
.error {
position: absolute;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.95);
display: flex;
align-items: center;
justify-content: center;
left: 0px;
top: 0px;
div {
margin: 0 10px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
color: #999999;
font-weight: 400;
color: #333333;
line-height: 20px;
}
.ope {
cursor: pointer;
color: rgba(82, 137, 250, 1);
}
}
<<<<<<< HEAD
.rwm{
position: relative;
width: 160px;
......@@ -42,35 +72,37 @@
}
}
}
=======
}
>>>>>>> 4ed93ca (feat:新增视频课外部视频模块相关功能,准备开始冒烟测试)
.ant-tabs-tab-active{
.ant-tabs-tab-btn{
color: #333333;
}
.ant-tabs-tab-active {
.ant-tabs-tab-btn {
color: #333333;
}
.ant-tabs-tab-btn{
color: #999999;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 25px;
}
}
.ant-tabs-nav::before{
display: none;
}
.ant-tabs-tab{
width: 105px;
text-align: center;
}
.ant-tabs > .ant-tabs-nav .ant-tabs-nav-list{
margin: 0 auto;
}
.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar{
width: 24px !important;
height: 4px;
margin-left: 30px;
}
.ant-tabs-tab-btn {
color: #999999;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 25px;
}
.ant-tabs-nav::before {
display: none;
}
.ant-tabs-tab {
width: 105px;
text-align: center;
}
.ant-tabs > .ant-tabs-nav .ant-tabs-nav-list {
margin: 0 auto;
}
.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar {
width: 24px !important;
height: 4px;
margin-left: 30px;
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
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