Blame view

src/utils/operation.js 3.68 KB
任超 committed
1 2
import { Message } from "element-ui";
export function removeTreeListItem (treeList, dictId, idName = 'bsmDict') {
3

任超 committed
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
  if (!treeList || !treeList.length) {
    return
  }
  for (let i = 0; i < treeList.length; i++) {
    if (treeList[i][idName] === dictId) {
      treeList.splice(i, 1);
      break;
    }
    removeTreeListItem(treeList[i].children, dictId)
  }
}
// 创造id
export function getUuid (len, radix) {
  var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split(
    ""
  );
  var uuid = [],
    i;
  radix = radix || chars.length;
  if (len) {
    for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)];
  } else {
    var r;
    uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
    uuid[14] = "4";
    for (i = 0; i < 36; i++) {
      if (!uuid[i]) {
        r = 0 | (Math.random() * 16);
        uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
      }
    }
  }
  return uuid.join("");
}
export function judgeSort (arr) {
  if (arr.length) {
    for (let i in arr) {
      arr[i]["isTop"] = false;
      arr[i]["isBottom"] = false;
      arr[i] == arr[0] && (arr[i].isTop = true);
      arr[i] == arr[arr.length - 1] && (arr[i].isBottom = true);
      arr[i].children && arr[i].children.length && judgeSort(arr[i].children)
    }
  }
  return arr
}
// 上下移动
export function realMove (bsmDict, operate, data) {
  function changeSort (arr, bsmDict) {
    if (arr.length) {
      let flag = false;
      for (let i in arr) {
任超 committed
56
        if (arr[i].dictid == bsmDict) {
任超 committed
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
          if (operate === "UP") {
            arr[i] = arr.splice(i - 1, 1, arr[i])[0];
          } else if (operate === "DOWN") {
            let temp = arr.splice(i - 0 + 1, 1, arr[i])
            arr[i] = temp[0];
          }
          flag = true;
          break;
        }
        if (!flag && arr[i].children && arr[i].children.length) {
          arr[i].children = changeSort(arr[i].children, bsmDict);
        }
      }
    }
    return arr;
  }
  data = judgeSort(changeSort(data, bsmDict));
}
// 获取所有父节点
export function findParents (treeData, bsmDict) {
  if (treeData.length == 0) return
  for (let i = 0; i < treeData.length; i++) {
    if (treeData[i].bsmDict == bsmDict) {
      return []
    } else {
      if (treeData[i].children) {
        let res = findParents(treeData[i].children, bsmDict)
        if (res !== undefined) {
          return res.concat(treeData[i].bsmDict)
        }
      }
    }
  }
}
// 上移下移
export function upward (index, data) {
  if (index > 0) {
    let upData = data[index - 1];
    data.splice(index - 1, 1);
    data.splice(index, 0, upData);
  } else {
    Message({
      message: '已经是第一条,上移失败'
    });
  }
}
export function down (index, data) {
  if ((index + 1) == data.length) {
    Message({
      message: '已经是最后一条,下移失败'
    });
  } else {
    let downData = data[index + 1];
    data.splice(index + 1, 1);
    data.splice(index, 0, downData);
  }
yangwei committed
113 114
}

任超 committed
115 116 117
export function timeFormat (date, end) {
  if (!date || typeof (date) === "string") {
    this.error("参数异常,请检查...");
yangwei committed
118 119 120
  }
  var y = date.getFullYear(); //年
  var m = date.getMonth() + 1; //月
yangwei committed
121
  m < 10 && (m = '0' + m)
yangwei committed
122
  var d = date.getDate(); //日
yangwei committed
123
  d < 10 && (d = '0' + d)
yangwei committed
124
  if (end) {
125
    return y + "-" + m + "-" + d + ' 23:59:59';
任超 committed
126
  } else {
127
    return y + "-" + m + "-" + d + ' 00:00:00';
yangwei committed
128
  }
yangwei committed
129 130 131 132
}
export function getFirstDayOfSeason (d) {
  let date = d || new Date()
  var month = date.getMonth();
任超 committed
133 134 135 136 137 138 139 140
  if (month < 3) {
    date.setMonth(0);
  } else if (2 < month && month < 6) {
    date.setMonth(3);
  } else if (5 < month && month < 9) {
    date.setMonth(6);
  } else if (8 < month && month < 11) {
    date.setMonth(9);
yangwei committed
141 142 143
  }
  date.setDate(1);
  return timeFormat(date);
144
}