common.js 2.0 KB
function objectToFormData(obj) {
  const fd = new FormData();
  Object.keys(obj).forEach(key => {
      const value = obj[key];
      fd.set(key, value);
  });
  return fd;
}
function objectToQueryStr(obj, filterNull = false) {
  let queryStr = "";
  Object.keys(obj).forEach(key => {
      if (filterNull && !obj[key]) {
         return;
      }
      queryStr += `&${key}=${obj[key] || ''}`
  });
  console.log(queryStr);
  return queryStr.slice(1);
}
function openWindow(path) {
  const prefix = import.meta.env.VITE_APP_TAB_URL_PREFIX;
  window.open(`${prefix}${path}`);
}

// 运行实例
function listToTree(list) {
  const nodeMap = {};
  const firstLevelList = list.filter(item => item.parentExecutionId === "0");
  firstLevelList.forEach(item => {
      const {executionId} = item;
      nodeMap[executionId] = item;
  });
  while (true) {
      list.forEach(item => {
          const {parentExecutionId, executionId} = item;
          if (nodeMap[executionId]) return;
          if (nodeMap[parentExecutionId]) {
              const parent = nodeMap[parentExecutionId];
              if (parent.children) {
                  parent.children.push(item);
              } else {
                  parent.children = [item];
              }
              nodeMap[executionId] = item;
          }
      });
      if (Object.keys(nodeMap).length === list.length) {
          return firstLevelList;
      }
  }

}

function normalizeDateTimeString(rawDatatimeStr) {
  function genNumStr(num) {
      return Number(num) < 10 ? "0" + num : ("" + num) 
  }
  if (rawDatatimeStr) {
      const dateObj = new Date(rawDatatimeStr);

      const yyyy = dateObj.getFullYear();
      const MM = dateObj.getMonth() + 1;
      const dd = dateObj.getDate();

      const HH = dateObj.getHours();
      const mm = dateObj.getMinutes();
      const ss = dateObj.getSeconds();

      return `${yyyy}-${genNumStr(MM)}-${genNumStr(dd)} ${genNumStr(HH)}:${genNumStr(mm)}:${genNumStr(ss)}`;
  }
}

export default {
  objectToFormData,
  objectToQueryStr,
  openWindow,
  listToTree,
  normalizeDateTimeString
};