// 等级 export const levelTypeMenu = [ { value: "HIGH", label: "高危/高等级告警" }, { value: "MEDIUM", label: "中危/中等级告警" }, { value: "LOW", label: "低危/恢复/普通状态变化" }, { value: "INFO", label: "信息/普通事件" }, ]; // 唯一码状态 export const statusMenu = [ { value: 0, label: "初始化创建", }, { value: 1, label: "入库单开单", }, { value: 2, label: "已入库", }, { value: 3, label: "出库单开单", }, { value: 4, label: "已出库", }, { value: 9, label: "已作废", }, ]; // 入库单、出库单状态 const billTypeMenu = [ { value: "0", label: "已提交", }, { value: "1", label: "已完成", }, { value: "4", label: "已取消", }, ]; // 订单状态为0时 再查一次 const billStatueMenu = [ { value: "0", label: "库单已提交", }, { value: "1", label: "全部入库", }, { value: "2", label: "物料部分", }, ]; /** * 根据传入数组和id,找到他的label * @param {String} deptId value * @param {Array} list 映射数组 * @param {Object} info 映射数组对应的label、name字段名 * @returns {String} label */ export const getDictLabel = ( deptId, list, info = { name: "label", value: "value" }, ) => { const { name, value } = info; return list.find((i) => `${i?.[value]}` === `${deptId}`)?.[name] || "-"; }; /** * 根据部门ID,递归查找它的完整层级ID路径 [祖先..., 自己] * @param {Array} tree 部门树 * @param {Number} targetDeptId 要找的部门ID * @returns {Array} 完整ID路径 */ export function getDeptIdPath(tree, targetDeptId) { for (const item of tree) { // 如果当前就是目标,返回自己 if (item.deptId === targetDeptId) { return [item.deptId]; } // 如果有子节点,递归找 if (item.children && item.children.length) { const res = getDeptIdPath(item.children, targetDeptId); if (res.length) { return [item.deptId, ...res]; } } } return []; } /** * 获取入库/出库单状态展示文本 * @param {any} val - 状态 * @param {string|number} status - 物料状态 * @param {number} flag - 1=出库 0=入库 * @returns {string} 状态文本 */ export const getBillType = (val, status, flag) => { const valStr = String(val); const statusStr = String(status); if (valStr === "0") { const statusItem = billStatueMenu.find((item) => item.value === statusStr); if (!statusItem) return ""; const isOut = flag === 1; const stateVal = statusItem.value; // 状态 0:前缀拼接 入/出 if (stateVal === "0") { return isOut ? "出" + statusItem.label : "入" + statusItem.label; } // 状态 2:后缀拼接 入库/出库 if (stateVal === "2") { return isOut ? statusItem.label + "出库" : statusItem.label + "入库"; } // 其他状态直接返回 return statusItem.label; } // 非0:走普通单据类型菜单 return billTypeMenu.find((item) => item.value === valStr)?.label || ""; }; // 获取出入库单的状态以及tag颜色 export const getColor = (val, status) => { if (val == "0") { if (status == "0") { return "color:#e6a23c;font-weight:500;font-size:12px;"; } if (status == "2") { return "color:#C0C0C0;font-weight:500;font-size:12px;"; } } else if (val == "1") { return "color:#67c23a;font-weight:500;font-size:12px;"; } else { return "color:#f56c6c;font-weight:500;font-size:12px;"; } };