import config from '../../config'

/**
 * @desc   : 共通方法
 * @author : 周兴
 * @date   : 2022/4/12 13:41
 */
export default {
  /**
   * @desc   : 根据小数位数获取正则表达式
   * @author : 周兴
   * @date   : 2022/4/12 13:42
   */
  getRegex(digits, negative) {
    //包括负数
    if (negative) {
      if (digits === 0) {
        return /^(-)?[0-9]*?$/;
      } else if (digits === 1) {
        return /^(-)?[0-9]*(.[0-9]{0,1})?$/;
      } else if (digits === 2) {
        return /^(-)?[0-9]*(.[0-9]{0,2})?$/;
      } else if (digits === 3) {
        return /^(-)?[0-9]*(.[0-9]{0,3})?$/;
      } else if (digits === 4) {
        return /^(-)?[0-9]*(.[0-9]{0,4})?$/;
      } else if (digits === 5) {
        return /^(-)?[0-9]*(.[0-9]{0,5})?$/;
      } else if (digits === 6) {
        return /^(-)?[0-9]*(.[0-9]{0,6})?$/;
      } else {
        return /^(-)?[0-9]*?$/;
      }
    } else {
      if (digits === 0) {
        return /^[0-9]+?$/;
      } else if (digits === 1) {
        return /^[0-9]+(.[0-9]{0,1})?$/;
      } else if (digits === 2) {
        return /^[0-9]+(.[0-9]{0,2})?$/;
      } else if (digits === 3) {
        return /^[0-9]+(.[0-9]{0,3})?$/;
      } else if (digits === 4) {
        return /^[0-9]+(.[0-9]{0,4})?$/;
      } else if (digits === 5) {
        return /^[0-9]+(.[0-9]{0,5})?$/;
      } else if (digits === 6) {
        return /^[0-9]+(.[0-9]{0,6})?$/;
      } else {
        return /^[0-9]+?$/;
      }
    }
  },
  /**
   * @desc   : 获取最大值
   * @author : 周兴
   * @date   : 2022/4/12 19:07
   */
  getMaxValue(max, digits) {
    if (digits === 0) {
      return max - 1;
    } else if (digits === 1) {
      return max - 0.1;
    } else if (digits === 2) {
      return max - 0.01;
    } else if (digits === 3) {
      return max - 0.001;
    } else if (digits === 4) {
      return max - 0.0001;
    } else if (digits === 5) {
      return max - 0.00001;
    } else if (digits === 6) {
      return max - 0.000001;
    } else {
      return max - 1;
    }
  },
  /**
   * @desc   : 在字符串中插入字符串
   * @author : 周兴
   * @date   : 2022/4/13 13:29
   */
  insertStr(strSocial, index, str) {
    return strSocial.substring(0, index) + str + strSocial.substring(index)
  },
  /**
   * @desc   : 判断按钮是否有功能权限
   * @author : 周兴
   * @date   : 2022/5/16 15:31
   */
  checkButtonHasRight(buttonName, _this) {
    //如果不存在就不显示
    if (!buttonName) {
      return true;
    }
    let functionList = JSON.parse(sessionStorage.getItem('menu'));
    //没有功能也不显示该按钮
    if (!functionList) {
      return false;
    }
    // console.log('functionList',functionList)
    let filterList = functionList.filter(it => it.objectCode === buttonName);
    if (filterList && filterList.length > 0) {
      return true;
    } else {
      return false;
    }
  },

  /**
   * @desc   : 获取特殊类型（定制，智能）
   * @author : 周兴
   * @date   : 2022/8/24 9:34
   */
  getSpecilType(data) {
    let specialTypes = []
    if (data && data.length > 0) {
      let filterRows = data.filter(it => it.specialType === config.specialType.custom.value);
      if (filterRows && filterRows.length > 0) {
        specialTypes.push(config.specialType.custom.label)
      }
      filterRows = data.filter(it => it.specialType === config.specialType.intellect.value);
      if (filterRows && filterRows.length > 0) {
        specialTypes.push(config.specialType.intellect.label)
      }
    }
    return specialTypes;
  },
}
