|
|
|
@ -1346,7 +1346,7 @@ class Listofworks extends Component {
|
|
|
|
|
// }
|
|
|
|
|
// let url = "/zip/shixun_report";
|
|
|
|
|
// let homeworkid = this.props.match.params.homeworkid;
|
|
|
|
|
axios.get(url).then((response) => {
|
|
|
|
|
axios.get((url),{headers:{'filename':'utf-8'},responseType: 'blob',}).then((response) => {
|
|
|
|
|
console.log("1350");
|
|
|
|
|
console.log(response);
|
|
|
|
|
if(response.data.status&&response.data.status===-1){
|
|
|
|
@ -1355,13 +1355,50 @@ class Listofworks extends Component {
|
|
|
|
|
}else if(response.data.status&&response.data.status===-2){
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
window.open("/api"+url, '_blank');
|
|
|
|
|
// 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");
|
|
|
|
@ -1373,7 +1410,7 @@ class Listofworks extends Component {
|
|
|
|
|
// search: this.state.searchtext,
|
|
|
|
|
// }
|
|
|
|
|
// },{responseType: 'blob'})
|
|
|
|
|
axios.get(url).then((response) => {
|
|
|
|
|
axios.get((url),{headers:{'filename':'utf-8'}}).then((response) => {
|
|
|
|
|
console.log("1374");
|
|
|
|
|
console.log(response);
|
|
|
|
|
if(response.data.status&&response.data.status===-1){
|
|
|
|
@ -1382,7 +1419,9 @@ class Listofworks extends Component {
|
|
|
|
|
}else if(response.data.status&&response.data.status===-2){
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
window.open("/api"+url, '_blank');
|
|
|
|
|
window.location.href("/api"+url);
|
|
|
|
|
|
|
|
|
|
// window.open("/api"+url, '_blank');
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
@ -1539,7 +1578,7 @@ class Listofworks extends Component {
|
|
|
|
|
导出<i className="iconfont icon-xiajiantou font-12 ml2"></i>
|
|
|
|
|
<ul className="drop_down_menu" style={{"right":"-0px","left":"unset","height":"auto"}}>
|
|
|
|
|
<li><a onClick={()=>this.internshipreport(`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}&work_status=${this.state.course_groupyslstwo}&course_group=${this.state.checkedValuesineinfo}&search=${this.state.searchtext}`)}>实训报告</a></li>
|
|
|
|
|
<li><a onClick={()=>this.Classstudentachievement(`/courses/${this.props.match.params.coursesId}/export_member_scores_excel.xlsx?group_id=${this.state.checkedValuesineinfo}&search=${this.state.searchtext}`)} >学生成绩</a></li>
|
|
|
|
|
<li><a onClick={()=>this.Classstudentachievement(`/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx?group_id=${this.state.checkedValuesineinfo}&search=${this.state.searchtext}`)} >学生成绩</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>:""}
|
|
|
|
|
{this.props.isAdmin() ?
|
|
|
|
|