export function getTenant() { const parentId = 0 return window['$vueApp'].config.globalProperties.$http.get( window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/departments/' + parentId ) } // 获得公司节点的孩子节点 export function getTenantChildren(departmentInfo, tenantNodeId, limitFilterColumn) { if (departmentInfo && departmentInfo.length > 0 && !departmentInfo.includes('_tenant_0')) { // 加载指定部门时,展开公司节点 return loadPointDepartments(departmentInfo, limitFilterColumn) } else { // 加载整个组织结构树时,展开公司节点 return loadDepartment(tenantNodeId) } } // 加载指定部门节点 export function loadPointDepartments(departmentInfo, limitFilterColumn) { let url = window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/point-departments' if (limitFilterColumn) { url += '/' + limitFilterColumn } return new Promise((resolve, reject) => { window['$vueApp'].config.globalProperties.$http.post(url, departmentInfo).then((children) => { resolve(children) }) }) } // 加载当前节点的子节点 export function loadDepartment(parentId) { return new Promise((resolve, reject) => { window['$vueApp'].config.globalProperties.$http .get(window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/departments/' + parentId) .then((children) => { resolve(children) }) }) } // 获得所有指定父部门的子部门信息 export function getChildDepts(parentDept) { return new Promise((resolve, reject) => { const parentIds = [parentDept.id] window['$vueApp'].config.globalProperties.$http .post( window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/department-children', parentIds ) .then((departments) => { resolve(departments) }) .catch((error) => { reject(error) }) }) } function getSelectDepts(searchField, selectDeptInfo, separator) { return new Promise((resolve, reject) => { if (!searchField) { resolve([]) } else if (!selectDeptInfo) { resolve([]) } else { window['$vueApp'].config.globalProperties.$http .get( window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/select-departments?searchField=' + searchField + '&selectDeptInfo=' + selectDeptInfo + '&separator=' + separator ) .then((departments) => { resolve(departments) }) .catch((error) => { reject(error) }) } }) } export function initSelectDepts(selectDepartmentInfo, tenantNodeId, searchField, separator) { return new Promise((resolve, reject) => { const selectDepts = [] if (selectDepartmentInfo) { if (selectDepartmentInfo === tenantNodeId || selectDepartmentInfo === '所有部门') { // 表示已选择所有用户 selectDepts.push(packageAllDept(tenantNodeId)) resolve(selectDepts) } else { // 表示不是选择的所有用户 getSelectDepts(searchField, selectDepartmentInfo, separator) .then((departments: any) => { departments.forEach((dept: any) => { dept.nodeType = 'DEPARTMENT' dept.nodeId = dept.nodeType + '~' + dept.id }) resolve(departments) }) .catch((error) => { reject(error) }) } } else { resolve(selectDepts) } }) } // 选中了组织结构树的根节点 function packageAllDept(tenantNodeId) { // 表示集合中不存在该用户,则封装该用户 var allDept = { id: tenantNodeId, name: '所有部门' } return allDept }