You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.0 KiB
91 lines
2.0 KiB
|
6 months ago
|
import {
|
||
|
|
Document,
|
||
|
|
Picture,
|
||
|
|
VideoPlay,
|
||
|
|
Headset,
|
||
|
|
Files,
|
||
|
|
Tickets,
|
||
|
|
} from '@element-plus/icons-vue'
|
||
|
|
import { matterInfo } from "@/api/doc/type"
|
||
|
|
|
||
|
|
export function getExpirTime(val:string){
|
||
|
|
let now= Date.now() //haomiao
|
||
|
|
switch(val){
|
||
|
|
case "sixhour":
|
||
|
|
now+=6*3600*1000
|
||
|
|
break
|
||
|
|
case "oneday":
|
||
|
|
now+=24*3600*1000
|
||
|
|
break
|
||
|
|
case "threeday":
|
||
|
|
now+=3*24*3600*1000
|
||
|
|
break
|
||
|
|
case "oneweek":
|
||
|
|
now+=7*24*3600*1000
|
||
|
|
break
|
||
|
|
case "onemonth":
|
||
|
|
now+=30*24*3600*1000
|
||
|
|
break
|
||
|
|
case "threemonth":
|
||
|
|
now+=90*24*3600*1000
|
||
|
|
break
|
||
|
|
default:
|
||
|
|
now+=6*3600*1000
|
||
|
|
}
|
||
|
|
let nt=new Date(now)
|
||
|
|
|
||
|
|
return nt.toISOString().slice(0,10)+" "+nt.toLocaleTimeString()
|
||
|
|
}
|
||
|
|
export function checkExpirTime(val:matterInfo){
|
||
|
|
if (val.expireInfinity) return false
|
||
|
|
if (val.expireTime) {
|
||
|
|
let now = Date.now() //haomiao
|
||
|
|
let expireTime = new Date(val.expireTime).getTime()
|
||
|
|
if (expireTime > now) return false
|
||
|
|
}
|
||
|
|
return true
|
||
|
|
}
|
||
|
|
|
||
|
|
export const getFileIcon = (fileName:string) => {
|
||
|
|
const extension = fileName?.split('.').pop()?.toLowerCase();
|
||
|
|
|
||
|
|
switch(extension) {
|
||
|
|
case 'pdf':
|
||
|
|
case 'doc':
|
||
|
|
case 'docx':
|
||
|
|
case 'xls':
|
||
|
|
case 'xlsx':
|
||
|
|
return Document;
|
||
|
|
case 'jpg':
|
||
|
|
case 'jpeg':
|
||
|
|
case 'png':
|
||
|
|
case 'gif':
|
||
|
|
case 'svg':
|
||
|
|
return Picture;
|
||
|
|
case 'mp4':
|
||
|
|
case 'mov':
|
||
|
|
case 'avi':
|
||
|
|
return VideoPlay;
|
||
|
|
case 'mp3':
|
||
|
|
case 'wav':
|
||
|
|
return Headset;
|
||
|
|
case 'zip':
|
||
|
|
case 'rar':
|
||
|
|
case '7z':
|
||
|
|
return Files;
|
||
|
|
default:
|
||
|
|
return Tickets;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export function readableSize(val:matterInfo){
|
||
|
|
if(val.size<1024) return "1 Kb"
|
||
|
|
//1024*1024
|
||
|
|
if(val.size<1048576) return (val.size/1024).toFixed(1)+"Kb"
|
||
|
|
//1024*1024*1024
|
||
|
|
if(val.size<1073741824) return (val.size/1048576).toFixed(1)+"Mb"
|
||
|
|
//1024*1024*1024*1024
|
||
|
|
if(val.size<1099511627776) return (val.size/1073741824).toFixed(1)+"Gb"
|
||
|
|
|
||
|
|
return "BIG"
|
||
|
|
}
|