Commit 4af66253 by zhangleyuan

feat:联调课件管理的接口

parent 91e69252
......@@ -77,6 +77,7 @@
"react-async-component": "^2.0.0",
"react-dev-utils": "^10.2.1",
"react-dom": "^16.13.1",
"react-infinite-scroller": "^1.2.4",
"react-router-dom": "^5.2.0",
"react-sortable-hoc": "^1.11.0",
"resolve": "1.15.0",
......
......@@ -17,7 +17,7 @@ import * as news from '../lottie/news/data.json';
import * as studentData from '../lottie/student/data.json';
import './DefaultIcon.less';
class DefaultIcon extends BaseComponent {
class DefaultIcon extends React.Component {
constructor(props) {
super(props);
this.state = {
......
......@@ -21,7 +21,7 @@ import DownloadLiveModal from '@/components/DownloadLiveModal';
// import StartLiveModal from '../modal/StartLiveModal';
// import ClassRecordModal from '../modal/ClassRecordModal';
// import PlayBackRecordModal from '../modal/PlayBackRecordModal';
// import ManageCoursewareModal from '../modal/ManageCoursewareModal';
import ManageCoursewareModal from '../modal/ManageCoursewareModal';
import ShareLiveModal from '../modal/ShareLiveModal';
// import AccountChargeModal from '../modal/AccountChargeModal';
// import SelectStudent from '../modal/select-student';
......@@ -424,7 +424,7 @@ class LiveCourseList extends React.Component {
/>
</div>
{ this.state.shareLiveModal }
{/* {openCoursewareModal && (
{openCoursewareModal && (
<ManageCoursewareModal
data={editData}
type={type}
......@@ -433,7 +433,7 @@ class LiveCourseList extends React.Component {
this.setState({ openCoursewareModal: false });
}}
/>
)} */}
)}
{openDownloadModal && (
<DownloadLiveModal
url={downloadUrl}
......
......@@ -15,10 +15,10 @@ import { suffixType, DEFAULT_SIZE_UNIT, SupportFileType } from '@/common/constan
import { FileVerifyMap, FileTypeIcon, DISK_MAP } from '@/common/constants/academic/lessonEnum';
import ScanFileModal from '@/modules/prepare-lesson/modal/ScanFileModal'
import SelectPrepareFileModal from '@/modules/prepare-lesson/modal/SelectPrepareFileModal';
import Service from '@/common/js/service';
import './ManageCoursewareModal.less';
const { instId, teacherId } = window.currentUserInstInfo;
class ManageCoursewareModal extends React.Component {
constructor(props) {
......@@ -38,27 +38,26 @@ class ManageCoursewareModal extends React.Component {
componentDidMount() {
this.getCoursewareList();
this.handleFetchDiskList();
if (teacherId) {
this.judgeLessonPermisson();
}
// this.handleFetchDiskList();
// if (teacherId) {
// this.judgeLessonPermisson();
// }
}
// 判断资料云盘权限
judgeLessonPermisson = () => {
const query = {
instId,
permissionCode: "2001"
};
axios.Apollo("public/apollo/judgeLessonPermission", query).then(res => {
this.setState({ isLessonPermission: res.result })
});
};
// judgeLessonPermisson = () => {
// const query = {
// permissionCode: "2001"
// };
// axios.Apollo("public/apollo/judgeLessonPermission", query).then(res => {
// this.setState({ isLessonPermission: res.result })
// });
// };
// 获取课件列表
getCoursewareList(id) {
const { liveCourseId } = this.props.data;
axios.Apollo('anon/businessLive/getCourseDocList', { liveCourseId }).then((res) => {
Service.Hades('/anon/courseWare/getCourseWareDocList', { liveCourseId }).then((res) => {
let newList = [];
const { list } = this.state;
const data = _.find(res.result, item => item.docId == id);
......@@ -102,27 +101,23 @@ class ManageCoursewareModal extends React.Component {
}
// 获取机构可见的磁盘目录
handleFetchDiskList = () => {
axios.Apollo('public/apollo/getUserDisk', {}).then((res) => {
const { result = [] } = res;
const diskList = result.map((item) => {
return {
...item,
folderName: DISK_MAP[item.disk]
}
});
this.setState({
diskList,
});
});
}
// handleFetchDiskList = () => {
// Service.Hades('public/apollo/getUserDisk', {}).then((res) => {
// const { result = [] } = res;
// const diskList = result.map((item) => {
// return {
// ...item,
// folderName: DISK_MAP[item.disk]
// }
// });
// this.setState({
// diskList,
// });
// });
// }
// 上传文件
addFile() {
// 校验是否欠费
this.handleCheckBalance().then((res) => {
if (!res) return;
// 判断是否早于开课前45分钟
const { startTime } = this.props.data;
const currentTime = new Date().getTime();
......@@ -152,7 +147,7 @@ class ManageCoursewareModal extends React.Component {
selectedFileList: list,
showSelectFileModal: true, // 选择文件弹窗
})
})
}
handleAddFile = (addFolderIds) => {
......@@ -161,16 +156,13 @@ class ManageCoursewareModal extends React.Component {
});
const { liveCourseId } = this.props.data;
const { teacherId } = window.currentUserInstInfo;
const params = {
addFolderIds,
liveCourseId,
checkTime: true,
operatorId: teacherId || User.tid() || User.aid(),
operatorType: (!teacherId && !User.tid()) ? 1 : 2 // 1: 教务 2: 老师
operatorId: User.getUserId(),
};
axios.Apollo('public/businessLive/relationLessonFile', params).then((res) => {
Service.Hades('public/courseWare/uploadCourseWareFile', params).then((res) => {
this.getCoursewareList();
});
}
......@@ -240,10 +232,9 @@ class ManageCoursewareModal extends React.Component {
// 校验余额
handleCheckBalance = async () => {
const { type } = this.props;
const balanceRes = await axios.Business("public/liveAssets/query", { instId });
const balanceRes = await axios.Business("public/liveAssets/query", { });
// 判断是否欠费,旗舰版用户不需要校验余额
const ultimateRes = await axios.Business('public/inst/checkInstProduct', {
instId,
productCodeList: ['ULTIMATESELL', 'PIP_TO_ULTIMATE', 'HIGH_TO_ULTIMATE']
});
......@@ -356,26 +347,20 @@ class ManageCoursewareModal extends React.Component {
{_.isEmpty(_list) ?
<div className="empty-body">
<img className="empty-image" src="https://image.xiaomaiketang.com/xm/s8xkAPCDex.png" alt="" />
{
((!teacherId && Permission.hasClassBook()) || isLessonPermission) &&
<Button
className="empty-button"
type="primary"
onClick={() => this.addFile()}
>上传课件</Button>
}
<p className="empty-tip">提前上传直播需要的课件和素材,直播将会变得更便捷!</p>
</div>
: <div className="manage-body">
<div className="header">
{
((!teacherId && Permission.hasClassBook()) || isLessonPermission) &&
<Button
className="header-button"
type="primary"
onClick={() => this.addFile()}
>上传课件</Button>
}
</div>
<Table
size="small"
......
......@@ -101,4 +101,5 @@ class CreateFolderModal extends React.Component {
}
}
export default Form.create()(CreateFolderModal);
\ No newline at end of file
// export default Form.create()(CreateFolderModal);
export default CreateFolderModal;
\ No newline at end of file
......@@ -15,7 +15,8 @@ import { getEllipsText } from "@/core/util";
import DefaultIcon from '@/modules/common/DefaultIcon';
import UploadProgressModal from './UploadProgressModal';
import NonCompliantFileModal from './NonCompliantFileModal';
import Service from '@/common/js/service';
import _ from 'underscore';
import {
DEFAULT_SIZE_UNIT, FileTypeIcon, NonCompliantFileMap,
DISK_LIST, SupportFileType, LocalFileType
......@@ -32,15 +33,15 @@ const defaultQuery = {
}
const defaultRootDisk = {
folderName: '我的文件',
disk: 'MYSELF',
folderName: '公共文件',
disk: 'COMMON',
uploadPower: false
}
const FOLDERLIST_URL_MAP = {
'MYSELF': 'public/apollo/folderList',
'COMMON': 'public/apollo/commonFolderList',
'EMPLOYEE': 'public/apollo/employeeFolderList'
'MYSELF': 'public/hadesStore/folderList',
'COMMON': 'public/hadesStore/folderList',
'EMPLOYEE': 'public/hadesStore/folderList'
};
// 支持本地上传的文件类型
......@@ -101,16 +102,17 @@ class SelectPrepareFileModal extends React.Component {
const _params = {
...query,
...params,
instId: instId || LS.get('instId'),
disk: params.disk || currentRootDisk.disk,
sort: 'NAME_ASC'
sort: 'NAME_ASC',
storeId:User.getStoreId(),
createId:User.getUserId()
}
if (selectTypeList) {
_params.folderFileType = selectTypeList
}
axios.Apollo(FOLDERLIST_URL_MAP[currentRootDisk.disk], _params).then((res) => {
Service.Hades(FOLDERLIST_URL_MAP[currentRootDisk.disk], _params).then((res) => {
const { result = {} } = res;
const { records = [], total = 0 } = result;
this.setState({
......
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