数组转成字符串 join(',')
let Arry= ['待签收', '已签收', '已退回', '未签收', '已发送', '签收中', '被退回', '以办结', '已经撤回']
let strName = ' '
retrun strName = Arry.join(',')
//待签收,已签收,已退回,未签收,已发送,签收中,被退回,以办结,已经撤回
处理ie问题要做的兼容
场景:上传组件在ie的时候 会有点击穿透的效果。 做法就是干掉默认事件
/* 处理ie 点击查看会调上传文件的问题 */
if(!!window.ActiveXObject || "ActiveXObject" in window){
console.log('这家伙是IE啊')
window.event.cancelBubble = true
}
格式化时间
场景:后台传给你的时间戳 你要做对应的业务处理 例如当天时间要显示当天。 (刚刚,之前多少分钟前发送一样的原理)代码如下(rawTime目的时间,sysTime当前时间):
/*格式化时间*/
getCustomTime(rawTime, sysTime){
if (!rawTime) {
return "";
}
sysTime = sysTime || unifiedOfficeLib.moment.formatTime(Date.now(), "YYYY-MM-DD hh:mm");
let timeInfo = "";
let tempRawTime = rawTime.split(" ");
let tempSysTime = sysTime.split(" ");
if (tempRawTime.length !== 2 && tempSysTime.length !== 2) {
return "";
}
/*同一天*/
if (tempRawTime[0] === tempSysTime[0]) {
timeInfo = "今天" + tempRawTime[1].substring(0, 5);
} else {
let year = tempRawTime[0].substring(0, 4);
let month = tempRawTime[0].substring(5, 7);
let day = tempRawTime[0].substring(8, 10);
/*非同一年*/
if (year < tempSysTime[0].substring(0, 4)) {
timeInfo = tempRawTime[0].replace(/-/g, "/");
} else {
timeInfo = Number(month) + "月" + Number(day) + "日";
}
}
return timeInfo;
}
上传文件vue的插件 vue-upload-web 再有一些简单上传前的处理; 效果如下:(ps它喵的什么产品 偏要上传也能拖拉拽功能,气死人。花里胡哨)
dom:
js:
/**@augments file 待上传的正文文件对象
* @description 正文上传前执行,检查文件类型,若不符合则进行提示,正文支持pdf/txt/doc/docx四种文件类型,文件大小不能超过40M
*/
beforeDocUpload(file) {
let {name, size} = file;
// 验证size
if (size / 1014 / 1024 > 40) {
this.docErrMsg = '上传的文件不要超过40M';
this.docUpDirty = true;
return false;
}
let arr = name.split(".");
let arrLen = arr.length
let formatStr = (arr[arrLen - 1]).toLowerCase()
if (
arr.length < 2 ||
["pdf", "txt", "doc", "docx", 'ofd'].indexOf(formatStr) === -1
) {
this.docErrMsg = '正文只支持pdf、txt、doc、docx、ofd等格式,请重新上传';
this.docUpDirty = true;
return false;
}
this.docUpDirty = false;
return true;
},
上传文件之后名称需求处理
场景:检查附件是否可以查看,如果为zip,ofd和rar则只能下载(wps 不支持阅读的东西)
dom就走 v-if="checkPreview(doc_name)"
/**@augments name 文件名
* @description 检查附件是否可以查看,如果为zip和rar则只能下载
*/
checkPreview(name) {
let nameLength = name.split('.').length
if (['zip', 'rar', 'ofd'].indexOf(name.split('.')[nameLength - 1]) !== -1) {
return false
}
return true
}