eefe32b7创建于 2025年7月13日历史提交
import { defHttp } from '/@/utils/http/axios';

import { Modal } from 'ant-design-vue';



enum Api {

  list = '/sys/permission/list',

  save = '/sys/permission/add',

  edit = '/sys/permission/edit',

  delete = '/sys/permission/delete',

  deleteBatch = '/sys/permission/delete',

  ruleList = '/sys/permission/queryPermissionRule',

  ruleSave = '/sys/permission/addPermissionRule',

  ruleEdit = '/sys/permission/editPermissionRule',

  ruleDelete = '/sys/permission/deletePermissionRule',

}



/**

 * 列表接口

 * @param params

 */

export const list = (params) => {

  return defHttp.get({ url: Api.list, params });

}



/**

 * 删除菜单

 */

export const deleteMenu = (params, handleSuccess) => {

  return defHttp.delete({ url: Api.delete, params }, { joinParamsToUrl: true }).then(() => {

    handleSuccess();

  });

};

/**

 * 批量删除菜单

 * @param params

 */

export const batchDeleteMenu = (params, handleSuccess) => {

  Modal.confirm({

    title: '确认删除',

    content: '是否删除选中数据',

    okText: '确认',

    cancelText: '取消',

    onOk: () => {

      return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => {

        handleSuccess();

      });

    },

  });

};

/**

 * 保存或者更新菜单

 * @param params

 */

export const saveOrUpdateMenu = (params, isUpdate) => {

  let url = isUpdate ? Api.edit : Api.save;

  return defHttp.post({ url: url, params });

};

/**

 * 菜单数据权限列表接口

 * @param params

 */

export const dataRuleList = (params) => defHttp.get({ url: Api.ruleList, params });

/**

 * 保存或者更新数据规则

 * @param params

 */

export const saveOrUpdateRule = (params, isUpdate) => {

  let url = isUpdate ? Api.ruleEdit : Api.ruleSave;

  return defHttp.post({ url: url, params });

};



/**

 * 删除数据权限

 */

export const deleteRule = (params, handleSuccess) => {

  return defHttp.delete({ url: Api.ruleDelete, params }, { joinParamsToUrl: true }).then(() => {

    handleSuccess();

  });

};

/**

 * 根据code获取字典数值

 * @param params

 */

export const ajaxGetDictItems = (params) => defHttp.get({ url: `/sys/dict/getDictItems/${params.code}` });