|
@@ -1085,23 +1085,49 @@
|
|
|
|
|
|
},
|
|
|
/* 删除试卷目录下的所有文件 */
|
|
|
- onDeleteBlobPaper(files) {
|
|
|
- return new Promise(async (r, j) => {
|
|
|
+ onDeleteBlobPaper(files,needCopyToNewPaper,newPaperName) {
|
|
|
+ return new Promise(async (resolve, reject) => {
|
|
|
// 获取初始化Blob需要的数据
|
|
|
let sasData = this.isSchool ? await this.$tools.getSchoolSas() : await this.$tools
|
|
|
.getPrivateSas()
|
|
|
//初始化Blob
|
|
|
let containerClient = new blobTool(sasData.url, sasData.name, sasData.sas, this.isSchool ?
|
|
|
'school' : 'private')
|
|
|
- // 等待blob的返回结果
|
|
|
- containerClient.deleteBlobBatch(files).then(
|
|
|
- (res) => {
|
|
|
- r(res)
|
|
|
- },
|
|
|
- (err) => {
|
|
|
- this.$Message.error('API Error')
|
|
|
- }
|
|
|
- )
|
|
|
+ let containerName = !this.isSchool ? this.$store.state.userInfo.TEAMModelId : this.$store.state.userInfo.schoolCode
|
|
|
+ // 如果有需要复制到新试卷目录下的多媒体文件 则要进行 copyBlob 操作
|
|
|
+ if(needCopyToNewPaper.length){
|
|
|
+ let promiseArr = []
|
|
|
+ needCopyToNewPaper.forEach(i => {
|
|
|
+ promiseArr.push(new Promise((r,j) => {
|
|
|
+ let target = i.replace(this.oldPaper.name,newPaperName).substring(1)
|
|
|
+ let mediaFullPath = this.$evTools.getBlobHost() + '/' + containerName + i
|
|
|
+ containerClient.copyBlob(target, mediaFullPath, sasData.sas).then(res => {
|
|
|
+ r(res)
|
|
|
+ })
|
|
|
+ }))
|
|
|
+ })
|
|
|
+ // 复制完多媒体文件之后 对原试卷目录进行清除
|
|
|
+ Promise.all(promiseArr).then(result => {
|
|
|
+ containerClient.deleteBlobBatch(files).then(
|
|
|
+ (res) => {
|
|
|
+ resolve(res)
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ this.$Message.error('API Error')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ containerClient.deleteBlobBatch(files).then(
|
|
|
+ (res) => {
|
|
|
+ resolve(res)
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ this.$Message.error('API Error')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
})
|
|
|
},
|
|
|
/* 保存试卷业务 */
|
|
@@ -1293,7 +1319,9 @@
|
|
|
let blobList = await this.getPaperFiles('paper/' + this
|
|
|
.oldPaper.name + '/')
|
|
|
let files = blobList.blobList.map(i => i.blob)
|
|
|
- this.onDeleteBlobPaper(files).then(res => {
|
|
|
+ console.log(files)
|
|
|
+ let needCopyToNewPaper = files.filter(i => !i.includes('.json'))
|
|
|
+ this.onDeleteBlobPaper(files,needCopyToNewPaper,paperItem.name).then(res => {
|
|
|
r(200)
|
|
|
}).catch(e => {
|
|
|
j(e)
|