loulijun2021
2023-03-24 751e1ab5443369f8de9a75cccbaaf74cefb231af
src/utils/global.js
@@ -1,3 +1,5 @@
import { NewEncodingRules } from '@/api/systemSettings'
// 全局主要颜色
export function getGlobalColor() {
  return { globalColor: `#42b983` }
@@ -6,7 +8,8 @@
// 处理表头单元格样式
export function headerCellStyle() {
  const option = {
    background: '#eee', padding: '0'
    // background: '#a7a7a7', padding: '0'
    background: '#f8f8fa', padding: '0', color: '#000', fontWeight: 500
  }
  return option
}
@@ -14,15 +17,84 @@
// 处理表格单元格样式
export function cellStyle() {
  const option = {
    // padding: '5px 0'
    padding: '5px 0'
  }
  return option
}
// 时间处理函数
export function handleDatatime(value) {
// 时间处理函数  年月日
export function handleDatetime(value) {
  const data = new Date(value)
  const month = data.getMonth() < 9 ? '0' + (data.getMonth() + 1) : data.getMonth() + 1
  const date = data.getDate() <= 9 ? '0' + data.getDate() : data.getDate()
  return data.getFullYear() + '-' + month + '-' + date
}
// 事件处理函数  时分秒
// 获取当前时间
export function handleDatetime2(value) {
  const dt = new Date(value)
  const wk = dt.getDay()
  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + '').padStart(2, '0')
  const d = (dt.getDate() + '').padStart(2, '0')
  const hh = (dt.getHours() + '').padStart(2, '0')
  const mm = (dt.getMinutes() + '').padStart(2, '0')
  const ss = (dt.getSeconds() + '').padStart(2, '0')
  const weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
  const week = weeks[wk]
  // return `${y}-${m}-${d}  ${hh}:${mm}:${ss}   ${week}`
  return `${y}-${m}-${d}  ${hh}:${mm}:${ss}`
}
// 时间处理函数   返回 时分
export function handleDatetime3(value) {
  const dt = new Date(value)
  const hh = (dt.getHours() + '').padStart(2, '0')
  const mm = (dt.getMinutes() + '').padStart(2, '0')
  return `${hh}:${mm}`
}
// 获取规则生成的编码
export async function getNewEncodingRules(encode) {
  const res = await NewEncodingRules({ rightcode: encode })
  if (res.code === '200') {
    return { RightCode: res.data[0], numvalue: res.data[1] }
  }
}
// 递归清除数组每个元素下的children为空的数组
const clearAllChildren = (items, childrenName = 'children') => {
  for (let i = 0; i < items.length; i++) {
    const item = items[i]
    // 当前对象存在children
    if (item && item[childrenName]) {
      // children为空数组时删除
      if (item[childrenName].length === 0) {
        delete item[childrenName]
      } else {
        // 递归当前children数组
        clearAllChildren(item[childrenName], childrenName)
      }
    }
  }
  return items
}
export default clearAllChildren
// 正则表达式  编码不能含有中文或特殊字符
const SER_HZ = /^[a-zA-Z0-9_\-;,.<>() ]{0,}$/
export const validateCode = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('请输入编码'))
  } else {
    if (!SER_HZ.test(value)) {
      return callback(new Error('编码不能含有中文或特殊字符'))
    } else {
      callback()
    }
  }
}