Ben Lin
2024-09-11 08f1b081e006f0f3b83bcbdf47f4ef494e18450b
src/views/tigerprojects/system/lowcode/composition/LeftTree.vue
@@ -4,7 +4,7 @@
 * @version: 
 * @Date: 2024-06-26 15:31:43
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-06-29 05:50:18
 * @LastEditTime: 2024-07-23 23:40:41
-->
<template>
  <GeneralTree
@@ -14,6 +14,7 @@
    :treeData="treeData"
    :create-icon="createIcon"
    :fieldNames="fieldNames"
    :beforeRightClick="getRightMenu"
  /><!--
      add
      @handle-add="handleAdd" -->
@@ -24,8 +25,9 @@
  import GeneralTree from '/@/views/components/GeneralTree.vue';
  import { TreeItem } from '/@/components/TigerTree';
  import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel';
  import { EventDataNode } from 'ant-design-vue/es/tree';
  const emit = defineEmits(['select']);
  const emit = defineEmits(['select', 'deletenode']);
  const objParams = inject('objParams') as Ref<any>;
  const selectedNodes = inject('selectedNodes') as Ref<any>;
  const custImport = ref<any[]>([]);
@@ -33,13 +35,16 @@
    {
      CreateIcon(params: Recordable<any>) {},
      SelectNode(selectedNodes: Ref<any[]>) {},
      GetRightMenuList(node: EventDataNode) {},
    } as EntityCustFunctionType,
  ]);
  /* 动态import实体名.ts的自定义方法 */
  try {
    custImport.value = await import(`../entityts/${objParams.value['Name']}.ts`);
  } catch (e) {}
  const [{ CreateIcon, SelectNode, fetchTreeData }] = isNullOrUnDef(custImport.value['default'])
  const [{ CreateIcon, SelectNode, fetchTreeData, GetRightMenuList }] = isNullOrUnDef(
    custImport.value['default'],
  )
    ? EntityCustFunction.value
    : custImport.value['default']();
  const treeData = ref<TreeItem[]>([]);
@@ -90,4 +95,13 @@
    emit('select', SelectNode(undefined));
    // reload();
  }
  /**
   * @description: 获取右键菜单列表,带入emit事件
   * @param {*} node
   * @return {*}
   */
  function getRightMenu(node: EventDataNode) {
    return GetRightMenuList(node, emit, objParams.value['CODE']);
  }
</script>