import { defineStore } from 'pinia' import { ref} from 'vue'; import request from "@/utils/request"; import { id } from 'element-plus/es/locale'; export const useOrgMemberStore = defineStore('orgMember', () => { interface OrgMemberItem { id: string; name: string; child?:OrgMemberItem[]; } const listMap = ref>({}) const dataTree = ref({ id: '', name: '', child: [] }) async function init() { 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[]){ childs.forEach(item => { listMap.value[item.id] = item.name; if(item.child){ handleChildren(item.child) } }); } init() return { listMap,dataTree } })