|
|
@@ -12,15 +12,17 @@ |
|
|
|
<div |
|
|
|
v-if="!oneOf(file.extension, imgExtensionList) && !oneOf(file.extension, VideoExtensionList)" |
|
|
|
class="defultImage-mid" |
|
|
|
@dblclick="filePreview" |
|
|
|
:class="`${file.extension}-mid ${ |
|
|
|
fileIsLoading || (isInWorkFolder && otherUserIsWorking) || showDownloadMask ? 'toumin' : '' |
|
|
|
}`" |
|
|
|
} ${!oneOf(file.extension,filePreviewList) ? '':''} ` " |
|
|
|
/> |
|
|
|
|
|
|
|
<!-- 图片文件图标 --> |
|
|
|
<div |
|
|
|
v-else-if="oneOf(file.extension, imgExtensionList)" |
|
|
|
class="defultImage-mid img_bg-mid" |
|
|
|
@dblclick="filePreview" |
|
|
|
:class=" fileIsLoading || (isInWorkFolder && otherUserIsWorking) || showDownloadMask ? 'toumin' : ''" |
|
|
|
> |
|
|
|
<div class="file_Im gbox-mid"> |
|
|
@@ -30,6 +32,7 @@ |
|
|
|
<!-- 视频文件图标 --> |
|
|
|
<div |
|
|
|
v-else |
|
|
|
@dblclick="filePreview" |
|
|
|
class="defultImage-mid video-mid" |
|
|
|
:class="fileIsLoading || (isInWorkFolder && otherUserIsWorking) || showDownloadMask ? 'toumin' : ''" |
|
|
|
> |
|
|
@@ -133,6 +136,7 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 右键菜单 --> |
|
|
|
<div class="contextmenu" v-show="isFileRightMenuVisible" |
|
|
|
:style="{ top: fileRightMenuTop + 'px', left: fileRightMenuLeft + 'px'}" |
|
|
@@ -144,6 +148,8 @@ |
|
|
|
<li v-else class="function-disabled" title="文件工作中无法创建">创建文件副本</li> |
|
|
|
<li v-if="isInWorkFolder && !otherUserIsWorking" @click.stop="deleteFileClick">移动到回收站</li> |
|
|
|
<li v-else class="function-disabled" title="文件工作中无法删除">移动到回收站</li> |
|
|
|
<li v-if="isInWorkFolder && !otherUserIsWorking && !isClient && oneOf(file.extension,filePreviewList)" @click.stop="filePreview">在线预览</li> |
|
|
|
<li v-else class="function-disabled">在线预览</li> |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
|
|
|
@@ -179,7 +185,7 @@ |
|
|
|
v-if="isInWorkFolder && file.createUserId != currentUserId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>{{ file.createUserName }} 创建</span> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 文件状态显示 --> |
|
|
|
<span |
|
|
|
v-if="file.version != 1" |
|
|
@@ -210,7 +216,12 @@ const RecExtensionList = ["jpg", "png", "bmp", "gif", "jpeg", "txt", |
|
|
|
"ppt","pptx","excel","xlsx","xls","doc","docx", |
|
|
|
"word","folder","folder1","folder2" |
|
|
|
]; |
|
|
|
const VideoExtensionList = ["avi", "mov", "wav","mp4"] |
|
|
|
const VideoExtensionList = ["avi", "mov", "wav","mp4"]; |
|
|
|
const office =["doc","docx","ppt","pptx","xls","xlsx"]; |
|
|
|
const filePreviewList = ["jpg", "png", "bmp", "gif", "jpeg", |
|
|
|
"doc","docx","ppt","pptx","xls","xlsx", |
|
|
|
"avi", "mov", "wav","mp4","txt","pdf" |
|
|
|
]; |
|
|
|
const oneOf = (target, list) => 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; |
|
|
|
} |
|
|
|
|
|
|
|
</style> |