| | |
| | | }, |
| | | }); |
| | | |
| | | /** 递归将有子节点的分支节点标记为 disabled */ |
| | | function markParentsDisabled( |
| | | nodes: MesMdItemTypeApi.ItemType[], |
| | | ): ItemTypeNode[] { |
| | | return nodes.map((node) => { |
| | | const children = node.children?.length |
| | | ? markParentsDisabled(node.children) |
| | | : undefined; |
| | | return { |
| | | ...node, |
| | | children, |
| | | disabled: Boolean(children?.length), |
| | | }; |
| | | }); |
| | | } |
| | | |
| | | /** 根据当前值同步 tooltip 展示的分类详情 */ |
| | | function syncSelectedItem(value: number | undefined) { |
| | | selectedItem.value = |
| | |
| | | /** 查询物料分类树 */ |
| | | async function getItemTypeTree() { |
| | | allList.value = await getItemTypeSimpleList(); |
| | | itemTypeTree.value = markParentsDisabled(handleTree(allList.value)); |
| | | itemTypeTree.value = handleTree(allList.value) as ItemTypeNode[]; |
| | | syncSelectedItem(props.modelValue); |
| | | } |
| | | |