You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
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<Record<string, string>>({})
|
|
|
|
|
const dataTree = ref<OrgMemberItem>({ 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 }
|
|
|
|
|
})
|