import { defineStore } from 'pinia' import { ref} from 'vue'; import request from "@/utils/request"; export const useOrgMemberStore = defineStore('orgMember', () => { interface OrgMemberItem { id: string; name: string; child?:OrgMemberItem[]; } const listMap = ref>({}) const dataTree = ref({ id: '', name: '', child: [] }) async function havueOrgTree() { if(dataTree.value.child?.length>0) return; await request({ url: "/systemapi/app/get_org_everyone_people",//"172.20 .2.87:39168", method: "post", data:{id:"313",all: 1} }).then((response) => { // assuming response.data is an array of OrgMemberItem dataTree.value={id:"313",name:"集团公司",child:response.data} handleChildren(response.data) }); } function handleChildren(childs:any[]){ if(childs.length> 0){ childs.forEach(item => { listMap.value[item.id] = item.name; if(item.child){ handleChildren(item.child) } }); } } // havueOrgTree() // init() return { listMap,dataTree,havueOrgTree } })