Commit 70a0c2b1 by zhangleyuan

feat:处理课程管理列表页的显示

parent a34e604f
import React from 'react'; import React from 'react';
import LiveCourseFilter from './components/LiveCourseFilter'; import LiveCourseFilter from './components/LiveCourseFilter';
import LiveCourseOpt from './components/LiveCourseOpt'; import LiveCourseOpt from './components/LiveCourseOpt';
// import LiveCourseList from './components/LiveCourseList'; import LiveCourseList from './components/LiveCourseList';
class LiveCoursePage extends React.Component { class LiveCoursePage extends React.Component {
...@@ -20,9 +20,9 @@ class LiveCoursePage extends React.Component { ...@@ -20,9 +20,9 @@ class LiveCoursePage extends React.Component {
loading: true, loading: true,
} }
} }
// componentWillMount() { componentWillMount() {
// this.handleFetchLiveList(); this.handleFetchLiveList();
// } }
// // 获取直播课列表 // // 获取直播课列表
// handleFetchLiveList = (_query) => { // handleFetchLiveList = (_query) => {
// const { query } = this.state; // const { query } = this.state;
...@@ -47,6 +47,41 @@ class LiveCoursePage extends React.Component { ...@@ -47,6 +47,41 @@ class LiveCoursePage extends React.Component {
// this.setState({ loading: false }); // this.setState({ loading: false });
// }); // });
// } // }
handleFetchLiveList() {
const _courseList=[
{
applyMode: "ANYONE",
autoSendReport: "AUTO",
channel: "XIAOMAI",
consumeClassTime: 30,
consumeHourNum: 1,
courseDocumentCount: 0,
courseMediaVOS: [],
courseName: "0988",
courseState: "EXPIRED",
createdReport: "INVALID",
endTime: 1607515751000,
haveRecord: "NO",
instId: "1213001850820476929",
intro: "",
liveCourseId: "1336612757182279681",
liveType: "LARGE_CLASS_LIVE",
needRecord: "YES",
nickname: "张莹",
podium: 0,
quota: 1,
roomId: 9984,
startTime: 1607508551000,
teacherId: "1226497609046880257",
thirdPartType: "TENCENT",
whetherRecord: "YES",
}
];
this.setState({
courseList: _courseList,
total:1
});
}
render() { render() {
const { query, total, courseList } = this.state; const { query, total, courseList } = this.state;
...@@ -58,12 +93,12 @@ class LiveCoursePage extends React.Component { ...@@ -58,12 +93,12 @@ class LiveCoursePage extends React.Component {
onChange={this.handleFetchLiveList} onChange={this.handleFetchLiveList}
/> />
<LiveCourseOpt /> <LiveCourseOpt />
{/* <LiveCourseList <LiveCourseList
query={query} query={query}
total={total} total={total}
courseList={courseList} courseList={courseList}
onChange={this.handleFetchLiveList} onChange={this.handleFetchLiveList}
/> */} />
</div> </div>
</div> </div>
) )
......
...@@ -9,28 +9,25 @@ ...@@ -9,28 +9,25 @@
import React from 'react'; import React from 'react';
import { Table, Modal, Tooltip, Badge, message, Dropdown, Button } from 'antd'; import { Table, Modal, Tooltip, Badge, message, Dropdown, Button } from 'antd';
import Bus from '@/core/bus'; // import Bus from '@/core/bus';
import User from "@/core/user"; // import User from "@/core/user";
import User_t from "@/teacher/core/user"; // import User_t from "@/teacher/core/user";
import { PageControl } from "@/components"; import { PageControl } from "@/components";
// import { LIVE_SHARE_MAP } from '@/common/constants/academic/cloudClass'; // import { LIVE_SHARE_MAP } from '@/common/constants/academic/cloudClass';
import DownloadLiveModal from '@/components/DownloadLiveModal'; // import DownloadLiveModal from '@/components/DownloadLiveModal';
import LiveStudentListModal from '../modal/LiveStudentListModal'; // import LiveStudentListModal from '../modal/LiveStudentListModal';
import CheckBalanceModal from '../modal/CheckBalanceModal'; // import CheckBalanceModal from '../modal/CheckBalanceModal';
import StartLiveModal from '../modal/StartLiveModal'; // import StartLiveModal from '../modal/StartLiveModal';
import ClassRecordModal from '../modal/ClassRecordModal'; // import ClassRecordModal from '../modal/ClassRecordModal';
import PlayBackRecordModal from '../modal/PlayBackRecordModal'; // import PlayBackRecordModal from '../modal/PlayBackRecordModal';
import ManageCoursewareModal from '../modal/ManageCoursewareModal'; // import ManageCoursewareModal from '../modal/ManageCoursewareModal';
import ShareLiveModal from '../modal/ShareLiveModal'; // import ShareLiveModal from '../modal/ShareLiveModal';
import AccountChargeModal from '../modal/AccountChargeModal'; // import AccountChargeModal from '../modal/AccountChargeModal';
import SelectStudent from '../modal/select-student'; // import SelectStudent from '../modal/select-student';
import './LiveCourseList.less'; import './LiveCourseList.less';
const { teacherId, instId, adminId, adminName, name } = window.currentUserInstInfo;
const isTeacher = !!teacherId;
const courseStateShow = { const courseStateShow = {
UN_START: { UN_START: {
code: 1, code: 1,
...@@ -53,32 +50,19 @@ const courseStateShow = { ...@@ -53,32 +50,19 @@ const courseStateShow = {
color: "#CCCCCC", color: "#CCCCCC",
}, },
}; };
const ENV = process.env.DEPLOY_ENV || 'dev';
class LiveCourseList extends React.Component { class LiveCourseList extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
url: '',
editData: {},
columns: [], columns: [],
isXiaoMai: false,
downloadUrl: null,
openCoursewareModal: false,
currentTeacherId: teacherId
} }
} }
componentWillMount(){
componentWillMount() { this.parseColumns();
} }
componentDidMount() { componentDidMount() {
} }
// 获取直播间类型 // 获取直播间类型
handleCheckLiveVersion = () => { handleCheckLiveVersion = () => {
...@@ -95,14 +79,9 @@ class LiveCourseList extends React.Component { ...@@ -95,14 +79,9 @@ class LiveCourseList extends React.Component {
parseColumns = () => { parseColumns = () => {
const menu = (item) => ( const menu = (item) => (
<div className="live-course-more-menu"> <div className="live-course-more-menu">
<div <div>
onClick={() => {
this.handleShowClassModal(item);
}}
>
上课记录 上课记录
</div> </div>
{item.haveRecord === 'YES' &&
<div <div
onClick={() => { onClick={() => {
this.handleShowRepeatModal(item); this.handleShowRepeatModal(item);
...@@ -110,7 +89,6 @@ class LiveCourseList extends React.Component { ...@@ -110,7 +89,6 @@ class LiveCourseList extends React.Component {
> >
回放记录 回放记录
</div> </div>
}
</div> </div>
); );
const columns = [ const columns = [
...@@ -120,11 +98,10 @@ class LiveCourseList extends React.Component { ...@@ -120,11 +98,10 @@ class LiveCourseList extends React.Component {
key: "courseName", key: "courseName",
dataIndex: "courseName", dataIndex: "courseName",
render: (val, record) => { render: (val, record) => {
const { coverUrl = 'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png' } = record;
return ( return (
<div className="record__item"> <div className="record__item">
<img className="course-cover" src={coverUrl} /> <img className="course-cover" src={'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'} />
<span className="course-name">{val}</span> <span className="course-name">课程名称</span>
</div> </div>
) )
...@@ -146,7 +123,7 @@ class LiveCourseList extends React.Component { ...@@ -146,7 +123,7 @@ class LiveCourseList extends React.Component {
dataIndex: "nickname", dataIndex: "nickname",
}, },
{ {
title: (window.NewVersion && isXiaoMai) ? '学员管理' : '学员人数', title: '学员管理',
width: "9%", width: "9%",
key: "quota", key: "quota",
dataIndex: "quota", dataIndex: "quota",
...@@ -154,11 +131,8 @@ class LiveCourseList extends React.Component { ...@@ -154,11 +131,8 @@ class LiveCourseList extends React.Component {
return ( return (
<span <span
className="operate-text" className="operate-text"
onClick={() => {
this.handleLinkToClassData(item)
}}
> >
{`${val}人`} 3人
</span> </span>
); );
}, },
...@@ -168,21 +142,13 @@ class LiveCourseList extends React.Component { ...@@ -168,21 +142,13 @@ class LiveCourseList extends React.Component {
width: "7%", width: "7%",
dataIndex: "courseware", dataIndex: "courseware",
render: (val, item, index) => { render: (val, item, index) => {
return item.channel === "XIAOMAI" ? ( return (
<span <span
className="operate-text" className="operate-text"
onClick={() => {
this.setState({
editData: item,
openCoursewareModal: true,
});
}}
> >
{item.courseDocumentCount || 0} 2
</span> </span>
) : ( )
<span style={{ color: "#999" }}>暂不支持</span>
);
}, },
}, },
{ {
...@@ -191,15 +157,10 @@ class LiveCourseList extends React.Component { ...@@ -191,15 +157,10 @@ class LiveCourseList extends React.Component {
key: "courseState", key: "courseState",
dataIndex: "courseState", dataIndex: "courseState",
render: (val, item) => { render: (val, item) => {
const { currentTeacherId } = this.state;
const teacherPermission = item.teacherId === currentTeacherId;
return ( return (
<div className="course-status"> <div className="course-status">
<Badge <Badge
className="badge" className="badge"
color={courseStateShow[val].color}
text={courseStateShow[val].title}
status={val == 'STARTING' ? 'processing' : undefined}
/> />
</div> </div>
); );
...@@ -211,35 +172,28 @@ class LiveCourseList extends React.Component { ...@@ -211,35 +172,28 @@ class LiveCourseList extends React.Component {
key: "operate", key: "operate",
dataIndex: "operate", dataIndex: "operate",
render: (val, item) => { render: (val, item) => {
return ( return (
<div className="operate"> <div className="operate">
<div <div
key="enter_live_room1" key="enter_live_room1"
className="operate__item" className="operate__item"
onClick={() => { this.handleCheckPreEnterLiveRoom(item, teacherPermission ? 1 : 2) }}
>进入直播间 >进入直播间
</div> </div>
<span className="operate__item split" key="enter_live_room1_split"> | </span> <span className="operate__item split" key="enter_live_room1_split"> | </span>
<div <div
key="view_play_back" key="view_play_back"
className="operate__item" className="operate__item"
onClick={() => { this.handleStartPlayBack(item); }} >查看回放</div>
>查看回放</div>,
<span className="operate__item split" key="view_play_back_split"> | </span> <span className="operate__item split" key="view_play_back_split"> | </span>
<div <div
key="share" key="share"
className="operate__item" className="operate__item"
onClick={() => { this.handleShowShareModal(item); }}
> >
分享 分享
</div>, </div>
<span key="split1" className="operate__item split"> | </span> <span key="split1" className="operate__item split"> | </span>
<div className="big-live"> <div className="big-live">
<Dropdown overlay={this.renderMoreOperate(item, isXiaoMai, otherPermission, isInteractive)}> <Dropdown>
<span className="more-operate"> <span className="more-operate">
<span className="operate-text">更多</span> <span className="operate-text">更多</span>
<span <span
...@@ -256,25 +210,21 @@ class LiveCourseList extends React.Component { ...@@ -256,25 +210,21 @@ class LiveCourseList extends React.Component {
} }
} }
]; ];
this.setState({ columns })
} }
renderMoreOperate = (item, isXiaoMai, otherPermission, isInteractive) => { renderMoreOperate = (item) => {
return ( return (
<div className="live-course-more-menu"> <div className="live-course-more-menu">
<div <div
className="operate__item" className="operate__item"
onClick={() => this.handleRemindClass(item)}
>群发通知</div> >群发通知</div>
<div <div
className="operate__item" className="operate__item"
onClick={() => this.handleEditLiveClass(item, isInteractive)}
>编辑</div> >编辑</div>
<div <div
className="operate__item" className="operate__item"
onClick={() => this.handleDeleteLiveClass(item.liveCourseId)}
>删除</div> >删除</div>
</div> </div>
) )
} }
...@@ -285,14 +235,11 @@ class LiveCourseList extends React.Component { ...@@ -285,14 +235,11 @@ class LiveCourseList extends React.Component {
<div className="live-course-more-menu"> <div className="live-course-more-menu">
<div <div
className="operate__item" className="operate__item"
onClick={() => this.handleShowSelectStuModal(item, 'DEDUCTION')}
> >
添加扣课时的学员 添加扣课时的学员
</div> </div>
<div <div
className="operate__item" className="operate__item"
onClick={() => this.handleShowSelectStuModal(item)}
> >
添加不扣课时的学员 添加不扣课时的学员
</div> </div>
...@@ -303,14 +250,11 @@ class LiveCourseList extends React.Component { ...@@ -303,14 +250,11 @@ class LiveCourseList extends React.Component {
render() { render() {
const { total, query, courseList, loading, type } = this.props; const { total, query, courseList, loading} = this.props;
console.log("courseList",courseList);
const { current, size } = query; const { current, size } = query;
const { const { columns} = this.state;
openCoursewareModal, openDownloadModal, editData,
downloadUrl, url, columns,
} = this.state;
return ( return (
<div className="live-course-list"> <div className="live-course-list">
<Table <Table
......
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