很基础的js(es6)啊~

数组转成字符串 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
        }


格式化时间

场景:后台传给你的时间戳 你要做对应的业务处理 例如当天时间要显示当天。 (刚刚,之前多少分钟前发送一样的原理)
image.png

代码如下(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它喵的什么产品 偏要上传也能拖拉拽功能,气死人。花里胡哨)

image.png

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)"


image.png
    /**@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
    }


你可能感兴趣的:(很基础的js(es6)啊~)