|
@@ -877,7 +877,7 @@
|
|
|
padding: 0 0 15px 0;
|
|
|
border-bottom: 1px solid #efefef;
|
|
|
margin-bottom: 15px;
|
|
|
- " v-for="(itemTool, toolIndex) in itemTask.toolArray" :key="toolIndex">
|
|
|
+ " v-for="(itemTool, toolIndex) in itemTask.toolArray" :key="toolIndex" v-loading="downLoading == 'down'+toolIndex">
|
|
|
<div style="
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
@@ -1135,7 +1135,7 @@
|
|
|
<div class="vedioTimeBox" v-for="(
|
|
|
chapter, cIndex
|
|
|
) in itemTool.toolData" :key="cIndex + '1'"
|
|
|
- @click="setChapterIndex(itemTool, cIndex)">
|
|
|
+ @click="setChapterIndex(itemTool, cIndex, toolIndex)">
|
|
|
<div class="vedioName" :class="{
|
|
|
isClickNav:
|
|
|
itemTool.sourceIndex == cIndex,
|
|
@@ -1169,7 +1169,7 @@
|
|
|
.type == 9
|
|
|
" type="primary" @click="
|
|
|
downloadFile(
|
|
|
- itemTool.toolData[itemTool.sourceIndex].src
|
|
|
+ itemTool.toolData[itemTool.sourceIndex].src,toolIndex
|
|
|
)
|
|
|
">文件下载</el-button>
|
|
|
<el-button v-if="itemTool.toolData[itemTool.sourceIndex]
|
|
@@ -1225,7 +1225,7 @@
|
|
|
openAsk(photo.content, itemTaskIndex, toolIndex)
|
|
|
" />
|
|
|
<img v-if="photo.type == 13" src="../../../assets/icon/zip.png" alt=""
|
|
|
- @click="downloadFile(photo.content)" />
|
|
|
+ @click="downloadFile(photo.content, toolIndex)" />
|
|
|
<img v-if="photo.type == 5" src="../../../assets/icon/isVideo.png" alt=""
|
|
|
@click="openVideo(photo.content)" />
|
|
|
<img class="deleteImg" src="../../../assets/deleteworks.png" v-if="photo.userid == userid &&
|
|
@@ -2868,7 +2868,8 @@ export default {
|
|
|
total: 0,
|
|
|
page: 0,
|
|
|
sourceData: {},
|
|
|
- updateWorkJson: {}
|
|
|
+ updateWorkJson: {},
|
|
|
+ downLoading: ''
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -3966,12 +3967,13 @@ export default {
|
|
|
this.$forceUpdate();
|
|
|
this.dialogVisibleSource2 = false;
|
|
|
},
|
|
|
- downloadFile2(f) {
|
|
|
- const loading = this.$loading.service({
|
|
|
- background: "rgba(255, 255, 255, 0.7)",
|
|
|
- target: document.body,
|
|
|
- text: "文件加载中...",
|
|
|
- });
|
|
|
+ downloadFile2(f,toolIndex) {
|
|
|
+ var credentials = {
|
|
|
+ accessKeyId: "AKIATLPEDU37QV5CHLMH",
|
|
|
+ secretAccessKey: "Q2SQw37HfolS7yeaR1Ndpy9Jl4E2YZKUuuy2muZR",
|
|
|
+ }; //秘钥形式的登录上传
|
|
|
+ window.AWS.config.update(credentials);
|
|
|
+ window.AWS.config.region = "cn-northwest-1"; //设置区域
|
|
|
let url2 = f.url;
|
|
|
let _url2 = "";
|
|
|
if (
|
|
@@ -3983,35 +3985,76 @@ export default {
|
|
|
} else {
|
|
|
_url2 = url2;
|
|
|
}
|
|
|
- let params = {
|
|
|
- url: _url2,
|
|
|
- name: f.name,
|
|
|
+ let _this = this;
|
|
|
+
|
|
|
+ _this.downLoading = 'down'+toolIndex
|
|
|
+ var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
|
|
|
+ let name = decodeURIComponent(decodeURIComponent(_url2).split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1])
|
|
|
+ var params = {
|
|
|
+ Bucket: "ccrb",
|
|
|
+ Key: name
|
|
|
};
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "download", params)
|
|
|
- .then((res) => {
|
|
|
- loading.close();
|
|
|
- let content = res.data.data.data;
|
|
|
- let ab = new ArrayBuffer(content.length);
|
|
|
- let view = new Uint8Array(ab);
|
|
|
- for (var i = 0; i < content.length; ++i) {
|
|
|
- view[i] = content[i];
|
|
|
- }
|
|
|
- let elink = document.createElement("a");
|
|
|
- elink.download = f.name;
|
|
|
- elink.style.display = "none";
|
|
|
- let blob = new Blob([ab], {
|
|
|
- type: res.data.response.headers["content-type"] + ";charset=UTF-8",
|
|
|
- });
|
|
|
- elink.href = URL.createObjectURL(blob);
|
|
|
- document.body.appendChild(elink);
|
|
|
- elink.click();
|
|
|
- document.body.removeChild(elink);
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- loading.close();
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
+ s3.getObject(params, function (err, data) {
|
|
|
+ _this.downLoading = ''
|
|
|
+ if (err) console.log(err, err.stack); // an error occurred
|
|
|
+ else {
|
|
|
+ let url = window.URL.createObjectURL(new Blob([data.Body]));
|
|
|
+ let a = document.createElement("a");
|
|
|
+ a.name = f.name;
|
|
|
+ a.href = url;
|
|
|
+ a.download = f.name;
|
|
|
+ a.click();
|
|
|
+ console.log(data);
|
|
|
+ } // sxuccessful response
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ return;
|
|
|
+ // const loading = this.$loading.service({
|
|
|
+ // background: "rgba(255, 255, 255, 0.7)",
|
|
|
+ // target: document.body,
|
|
|
+ // text: "文件加载中...",
|
|
|
+ // });
|
|
|
+ // let url2 = f.url;
|
|
|
+ // let _url2 = "";
|
|
|
+ // if (
|
|
|
+ // url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
|
|
|
+ // ) {
|
|
|
+ // _url2 = url2.split(
|
|
|
+ // "https://view.officeapps.live.com/op/view.aspx?src="
|
|
|
+ // )[1];
|
|
|
+ // } else {
|
|
|
+ // _url2 = url2;
|
|
|
+ // }
|
|
|
+ // let params = {
|
|
|
+ // url: _url2,
|
|
|
+ // name: f.name,
|
|
|
+ // };
|
|
|
+ // this.ajax
|
|
|
+ // .get(this.$store.state.api + "download", params)
|
|
|
+ // .then((res) => {
|
|
|
+ // loading.close();
|
|
|
+ // let content = res.data.data.data;
|
|
|
+ // let ab = new ArrayBuffer(content.length);
|
|
|
+ // let view = new Uint8Array(ab);
|
|
|
+ // for (var i = 0; i < content.length; ++i) {
|
|
|
+ // view[i] = content[i];
|
|
|
+ // }
|
|
|
+ // let elink = document.createElement("a");
|
|
|
+ // elink.download = f.name;
|
|
|
+ // elink.style.display = "none";
|
|
|
+ // let blob = new Blob([ab], {
|
|
|
+ // type: res.data.response.headers["content-type"] + ";charset=UTF-8",
|
|
|
+ // });
|
|
|
+ // elink.href = URL.createObjectURL(blob);
|
|
|
+ // document.body.appendChild(elink);
|
|
|
+ // elink.click();
|
|
|
+ // document.body.removeChild(elink);
|
|
|
+ // })
|
|
|
+ // .catch((err) => {
|
|
|
+ // loading.close();
|
|
|
+ // console.error(err);
|
|
|
+ // });
|
|
|
},
|
|
|
pasteLine(i) {
|
|
|
navigator.clipboard
|
|
@@ -5181,9 +5224,9 @@ export default {
|
|
|
this.taskCount = itemTaskIndex;
|
|
|
this.dialogVisibleSource = true;
|
|
|
},
|
|
|
- setChapterIndex(itemTool, index) {
|
|
|
+ setChapterIndex(itemTool, index, toolIndex) {
|
|
|
if (itemTool.toolData[index].type == 12) {
|
|
|
- this.downloadFile2(itemTool.toolData[index])
|
|
|
+ this.downloadFile2(itemTool.toolData[index], toolIndex)
|
|
|
return;
|
|
|
}
|
|
|
itemTool.sourceIndex = index;
|
|
@@ -5270,6 +5313,7 @@ export default {
|
|
|
this.sourcesData = [];
|
|
|
this.dialogVisibleSource = false;
|
|
|
this.dialogVisibleTool = false;
|
|
|
+ this.$forceUpdate();
|
|
|
this.setVHeight();
|
|
|
},
|
|
|
openToolFun(tool, taskCount, i) {
|
|
@@ -8243,49 +8287,91 @@ export default {
|
|
|
this.fulltype = type;
|
|
|
this.fullUrl = url;
|
|
|
},
|
|
|
- downloadFile(url) {
|
|
|
- let _this = this;
|
|
|
- let _url = "";
|
|
|
+ downloadFile(url, toolIndex) {
|
|
|
+ var credentials = {
|
|
|
+ accessKeyId: "AKIATLPEDU37QV5CHLMH",
|
|
|
+ secretAccessKey: "Q2SQw37HfolS7yeaR1Ndpy9Jl4E2YZKUuuy2muZR",
|
|
|
+ }; //秘钥形式的登录上传
|
|
|
+ window.AWS.config.update(credentials);
|
|
|
+ window.AWS.config.region = "cn-northwest-1"; //设置区域
|
|
|
+ let url2 = url;
|
|
|
+ let _url2 = "";
|
|
|
if (
|
|
|
- url.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
|
|
|
+ url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
|
|
|
) {
|
|
|
- _url = url.split(
|
|
|
+ _url2 = url2.split(
|
|
|
"https://view.officeapps.live.com/op/view.aspx?src="
|
|
|
)[1];
|
|
|
} else {
|
|
|
- _url = url;
|
|
|
+ _url2 = url2;
|
|
|
}
|
|
|
- const x = new XMLHttpRequest();
|
|
|
- x.open("GET", _url, true);
|
|
|
- x.responseType = "blob";
|
|
|
- const loading = _this.$loading.service({
|
|
|
- background: "rgba(255, 255, 255, 0.7)",
|
|
|
- target: document.body,
|
|
|
- text: '文件加载中...'
|
|
|
- });
|
|
|
- // _this.$message.success("文件下载中...");
|
|
|
- x.onload = function (e) {
|
|
|
- loading.close();
|
|
|
- // const url = window.URL.createObjectURL(x.response);
|
|
|
- // const a = document.createElement("a");
|
|
|
- // a.href = url;
|
|
|
- // a.target = "_blank";
|
|
|
- // a.download = url;
|
|
|
- // a.click();
|
|
|
- // a.remove();
|
|
|
- let content = x.response;
|
|
|
- let elink = document.createElement("a");
|
|
|
- elink.download = decodeURI(
|
|
|
- _url.split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1]
|
|
|
- );
|
|
|
- elink.style.display = "none";
|
|
|
- let blob = new Blob([content]);
|
|
|
- elink.href = URL.createObjectURL(blob);
|
|
|
- document.body.appendChild(elink);
|
|
|
- elink.click();
|
|
|
- document.body.removeChild(elink);
|
|
|
+ let _this = this;
|
|
|
+
|
|
|
+ _this.downLoading = 'down'+toolIndex
|
|
|
+ var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
|
|
|
+ let name = decodeURIComponent(decodeURIComponent(_url2).split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1])
|
|
|
+ var params = {
|
|
|
+ Bucket: "ccrb",
|
|
|
+ Key: name
|
|
|
};
|
|
|
- x.send();
|
|
|
+ s3.getObject(params, function (err, data) {
|
|
|
+ _this.downLoading = ''
|
|
|
+ if (err) console.log(err, err.stack); // an error occurred
|
|
|
+ else {
|
|
|
+ let url = window.URL.createObjectURL(new Blob([data.Body]));
|
|
|
+ let a = document.createElement("a");
|
|
|
+ a.name = name;
|
|
|
+ a.href = url;
|
|
|
+ a.download = name;
|
|
|
+ a.click();
|
|
|
+ console.log(data);
|
|
|
+ } // sxuccessful response
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ return;
|
|
|
+ // let _this = this;
|
|
|
+ // let _url = "";
|
|
|
+ // if (
|
|
|
+ // url.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
|
|
|
+ // ) {
|
|
|
+ // _url = url.split(
|
|
|
+ // "https://view.officeapps.live.com/op/view.aspx?src="
|
|
|
+ // )[1];
|
|
|
+ // } else {
|
|
|
+ // _url = url;
|
|
|
+ // }
|
|
|
+ // const x = new XMLHttpRequest();
|
|
|
+ // x.open("GET", _url, true);
|
|
|
+ // x.responseType = "blob";
|
|
|
+ // const loading = _this.$loading.service({
|
|
|
+ // background: "rgba(255, 255, 255, 0.7)",
|
|
|
+ // target: document.body,
|
|
|
+ // text: '文件加载中...'
|
|
|
+ // });
|
|
|
+ // // _this.$message.success("文件下载中...");
|
|
|
+ // x.onload = function (e) {
|
|
|
+ // loading.close();
|
|
|
+ // // const url = window.URL.createObjectURL(x.response);
|
|
|
+ // // const a = document.createElement("a");
|
|
|
+ // // a.href = url;
|
|
|
+ // // a.target = "_blank";
|
|
|
+ // // a.download = url;
|
|
|
+ // // a.click();
|
|
|
+ // // a.remove();
|
|
|
+ // let content = x.response;
|
|
|
+ // let elink = document.createElement("a");
|
|
|
+ // elink.download = decodeURI(
|
|
|
+ // _url.split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1]
|
|
|
+ // );
|
|
|
+ // elink.style.display = "none";
|
|
|
+ // let blob = new Blob([content]);
|
|
|
+ // elink.href = URL.createObjectURL(blob);
|
|
|
+ // document.body.appendChild(elink);
|
|
|
+ // elink.click();
|
|
|
+ // document.body.removeChild(elink);
|
|
|
+ // };
|
|
|
+ // x.send();
|
|
|
},
|
|
|
editSourceUpadte(taskCount, index) {
|
|
|
this.taskCount = taskCount;
|