字典递归过滤
Showing
1 changed file
with
14 additions
and
8 deletions
| 1 | /* | 1 | /* |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-07-03 08:59:06 | 4 | * @LastEditTime: 2023-08-16 11:30:45 |
| 5 | */ | 5 | */ |
| 6 | import store from '@/store' | 6 | import store from '@/store' |
| 7 | 7 | ||
| ... | @@ -27,12 +27,18 @@ export function getSjlx (level) { | ... | @@ -27,12 +27,18 @@ export function getSjlx (level) { |
| 27 | */ | 27 | */ |
| 28 | export function getDictLeabel (level, code) { | 28 | export function getDictLeabel (level, code) { |
| 29 | const resultMap = store.getters.dictData[code] | 29 | const resultMap = store.getters.dictData[code] |
| 30 | const desiredObject = resultMap.find(obj => obj.dcode === level); | 30 | function findNode(tree, func) { |
| 31 | 31 | for (const node of tree) { | |
| 32 | if (desiredObject) { | 32 | if (func(node)) return node |
| 33 | const desiredName = desiredObject.dname; | 33 | if (node.children) { |
| 34 | return desiredName | 34 | const res = findNode(node.children, func) |
| 35 | } else { | 35 | if (res) return res |
| 36 | return '' | 36 | } |
| 37 | } | ||
| 38 | return {dname:""} | ||
| 37 | } | 39 | } |
| 40 | let data = findNode(resultMap, (node) => { | ||
| 41 | return node.dcode === level | ||
| 42 | }) | ||
| 43 | return data.dname | ||
| 38 | } | 44 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment