Commit afb1f37d by zhangleyuan

feat:上传图片相关修改

parent 75eb6c76
......@@ -111,10 +111,12 @@ class UploadProgressModal extends React.Component {
},
mime: type
}).then(url => {
console.log('1111');
file.status = 'success';
this.setState({ fileList });
this.props.onUpload(fileContent, resourceId);
}).catch(err => {
file.status = 'fail';
this.setState({ fileList });
});
......
......@@ -13,7 +13,7 @@ import EditorBox from '../components/EditorBox';
import User from '@/common/js/user';
import UploadOss from '@/core/upload';
import './AddLiveIntro.less';
// import SelectPrepareFileModal from '../modal/SelectPrepareFileModal';
import SelectPrepareFileModal from '@/modules/prepare-lesson/modal/SelectPrepareFileModal';
import { DISK_MAP } from '@/common/constants/academic/lessonEnum';
import { ImgCutModalNew } from '@/components';
......@@ -53,6 +53,7 @@ class AddLiveIntro extends React.Component {
mediaName: folderName,
size: folderSize
}
console.log('liveCourseWarmMedia',liveCourseWarmMedia);
this.props.onChange('liveCourseWarmMedia', liveCourseWarmMedia);
}
// 获取机构可见的磁盘
......@@ -367,7 +368,8 @@ class AddLiveIntro extends React.Component {
</div>
</div>
{/* 选择暖场图文件弹窗 */}
{/* <SelectPrepareFileModal
<SelectPrepareFileModal
multiple={true}
operateType="select"
accept="video/mp4,image/jpeg,image/png,image/jpg"
selectTypeList={['MP4', 'JPG', 'JPEG', 'PNG']}
......@@ -378,7 +380,7 @@ class AddLiveIntro extends React.Component {
this.setState({ showSelectFileModal: false })
}}
onSelect={this.handleSelectVideo}
/> */}
/>
</div>
)
}
......
......@@ -343,6 +343,7 @@ class ManageCoursewareModal extends React.Component {
onCancel={() => {
this.props.onCancel()
}}
maskClosable={false}
>
{_.isEmpty(_list) ?
<div className="empty-body">
......
.select-prepare-file-modal {
.ant-upload-list {
display: none;
}
.DefaultIcon {
margin: 12px 0 0 0;
border: 1px solid #E8E8E8;
border-radius: 4px;
padding: 100px 0;
.desc {
color: #999;
.upload-btn {
color: #FF7519;
margin: 0 4px;
cursor: pointer;
}
}
}
.radio-buttons {
text-align: center;
margin-bottom: 16px;
}
.file-path {
display: inline-block;
color: #333;
position: relative;
margin-bottom: 12px;
margin-right: 12px;
&:last-child {
color: #999;
}
&:not(:last-child) {
cursor: pointer;
&:hover {
color: #FF8534;
}
&::before {
content: '/';
position: absolute;
color: #CCC;
right: -8px;
}
}
}
.file-list {
border: 1px solid #E8E8E8;
border-radius: 4px;
.file-item {
display: flex;
align-items: center;
justify-content: space-between;
height: 48px;
padding: 12px 25px;
&:not(:last-child) {
border-bottom: 1px solid #E8E8E8;
}
&.enable {
cursor: pointer;
}
&.disable {
cursor: not-allowed;
opacity: 0.5;
}
&__cover {
min-width: 320px;
img {
margin-right: 8px;
}
}
&__size {
margin-left: 40px;
}
.iconfont {
color: #BFBFBF;
&.correct {
color: #FC9C6B;
}
}
}
}
.ant-modal-footer {
display: flex;
align-items: center;
justify-content: space-between;
.prepare-lesson-upload.hidden {
visibility: hidden;
}
.prepare-lesson-upload.visible {
visibility: visible;
}
.footer__left {
color: #FF7519;
cursor: pointer;
}
}
}
\ No newline at end of file
......@@ -312,21 +312,21 @@ class SelectPrepareFileModal extends React.Component {
}
handleChooseFile = async () => {
// 校验是否已经欠费
const { instId } = window.currentUserInstInfo;
const balanceRes = await axios.Business("public/liveAssets/query", { instId });
// balance小于等于0表示已经欠费,旗舰版用户不需要校验余额
const ultimateRes = await axios.Business('public/inst/checkInstProduct', {
instId,
productCodeList: ['ULTIMATESELL', 'PIP_TO_ULTIMATE', 'HIGH_TO_ULTIMATE']
});
const { result } = balanceRes;
if ((!result || result.balance <= 0) && !ultimateRes.result) {
this.handleShowNoticeModal(balance);
return;
}
// // 校验是否已经欠费
// const { instId } = window.currentUserInstInfo;
// const balanceRes = await axios.Business("public/liveAssets/query", { instId });
// // balance小于等于0表示已经欠费,旗舰版用户不需要校验余额
// const ultimateRes = await axios.Business('public/inst/checkInstProduct', {
// instId,
// productCodeList: ['ULTIMATESELL', 'PIP_TO_ULTIMATE', 'HIGH_TO_ULTIMATE']
// });
// const { result } = balanceRes;
// if ((!result || result.balance <= 0) && !ultimateRes.result) {
// this.handleShowNoticeModal(balance);
// return;
// }
const dom = document.querySelector('#detailFileInput');
dom.click();
}
......@@ -401,10 +401,11 @@ class SelectPrepareFileModal extends React.Component {
}
handleUploadDone = (file, resourceId) => {
console.log('9999');
const { folderList, folderPathList, currentRootDisk, uploadFolderPath } = this.state;
const { scene } = this.props;
const { teacherId, instId } = window.currentUserInstInfo;
// const { teacherId, instId } = window.currentUserInstInfo;
const currentFolder = folderPathList[folderPathList.length - 1];
const { id = null } = uploadFolderPath || currentFolder;
let { size, type, name } = file;
......@@ -413,6 +414,17 @@ class SelectPrepareFileModal extends React.Component {
type = getFileTypeByName(name)
}
// const params = {
// name,
// resourceId,
// folderSize: size,
// folderFormat: type,
// folderTypeEnum: resourceId ? 'FILE' : 'FOLDER',
// disk: currentRootDisk.disk,
// instId: instId || LS.get('instId'),
// createUser: teacherId ? "TEACHER" : "ADMIN",
// parentId: id
// }
const params = {
name,
resourceId,
......@@ -420,12 +432,12 @@ class SelectPrepareFileModal extends React.Component {
folderFormat: type,
folderTypeEnum: resourceId ? 'FILE' : 'FOLDER',
disk: currentRootDisk.disk,
instId: instId || LS.get('instId'),
createUser: teacherId ? "TEACHER" : "ADMIN",
parentId: id
createUser:"STORE_USER",
parentId: id,
storeId:User.getStoreId(),
createId:User.getUserId()
}
axios.Apollo('public/apollo/saveFolder', params).then((res) => {
Service.Hades('public/hadesStore/saveFolder', params).then((res) => {
const { query, selectedFileList, currentRootDisk } = this.state;
const _query = _.clone(query);
{/* TODO:麦麦打卡类目申请下来后解开视频入口 */}
......@@ -478,9 +490,6 @@ class SelectPrepareFileModal extends React.Component {
const hasSelect = !!selectedFileLength;
// 是否有上传权限
const hasManagementAuthority = currentRootDisk.uploadPower;
return [
<input
multiple
......@@ -489,11 +498,12 @@ class SelectPrepareFileModal extends React.Component {
id="detailFileInput"
accept={accept}
onChange={(e) => this.handleUpload(e)}
maskClosable={false}
/>,
<div
key="footerLeft"
className="footer__left"
className={`prepare-lesson-upload ${operateType === 'select' && hasManagementAuthority ? 'visible' : 'hidden'}`}
className={`prepare-lesson-upload ${operateType === 'select'? 'visible' : 'hidden'}`}
>
<Tooltip title={tooltip}>
<span
......
import React from 'react';
import { Modal } from 'antd';
import OSS from 'ali-oss';
import Service from '@/common/js/service';
import { getEllipsText } from "@/core/util";
import { DEFAULT_SIZE_UNIT, FileTypeIcon, FileVerifyMap } from "@/common/constants/academic/lessonEnum";
......@@ -61,7 +61,7 @@ class UploadProgressModal extends React.Component {
const { instId } = window.currentUserInstInfo;
return new Promise(resolve => {
axios.postJSON('mfs/anon/mfs/multiPartUpload', {
Service.postJSON('mfs/anon/mfs/multiPartUpload', {
instId,
resourceName,
data: { folderId: id },
......@@ -94,7 +94,6 @@ class UploadProgressModal extends React.Component {
callbackBody,
ossUri
});
resolve({ ossClient, resourceId, callBack, callbackBody, ossUri });
})
})
......@@ -129,6 +128,7 @@ class UploadProgressModal extends React.Component {
}).then(url => {
file.status = 'success';
this.setState({ fileList });
console.log('fileList',fileList);
this.props.onUpload(fileContent, resourceId);
}).catch(err => {
file.status = 'fail';
......
......@@ -13,11 +13,11 @@ import _ from 'underscore';
import Service from '@/common/js/service';
import { SUFFIX_MAP } from '@/domains/resource-disk/constants';
import User from '@/common/js/user';
import OperateArea from './OperateArea';
import FolderList from './FolderList';
import User from '@/common/js/user';
const FOLDERLIST_URL_MAP = {
'MYSELF': 'public/hadesStore/folderList',
......
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