| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- import { defHttp } from '/@/utils/http/axios';
- import { getMenuListResultModel } from './model/menuModel';
- import { useUserStore } from '/@/store/modules/user';
- import { RoleEnum } from '/@/enums/roleEnum';
- import menu from '/@/mock/menu.json'
- import menu_get_ids from '/@/mock/menu_get_ids.json'
- import tool from '/@/utils/Tool';
- import { identity } from 'lodash-es';
- import { session } from '/@/utils/Memory';
- enum Api {
- BaseMenuUrl = '/menu',
- SaveStructure = '/user-center/department/editDepartment',
- DeleteStructure = "/user-center/department/deleteDepartment",
- GetMenuList = '/menu/me/menus',
- SysAdminMenuList = '/admin/me/menus',
- GetMenuIdsByRoleId = '/menu/get_ids/',
- GetChildDepartment = '/user-center/department/getChildDepartment',
- // GetMenuTreeData = "/base-center/menu/getMenuTreeData",
- GetMenuTreeData = "/base-center/newmenu/getMenuTreeData",
- DeleteMenuData = '/base-center/newmenu/deleteMenuData',
- DeleteMenuDataList = '/base-center/newmenu/deleteMenuDataList'
- }
- /**
- * 删除机构
- * @param ids 删除id数组
- */
- export const DeleteStructure = (params) => {
- return new Promise<void>((resolve, reject) => {
- defHttp.post({ url: Api.DeleteStructure, params: tool.objectToFormData(params) }).then((res) => {
- resolve(res.datas)
- })
- })
- }
- /**
- * @description: 新增机构
- */
- export const saveStructure = (params) => {
- return new Promise<void>((resolve, reject) => {
- defHttp.post({ url: Api.SaveStructure, params: tool.objectToFormData(params) })
- .then((res) => {
- resolve(res.datas)
- })
- })
- };
- /**
- * @description: 获取机构列表
- */
- export const structureList = () => {
- return new Promise<void>((resolve, reject) => {
- defHttp.post({ url: Api.GetChildDepartment }).then((res) => {
- var a = tool.structureTree([res.datas]);
- console.log(a)
- resolve(a)
- })
- })
- };
- /**
- * @description: Get user menu based on id
- */
- export const getMenuList = (args?: number) => {
- // const userStore = useUserStore();
- // let url = Api.GetMenuList;
- // try {
- // if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
- // url = Api.SysAdminMenuList;
- // }
- // return new Promise<void>((resolve, reject) => {
- // resolve(menu)
- // })
- // } catch (e) { }
- try {
- return new Promise<void>((resolve, reject) => {
- return defHttp.post<getMenuListResultModel>({
- url: Api.GetMenuTreeData,
- }).then(r => {
- session.setItem("menu_get_ids", menu_get_ids.concat(r.datas.map(i => i.id)))
- var o = buildTree(r.datas)
- resolve(o)
- });
- })
- } catch (e) {
- };
- };
- /**
- * @description: 获取新菜单列表
- */
- function buildTree(nodes, parentId = null) {
- let tree = [];
- for (let node of nodes) {
- if (node.parentid === parentId) {
- node.meta = JSON.parse(node.meta)
- node.children = buildTree(nodes, node.id);
- tree.push(node);
- }
- }
- return tree;
- }
- export const menuList = (args?: number) => {
- try {
- return new Promise<void>((resolve, reject) => {
- return defHttp.post<getMenuListResultModel>({
- url: Api.GetMenuTreeData,
- }).then(r => {
- session.setItem("menu_get_ids", menu_get_ids.concat(r.datas.map(i => i.id)))
- var o = buildTree(r.datas)
- resolve(o)
- });
- })
- } catch (e) {
- };
- }
- /**
- * @description: Get user menu based on id
- */
- export const getMenuList2 = (args?: number) => {
- const userStore = useUserStore();
- let url = Api.GetMenuList;
- try {
- if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
- url = Api.SysAdminMenuList;
- }
- return defHttp.get<getMenuListResultModel>({
- url,
- params: {
- needButton: args == 1 ? false : null,
- },
- });
- } catch (e) { }
- };
- /**
- * @description: 按钮的单个删除和数组删除
- */
- export const delMenu = (menuIds: string[]) => {
- return defHttp.post({ url: Api.DeleteMenuDataList, data: menuIds.map(i => { return { id: i } }) });
- };
- export const getMenusIdsByRoleId = (roleId: string) => {
- const url = Api.GetMenuIdsByRoleId + roleId;
- // return defHttp.get<Array<string>>({ url });
- return new Promise<void>((resolve, reject) => {
- // resolve(menu_get_ids);
- resolve(session.getItem("menu_get_ids"))
- })
- };
|