@@ -30,6 +32,7 @@
@@ -133,6 +136,7 @@
+
@@ -179,7 +185,7 @@
v-if="isInWorkFolder && file.createUserId != currentUserId"
class="yiyunwenjian_infodesc"
>{{ file.createUserName }} 创建
-
+
list.indexOf(target) !== -1
const { DOWNLOADING, UPLOADING } = LoadingEnum;
const { WORKING, NOT_WORKING } = FileWorkStatus;
@@ -266,6 +277,8 @@ export default {
imgExtensionList,
RecExtensionList,
VideoExtensionList,
+ office,
+ filePreviewList,
isFileRightMenuVisible: false,//控制文件右键菜单显示与隐藏
fileRightMenuLeft: 0,//文件右键菜单位置
fileRightMenuTop: 0,
@@ -348,7 +361,36 @@ export default {
deleteFileClick() {
this.isFileRightMenuVisible = false;
this.$emit('deleteFileClick', this.file.id, this.file.createUserId, this.file.archName, this.file.ipfsCid);
- }
+ },
+ filePreview(){
+ //office:1 img/txt:2 vedio:3
+ let type;
+ if(oneOf(this.file.extension,office)){
+ type = 1;
+ }else if(oneOf(this.file.extension,imgExtensionList)
+ || this.file.extension=='txt'
+ ||this.file.extension=='pdf'){
+ type = 2;
+ }else if(oneOf(this.file.extension,VideoExtensionList)){
+ type = 3;
+ }else{
+ type = 0;
+ }
+ this.$emit('filePreview', this.file.ipfsCid,type);
+ },
+ // async filePreview(file){
+ // const url = await service.filePreview(sessionStorage.companyId);
+ // const Url="http://"+url;
+ // if(!this.isClient && url){
+ // //const Url="http://2f9he2.natappfree.cc/ipfs/";
+ // if(oneOf(file.extension,office)){
+ // const officeApi="http://view.officeapps.live.com/op/view.aspx?src=";
+ // window.open(officeApi+Url+file.ipfsCid,'');
+ // }else if(oneOf(file.extension,imgExtensionList) || file.extension=='txt'||file.extension=='pdf'){
+ // window.open(Url+file.ipfsCid,'')
+ // }
+ // }
+ // }
},
watch: {
isFileRightMenuVisible(value) {
@@ -407,5 +449,23 @@ export default {
background-color: #ecf5ff;
color:rgb(167,168,183);
}
+ .filePreview{
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 0;
+ left: 50%;
+ background-color: red;
+ }
+ .gray{
+ -webkit-filter: grayscale(100%);
+ -moz-filter: grayscale(100%);
+ -ms-filter: grayscale(100%);
+ -o-filter: grayscale(100%);
+
+ filter: grayscale(100%);
+
+ filter: gray;
+ }
\ No newline at end of file
diff --git a/src/views/main_web/workspace/service.js b/src/views/main_web/workspace/service.js
index f72203bc..594cddc2 100644
--- a/src/views/main_web/workspace/service.js
+++ b/src/views/main_web/workspace/service.js
@@ -112,4 +112,13 @@ export async function addFile(file) {
export async function deleteFile(fileId) {
const res = await fetchApi('file/deleteFile', {fileId});
return res;
-}
\ No newline at end of file
+}
+
+/**
+ * 预览文件
+ */
+
+ export async function filePreview(companyId){
+ const res = await fetchApi('company/queryFileOnlineUrlByCompanyId', companyId);
+ return res;
+ }
\ No newline at end of file
diff --git a/src/views/main_web/workspace/workspace.new.vue b/src/views/main_web/workspace/workspace.new.vue
index 710a35a3..9b8c8ab8 100644
--- a/src/views/main_web/workspace/workspace.new.vue
+++ b/src/views/main_web/workspace/workspace.new.vue
@@ -92,6 +92,7 @@
:nodeFolder="currentNodeFolder"
:currentFolder="currentFolder"
:commitFile="commitFile"
+ @filePreview="filePreview"
@dblclick.native="fileClick(file)"
@openfileBtnClick="fileClick(file)"
@copyFileBtnClick="copyWorkFileBtnClick(file)"
@@ -179,6 +180,7 @@
:showFileMilestone="showFileMilestone"
:nodeFolder="currentNodeFolder"
:currentFolder="currentFolder"
+ @filePreview="filePreview"
@dblclick.native="fileClick(file)"
@oneFileRightBtnClick="oneFileRightBtnClick"
:localFileHashMap="localFileHashMap"
@@ -221,6 +223,19 @@