diff --git a/src/components/lowCode/tablePage.vue b/src/components/lowCode/tablePage.vue index 31a8ab3..1583358 100644 --- a/src/components/lowCode/tablePage.vue +++ b/src/components/lowCode/tablePage.vue @@ -9,7 +9,7 @@ import { } from '@/api/lowCode/utils'; import { jsonParseStringify } from '@/utils/lowCode/item/index' import { SCOPE } from 'element-plus' -import { onMounted,ref } from 'vue'; +import { onMounted,ref,computed } from 'vue'; import SvgIcon from '@/components/svgIcon/index.vue' const props = withDefaults( defineProps<{ @@ -44,16 +44,88 @@ const defaultOneFlag = ref(true) if(type.value==1 && props.data.control.defaultOne==2){ defaultOneFlag.value = false } +const orgAndManTreeLoadedFlag = ref(false) + +const defaultOneAddedFlag = ref(false) + + +/** + * 判断树形结构是否存在节点 + */ +function hasNodesInTree(tree) { + if (!Array.isArray(tree)) { + return false; + } + + function checkNode(node) { + if (node == null) { + return false; + } + return true; + } + + for (const node of tree) { + if (checkNode(node)) { + return true; + } + if (Array.isArray(node?.children) && hasNodesInTree(node.children)) { + return true; + } + } + + return false; +} + + +function lookOrgAndManTreeFinish(){ + + let flag = false + let i = 0 + props.orgAndManTree.forEach((element: any) => { + if (element.hasOwnProperty('tree') && hasNodesInTree(element.tree)) { + i++ + } + }); + if (props.orgAndManTree.length!=0 && i == props.orgAndManTree.length) { + //alert(i) + flag = true + } + + + + if(flag){ + orgAndManTreeLoadedFlag.value = true + }else{ + setTimeout(()=>{ + lookOrgAndManTreeFinish() + },200) + } +} onMounted(()=>{ - /* alert(type.value) - alert(props.data.control.defaultOne) */ + lookOrgAndManTreeFinish() + autoAddColumnOne() + +}) + +function autoAddColumnOne(){ setTimeout(()=>{ - if(defaultOneFlag){ - addColumn() + if(defaultOneFlag.value){ + if(orgAndManTreeLoadedFlag.value){ + //alert(1) + addColumn() + defaultOneAddedFlag.value = true + }else{ + console.log("wait autoAddColumnOne") + if(defaultOneAddedFlag.value){ + + }else{ + autoAddColumnOne() + } + + } } },200) - -}) +} const addColumn = () => { console.log("如果编辑页禁用时--------->",tableDataNew.value)