|
|
|
@ -8,18 +8,18 @@ import moment from 'moment';
|
|
|
|
|
const CheckboxGroup = Checkbox.Group;
|
|
|
|
|
const Option = Select.Option;
|
|
|
|
|
function range(start, end) {
|
|
|
|
|
const result = [];
|
|
|
|
|
for (let i = start; i < end; i++) {
|
|
|
|
|
result.push(i);
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
const result = [];
|
|
|
|
|
for (let i = start; i < end; i++) {
|
|
|
|
|
result.push(i);
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
function disabledDateTime() {
|
|
|
|
|
return {
|
|
|
|
|
// disabledHours: () => range(0, 24).splice(4, 20),
|
|
|
|
|
disabledMinutes: () => range(1, 30).concat(range(31, 60)),
|
|
|
|
|
// disabledSeconds: () => [0, 60],
|
|
|
|
|
};
|
|
|
|
|
return {
|
|
|
|
|
// disabledHours: () => range(0, 24).splice(4, 20),
|
|
|
|
|
disabledMinutes: () => range(1, 30).concat(range(31, 60)),
|
|
|
|
|
// disabledSeconds: () => [0, 60],
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function disabledDate(current) {
|
|
|
|
@ -29,63 +29,63 @@ function disabledDate(current) {
|
|
|
|
|
|
|
|
|
|
const dateFormat="YYYY-MM-DD HH:mm";
|
|
|
|
|
class Sendresource extends Component{
|
|
|
|
|
constructor(props){
|
|
|
|
|
super(props);
|
|
|
|
|
this.state={
|
|
|
|
|
group_ids:[],
|
|
|
|
|
fileList:[],
|
|
|
|
|
Modalstype:false,
|
|
|
|
|
Modalstopval:"",
|
|
|
|
|
ModalCancel:"",
|
|
|
|
|
ModalSave:"",
|
|
|
|
|
constructor(props){
|
|
|
|
|
super(props);
|
|
|
|
|
this.state={
|
|
|
|
|
group_ids:[],
|
|
|
|
|
fileList:[],
|
|
|
|
|
Modalstype:false,
|
|
|
|
|
Modalstopval:"",
|
|
|
|
|
ModalCancel:"",
|
|
|
|
|
ModalSave:"",
|
|
|
|
|
fileListtype:false,
|
|
|
|
|
loadtype:false,
|
|
|
|
|
is_unified_setting:true,
|
|
|
|
|
is_public:false,
|
|
|
|
|
datatime:undefined,
|
|
|
|
|
// moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
course_group_publish_times:[
|
|
|
|
|
{
|
|
|
|
|
course_group_id : undefined,
|
|
|
|
|
publish_time :""
|
|
|
|
|
}],
|
|
|
|
|
course_groups:undefined,
|
|
|
|
|
course_groups_count:undefined
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
|
|
|
|
|
|
let coursesId=this.props.match.params.coursesId;
|
|
|
|
|
if(this.props.isAdmin()){
|
|
|
|
|
let url = `/courses/${coursesId}/all_course_groups.json`
|
|
|
|
|
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
})
|
|
|
|
|
.then((response) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
course_groups: response.data.course_groups,
|
|
|
|
|
course_groups_count:response.data.course_groups_count
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//勾选实训
|
|
|
|
|
shixunhomeworkedit=(list)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
group_ids:list
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// 附件相关 START
|
|
|
|
|
handleChange = (info) => {
|
|
|
|
|
loadtype:false,
|
|
|
|
|
is_unified_setting:true,
|
|
|
|
|
is_public:false,
|
|
|
|
|
datatime:undefined,
|
|
|
|
|
// moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
course_group_publish_times:[
|
|
|
|
|
{
|
|
|
|
|
course_group_id : undefined,
|
|
|
|
|
publish_time :""
|
|
|
|
|
}],
|
|
|
|
|
course_groups:undefined,
|
|
|
|
|
course_groups_count:undefined
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
|
|
|
|
|
|
let coursesId=this.props.match.params.coursesId;
|
|
|
|
|
if(this.props.isAdmin()){
|
|
|
|
|
let url = `/courses/${coursesId}/all_course_groups.json`
|
|
|
|
|
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
})
|
|
|
|
|
.then((response) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
course_groups: response.data.course_groups,
|
|
|
|
|
course_groups_count:response.data.course_groups_count
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//勾选实训
|
|
|
|
|
shixunhomeworkedit=(list)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
group_ids:list
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// 附件相关 START
|
|
|
|
|
handleChange = (info) => {
|
|
|
|
|
|
|
|
|
|
let fileList = info.fileList;
|
|
|
|
|
if(info.file.status!="removed"){
|
|
|
|
@ -98,280 +98,280 @@ class Sendresource extends Component{
|
|
|
|
|
fileList: appendFileSizeToUploadFileAll(fileList),
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// onAttachmentRemove = (file) => {
|
|
|
|
|
//
|
|
|
|
|
// onAttachmentRemove = (file) => {
|
|
|
|
|
//
|
|
|
|
|
// this.setState({
|
|
|
|
|
// fileListtype:false,
|
|
|
|
|
// })
|
|
|
|
|
// // confirm({
|
|
|
|
|
// // title: '确定要删除这个附件吗?',
|
|
|
|
|
// // okText: '确定',
|
|
|
|
|
// // cancelText: '取消',
|
|
|
|
|
// // // content: 'Some descriptions',
|
|
|
|
|
// // onOk: () => {
|
|
|
|
|
// // this.deleteAttachment(file)
|
|
|
|
|
// // },
|
|
|
|
|
// // onCancel() {
|
|
|
|
|
// // console.log('Cancel');
|
|
|
|
|
// // },
|
|
|
|
|
// // });
|
|
|
|
|
// // return false;
|
|
|
|
|
// // confirm({
|
|
|
|
|
// // title: '确定要删除这个附件吗?',
|
|
|
|
|
// // okText: '确定',
|
|
|
|
|
// // cancelText: '取消',
|
|
|
|
|
// // // content: 'Some descriptions',
|
|
|
|
|
// // onOk: () => {
|
|
|
|
|
// // this.deleteAttachment(file)
|
|
|
|
|
// // },
|
|
|
|
|
// // onCancel() {
|
|
|
|
|
// // console.log('Cancel');
|
|
|
|
|
// // },
|
|
|
|
|
// // });
|
|
|
|
|
// // return false;
|
|
|
|
|
//
|
|
|
|
|
// // this.setState({
|
|
|
|
|
// // Modalstype:true,
|
|
|
|
|
// // Modalstopval:'确定要删除这个附件吗?',
|
|
|
|
|
// // ModalSave: ()=>this.deleteAttachment(file),
|
|
|
|
|
// // ModalCancel:this.cancelAttachment
|
|
|
|
|
// // })
|
|
|
|
|
// // return false;
|
|
|
|
|
// // this.setState({
|
|
|
|
|
// // Modalstype:true,
|
|
|
|
|
// // Modalstopval:'确定要删除这个附件吗?',
|
|
|
|
|
// // ModalSave: ()=>this.deleteAttachment(file),
|
|
|
|
|
// // ModalCancel:this.cancelAttachment
|
|
|
|
|
// // })
|
|
|
|
|
// // return false;
|
|
|
|
|
//
|
|
|
|
|
// this.deleteAttachment(file);
|
|
|
|
|
// }
|
|
|
|
|
// this.deleteAttachment(file);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onAttachmentRemove = (file) => {
|
|
|
|
|
|
|
|
|
|
const url = `/attachments/${file.response ? file.response.id : file.uid}.json`
|
|
|
|
|
axios.delete(url, {
|
|
|
|
|
})
|
|
|
|
|
.then((response) => {
|
|
|
|
|
if (response.data) {
|
|
|
|
|
const { status } = response.data;
|
|
|
|
|
if (status == 0) {
|
|
|
|
|
const url = `/attachments/${file.response ? file.response.id : file.uid}.json`
|
|
|
|
|
axios.delete(url, {
|
|
|
|
|
})
|
|
|
|
|
.then((response) => {
|
|
|
|
|
if (response.data) {
|
|
|
|
|
const { status } = response.data;
|
|
|
|
|
if (status == 0) {
|
|
|
|
|
this.setState({
|
|
|
|
|
fileListtype:false,
|
|
|
|
|
fileList:[]
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
this.setState({
|
|
|
|
|
fileListtype:false,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ModalCancelModalCancel=()=>{
|
|
|
|
|
this.setState({
|
|
|
|
|
Modalstype:false,
|
|
|
|
|
Modalstopval:"",
|
|
|
|
|
ModalSave:this.ModalCancelModalCancel,
|
|
|
|
|
loadtype:false
|
|
|
|
|
})
|
|
|
|
|
this.props.Cancel()
|
|
|
|
|
}
|
|
|
|
|
Saves=()=>{
|
|
|
|
|
|
|
|
|
|
let id=this.props.categoryid;
|
|
|
|
|
let {fileList,description,is_public,is_unified_setting,datatime,course_group_publish_times} =this.state;
|
|
|
|
|
|
|
|
|
|
let newfileList=[];
|
|
|
|
|
for(var list of fileList){
|
|
|
|
|
newfileList.push(list.response.id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(newfileList.length===0){
|
|
|
|
|
this.setState({
|
|
|
|
|
fileListtype:false,
|
|
|
|
|
newfileListtype:true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ModalCancelModalCancel=()=>{
|
|
|
|
|
this.setState({
|
|
|
|
|
Modalstype:false,
|
|
|
|
|
Modalstopval:"",
|
|
|
|
|
ModalSave:this.ModalCancelModalCancel,
|
|
|
|
|
loadtype:false
|
|
|
|
|
})
|
|
|
|
|
this.props.Cancel()
|
|
|
|
|
}
|
|
|
|
|
Saves=()=>{
|
|
|
|
|
|
|
|
|
|
let id=this.props.categoryid;
|
|
|
|
|
let {fileList,description,is_public,is_unified_setting,datatime,course_group_publish_times} =this.state;
|
|
|
|
|
|
|
|
|
|
let newfileList=[];
|
|
|
|
|
for(var list of fileList){
|
|
|
|
|
newfileList.push(list.response.id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(newfileList.length===0){
|
|
|
|
|
this.setState({
|
|
|
|
|
newfileListtype:true
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
// if(is_unified_setting===false){
|
|
|
|
|
// course_group_publish_times.forEach((item,key)=>{
|
|
|
|
|
// if(item.course_group_id===undefined||item.publish_time===undefined){
|
|
|
|
|
// this.setState({
|
|
|
|
|
// course_group_publish_timestype:true
|
|
|
|
|
// })
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(description===undefined){
|
|
|
|
|
|
|
|
|
|
}else if(description.length>100){
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
descriptiontype:true
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let coursesId=this.props.match.params.coursesId;
|
|
|
|
|
let attachmentId=this.props.attachmentId;
|
|
|
|
|
let url="/files/upload.json";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
axios.post(url,{
|
|
|
|
|
course_id:coursesId,
|
|
|
|
|
course_second_category_id:this.props.coursesidtype===undefined||this.props.coursesidtype==="node"?0:attachmentId,
|
|
|
|
|
attachment_ids:newfileList,
|
|
|
|
|
is_public:is_public,
|
|
|
|
|
is_unified_setting:is_unified_setting,
|
|
|
|
|
publish_time:is_unified_setting===true?datatime===undefined? moment(new Date()).format('YYYY-MM-DD HH:mm'):datatime:undefined,
|
|
|
|
|
description:description,
|
|
|
|
|
course_group_publish_times:is_unified_setting===false?course_group_publish_times:undefined
|
|
|
|
|
}).then((result)=>{
|
|
|
|
|
|
|
|
|
|
if(result.data.status===0){
|
|
|
|
|
// this.setState({
|
|
|
|
|
// Modalstype:true,
|
|
|
|
|
// Modalstopval:result.data.message,
|
|
|
|
|
// ModalSave:this.ModalCancelModalCancel,
|
|
|
|
|
// loadtype:true
|
|
|
|
|
// })
|
|
|
|
|
this.ModalCancelModalCancel();
|
|
|
|
|
this.props.updataleftNavfun();
|
|
|
|
|
// this.props.showNotification(result.data.message);
|
|
|
|
|
this.props.showNotification("上传资源成功");
|
|
|
|
|
this.props.setupdate(this.props.attachmentId)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
settextarea=(e)=>{
|
|
|
|
|
this.setState({
|
|
|
|
|
description:e.target.value
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangesetting=(e)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
is_unified_setting:e.target.checked
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangepublic=(e)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
is_public:e.target.checked
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangeTimepublish= (date, dateString,key,type) => {
|
|
|
|
|
if(type===1){
|
|
|
|
|
this.setState({
|
|
|
|
|
datatime:handleDateString(dateString),
|
|
|
|
|
})
|
|
|
|
|
}else if(type===2){
|
|
|
|
|
let {course_group_publish_times}=this.state;
|
|
|
|
|
let newgroup_publish=course_group_publish_times;
|
|
|
|
|
for(var i=0; i<newgroup_publish.length; i++){
|
|
|
|
|
if(i===parseInt(key)){
|
|
|
|
|
newgroup_publish[i].publish_time=handleDateString(dateString);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newgroup_publish,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
selectassigngroups=(e,index,key)=>{
|
|
|
|
|
let {course_group_publish_times}=this.state;
|
|
|
|
|
let newgroup_publish=course_group_publish_times;
|
|
|
|
|
for(var i=0; i<newgroup_publish.length; i++){
|
|
|
|
|
if(i===parseInt(key)){
|
|
|
|
|
newgroup_publish[i].course_group_id=index.props.value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newgroup_publish,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
deletegrouppublish=(key)=>{
|
|
|
|
|
let newlist=this.state.course_group_publish_times;
|
|
|
|
|
newlist.splice(key,1);
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newlist
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addgrouppublish=()=>{
|
|
|
|
|
let newlist=this.state.course_group_publish_times;
|
|
|
|
|
newlist.push( {
|
|
|
|
|
course_group_id : undefined,
|
|
|
|
|
publish_time :undefined
|
|
|
|
|
})
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newlist
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
render(){
|
|
|
|
|
let {settextarea,newfileListtype,descriptiontype,
|
|
|
|
|
course_group_publish_timestype,
|
|
|
|
|
Modalstopval,
|
|
|
|
|
ModalCancel,
|
|
|
|
|
ModalSave,
|
|
|
|
|
loadtype,
|
|
|
|
|
is_unified_setting,
|
|
|
|
|
is_public,
|
|
|
|
|
datatime,
|
|
|
|
|
course_group_publish_times,
|
|
|
|
|
course_groups
|
|
|
|
|
}=this.state;
|
|
|
|
|
|
|
|
|
|
const uploadProps = {
|
|
|
|
|
width: 600,
|
|
|
|
|
// showUploadList:false,
|
|
|
|
|
action: `${getUrl()}/api/attachments.json`,
|
|
|
|
|
onChange: this.handleChange,
|
|
|
|
|
onRemove: this.onAttachmentRemove,
|
|
|
|
|
beforeUpload: (file) => {
|
|
|
|
|
// console.log('beforeUpload', file.name);
|
|
|
|
|
const isLt150M = file.size / 1024 / 1024 < 150;
|
|
|
|
|
if (!isLt150M) {
|
|
|
|
|
message.error('文件大小必须小于150MB!');
|
|
|
|
|
}
|
|
|
|
|
return isLt150M;
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return(
|
|
|
|
|
<div>
|
|
|
|
|
{/*提示*/}
|
|
|
|
|
<Modals
|
|
|
|
|
modalsType={this.state.Modalstype}
|
|
|
|
|
modalsTopval={this.state.Modalstopval}
|
|
|
|
|
modalCancel={this.state.ModalCancel}
|
|
|
|
|
modalSave={this.state.ModalSave}
|
|
|
|
|
loadtype= {this.state.loadtype}
|
|
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<Modal
|
|
|
|
|
keyboard={false}
|
|
|
|
|
className={"HomeworkModal"}
|
|
|
|
|
title={this.props.modalname}
|
|
|
|
|
visible={this.props.visible}
|
|
|
|
|
closable={false}
|
|
|
|
|
footer={null}
|
|
|
|
|
destroyOnClose={true}
|
|
|
|
|
>
|
|
|
|
|
<div className="task-popup-content">
|
|
|
|
|
<p className="task-popup-text-center font-16">
|
|
|
|
|
|
|
|
|
|
<span className={"color-blue underline"}> </span>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<style>{`
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
// if(is_unified_setting===false){
|
|
|
|
|
// course_group_publish_times.forEach((item,key)=>{
|
|
|
|
|
// if(item.course_group_id===undefined||item.publish_time===undefined){
|
|
|
|
|
// this.setState({
|
|
|
|
|
// course_group_publish_timestype:true
|
|
|
|
|
// })
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(description===undefined){
|
|
|
|
|
|
|
|
|
|
}else if(description.length>100){
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
descriptiontype:true
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let coursesId=this.props.match.params.coursesId;
|
|
|
|
|
let attachmentId=this.props.attachmentId;
|
|
|
|
|
let url="/files/upload.json";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
axios.post(url,{
|
|
|
|
|
course_id:coursesId,
|
|
|
|
|
course_second_category_id:this.props.coursesidtype===undefined||this.props.coursesidtype==="node"?0:attachmentId,
|
|
|
|
|
attachment_ids:newfileList,
|
|
|
|
|
is_public:is_public,
|
|
|
|
|
is_unified_setting:is_unified_setting,
|
|
|
|
|
publish_time:is_unified_setting===true?datatime===undefined? moment(new Date()).format('YYYY-MM-DD HH:mm'):datatime:undefined,
|
|
|
|
|
description:description,
|
|
|
|
|
course_group_publish_times:is_unified_setting===false?course_group_publish_times:undefined
|
|
|
|
|
}).then((result)=>{
|
|
|
|
|
|
|
|
|
|
if(result.data.status===0){
|
|
|
|
|
// this.setState({
|
|
|
|
|
// Modalstype:true,
|
|
|
|
|
// Modalstopval:result.data.message,
|
|
|
|
|
// ModalSave:this.ModalCancelModalCancel,
|
|
|
|
|
// loadtype:true
|
|
|
|
|
// })
|
|
|
|
|
this.ModalCancelModalCancel();
|
|
|
|
|
this.props.updataleftNavfun();
|
|
|
|
|
// this.props.showNotification(result.data.message);
|
|
|
|
|
this.props.showNotification("上传资源成功");
|
|
|
|
|
this.props.setupdate(this.props.attachmentId)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
settextarea=(e)=>{
|
|
|
|
|
this.setState({
|
|
|
|
|
description:e.target.value
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangesetting=(e)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
is_unified_setting:e.target.checked
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangepublic=(e)=>{
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
is_public:e.target.checked
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChangeTimepublish= (date, dateString,key,type) => {
|
|
|
|
|
if(type===1){
|
|
|
|
|
this.setState({
|
|
|
|
|
datatime:handleDateString(dateString),
|
|
|
|
|
})
|
|
|
|
|
}else if(type===2){
|
|
|
|
|
let {course_group_publish_times}=this.state;
|
|
|
|
|
let newgroup_publish=course_group_publish_times;
|
|
|
|
|
for(var i=0; i<newgroup_publish.length; i++){
|
|
|
|
|
if(i===parseInt(key)){
|
|
|
|
|
newgroup_publish[i].publish_time=handleDateString(dateString);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newgroup_publish,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
selectassigngroups=(e,index,key)=>{
|
|
|
|
|
let {course_group_publish_times}=this.state;
|
|
|
|
|
let newgroup_publish=course_group_publish_times;
|
|
|
|
|
for(var i=0; i<newgroup_publish.length; i++){
|
|
|
|
|
if(i===parseInt(key)){
|
|
|
|
|
newgroup_publish[i].course_group_id=index.props.value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newgroup_publish,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
deletegrouppublish=(key)=>{
|
|
|
|
|
let newlist=this.state.course_group_publish_times;
|
|
|
|
|
newlist.splice(key,1);
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newlist
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addgrouppublish=()=>{
|
|
|
|
|
let newlist=this.state.course_group_publish_times;
|
|
|
|
|
newlist.push( {
|
|
|
|
|
course_group_id : undefined,
|
|
|
|
|
publish_time :undefined
|
|
|
|
|
})
|
|
|
|
|
this.setState({
|
|
|
|
|
course_group_publish_times:newlist
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
render(){
|
|
|
|
|
let {settextarea,newfileListtype,descriptiontype,
|
|
|
|
|
course_group_publish_timestype,
|
|
|
|
|
Modalstopval,
|
|
|
|
|
ModalCancel,
|
|
|
|
|
ModalSave,
|
|
|
|
|
loadtype,
|
|
|
|
|
is_unified_setting,
|
|
|
|
|
is_public,
|
|
|
|
|
datatime,
|
|
|
|
|
course_group_publish_times,
|
|
|
|
|
course_groups
|
|
|
|
|
}=this.state;
|
|
|
|
|
|
|
|
|
|
const uploadProps = {
|
|
|
|
|
width: 600,
|
|
|
|
|
// showUploadList:false,
|
|
|
|
|
action: `${getUrl()}/api/attachments.json`,
|
|
|
|
|
onChange: this.handleChange,
|
|
|
|
|
onRemove: this.onAttachmentRemove,
|
|
|
|
|
beforeUpload: (file) => {
|
|
|
|
|
// console.log('beforeUpload', file.name);
|
|
|
|
|
const isLt150M = file.size / 1024 / 1024 < 150;
|
|
|
|
|
if (!isLt150M) {
|
|
|
|
|
message.error('文件大小必须小于150MB!');
|
|
|
|
|
}
|
|
|
|
|
return isLt150M;
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return(
|
|
|
|
|
<div>
|
|
|
|
|
{/*提示*/}
|
|
|
|
|
<Modals
|
|
|
|
|
modalsType={this.state.Modalstype}
|
|
|
|
|
modalsTopval={this.state.Modalstopval}
|
|
|
|
|
modalCancel={this.state.ModalCancel}
|
|
|
|
|
modalSave={this.state.ModalSave}
|
|
|
|
|
loadtype= {this.state.loadtype}
|
|
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<Modal
|
|
|
|
|
keyboard={false}
|
|
|
|
|
className={"HomeworkModal"}
|
|
|
|
|
title={this.props.modalname}
|
|
|
|
|
visible={this.props.visible}
|
|
|
|
|
closable={false}
|
|
|
|
|
footer={null}
|
|
|
|
|
destroyOnClose={true}
|
|
|
|
|
>
|
|
|
|
|
<div className="task-popup-content">
|
|
|
|
|
<p className="task-popup-text-center font-16">
|
|
|
|
|
|
|
|
|
|
<span className={"color-blue underline"}> </span>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<style>{`
|
|
|
|
|
.uploadBtn.ant-btn {
|
|
|
|
|
border: none;
|
|
|
|
|
color: #4CACFF;
|
|
|
|
@ -404,7 +404,7 @@ class Sendresource extends Component{
|
|
|
|
|
margin-top:31px;
|
|
|
|
|
}
|
|
|
|
|
`}</style>}
|
|
|
|
|
<p className={"winth540"}>
|
|
|
|
|
<p className={"winth540"}>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
@ -433,152 +433,152 @@ class Sendresource extends Component{
|
|
|
|
|
<span className={"ml10"}>(单个文件最大150M)</span>
|
|
|
|
|
</span>:""}
|
|
|
|
|
</Upload>
|
|
|
|
|
</p>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
{/*<style>*/}
|
|
|
|
|
{/*{*/}
|
|
|
|
|
{/*`*/}
|
|
|
|
|
{/*.maxwidth400{*/}
|
|
|
|
|
{/*max-width: 400px;*/}
|
|
|
|
|
{/*overflow: hidden;*/}
|
|
|
|
|
{/*text-overflow: ellipsis;*/}
|
|
|
|
|
{/*white-space: nowrap;*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*`*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*{*/}
|
|
|
|
|
{/*`*/}
|
|
|
|
|
{/*.maxwidth400{*/}
|
|
|
|
|
{/*max-width: 400px;*/}
|
|
|
|
|
{/*overflow: hidden;*/}
|
|
|
|
|
{/*text-overflow: ellipsis;*/}
|
|
|
|
|
{/*white-space: nowrap;*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*`*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*</style>*/}
|
|
|
|
|
{/*{this.state.fileList.length===0?"":this.state.fileList.map((item,key)=>{*/}
|
|
|
|
|
{/*debugger*/}
|
|
|
|
|
{/*return(*/}
|
|
|
|
|
{/*<p className="color-grey mt10" key={key} >*/}
|
|
|
|
|
{/*<a className="color-grey fl">*/}
|
|
|
|
|
{/*<i className="font-14 color-green iconfont icon-fujian mr8" aria-hidden="true"></i>*/}
|
|
|
|
|
{/*</a>*/}
|
|
|
|
|
{/*<span className="mr12 color9B9B maxwidth400 fl" length="58">*/}
|
|
|
|
|
{/*{item.name}*/}
|
|
|
|
|
{/*</span>*/}
|
|
|
|
|
{/*<span className="color656565 mt2 color-grey-6 font-12 mr8">*/}
|
|
|
|
|
{/*{item.response===undefined?"":isNaN(bytesToSize(item.filesize))?"":bytesToSize(item.filesize)}*/}
|
|
|
|
|
{/*</span>*/}
|
|
|
|
|
{/*<i className="font-14 iconfont icon-guanbi "*/}
|
|
|
|
|
{/*id={item.response===undefined?"":item.response.id}*/}
|
|
|
|
|
{/*aria-hidden="true" onClick={()=>this.onAttachmentRemove(item.response===undefined?"":item.response.id&&item.response.id)}></i>*/}
|
|
|
|
|
{/*</p>*/}
|
|
|
|
|
{/*)*/}
|
|
|
|
|
{/*debugger*/}
|
|
|
|
|
{/*return(*/}
|
|
|
|
|
{/*<p className="color-grey mt10" key={key} >*/}
|
|
|
|
|
{/*<a className="color-grey fl">*/}
|
|
|
|
|
{/*<i className="font-14 color-green iconfont icon-fujian mr8" aria-hidden="true"></i>*/}
|
|
|
|
|
{/*</a>*/}
|
|
|
|
|
{/*<span className="mr12 color9B9B maxwidth400 fl" length="58">*/}
|
|
|
|
|
{/*{item.name}*/}
|
|
|
|
|
{/*</span>*/}
|
|
|
|
|
{/*<span className="color656565 mt2 color-grey-6 font-12 mr8">*/}
|
|
|
|
|
{/*{item.response===undefined?"":isNaN(bytesToSize(item.filesize))?"":bytesToSize(item.filesize)}*/}
|
|
|
|
|
{/*</span>*/}
|
|
|
|
|
{/*<i className="font-14 iconfont icon-guanbi "*/}
|
|
|
|
|
{/*id={item.response===undefined?"":item.response.id}*/}
|
|
|
|
|
{/*aria-hidden="true" onClick={()=>this.onAttachmentRemove(item.response===undefined?"":item.response.id&&item.response.id)}></i>*/}
|
|
|
|
|
{/*</p>*/}
|
|
|
|
|
{/*)*/}
|
|
|
|
|
{/*})}*/}
|
|
|
|
|
|
|
|
|
|
{newfileListtype===true&&this.state.fileListtype===false?<p className={"color-red"}>请先上传资源</p>:""}
|
|
|
|
|
|
|
|
|
|
{/*<p className={"winth540"}>*/}
|
|
|
|
|
{/*<style>{`*/}
|
|
|
|
|
{/*.ant-checkbox-wrapper{*/}
|
|
|
|
|
{/*margin-left:0px !important;*/}
|
|
|
|
|
{/*margin-top:10px;*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*`}</style>*/}
|
|
|
|
|
|
|
|
|
|
{/*<div className={this.state.fileListtype===true?"mt30":""}></div><Checkbox checked={is_public} onChange={this.onChangepublic}>*/}
|
|
|
|
|
{/*<span className={"font-14"}>勾选后所有用户可见,否则仅课堂成员可见</span>*/}
|
|
|
|
|
{/*</Checkbox>*/}
|
|
|
|
|
|
|
|
|
|
{/*/!*{this.state.course_groups_count&&this.state.course_groups_count>0?<Checkbox checked={is_unified_setting} onChange={this.onChangesetting}>*!/*/}
|
|
|
|
|
{/*/!*<span>统一设置</span><span className={"font-14 color-grey-9"}>(选中则所有分班使用相同的发布设置,否则各个单独设置)</span>*!/*/}
|
|
|
|
|
{/*/!*</Checkbox>:""}*!/*/}
|
|
|
|
|
{/*<style>{`*/}
|
|
|
|
|
{/*.Selectleft20{*/}
|
|
|
|
|
{/*margin-left: 20px !important;*/}
|
|
|
|
|
{/*width: 176px;*/}
|
|
|
|
|
{/*height: 40px; */}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*#startimes .ant-calendar-picker-icon{*/}
|
|
|
|
|
{/*margin-top:-11px;*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*.resourcebox{*/}
|
|
|
|
|
{/*max-height:150px;*/}
|
|
|
|
|
{/*overflow: auto;*/}
|
|
|
|
|
{/*}*/}
|
|
|
|
|
{/*`}</style>*/}
|
|
|
|
|
{/*<div className={"resourcebox"}>*/}
|
|
|
|
|
{/*{is_unified_setting===false?*/}
|
|
|
|
|
{/*course_group_publish_times.map((item,key)=>{*/}
|
|
|
|
|
{/*return(*/}
|
|
|
|
|
{/*<div className={"mt10"} key={key}>*/}
|
|
|
|
|
|
|
|
|
|
{/*<Select placeholder="请选择分班名称"*/}
|
|
|
|
|
{/*value={item.course_group_id}*/}
|
|
|
|
|
{/*style={{ width: 200 }}*/}
|
|
|
|
|
{/*onChange={(e,index)=>this.selectassigngroups(e,index,key)}*/}
|
|
|
|
|
{/*>*/}
|
|
|
|
|
{/*{course_groups&&course_groups.map((item,key)=>{*/}
|
|
|
|
|
{/*return(*/}
|
|
|
|
|
{/*<Option value={item.id} key={key}>{item.name}</Option>*/}
|
|
|
|
|
{/*)*/}
|
|
|
|
|
{/*})}*/}
|
|
|
|
|
{/*</Select>*/}
|
|
|
|
|
|
|
|
|
|
{/*<DatePicker*/}
|
|
|
|
|
{/*dropdownClassName="hideDisable"*/}
|
|
|
|
|
{/*showTime={{ format: 'HH:mm' }}*/}
|
|
|
|
|
{/*locale={locale}*/}
|
|
|
|
|
{/*showToday={false}*/}
|
|
|
|
|
{/*format={dateFormat}*/}
|
|
|
|
|
{/*placeholder="请选择发布时间"*/}
|
|
|
|
|
{/*id={"startimes"}*/}
|
|
|
|
|
{/*className={"Selectleft20 "}*/}
|
|
|
|
|
{/*width={"200px"}*/}
|
|
|
|
|
{/*value={item.publish_time===undefined||item.publish_time===""?undefined:moment(item.publish_time, dateFormat)}*/}
|
|
|
|
|
{/*onChange={(e,index)=>this.onChangeTimepublish(e,index,key,2)}*/}
|
|
|
|
|
{/*// onChange={ this.onChangeTimepublish }*/}
|
|
|
|
|
{/*disabledTime={disabledDateTime}*/}
|
|
|
|
|
{/*disabledDate={disabledDate}*/}
|
|
|
|
|
{/*/>*/}
|
|
|
|
|
{/*{key!=0?<i className="iconfont icon-shanchu color-grey-c font-14 font-n ml20" onClick={()=>this.deletegrouppublish(key)}></i>:""}*/}
|
|
|
|
|
{/*{key===course_group_publish_times.length-1&&key<this.state.course_groups_count-1?<i className="iconfont icon-tianjiafangda color-green ml15" onClick={this.addgrouppublish}></i>:""}*/}
|
|
|
|
|
{/*</div>*/}
|
|
|
|
|
{/*)*/}
|
|
|
|
|
{/*})*/}
|
|
|
|
|
|
|
|
|
|
{/*:""}*/}
|
|
|
|
|
{/*</div>*/}
|
|
|
|
|
|
|
|
|
|
{/*</p>*/}
|
|
|
|
|
|
|
|
|
|
{is_unified_setting===true?<p className={this.state.fileListtype===true?"mt30":"mt10"}>
|
|
|
|
|
{newfileListtype===true&&this.state.fileListtype===false?<p className={"color-red"}>请先上传资源</p>:""}
|
|
|
|
|
|
|
|
|
|
<p className={"winth540"}>
|
|
|
|
|
<style>{`
|
|
|
|
|
.ant-checkbox-wrapper{
|
|
|
|
|
margin-left:0px !important;
|
|
|
|
|
margin-top:10px;
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
|
|
|
|
|
<div className={this.state.fileListtype===true?"mt30":""}></div><Checkbox checked={is_public} onChange={this.onChangepublic}>
|
|
|
|
|
<span className={"font-14"}>勾选后所有用户可见,否则仅课堂成员可见</span>
|
|
|
|
|
</Checkbox>
|
|
|
|
|
|
|
|
|
|
{/*{this.state.course_groups_count&&this.state.course_groups_count>0?<Checkbox checked={is_unified_setting} onChange={this.onChangesetting}>*/}
|
|
|
|
|
{/*<span>统一设置</span><span className={"font-14 color-grey-9"}>(选中则所有分班使用相同的发布设置,否则各个单独设置)</span>*/}
|
|
|
|
|
{/*</Checkbox>:""}*/}
|
|
|
|
|
<style>{`
|
|
|
|
|
.Selectleft20{
|
|
|
|
|
margin-left: 20px !important;
|
|
|
|
|
width: 176px;
|
|
|
|
|
height: 40px;
|
|
|
|
|
}
|
|
|
|
|
#startimes .ant-calendar-picker-icon{
|
|
|
|
|
margin-top:-11px;
|
|
|
|
|
}
|
|
|
|
|
.resourcebox{
|
|
|
|
|
max-height:150px;
|
|
|
|
|
overflow: auto;
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className={"resourcebox"}>
|
|
|
|
|
{is_unified_setting===false?
|
|
|
|
|
course_group_publish_times.map((item,key)=>{
|
|
|
|
|
return(
|
|
|
|
|
<div className={"mt10"} key={key}>
|
|
|
|
|
|
|
|
|
|
<Select placeholder="请选择分班名称"
|
|
|
|
|
value={item.course_group_id}
|
|
|
|
|
style={{ width: 200 }}
|
|
|
|
|
onChange={(e,index)=>this.selectassigngroups(e,index,key)}
|
|
|
|
|
>
|
|
|
|
|
{course_groups&&course_groups.map((item,key)=>{
|
|
|
|
|
return(
|
|
|
|
|
<Option value={item.id} key={key}>{item.name}</Option>
|
|
|
|
|
)
|
|
|
|
|
})}
|
|
|
|
|
</Select>
|
|
|
|
|
|
|
|
|
|
<DatePicker
|
|
|
|
|
dropdownClassName="hideDisable"
|
|
|
|
|
showTime={{ format: 'HH:mm' }}
|
|
|
|
|
locale={locale}
|
|
|
|
|
showToday={false}
|
|
|
|
|
format={dateFormat}
|
|
|
|
|
placeholder="请选择发布时间"
|
|
|
|
|
id={"startimes"}
|
|
|
|
|
className={"Selectleft20 "}
|
|
|
|
|
width={"200px"}
|
|
|
|
|
value={item.publish_time===undefined||item.publish_time===""?undefined:moment(item.publish_time, dateFormat)}
|
|
|
|
|
onChange={(e,index)=>this.onChangeTimepublish(e,index,key,2)}
|
|
|
|
|
// onChange={ this.onChangeTimepublish }
|
|
|
|
|
disabledTime={disabledDateTime}
|
|
|
|
|
disabledDate={disabledDate}
|
|
|
|
|
/>
|
|
|
|
|
{key!=0?<i className="iconfont icon-shanchu color-grey-c font-14 font-n ml20" onClick={()=>this.deletegrouppublish(key)}></i>:""}
|
|
|
|
|
{key===course_group_publish_times.length-1&&key<this.state.course_groups_count-1?<i className="iconfont icon-tianjiafangda color-green ml15" onClick={this.addgrouppublish}></i>:""}
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
:""}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
{is_unified_setting===true?<p className={"mt10"}>
|
|
|
|
|
<span>
|
|
|
|
|
<DatePicker
|
|
|
|
|
dropdownClassName="hideDisable"
|
|
|
|
|
showTime={{ format: 'HH:mm' }}
|
|
|
|
|
locale={locale}
|
|
|
|
|
format={dateFormat}
|
|
|
|
|
placeholder="请选择发布时间"
|
|
|
|
|
id={"startime"}
|
|
|
|
|
showToday={false}
|
|
|
|
|
width={"210px"}
|
|
|
|
|
value={datatime===undefined||datatime===""?undefined:moment(datatime, dateFormat)}
|
|
|
|
|
onChange={(e,index)=>this.onChangeTimepublish(e,index,undefined,1)}
|
|
|
|
|
disabledTime={disabledDateTime}
|
|
|
|
|
dropdownClassName="hideDisable"
|
|
|
|
|
showTime={{ format: 'HH:mm' }}
|
|
|
|
|
locale={locale}
|
|
|
|
|
format={dateFormat}
|
|
|
|
|
placeholder="请选择发布时间"
|
|
|
|
|
id={"startime"}
|
|
|
|
|
showToday={false}
|
|
|
|
|
width={"210px"}
|
|
|
|
|
value={datatime===undefined||datatime===""?undefined:moment(datatime, dateFormat)}
|
|
|
|
|
onChange={(e,index)=>this.onChangeTimepublish(e,index,undefined,1)}
|
|
|
|
|
disabledTime={disabledDateTime}
|
|
|
|
|
disabledDate={disabledDate}
|
|
|
|
|
/>
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</p>:""}
|
|
|
|
|
|
|
|
|
|
{/*{course_group_publish_timestype===true?<p className={"color-red mt10"}>请填写完整</p>:""}*/}
|
|
|
|
|
<textarea placeholder="请在此输入资源描述,最大限制100个字符" className={"mt10"} value={this.state.description} onInput={this.settextarea} style={{
|
|
|
|
|
width: '100%',
|
|
|
|
|
height:'120px',
|
|
|
|
|
border:'1px solid rgba(234,234,234,1)',
|
|
|
|
|
padding: '10px'
|
|
|
|
|
}}></textarea>
|
|
|
|
|
{descriptiontype===true?<p className={"color-red"}>请输入资源描述,最大限制100个字符</p>:""}
|
|
|
|
|
<div className="clearfix mt30 edu-txt-center mb10">
|
|
|
|
|
<a className="task-btn color-white mr70" onClick={this.props.Cancel}>{this.props.Cancelname}</a>
|
|
|
|
|
<a className="task-btn task-btn-orange" onClick={()=>this.Saves()}>{this.props.Savesname}</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</Modal>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
</p>:""}
|
|
|
|
|
|
|
|
|
|
{/*{course_group_publish_timestype===true?<p className={"color-red mt10"}>请填写完整</p>:""}*/}
|
|
|
|
|
<textarea placeholder="请在此输入资源描述,最大限制100个字符" className={"mt10"} value={this.state.description} onInput={this.settextarea} style={{
|
|
|
|
|
width: '100%',
|
|
|
|
|
height:'120px',
|
|
|
|
|
border:'1px solid rgba(234,234,234,1)',
|
|
|
|
|
padding: '10px'
|
|
|
|
|
}}></textarea>
|
|
|
|
|
{descriptiontype===true?<p className={"color-red"}>请输入资源描述,最大限制100个字符</p>:""}
|
|
|
|
|
<div className="clearfix mt30 edu-txt-center mb10">
|
|
|
|
|
<a className="task-btn color-white mr70" onClick={this.props.Cancel}>{this.props.Cancelname}</a>
|
|
|
|
|
<a className="task-btn task-btn-orange" onClick={()=>this.Saves()}>{this.props.Savesname}</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</Modal>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
export default Sendresource;
|