Commit f2841625 by guomingpang

styles:课程管理表格优化;删除无用的代码,修复eslint waring

parents 138406a8 4b287ee4
......@@ -11,7 +11,7 @@ import college from '@/common/lottie/college';
import { PageControl, XMTable } from '@/components';
import DownloadLiveModal from '@/components/DownloadLiveModal';
import BaseService from '@/domains/basic-domain/baseService';
import { appId, LIVE_SHARE } from '@/domains/course-domain/constants';
import { LIVE_SHARE } from '@/domains/course-domain/constants';
import CourseService from '@/domains/course-domain/CourseService';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { Dropdown, message, Modal, Switch, Tooltip } from 'antd';
......@@ -66,7 +66,6 @@ class LiveCourseList extends React.Component {
}
// 显示分享弹窗
handleShowShareModal = (item, needStr = false) => {
const _appId = appId;
const { liveCourseId } = item;
const htmlUrl = `${LIVE_SHARE}live_detail/${liveCourseId}?id=${User.getStoreId()}`;
......@@ -95,11 +94,6 @@ class LiveCourseList extends React.Component {
//改变上架状态
changeShelfState = (index, item, checked) => {
let _shelfState = checked ? 'YES' : 'NO';
// if (_shelfState === 'NO') {
// _shelfState = 'YES';
// } else {
// _shelfState = 'NO';
// }
const params = {
liveCourseId: item.liveCourseId,
shelfState: _shelfState,
......@@ -125,17 +119,6 @@ class LiveCourseList extends React.Component {
});
};
parseColumns = () => {
const menu = (item) => (
<div className='live-course-more-menu'>
<div>上课记录</div>
<div
onClick={() => {
this.handleShowRepeatModal(item);
}}>
回放记录
</div>
</div>
);
let columns;
const userRole = User.getUserRole();
if (userRole !== 'CloudLecturer') {
......@@ -144,6 +127,7 @@ class LiveCourseList extends React.Component {
title: '直播课',
width: '23%',
key: 'course',
fixed: 'left',
dataIndex: 'courseName',
render: (val, record) => {
let hasCover = false;
......@@ -152,21 +136,28 @@ class LiveCourseList extends React.Component {
{record.courseMediaVOS.map((item, index) => {
if (item.contentType === 'COVER') {
hasCover = true;
return <img className='course-cover' src={item.mediaUrl} />;
return <img key={item.mediaContent + index} className='course-cover' src={item.mediaUrl} alt='' />;
} else {
return null;
}
})}
{!hasCover && <img className='course-cover' src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png'} />}
{!hasCover && <img className='course-cover' src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png'} alt='' />}
<div>
{record.courseName.length > 17 ? (
<Tooltip title={record.courseName}>
<Choose>
<When condition={record.courseName.length > 17}>
<Tooltip title={record.courseName}>
<div className='course-name'>{record.courseName}</div>
</Tooltip>
</When>
<Otherwise>
{' '}
<div className='course-name'>{record.courseName}</div>
</Tooltip>
) : (
<div className='course-name'>{record.courseName}</div>
)}
</Otherwise>
</Choose>
<div>
<span className='course-time'>
{formatDate('YYYY-MM-DD H:i', parseInt(record.startTime))}~{formatDate('H:i', parseInt(record.endTime))}
{window.formatDate('YYYY-MM-DD H:i', parseInt(record.startTime))}~{window.formatDate('H:i', parseInt(record.endTime))}
</span>
<span
className='course-status'
......@@ -175,31 +166,35 @@ class LiveCourseList extends React.Component {
</span>
</div>
<div className='teacher-assistant'>
{record.teacherName && record.teacherName.length > 4 ? (
<Tooltip title={record.teacherName}>
<Choose>
<When condition={record.teacherName && record.teacherName.length > 4}>
<Tooltip title={record.teacherName}>
<span className='teacher'>讲师:{record.teacherName}</span>
</Tooltip>
</When>
<Otherwise>
<span className='teacher'>讲师:{record.teacherName}</span>
</Tooltip>
) : (
<span className='teacher'>讲师:{record.teacherName}</span>
)}
</Otherwise>
</Choose>
{record.admins.length > 0 && (
<>
<span className='split'> | </span>
{this.handleAdminName(record.admins).length > 4 ? (
<If condition={record.admins.length > 0}>
<span className='split'> | </span>
<Choose>
<When condition={this.handleAdminName(record.admins).length > 4}>
<Tooltip title={this.handleAdminName(record.admins)}>
<span className='assistant'>
助教:
{record.admins.map((item, index) => {
return (
<span>
<span key={item.adminId + index}>
{item.adminName} {index < record.admins.length - 1 && <span></span>}{' '}
</span>
);
})}
</span>
</Tooltip>
) : (
</When>
<Otherwise>
<span className='assistant'>
助教:
{record.admins.map((item, index) => {
......@@ -210,9 +205,9 @@ class LiveCourseList extends React.Component {
);
})}
</span>
)}
</>
)}
</Otherwise>
</Choose>
</If>
</div>
</div>
</div>
......@@ -304,7 +299,7 @@ class LiveCourseList extends React.Component {
sorter: true,
render: (val, item) => {
// -29000:与后端约定 在初始化学院时,创建时间(标志位-29000)默认展示为'-'
return <span>{val === -29000 ? '-' : formatDate('YYYY-MM-DD H:i', val)}</span>;
return <span style={{ whiteSpace: 'nowrap' }}>{val === -29000 ? '-' : window.formatDate('YYYY-MM-DD H:i', val)}</span>;
},
},
{
......@@ -315,27 +310,31 @@ class LiveCourseList extends React.Component {
render: (val, record) => {
return (
<div className='related-task'>
{record.relatedPlanList ? (
<Tooltip title={this.handlePlanName(record.relatedPlanList)} placement='top' arrowPointAtCenter>
{record.relatedPlanList.map((item, index) => {
return (
<span>
{item.planName} {index < record.relatedPlanList.length - 1 && <span></span>}{' '}
</span>
);
})}
</Tooltip>
) : (
<span></span>
)}
<Choose>
<When condition={record.relatedPlanLis}>
<Tooltip title={this.handlePlanName(record.relatedPlanList)} placement='top' arrowPointAtCenter>
{record.relatedPlanList.map((item, index) => {
return (
<span>
{item.planName} {index < record.relatedPlanList.length - 1 && <span></span>}{' '}
</span>
);
})}
</Tooltip>
</When>
<Otherwise>
<span></span>
</Otherwise>
</Choose>
</div>
);
},
},
{
title: '操作',
width: '15%',
width: '10%',
key: 'operate',
fixed: 'right',
dataIndex: 'operate',
render: (val, item) => {
return (
......@@ -427,21 +426,25 @@ class LiveCourseList extends React.Component {
{record.courseMediaVOS.map((item, index) => {
if (item.contentType === 'COVER') {
hasCover = true;
return <img className='course-cover' src={item.mediaUrl} />;
return <img className='course-cover' src={item.mediaUrl} alt='' />;
}
})}
{!hasCover && <img className='course-cover' src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png'} />}
{!hasCover && <img className='course-cover' src={'https://image.xiaomaiketang.com/xm/Yip2YtFDwH.png'} alt='' />}
<div>
{record.courseName.length > 17 ? (
<Tooltip title={record.courseName}>
<Choose>
<When condition={record.courseName.length > 17}>
<Tooltip title={record.courseName}>
<div className='course-name'>{record.courseName}</div>
</Tooltip>
</When>
<Otherwise>
<div className='course-name'>{record.courseName}</div>
</Tooltip>
) : (
<div className='course-name'>{record.courseName}</div>
)}
</Otherwise>
</Choose>
<div>
<span className='course-time'>
{formatDate('YYYY-MM-DD H:i', parseInt(record.startTime))}~{formatDate('H:i', parseInt(record.endTime))}
{window.formatDate('YYYY-MM-DD H:i', parseInt(record.startTime))}~{window.formatDate('H:i', parseInt(record.endTime))}
</span>
<span
className='course-status'
......@@ -450,18 +453,21 @@ class LiveCourseList extends React.Component {
</span>
</div>
<div className='teacher-assistant'>
{record.teacherName && record.teacherName.length > 4 ? (
<Tooltip title={record.teacherName}>
<Choose>
<When condition={record.teacherName && record.teacherName.length > 4}>
<Tooltip title={record.teacherName}>
<span className='teacher'>讲师:{record.teacherName}</span>
</Tooltip>
</When>
<Otherwise>
<span className='teacher'>讲师:{record.teacherName}</span>
</Tooltip>
) : (
<span className='teacher'>讲师:{record.teacherName}</span>
)}
</Otherwise>
</Choose>
{record.admins.length > 0 && (
<>
<span className='split'> | </span>
{this.handleAdminName(record.admins).length > 4 ? (
<If condition={record.admins.length > 0}>
<span className='split'> | </span>
<Choose>
<When condition={this.handleAdminName(record.admins).length > 4}>
<Tooltip title={this.handleAdminName(record.admins)}>
<span className='assistant'>
助教:
......@@ -474,7 +480,8 @@ class LiveCourseList extends React.Component {
})}
</span>
</Tooltip>
) : (
</When>
<Otherwise>
<span className='assistant'>
助教:
{record.admins.map((item, index) => {
......@@ -485,9 +492,9 @@ class LiveCourseList extends React.Component {
);
})}
</span>
)}
</>
)}
</Otherwise>
</Choose>
</If>
</div>
</div>
</div>
......@@ -547,7 +554,7 @@ class LiveCourseList extends React.Component {
dataIndex: 'created',
sorter: true,
render: (val, item) => {
return <span>{formatDate('YYYY-MM-DD H:i', val)}</span>;
return <span>{window.formatDate('YYYY-MM-DD H:i', val)}</span>;
},
},
{
......@@ -558,19 +565,22 @@ class LiveCourseList extends React.Component {
render: (val, record) => {
return (
<div className='related-task'>
{record.relatedPlanList ? (
<Tooltip title={this.handlePlanName(record.relatedPlanList)} placement='top' arrowPointAtCenter>
{record.relatedPlanList.map((item, index) => {
return (
<span>
{item.planName} {index < record.relatedPlanList.length - 1 && <span></span>}{' '}
</span>
);
})}
</Tooltip>
) : (
<span></span>
)}
<Choose>
<When condition={record.relatedPlanList}>
<Tooltip title={this.handlePlanName(record.relatedPlanList)} placement='top' arrowPointAtCenter>
{record.relatedPlanList.map((item, index) => {
return (
<span>
{item.planName} {index < record.relatedPlanList.length - 1 && <span></span>}{' '}
</span>
);
})}
</Tooltip>
</When>
<Otherwise>
<span></span>
</Otherwise>
</Choose>
</div>
);
},
......@@ -581,7 +591,7 @@ class LiveCourseList extends React.Component {
};
handleAdminName = (adminArray) => {
let adminStr = '';
adminArray.map((item, index) => {
adminArray.forEach((item, index) => {
if (index < adminArray.length - 1) {
adminStr = adminStr + item.adminName + '、';
} else {
......@@ -593,7 +603,7 @@ class LiveCourseList extends React.Component {
handlePlanName = (planArray) => {
let planStr = '';
planArray.map((item, index) => {
planArray.forEach((item, index) => {
if (index < planArray.length - 1) {
planStr = planStr + item.planName + '、';
} else {
......@@ -690,7 +700,7 @@ class LiveCourseList extends React.Component {
}
};
onShowSizeChange = (current, size) => {
if (current == size) {
if (current === size) {
return;
}
let _query = this.props.query;
......@@ -798,6 +808,7 @@ class LiveCourseList extends React.Component {
size='middle'
pagination={false}
columns={columns}
scroll={{ x: 1300 }}
loading={loading}
dataSource={courseList}
onChange={this.handleChangeTable}
......@@ -849,7 +860,7 @@ class LiveCourseList extends React.Component {
onConfirm={this.onConfirmSelectPlanList}
/>
)}
<iframe src={url} style={{ display: 'none' }} />
<iframe src={url} style={{ display: 'none' }} title='navigation' />
<Route path={`${match.url}/live-course-data`} component={DataList} />
</div>
);
......
......@@ -10,7 +10,7 @@ import Service from '@/common/js/service';
import User from '@/common/js/user';
import college from '@/common/lottie/college';
import { PageControl, XMTable } from '@/components';
import { appId, LIVE_SHARE } from '@/domains/course-domain/constants';
import { LIVE_SHARE } from '@/domains/course-domain/constants';
import CourseService from '@/domains/course-domain/CourseService';
import ShareLiveModal from '@/modules/course-manage/modal/ShareLiveModal';
import OfflineCourseData from '@/modules/course-manage/offline-course/OfflineCourseData';
......@@ -78,7 +78,7 @@ class OfflineCourseList extends React.Component {
} ${moment(startTime).format('HH:mm')} ~ ${moment(endTime).format('HH:mm')}`;
return (
<div className='record__item'>
<img className='course-cover' src={coverUrl || defaultCoverUrl} />
<img className='course-cover' src={coverUrl || defaultCoverUrl} alt='' />
<div style={{ width: 175 }}>
<Tooltip title={courseName}>
<div className='course-name'>{courseName}</div>
......@@ -152,14 +152,14 @@ class OfflineCourseList extends React.Component {
},
{
title: '报名时间',
width: 181,
width: 200,
key: 'apply',
dataIndex: 'apply',
sorter: true,
render: (val, item) => {
return (
<div>
{item.startTimeApply ? `${formatDate('MM-DD H:i', item.startTimeApply)} ~ ${formatDate('MM-DD H:i', item.endTimeApply)}` : '-'}
<div style={{ whiteSpace: 'nowrap' }}>
{item.startTimeApply ? `${window.formatDate('MM-DD H:i', item.startTimeApply)} ~ ${window.formatDate('MM-DD H:i', item.endTimeApply)}` : '-'}
{item.whetherApplyFull === 'YES' && (
<span
style={{
......@@ -185,7 +185,7 @@ class OfflineCourseList extends React.Component {
dataIndex: 'created',
sorter: true,
render: (val) => {
return formatDate('YYYY-MM-DD H:i', val);
return <span style={{ whiteSpace: 'nowrap' }}>{window.formatDate('YYYY-MM-DD H:i', val)}</span>;
},
},
{
......@@ -360,8 +360,6 @@ class OfflineCourseList extends React.Component {
// 显示分享弹窗
handleShowShareModal = (record, needStr = false) => {
const { courseId } = record;
const _appId = appId;
const htmlUrl = `${LIVE_SHARE}offline_detail/${courseId}?id=${User.getStoreId()}`;
const longUrl = htmlUrl;
const { courseName, courseMediaVOS } = record;
......@@ -437,7 +435,7 @@ class OfflineCourseList extends React.Component {
columns={this.parseColumns()}
onChange={this.handleChangeTable}
pagination={false}
scroll={{ x: 1500 }}
scroll={{ x: 1300 }}
bordered
className='offline-list-table'
/>
......
import { Dropdown, message, Modal, Switch, Table, Tooltip } from 'antd';
import { Dropdown, message, Modal, Switch, Tooltip } from 'antd';
import User from '@/common/js/user';
import { PageControl } from '@/components';
import { LIVE_SHARE } from '@/domains/course-domain/constants';
......@@ -185,7 +185,7 @@ class VideoCourseList extends React.Component {
dataIndex: 'created',
sorter: true,
render: (val) => {
return formatDate('YYYY-MM-DD H:i', val);
return window.formatDate('YYYY-MM-DD H:i', val);
},
},
{
......@@ -195,7 +195,7 @@ class VideoCourseList extends React.Component {
dataIndex: 'updated',
sorter: true,
render: (val) => {
return formatDate('YYYY-MM-DD H:i', val);
return window.formatDate('YYYY-MM-DD H:i', val);
},
},
{
......@@ -211,7 +211,7 @@ class VideoCourseList extends React.Component {
<Tooltip title={this.handlePlanName(record.relatedPlanList)} placement='top' arrowPointAtCenter>
{record.relatedPlanList.map((item, index) => {
return (
<span>
<span key={item.planId}>
{item.planName} {index < record.relatedPlanList.length - 1 && <span></span>}
</span>
);
......@@ -296,7 +296,7 @@ class VideoCourseList extends React.Component {
handlePlanName = (planArray) => {
let planStr = '';
planArray.map((item, index) => {
planArray.forEach((item, index) => {
if (index < planArray.length - 1) {
planStr = planStr + item.planName + '、';
} else {
......
......@@ -8,9 +8,9 @@
*/
import React, { useState } from 'react';
import { Table, Modal, message, Tooltip, Switch, Dropdown } from 'antd';
import { Modal, message, Tooltip, Switch, Dropdown } from 'antd';
import { withRouter } from 'react-router-dom';
import { PageControl, XMTable } from "@/components";
import { PageControl, XMTable } from '@/components';
import PlanService from '@/domains/plan-domain/planService';
import SharePlanModal from '../modal/SharePlanModal';
import { LIVE_SHARE } from '@/domains/course-domain/constants';
......@@ -29,6 +29,7 @@ function PlanList(props) {
key: 'planName',
dataIndex: 'planName',
width: '18%',
fixed: 'left',
render: (val, record) => {
return (
<div className='plan_name_item'>
......@@ -86,7 +87,7 @@ function PlanList(props) {
dataIndex: 'created',
sorter: true,
render: (val) => {
return window.formatDate('YYYY-MM-DD H:i', val);
return <span style={{ whiteSpace: 'nowrap' }}>{window.formatDate('YYYY-MM-DD H:i', val)}</span>;
},
},
{
......@@ -96,7 +97,7 @@ function PlanList(props) {
dataIndex: 'updated',
sorter: true,
render: (val) => {
return window.formatDate('YYYY-MM-DD H:i', val);
return <span style={{ whiteSpace: 'nowrap' }}>{window.formatDate('YYYY-MM-DD H:i', val)}</span>;
},
},
{
......@@ -114,7 +115,7 @@ function PlanList(props) {
key: 'operate',
dataIndex: 'operate',
fixed: 'right',
width: 176,
width: 100,
render: (val, record) => {
return (
<div className='operate'>
......@@ -317,7 +318,7 @@ function PlanList(props) {
scroll={{ x: 1400 }}
className='plan-list-table'
renderEmpty={{
description: <span style={{ display: 'block', paddingBottom: 24 }}>暂无数据</span>
description: <span style={{ display: 'block', paddingBottom: 24 }}>暂无数据</span>,
}}
/>
<div className='box-footer'>
......
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