|  |  |  | @ -1,6 +1,6 @@ | 
			
		
	
		
			
				
					|  |  |  |  | import React,{ Component } from "react"; | 
			
		
	
		
			
				
					|  |  |  |  | import { WordsBtn } from 'educoder'; | 
			
		
	
		
			
				
					|  |  |  |  | import {Tooltip,message} from 'antd'; | 
			
		
	
		
			
				
					|  |  |  |  | import React, {Component} from "react"; | 
			
		
	
		
			
				
					|  |  |  |  | import {WordsBtn} from 'educoder'; | 
			
		
	
		
			
				
					|  |  |  |  | import {Tooltip, message} from 'antd'; | 
			
		
	
		
			
				
					|  |  |  |  | import {Link} from 'react-router-dom'; | 
			
		
	
		
			
				
					|  |  |  |  | import {getImageUrl} from 'educoder'; | 
			
		
	
		
			
				
					|  |  |  |  | import axios from 'axios' | 
			
		
	
	
		
			
				
					|  |  |  | @ -10,25 +10,40 @@ import CoursesListType from '../coursesPublic/CoursesListType'; | 
			
		
	
		
			
				
					|  |  |  |  | import Showoldfiles from "../coursesPublic/Showoldfiles"; | 
			
		
	
		
			
				
					|  |  |  |  | import Modals from '../../modals/Modals'; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 	constructor(props){ | 
			
		
	
		
			
				
					|  |  |  |  | class Fileslistitem extends Component { | 
			
		
	
		
			
				
					|  |  |  |  | 	constructor(props) { | 
			
		
	
		
			
				
					|  |  |  |  | 		super(props); | 
			
		
	
		
			
				
					|  |  |  |  | 		this.state = { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		this.state = {} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	settingList=()=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 		let {discussMessage}=this.props | 
			
		
	
		
			
				
					|  |  |  |  | 	settingList = (bools) => { | 
			
		
	
		
			
				
					|  |  |  |  | 		let {discussMessage} = this.props | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 			discussMessageid:discussMessage.id | 
			
		
	
		
			
				
					|  |  |  |  | 			discussMessageid: discussMessage.id | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 		this.props.Settingtypes(discussMessage.id) | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 		if (bools === true) { | 
			
		
	
		
			
				
					|  |  |  |  | 			this.props.Settingtypes(discussMessage.id) | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			this.props.Settingtypess(discussMessage.id) | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	showfiles=(list)=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 		if(this.props.checkIfLogin()===false){ | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	//外链
 | 
			
		
	
		
			
				
					|  |  |  |  | 	showfiless = (url,id) => { | 
			
		
	
		
			
				
					|  |  |  |  | 		window.open(url) | 
			
		
	
		
			
				
					|  |  |  |  | 		let urls=`/files/${id}/update_visits.json`; | 
			
		
	
		
			
				
					|  |  |  |  | 		axios.post(urls,{ | 
			
		
	
		
			
				
					|  |  |  |  | 		}).then((result)=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 			if(result.data.status===0){ | 
			
		
	
		
			
				
					|  |  |  |  |        this.props.Updateresourcepage() | 
			
		
	
		
			
				
					|  |  |  |  | 			}else{ | 
			
		
	
		
			
				
					|  |  |  |  | 				this.props.showNotification(result.data.message); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	showfiles = (list) => { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (this.props.checkIfLogin() === false) { | 
			
		
	
		
			
				
					|  |  |  |  | 			this.props.showLoginDialog() | 
			
		
	
		
			
				
					|  |  |  |  | 			return | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
	
		
			
				
					|  |  |  | @ -43,21 +58,21 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 	return
 | 
			
		
	
		
			
				
					|  |  |  |  | 		// }
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if(list.is_history_file===false){ | 
			
		
	
		
			
				
					|  |  |  |  | 		if (list.is_history_file === false) { | 
			
		
	
		
			
				
					|  |  |  |  | 			// this.props.DownloadFileA(list.title,list.url)
 | 
			
		
	
		
			
				
					|  |  |  |  | 			//window.location.href=list.url;
 | 
			
		
	
		
			
				
					|  |  |  |  | 			window.open(list.url, '_blank'); | 
			
		
	
		
			
				
					|  |  |  |  | 		}else{ | 
			
		
	
		
			
				
					|  |  |  |  | 			let {discussMessage,coursesId}=this.props | 
			
		
	
		
			
				
					|  |  |  |  | 			let file_id=discussMessage.id | 
			
		
	
		
			
				
					|  |  |  |  | 			let url="/files/"+file_id+"/histories.json" | 
			
		
	
		
			
				
					|  |  |  |  | 			axios.get(url,{ | 
			
		
	
		
			
				
					|  |  |  |  | 				params:{ | 
			
		
	
		
			
				
					|  |  |  |  | 					course_id:coursesId | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			let {discussMessage, coursesId} = this.props | 
			
		
	
		
			
				
					|  |  |  |  | 			let file_id = discussMessage.id | 
			
		
	
		
			
				
					|  |  |  |  | 			let url = "/files/" + file_id + "/histories.json" | 
			
		
	
		
			
				
					|  |  |  |  | 			axios.get(url, { | 
			
		
	
		
			
				
					|  |  |  |  | 				params: { | 
			
		
	
		
			
				
					|  |  |  |  | 					course_id: coursesId | 
			
		
	
		
			
				
					|  |  |  |  | 				}, | 
			
		
	
		
			
				
					|  |  |  |  | 			}).then((result)=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 			}).then((result) => { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if(result.data.attachment_histories.length===0){ | 
			
		
	
		
			
				
					|  |  |  |  | 				if (result.data.attachment_histories.length === 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 					// if(result.data.is_pdf===true){
 | 
			
		
	
		
			
				
					|  |  |  |  | 					// 	this.props.ShowOnlinePdf(result.data.url)
 | 
			
		
	
		
			
				
					|  |  |  |  | 					// 	//预览pdf
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -66,64 +81,66 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 					// }
 | 
			
		
	
		
			
				
					|  |  |  |  | 					// this.props.DownloadFileA(result.data.title,result.data.url)
 | 
			
		
	
		
			
				
					|  |  |  |  | 					window.open(list.url, '_blank'); | 
			
		
	
		
			
				
					|  |  |  |  | 				}else{ | 
			
		
	
		
			
				
					|  |  |  |  | 				} else { | 
			
		
	
		
			
				
					|  |  |  |  | 					this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 						Showoldfiles:true, | 
			
		
	
		
			
				
					|  |  |  |  | 						allfiles:result.data | 
			
		
	
		
			
				
					|  |  |  |  | 						Showoldfiles: true, | 
			
		
	
		
			
				
					|  |  |  |  | 						allfiles: result.data | 
			
		
	
		
			
				
					|  |  |  |  | 					}) | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			}).catch((error)=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 			}).catch((error) => { | 
			
		
	
		
			
				
					|  |  |  |  | 				console.log(error) | 
			
		
	
		
			
				
					|  |  |  |  | 			}) | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	closaoldfilesprops=()=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 	closaoldfilesprops = () => { | 
			
		
	
		
			
				
					|  |  |  |  | 		this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 			Showoldfiles:false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Showoldfiles: false, | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	onDelete = (id) => { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype:true, | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstopval:"是否确认删除?", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalCancel:this.cancelmodel, | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalSave:()=>this.savedelete(id), | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype: true, | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstopval: "是否确认删除?", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalCancel: this.cancelmodel, | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalSave: () => this.savedelete(id), | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	cancelmodel=()=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 	cancelmodel = () => { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype:false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Loadtype:false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstopval:"", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalCancel:"", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalSave:"", | 
			
		
	
		
			
				
					|  |  |  |  | 			checkBoxValues:[], | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype: false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Loadtype: false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstopval: "", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalCancel: "", | 
			
		
	
		
			
				
					|  |  |  |  | 			ModalSave: "", | 
			
		
	
		
			
				
					|  |  |  |  | 			checkBoxValues: [], | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	savedelete=(id)=>{ | 
			
		
	
		
			
				
					|  |  |  |  | 	savedelete = (id) => { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype:false, | 
			
		
	
		
			
				
					|  |  |  |  | 			Modalstype: false, | 
			
		
	
		
			
				
					|  |  |  |  | 		}) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		const cid = this.props.match.params.coursesId | 
			
		
	
		
			
				
					|  |  |  |  | 		const url = `/files/bulk_delete.json`; | 
			
		
	
		
			
				
					|  |  |  |  | 		axios.delete(url, { data: { | 
			
		
	
		
			
				
					|  |  |  |  | 					course_id:cid, | 
			
		
	
		
			
				
					|  |  |  |  | 		axios.delete(url, { | 
			
		
	
		
			
				
					|  |  |  |  | 				data: { | 
			
		
	
		
			
				
					|  |  |  |  | 					course_id: cid, | 
			
		
	
		
			
				
					|  |  |  |  | 					ids: [id], | 
			
		
	
		
			
				
					|  |  |  |  | 				}}) | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			}) | 
			
		
	
		
			
				
					|  |  |  |  | 			.then((response) => { | 
			
		
	
		
			
				
					|  |  |  |  | 				if (response.data.status == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 					//Modalstopval:response.data.message,
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -132,11 +149,11 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 					this.setState({ | 
			
		
	
		
			
				
					|  |  |  |  | 						// Modalstype:true,
 | 
			
		
	
		
			
				
					|  |  |  |  | 						// Modalstopval:"删除成功",
 | 
			
		
	
		
			
				
					|  |  |  |  | 						ModalsBottomval:"", | 
			
		
	
		
			
				
					|  |  |  |  | 						ModalsBottomval: "", | 
			
		
	
		
			
				
					|  |  |  |  | 						// ModalSave:this.cancelmodel,
 | 
			
		
	
		
			
				
					|  |  |  |  | 						// Loadtype:true,
 | 
			
		
	
		
			
				
					|  |  |  |  | 						checkBoxValues:[], | 
			
		
	
		
			
				
					|  |  |  |  | 						checkAllValue:false | 
			
		
	
		
			
				
					|  |  |  |  | 						checkBoxValues: [], | 
			
		
	
		
			
				
					|  |  |  |  | 						checkAllValue: false | 
			
		
	
		
			
				
					|  |  |  |  | 					}) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 					this.props.showNotification("删除成功"); | 
			
		
	
	
		
			
				
					|  |  |  | @ -147,28 +164,30 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 			}); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	eventStop = (event) =>{ | 
			
		
	
		
			
				
					|  |  |  |  | 	eventStop = (event) => { | 
			
		
	
		
			
				
					|  |  |  |  | 		event.stopPropagation() | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	render(){ | 
			
		
	
		
			
				
					|  |  |  |  | 	render() { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		const { checkBox, | 
			
		
	
		
			
				
					|  |  |  |  | 			discussMessage,index | 
			
		
	
		
			
				
					|  |  |  |  | 		const { | 
			
		
	
		
			
				
					|  |  |  |  | 			checkBox, | 
			
		
	
		
			
				
					|  |  |  |  | 			discussMessage, index | 
			
		
	
		
			
				
					|  |  |  |  | 		} = this.props; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		return( | 
			
		
	
		
			
				
					|  |  |  |  | 		let bools = discussMessage.link && discussMessage.link ? false : true; | 
			
		
	
		
			
				
					|  |  |  |  | 		return ( | 
			
		
	
		
			
				
					|  |  |  |  | 			<div className="graduateTopicList boardsList"> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 				{/*提示*/} | 
			
		
	
		
			
				
					|  |  |  |  | 				{this.state.Modalstype&&this.state.Modalstype===true?<Modals | 
			
		
	
		
			
				
					|  |  |  |  | 				{this.state.Modalstype && this.state.Modalstype === true ? <Modals | 
			
		
	
		
			
				
					|  |  |  |  | 					modalsType={this.state.Modalstype} | 
			
		
	
		
			
				
					|  |  |  |  | 					modalsTopval={this.state.Modalstopval} | 
			
		
	
		
			
				
					|  |  |  |  | 					modalCancel={this.state.ModalCancel} | 
			
		
	
		
			
				
					|  |  |  |  | 					modalSave={this.state.ModalSave} | 
			
		
	
		
			
				
					|  |  |  |  | 					modalsBottomval={this.state.ModalsBottomval} | 
			
		
	
		
			
				
					|  |  |  |  | 					loadtype={this.state.Loadtype} | 
			
		
	
		
			
				
					|  |  |  |  | 				/>:""} | 
			
		
	
		
			
				
					|  |  |  |  | 				/> : ""} | 
			
		
	
		
			
				
					|  |  |  |  | 				<Showoldfiles | 
			
		
	
		
			
				
					|  |  |  |  | 					{...this.props} | 
			
		
	
		
			
				
					|  |  |  |  | 					visible={this.state.Showoldfiles} | 
			
		
	
	
		
			
				
					|  |  |  | @ -213,67 +232,130 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  |              margin-top:2px; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |           `}</style>
 | 
			
		
	
		
			
				
					|  |  |  |  | 				<div className="clearfix ds pr contentSection" style={{cursor : this.props.isAdmin ? "pointer" : "default"}} onClick={() => window.$(`.sourceitem${index} input`).click() }> | 
			
		
	
		
			
				
					|  |  |  |  | 					<h6 onClick={(event)=>this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  | 				<div className="clearfix ds pr contentSection" style={{cursor: this.props.isAdmin ? "pointer" : "default"}} | 
			
		
	
		
			
				
					|  |  |  |  | 						 onClick={() => window.$(`.sourceitem${index} input`).click()}> | 
			
		
	
		
			
				
					|  |  |  |  | 					<h6 onClick={(event) => this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  | 		        	<span className={`sourceitem${index} fl mr12 mt3`}> | 
			
		
	
		
			
				
					|  |  |  |  | 								{checkBox} | 
			
		
	
		
			
				
					|  |  |  |  | 							</span> | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isAdmin ? <a | 
			
		
	
		
			
				
					|  |  |  |  | 								// href={"/courses/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"}
 | 
			
		
	
		
			
				
					|  |  |  |  | 								onClick={()=>this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 								title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 								className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> : "" | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isAdmin ? | 
			
		
	
		
			
				
					|  |  |  |  | 								(bools === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 										<a | 
			
		
	
		
			
				
					|  |  |  |  | 											// href={"/courses/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"}
 | 
			
		
	
		
			
				
					|  |  |  |  | 											onClick={() => this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 											title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 											className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> | 
			
		
	
		
			
				
					|  |  |  |  | 										: | 
			
		
	
		
			
				
					|  |  |  |  | 										<a | 
			
		
	
		
			
				
					|  |  |  |  | 											// href={"/courses/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"}
 | 
			
		
	
		
			
				
					|  |  |  |  | 											onClick={() => this.showfiless(discussMessage.link,discussMessage.id)} | 
			
		
	
		
			
				
					|  |  |  |  | 											title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 											className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> | 
			
		
	
		
			
				
					|  |  |  |  | 								) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 								: "" | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isStudent?  <a | 
			
		
	
		
			
				
					|  |  |  |  | 								onClick={()=>this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 								title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 								className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> :"" | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isStudent ? | 
			
		
	
		
			
				
					|  |  |  |  | 								(bools === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 										<a | 
			
		
	
		
			
				
					|  |  |  |  | 											onClick={() => this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 											title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 											className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 										: | 
			
		
	
		
			
				
					|  |  |  |  | 										<a | 
			
		
	
		
			
				
					|  |  |  |  | 											onClick={() => this.showfiless(discussMessage.link,discussMessage.id)} | 
			
		
	
		
			
				
					|  |  |  |  | 											title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 											className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 								) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 								: "" | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isNotMember===true? | 
			
		
	
		
			
				
					|  |  |  |  | 							this.props.isNotMember === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 								discussMessage.is_lock === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 									<span className="fl mt3 font-16 font-bd color-dark maxwidth580 pointer"  title={"私有属性,非课堂成员不能访问"}>{discussMessage.title}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 									:<a | 
			
		
	
		
			
				
					|  |  |  |  | 										onClick={()=>this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 										title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 										className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a>:"" | 
			
		
	
		
			
				
					|  |  |  |  | 									<span className="fl mt3 font-16 font-bd color-dark maxwidth580 pointer" | 
			
		
	
		
			
				
					|  |  |  |  | 												title={"私有属性,非课堂成员不能访问"}>{discussMessage.title}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 									: | 
			
		
	
		
			
				
					|  |  |  |  | 									(bools === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 											<a | 
			
		
	
		
			
				
					|  |  |  |  | 												onClick={() => this.showfiles(discussMessage)} | 
			
		
	
		
			
				
					|  |  |  |  | 												title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 												className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> : | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 											<a | 
			
		
	
		
			
				
					|  |  |  |  | 												onClick={() =>this.showfiless(discussMessage.link,discussMessage.id)} | 
			
		
	
		
			
				
					|  |  |  |  | 												title={discussMessage.title} | 
			
		
	
		
			
				
					|  |  |  |  | 												className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 									) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 								: "" | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							discussMessage.is_lock === true ? | 
			
		
	
		
			
				
					|  |  |  |  | 								<Tooltip  title={"私有属性,非课堂成员不能访问"}  placement="bottom"> | 
			
		
	
		
			
				
					|  |  |  |  | 								<Tooltip title={"私有属性,非课堂成员不能访问"} placement="bottom"> | 
			
		
	
		
			
				
					|  |  |  |  | 									<i className="iconfont icon-guansuo color-grey-c ml10 font-16 fl mt4"></i> | 
			
		
	
		
			
				
					|  |  |  |  | 								</Tooltip> | 
			
		
	
		
			
				
					|  |  |  |  | 								:"" | 
			
		
	
		
			
				
					|  |  |  |  | 								: "" | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | 						<style> | 
			
		
	
		
			
				
					|  |  |  |  | 							{ | 
			
		
	
		
			
				
					|  |  |  |  | 								` | 
			
		
	
		
			
				
					|  |  |  |  | 								.fwlz{ | 
			
		
	
		
			
				
					|  |  |  |  | 								width:40px; | 
			
		
	
		
			
				
					|  |  |  |  | 								height:20px; | 
			
		
	
		
			
				
					|  |  |  |  | 								border-radius:2px; | 
			
		
	
		
			
				
					|  |  |  |  | 								border:1px solid rgba(250,100,0,1); | 
			
		
	
		
			
				
					|  |  |  |  | 								font-size:12px; | 
			
		
	
		
			
				
					|  |  |  |  | 								font-family:MicrosoftYaHei; | 
			
		
	
		
			
				
					|  |  |  |  | 								color:rgba(250,100,0,1); | 
			
		
	
		
			
				
					|  |  |  |  | 								text-align: center; | 
			
		
	
		
			
				
					|  |  |  |  |                 margin-left: 15px; | 
			
		
	
		
			
				
					|  |  |  |  | 								} | 
			
		
	
		
			
				
					|  |  |  |  | 								` | 
			
		
	
		
			
				
					|  |  |  |  | 							} | 
			
		
	
		
			
				
					|  |  |  |  | 						</style> | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							discussMessage.link && discussMessage.link ? | 
			
		
	
		
			
				
					|  |  |  |  | 								<p className="fl mt3 fwlz pointer">外链</p> | 
			
		
	
		
			
				
					|  |  |  |  | 								: | 
			
		
	
		
			
				
					|  |  |  |  | 								"" | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | 						{discussMessage.is_publish===false?<CoursesListType typelist={["未发布"]} typesylename={""}/>:""} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 						{this.props.isAdmin? | 
			
		
	
		
			
				
					|  |  |  |  | 							<span className={"fr mt2"} onClick={(event)=>this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  | 						{discussMessage.is_publish === false ? <CoursesListType typelist={["未发布"]} typesylename={""}/> : ""} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 						{this.props.isAdmin ? | 
			
		
	
		
			
				
					|  |  |  |  | 							<span className={"fr mt2"} onClick={(event) => this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  |                       <WordsBtn style="blue" className="colorblue font-16 ml20 fr"> | 
			
		
	
		
			
				
					|  |  |  |  |                           <a className="btn colorblue fontweight400" | 
			
		
	
		
			
				
					|  |  |  |  | 														 onClick={()=>this.settingList()}>设置</a> | 
			
		
	
		
			
				
					|  |  |  |  | 														 onClick={() => this.settingList(bools)}>设置</a> | 
			
		
	
		
			
				
					|  |  |  |  |                         </WordsBtn> | 
			
		
	
		
			
				
					|  |  |  |  |                       </span>:""} | 
			
		
	
		
			
				
					|  |  |  |  |                       </span> : ""} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 						{this.props.isStudent===true&&this.props.current_user.login===discussMessage.author.login? | 
			
		
	
		
			
				
					|  |  |  |  | 							<span className={"fr mt2"} onClick={(event)=>this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  | 						{this.props.isStudent === true && this.props.current_user.login === discussMessage.author.login ? | 
			
		
	
		
			
				
					|  |  |  |  | 							<span className={"fr mt2"} onClick={(event) => this.eventStop(event)}> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                       <WordsBtn style="blue" className="colorblue font-16 ml20  fr"> | 
			
		
	
		
			
				
					|  |  |  |  |                         <a className="btn colorblue fontweight400" | 
			
		
	
		
			
				
					|  |  |  |  | 													 onClick={()=>this.settingList()}>设置</a> | 
			
		
	
		
			
				
					|  |  |  |  | 													 onClick={() => this.settingList(bools)}>设置</a> | 
			
		
	
		
			
				
					|  |  |  |  |                       </WordsBtn> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 										  <WordsBtn style="blue" className="colorblue font-16 ml20 fr"> | 
			
		
	
		
			
				
					|  |  |  |  |                         <a className="btn colorblue fontweight400" | 
			
		
	
		
			
				
					|  |  |  |  | 													 onClick={()=>this.onDelete(discussMessage.id)}>删除</a> | 
			
		
	
		
			
				
					|  |  |  |  | 													 onClick={() => this.onDelete(discussMessage.id)}>删除</a> | 
			
		
	
		
			
				
					|  |  |  |  |                       </WordsBtn> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                       </span>:""} | 
			
		
	
		
			
				
					|  |  |  |  |                       </span> : ""} | 
			
		
	
		
			
				
					|  |  |  |  | 					</h6> | 
			
		
	
		
			
				
					|  |  |  |  | 					<style> | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
	
		
			
				
					|  |  |  | @ -288,7 +370,6 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 					</style> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 					<style> | 
			
		
	
		
			
				
					|  |  |  |  | 						{ | 
			
		
	
		
			
				
					|  |  |  |  | 							` | 
			
		
	
	
		
			
				
					|  |  |  | @ -315,28 +396,45 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 					{/*</p>}*/} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 					<p className={this.props.isAdmin===true?"color-grey panel-lightgrey mt8 fl ml30":"color-grey panel-lightgrey mt8 fl ml13"} style={{width:'100%'}}> | 
			
		
	
		
			
				
					|  |  |  |  | 					<p | 
			
		
	
		
			
				
					|  |  |  |  | 						className={this.props.isAdmin === true ? "color-grey panel-lightgrey mt8 fl ml30" : "color-grey panel-lightgrey mt8 fl ml13"} | 
			
		
	
		
			
				
					|  |  |  |  | 						style={{width: '100%'}}> | 
			
		
	
		
			
				
					|  |  |  |  |                       <span className="mr50"> | 
			
		
	
		
			
				
					|  |  |  |  |                         <span className="mr15 color-dark">{discussMessage.author.name}</span> | 
			
		
	
		
			
				
					|  |  |  |  |                         <span className="mr15 color-grey9">大小 {discussMessage.filesize}</span> | 
			
		
	
		
			
				
					|  |  |  |  |                         <span className="mr15 color-grey9">下载 {discussMessage.downloads_count}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 												{ | 
			
		
	
		
			
				
					|  |  |  |  | 													bools ? | 
			
		
	
		
			
				
					|  |  |  |  | 														<span className="mr15 color-grey9">大小 {discussMessage.filesize}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 														: | 
			
		
	
		
			
				
					|  |  |  |  | 														"" | 
			
		
	
		
			
				
					|  |  |  |  | 												} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 												{ | 
			
		
	
		
			
				
					|  |  |  |  | 													bools ? | 
			
		
	
		
			
				
					|  |  |  |  | 														<span className="mr15 color-grey9">下载 {discussMessage.downloads_count}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 														: | 
			
		
	
		
			
				
					|  |  |  |  | 														<span className="mr15 color-grey9">点击次数:{discussMessage.downloads_count}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 												} | 
			
		
	
		
			
				
					|  |  |  |  | 												{/*<span className="mr15 color-grey9">引用 {discussMessage.quotes}</span>*/} | 
			
		
	
		
			
				
					|  |  |  |  | 												<span className="mr15 color-grey-c"> | 
			
		
	
		
			
				
					|  |  |  |  |                             {/*{moment(discussMessage.publish_time).format('YYYY-MM-DD HH:mm:ss')}*/} | 
			
		
	
		
			
				
					|  |  |  |  | 													{/*{moment(discussMessage.publish_time).fromNow()}*/} | 
			
		
	
		
			
				
					|  |  |  |  | 													{ discussMessage.publish_time===null?"": | 
			
		
	
		
			
				
					|  |  |  |  | 														discussMessage.is_publish===true?"":"发布于"} | 
			
		
	
		
			
				
					|  |  |  |  | 													{ discussMessage.publish_time===null?"":discussMessage.is_publish===true?moment(discussMessage.publish_time).fromNow():moment(discussMessage.publish_time).format('YYYY-MM-DD HH:mm')} | 
			
		
	
		
			
				
					|  |  |  |  | 													{discussMessage.publish_time === null ? "" : | 
			
		
	
		
			
				
					|  |  |  |  | 														discussMessage.is_publish === true ? "" : "发布于"} | 
			
		
	
		
			
				
					|  |  |  |  | 													{discussMessage.publish_time === null ? "" : discussMessage.is_publish === true ? moment(discussMessage.publish_time).fromNow() : moment(discussMessage.publish_time).format('YYYY-MM-DD HH:mm')} | 
			
		
	
		
			
				
					|  |  |  |  |                         </span> | 
			
		
	
		
			
				
					|  |  |  |  |                       </span> | 
			
		
	
		
			
				
					|  |  |  |  | 						{discussMessage&&discussMessage.category_name===null?"":this.props.child===false?<div className="color-grey9 task-hide fr mr30" title={discussMessage&&discussMessage.category_name} | 
			
		
	
		
			
				
					|  |  |  |  | 																																																	style={{"max-width":"268px"}}>所属目录:{discussMessage&&discussMessage.category_name} | 
			
		
	
		
			
				
					|  |  |  |  | 						</div>:""} | 
			
		
	
		
			
				
					|  |  |  |  | 						{discussMessage && discussMessage.category_name === null ? "" : this.props.child === false ? | 
			
		
	
		
			
				
					|  |  |  |  | 							<div className="color-grey9 task-hide fr mr30" title={discussMessage && discussMessage.category_name} | 
			
		
	
		
			
				
					|  |  |  |  | 									 style={{"max-width": "268px"}}>所属目录:{discussMessage && discussMessage.category_name} | 
			
		
	
		
			
				
					|  |  |  |  | 							</div> : ""} | 
			
		
	
		
			
				
					|  |  |  |  | 					</p> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 					<p className={this.props.isAdmin===true?"color-grey panel-lightgrey mt8 fl ml30":"color-grey panel-lightgrey mt8 fl ml13"} style={{width:'94%'}}> | 
			
		
	
		
			
				
					|  |  |  |  | 					<p | 
			
		
	
		
			
				
					|  |  |  |  | 						className={this.props.isAdmin === true ? "color-grey panel-lightgrey mt8 fl ml30" : "color-grey panel-lightgrey mt8 fl ml13"} | 
			
		
	
		
			
				
					|  |  |  |  | 						style={{width: '94%'}}> | 
			
		
	
		
			
				
					|  |  |  |  | 						<style> | 
			
		
	
		
			
				
					|  |  |  |  | 							{ | 
			
		
	
		
			
				
					|  |  |  |  | 								` | 
			
		
	
	
		
			
				
					|  |  |  | @ -349,7 +447,8 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 													` | 
			
		
	
		
			
				
					|  |  |  |  | 							} | 
			
		
	
		
			
				
					|  |  |  |  | 						</style> | 
			
		
	
		
			
				
					|  |  |  |  | 						<span className="color-dark isspans">资源描述 :{discussMessage.description===null?"暂无描述":discussMessage.description}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 						<span | 
			
		
	
		
			
				
					|  |  |  |  | 							className="color-dark isspans">资源描述 :{discussMessage.description === null ? "暂无描述" : discussMessage.description}</span> | 
			
		
	
		
			
				
					|  |  |  |  | 						{/*<span className="mr50">*/} | 
			
		
	
		
			
				
					|  |  |  |  | 						{/*/!*<span className="mr15 color-dark"></span>*!/*/} | 
			
		
	
		
			
				
					|  |  |  |  | 						{/*<span  className="mr15 color-dark">*/} | 
			
		
	
	
		
			
				
					|  |  |  | @ -365,4 +464,5 @@ class Fileslistitem extends Component{ | 
			
		
	
		
			
				
					|  |  |  |  | 		) | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export default Fileslistitem; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |