diff --git a/public/react/package.json b/public/react/package.json index ebfda1b41..54519f009 100644 --- a/public/react/package.json +++ b/public/react/package.json @@ -93,7 +93,7 @@ "wrap-md-editor": "^0.2.20" }, "scripts": { - "start": "node --max_old_space_size=8072 scripts/start.js", + "start": "node --max_old_space_size=15360 scripts/start.js", "build": "node --max_old_space_size=15360 scripts/build.js", "concat": "node scripts/concat.js", "gen_stats": "NODE_ENV=production webpack --profile --config=./config/webpack.config.prod.js --json > stats.json", diff --git a/public/react/src/modules/courses/Resource/index.js b/public/react/src/modules/courses/Resource/index.js index 06531d142..1ad136934 100644 --- a/public/react/src/modules/courses/Resource/index.js +++ b/public/react/src/modules/courses/Resource/index.js @@ -123,7 +123,7 @@ class Fileslists extends Component{ list.map((item,key)=>{ course_second_categoriess=item.course_second_categories }) - debugger + this.setState({ course_modules:response.data, has_course_groups:response.data.has_course_groups, @@ -850,7 +850,7 @@ class Fileslists extends Component{ {/*})*/} {/*)*/} {/*})}*/} - {this.props.isAdmin()?parseInt(this.props.match.params.main_id)===parseInt(this.props.coursesids)? + {this.props.isAdmin()?parseInt(this.props.match.params.main_id)===filesId&&filesId?

this.addDir()}>添加目录

diff --git a/public/react/src/modules/courses/exercise/Exercisestatisticalresult.js b/public/react/src/modules/courses/exercise/Exercisestatisticalresult.js index ca7b8e403..51b8ae98b 100644 --- a/public/react/src/modules/courses/exercise/Exercisestatisticalresult.js +++ b/public/react/src/modules/courses/exercise/Exercisestatisticalresult.js @@ -102,7 +102,7 @@ class Exercisestatisticalresult extends Component { } `} -
+
{data&&data.course_groups.length===0?"":
diff --git a/public/react/src/modules/courses/shixunHomework/Listofworks.js b/public/react/src/modules/courses/shixunHomework/Listofworks.js index d6950d43a..d697694cb 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworks.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworks.js @@ -1346,7 +1346,7 @@ class Listofworks extends Component { // } // let url = "/zip/shixun_report"; // let homeworkid = this.props.match.params.homeworkid; - axios.get((url),{headers:{'filename':'utf-8'}}).then((response) => { + axios.get((url),{responseType: 'blob'}).then((response) => { console.log("1350"); console.log(response); if(response.data.status&&response.data.status===-1){ @@ -1355,50 +1355,25 @@ class Listofworks extends Component { }else if(response.data.status&&response.data.status===-2){ }else{ - window.location.href("/api"+url); - // response.blob().then(blob => { - // //关闭loading 按钮恢复正常 - // let blobUrl = window.URL.createObjectURL(blob); - // const filename = times.formatNowDate() + '.zip'; - // const aElement = document.createElement('a'); - // document.body.appendChild(aElement); - // aElement.style.display = 'none'; - // aElement.href = blobUrl; - // aElement.download = filename; - // aElement.click(); - // document.body.removeChild(aElement); - // }); - + // window.location.href("/api"+url); + console.log("开始下载zip文件") + const type='application/zip'//ZIP文件 + const blob = new Blob([response.data], { type: type }) + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) + //后台再header中传文件名 + const name = decodeURI(response.headers['content-disposition'].split('=')[1]) + downloadElement.href = href + downloadElement.download = name + document.body.appendChild(downloadElement) + downloadElement.click() + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放掉blob对象 } }).catch((error) => { console.log(error) }); } - //字节装为字符串 - utf8ByteArrayToString(bytes) { - var out = [], pos =0, c =0; - while (pos < bytes.length) { - var c1 = bytes[pos++]; - if (c1 <128) { - out[c++] = String.fromCharCode(c1); - }else if (c1 >191 && c1 <224) { - var c2 = bytes[pos++]; - out[c++] = String.fromCharCode((c1 &31) <<6 | c2 &63); - }else if (c1 >239 && c1 <365) { - var c2 = bytes[pos++]; - var c3 = bytes[pos++]; - var c4 = bytes[pos++]; - var u = ((c1 &7) <<18 | (c2 &63) <<12 | (c3 &63) <<6 | c4 &63) -0x10000; - out[c++] = String.fromCharCode(0xD800 + (u >>10)); - out[c++] = String.fromCharCode(0xDC00 + (u &1023)); - }else { - var c2 = bytes[pos++]; - var c3 = bytes[pos++]; - out[c++] =String.fromCharCode((c1 &15) <<12 | (c2 &63) <<6 | c3 &63); - } - } - return out.join(''); - } // 课堂学生成绩的导出下载 Classstudentachievement=(url)=>{ console.log("Classstudentachievement"); @@ -1410,7 +1385,7 @@ class Listofworks extends Component { // search: this.state.searchtext, // } // },{responseType: 'blob'}) - axios.get((url),{headers:{'filename':'utf-8'}}).then((response) => { + axios.get((url),{responseType: 'blob'}).then((response) => { console.log("1374"); console.log(response); if(response.data.status&&response.data.status===-1){ @@ -1419,9 +1394,20 @@ class Listofworks extends Component { }else if(response.data.status&&response.data.status===-2){ }else{ - window.location.href("/api"+url); - - // window.open("/api"+url, '_blank'); + const type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' //excel文件 + const blob = new Blob([response.data], { type: type }) + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) + //后台再header中传文件名 + const name = decodeURI(response.headers['content-disposition'].split('=')[1]) + console.log(response.headers['content-disposition'].split('=')[1]); + console.log(name); + downloadElement.href = href + downloadElement.download = name + document.body.appendChild(downloadElement) + downloadElement.click() + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放掉blob对象 } }).catch((error) => { diff --git a/public/react/src/modules/courses/shixunHomework/shixunHomework.js b/public/react/src/modules/courses/shixunHomework/shixunHomework.js index 9bf782d48..9bf0d12a4 100644 --- a/public/react/src/modules/courses/shixunHomework/shixunHomework.js +++ b/public/react/src/modules/courses/shixunHomework/shixunHomework.js @@ -976,7 +976,8 @@ class ShixunHomework extends Component{ order, }=this.state; - + let main_id=this.props.match.params.main_id; + let category_id=this.props.match.params.category_id; return(
@@ -1131,7 +1132,7 @@ class ShixunHomework extends Component{ {course_modules&&course_modules.main_category.map((item,key)=>{ return( - datas&&datas.category_id===null?datas.main_category_id===item.main_category_id?"":
  • this.moveTos(item.main_category_id)}>{item.main_category_name}
  • :"" + datas&&datas.category_id===null?"":
  • this.moveTos(item.main_category_id)}>{item.main_category_name}
  • :"" ) })} @@ -1139,8 +1140,12 @@ class ShixunHomework extends Component{ { course_modules&&course_modules.homework_category.filter((item,key)=> { return (!this.state.dirSearchValue || item.category_name.indexOf(this.state.dirSearchValue) != -1) }).map( (item,key) => { - return - datas&&datas.category_id!=null?datas.category_id===item.category_id?"":
  • this.moveTos(item.category_id )}>{item.category_name}
  • :"" + if(datas&&datas.category_id!=null&&datas&&datas.category_id===item.category_id===false){ + return
  • this.moveTos(item.category_id )}>{item.category_name}
  • + } + if(datas&&datas.category_id===null){ + return
  • this.moveTos(item.category_id )}>{item.category_name}
  • + } })} @@ -1152,7 +1157,7 @@ class ShixunHomework extends Component{ } `} - {course_modules&&course_modules.homework_category.length===0? + {course_modules&&course_modules.homework_category.length===0&&datas&&datas.category_id===null?
    暂无数据
    :""} {/*{course_modules&&course_modules.homework_category.map((item,key)=>{*/}