123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- import { defHttp } from '/@/utils/http/axios';
- import { Modal } from 'ant-design-vue';
- enum Api {
- list = '/sys/permissionNew/list',
- save = '/sys/permissionNew/add',
- edit = '/sys/permissionNew/edit',
- delete = '/sys/permissionNew/delete',
- deleteBatch = '/sys/permissionNew/deleteBatch',
- ruleList = '/sys/permissionNew/queryPermissionRule',
- ruleSave = '/sys/permissionNew/addPermissionRule',
- ruleEdit = '/sys/permissionNew/editPermissionRule',
- ruleDelete = '/sys/permissionNew/deletePermissionRule',
- checkPermDuplication = '/sys/permissionNew/checkPermDuplication',
- }
- /**
- * 列表接口
- * @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) => {
- const 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) => {
- const 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}` });
- /**
- * 唯一校验
- * @param params
- */
- export const getCheckPermDuplication = (params) => defHttp.get({ url: Api.checkPermDuplication, params }, { isTransformResponse: false });
- /**
- * 校验菜单是否存在
- * @param model
- * @param schema
- * @param required
- */
- export const checkPermDuplication = (model, schema, required?) => {
- return [
- {
- validator: (_, value) => {
- if (!value && required) {
- return Promise.reject(`请输入${schema.label}`);
- }
- return new Promise<void>((resolve, reject) => {
- // getCheckPermDuplication({
- // id: model.id,
- // url: model.url,
- // alwaysShow: model.alwaysShow,
- // })
- // .then((res) => {
- // res.success ? resolve() : reject(res.message || '校验失败');
- // })
- // .catch((err) => {
- // reject(err.message || '验证失败');
- // });
- resolve()
- });
- },
- },
- ];
- };
|