diff --git a/src/views/main_web/workspace/components/file-milestone.vue b/src/views/main_web/workspace/components/file-milestone.vue index 06dc3e0f..9d1d9cf6 100644 --- a/src/views/main_web/workspace/components/file-milestone.vue +++ b/src/views/main_web/workspace/components/file-milestone.vue @@ -48,18 +48,23 @@
里程碑
- @@ -100,11 +105,13 @@
- @@ -125,6 +132,7 @@ export default { VersionItem }, props: { + localWorkspacePrefix: String, fileMilestoneInfo :{ type : Object, default: () => ({}), @@ -192,6 +200,9 @@ export default { }; }, methods: { + openFile(){ + this.$emit('openFile', this.file); + }, onMakeCopy(commitInfo){ console.log('asdasda:', commitInfo, this.fileMilestoneInfo, this.file); const newFile = cloneDeep(this.file); diff --git a/src/views/main_web/workspace/components/version-item.vue b/src/views/main_web/workspace/components/version-item.vue index 245918af..ee6b536c 100644 --- a/src/views/main_web/workspace/components/version-item.vue +++ b/src/views/main_web/workspace/components/version-item.vue @@ -17,7 +17,7 @@

里程碑

@@ -29,14 +29,14 @@
  • 提交人:{{showAccountName}}
  • -
  • 基于版本:{{file.creator}} 提交的版本{{file.version}}
  • +
  • 基于版本:{{commitInfo.creator}} 提交的版本{{commitInfo.version}}
  • 协同于:{{showTime}}
-
+
查看版本
-
+
继续编辑
@@ -59,7 +59,7 @@
- {{file.note ? file.note : "无备注" }} + {{commitInfo.note ? commitInfo.note : "无备注" }}
@@ -82,12 +82,12 @@
-

版本{{file.version}}

+

版本{{commitInfo.version}}

{{showTime}}

-
{{file.note ? file.note: "无备注"}}
+
{{commitInfo.note ? commitInfo.note: "无备注"}}
@@ -103,19 +103,26 @@ import moment from 'dayjs'; import 'dayjs/locale/zh-cn'; moment.locale('zh-cn'); import {setShareFile} from '../service' +import system from '@/services/system'; + export default { props:{ - nowVersion:Boolean, - // selectedVersion:Boolean, - // flagcolor: { - // type:String, - // default:'#7850FF' - // } - file :{ - type:Object, - default: ()=>({}) - }, - fileId : String + localWorkspacePrefix:String, + nowVersion:Boolean, + // selectedVersion:Boolean, + // flagcolor: { + // type:String, + // default:'#7850FF' + // } + commitInfo :{ + type:Object, + default: ()=>({}) + }, + file :{ + type:Object, + default: ()=>({}) + }, + fileId : String }, mounted() { this.remarkEl = this.$refs.remarksText; @@ -144,6 +151,41 @@ export default { }, methods:{ + showHistoryFile() { + // 历史版本查看 + const { file, commitInfo } = this; + const { archName: fileName, extension, relativePath } = file; + const { currentHash: ipfsCid, version } = commitInfo; + const extensionedFileName = `${fileName}-版本${version}${extension ? `.${extension}`:''}`; + const dirName = `历史版本查看\\${new Date().getTime()}${relativePath ? '\\relativePath' : ''}`.replace(/\//g, '\\'); + + const errorHandler = () => { + // this.removeFileLoadingState(file.id); + } + const fullFilePath = `${this.localWorkspacePrefix}\\${dirName}\\${extensionedFileName}`; + system.downloadFile(ipfsCid, sessionStorage.projName, extensionedFileName, dirName, (resMessage, socketIns) => { + console.log('receive download file message:', resMessage, socketIns); + // {"size":"11","currentSize":"11","unit":"B","process":100,"hash":""} + try { + const { process, hash } = JSON.parse(resMessage.data); + // this.updateFileLoadState(file, DOWNLOADING, process); + if(process !== 100) return; + system.openFile(fullFilePath); + // this.removeFileLoadingState(file.id); + // this.$notify({ + // type:["success","download"], + // title:"文件已下载", + // message:`${fileName}` + // }) + socketIns.close(); + // this.$forceUpdate(); + } catch (e) { + console.error('socket-download-file parse data have error:', e); + errorHandler(); + socketIns.close(); + } + }, errorHandler); + }, onMakeCopy(){ this.$emit('makeCopy', this.file); }, @@ -187,8 +229,11 @@ export default { closeSetColor(){ this.toolboxShow = false; }, + editCurrentFile() { + this.$emit('openFile'); + }, async setShare() { - const res = await setShareFile (this.fileId,this.file.currentHash,sessionStorage.userId); + const res = await setShareFile (this.fileId,this.commitInfo.currentHash,sessionStorage.userId); if(res.Code == 0) { this.$notify({ type:'success', @@ -203,16 +248,16 @@ export default { }, setMileStoneClick(val) { - this.$bus.$emit('setMileStoneClick', val, this.file); + this.$bus.$emit('setMileStoneClick', val, this.commitInfo); } }, computed: { showAccountName() { - return this.file.creator && sessionStorage.accountName == this.file.creator ? '我': this.file.creator; + return this.commitInfo.creator && sessionStorage.accountName == this.commitInfo.creator ? '我': this.commitInfo.creator; }, showTime() { - return this.file.createTime && moment(this.file.createTime*1000).format('YYYY年MM月DD日 A HH:mm'); + return this.commitInfo.createTime && moment(this.commitInfo.createTime*1000).format('YYYY年MM月DD日 A HH:mm'); } }, diff --git a/src/views/main_web/workspace/workspace.new.vue b/src/views/main_web/workspace/workspace.new.vue index f8f4d235..fbac8dac 100644 --- a/src/views/main_web/workspace/workspace.new.vue +++ b/src/views/main_web/workspace/workspace.new.vue @@ -487,6 +487,8 @@ :fileMilestoneInfo="fileMilestoneInfo" @closeMilestonePain="closeMilestonePain" @makeCopy="copyWorkFileBtnClick" + @openFile="fileClick" + :localWorkspacePrefix="localWorkspacePrefix" :fileHistoryList ="fileHistoryList" :file = "currentFile" > @@ -2015,7 +2017,7 @@ export default { file.modifyUserId = sessionStorage.userId; system.openFile(filePath); - this.fetchFolderFiles(); + // this.fetchFolderFiles(); }, /** * 设置历史文件界面