211 lines
5.5 KiB
TypeScript
211 lines
5.5 KiB
TypeScript
import { defHttp } from '/@/utils/http/axios';
|
|
import { message } from 'ant-design-vue';
|
|
import { useGlobSetting } from '/@/hooks/setting';
|
|
const globSetting = useGlobSetting();
|
|
const baseUploadUrl = globSetting.uploadUrl;
|
|
enum Api {
|
|
positionList = '/sys/position/list',
|
|
userList = '/sys/user/list',
|
|
roleList = '/sys/role/list',
|
|
queryDepartTreeSync = '/sys/sysDepart/queryDepartTreeSync',
|
|
queryTreeList = '/sys/sysDepart/queryTreeList',
|
|
loadTreeData = '/sys/category/loadTreeData',
|
|
loadDictItem = '/sys/category/loadDictItem/',
|
|
getDictItems = '/sys/dict/getDictItems/',
|
|
getTableList = '/sys/user/queryUserComponentData',
|
|
getCategoryData = '/sys/category/loadAllData',
|
|
startProcess = '/act/process/extActProcess/startMutilProcess',
|
|
startProcessSchedules = '/tasktask/taskTask/flow-schedules',
|
|
queryByBusinessId = '/tasktask/taskTask/queryByBusinessId',
|
|
deleteSingleProcess = '/tasktask/taskTask/deleteSingleProcess',
|
|
deletePendingTask = '/tasktask/taskTask/deletePendingTask',
|
|
updateTitleAndDeadline = '/tasktask/taskTask/updateTitleAndDeadline',
|
|
}
|
|
|
|
/**
|
|
* 上传父路径
|
|
*/
|
|
export const uploadUrl = `${baseUploadUrl}/sys/common/upload`;
|
|
|
|
/**
|
|
* 职务列表
|
|
* @param params
|
|
*/
|
|
export const getPositionList = (params) => {
|
|
return defHttp.get({ url: Api.positionList, params });
|
|
};
|
|
|
|
/**
|
|
* 用户列表
|
|
* @param params
|
|
*/
|
|
export const getUserList = (params) => {
|
|
return defHttp.get({ url: Api.userList, params });
|
|
};
|
|
|
|
/**
|
|
* 角色列表
|
|
* @param params
|
|
*/
|
|
export const getRoleList = (params) => {
|
|
return defHttp.get({ url: Api.roleList, params });
|
|
};
|
|
|
|
/**
|
|
* 异步获取部门树列表
|
|
*/
|
|
export const queryDepartTreeSync = (params?) => {
|
|
return defHttp.get({ url: Api.queryDepartTreeSync, params });
|
|
};
|
|
/**
|
|
* 获取部门树列表
|
|
*/
|
|
export const queryTreeList = (params?) => {
|
|
return defHttp.get({ url: Api.queryTreeList, params });
|
|
};
|
|
|
|
/**
|
|
* 分类字典树控件 加载节点
|
|
*/
|
|
export const loadTreeData = (params?) => {
|
|
return defHttp.get({ url: Api.loadTreeData, params });
|
|
};
|
|
|
|
/**
|
|
* 根据字典code加载字典text
|
|
*/
|
|
export const loadDictItem = (params?) => {
|
|
return defHttp.get({ url: Api.loadDictItem, params });
|
|
};
|
|
|
|
/**
|
|
* 根据字典code加载字典text
|
|
*/
|
|
export const getDictItems = (dictCode) => {
|
|
return defHttp.get({ url: Api.getDictItems + dictCode }, { joinTime: false });
|
|
};
|
|
/**
|
|
* 部门用户modal选择列表加载list
|
|
*/
|
|
export const getTableList = (params) => {
|
|
return defHttp.get({ url: Api.getTableList, params });
|
|
};
|
|
/**
|
|
* 加载全部分类字典数据
|
|
*/
|
|
export const loadCategoryData = (params) => {
|
|
return defHttp.get({ url: Api.getCategoryData, params });
|
|
};
|
|
/**
|
|
* 文件上传
|
|
*/
|
|
export const uploadFile = (params, success) => {
|
|
return defHttp.uploadFile({ url: uploadUrl }, params, { success });
|
|
};
|
|
/**
|
|
* 下载文件
|
|
* @param url 文件路径
|
|
* @param fileName 文件名
|
|
* @param parameter
|
|
* @returns {*}
|
|
*/
|
|
export const downloadFile = (url, fileName?, parameter?) => {
|
|
return getFileblob(url, parameter).then((data) => {
|
|
if (!data || data.size === 0) {
|
|
message.warning('文件下载失败');
|
|
return;
|
|
}
|
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
window.navigator.msSaveBlob(new Blob([data]), fileName);
|
|
} else {
|
|
const url = window.URL.createObjectURL(new Blob([data]));
|
|
const link = document.createElement('a');
|
|
link.style.display = 'none';
|
|
link.href = url;
|
|
link.setAttribute('download', fileName);
|
|
document.body.appendChild(link);
|
|
link.click();
|
|
document.body.removeChild(link); //下载完成移除元素
|
|
window.URL.revokeObjectURL(url); //释放掉blob对象
|
|
}
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 下载文件 用于excel导出
|
|
* @param url
|
|
* @param parameter
|
|
* @returns {*}
|
|
*/
|
|
export const getFileblob = (url, parameter) => {
|
|
return defHttp.get(
|
|
{
|
|
url: url,
|
|
params: parameter,
|
|
responseType: 'blob',
|
|
},
|
|
{ isTransformResponse: false }
|
|
);
|
|
};
|
|
|
|
/**
|
|
* 发起我们自己的流程(包括重复督办等功能)
|
|
* import { startProcessSchedules } from '/@/api/common/api';
|
|
* @param params
|
|
*/
|
|
export const startProcessSchedules = (params) => {
|
|
return defHttp.post({
|
|
url: Api.startProcessSchedules,
|
|
params,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 发起流程
|
|
* import { startProcess } from '/@/api/common/api';
|
|
* @param params
|
|
*/
|
|
export const startProcess = (params) => {
|
|
return defHttp.post({
|
|
url: Api.startProcess,
|
|
params,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 根据业务ID查询流程列表
|
|
* @param params
|
|
*/
|
|
export const queryByBusinessId = (params) => defHttp.get({ url: Api.queryByBusinessId, params });
|
|
|
|
/**
|
|
* 删除单个流程实例
|
|
* @param params { processInstId: string }
|
|
*/
|
|
export const deleteSingleProcess = (params) => {
|
|
return defHttp.post({ url: Api.deleteSingleProcess, params }, { joinParamsToUrl: true, isTransformResponse: false });
|
|
};
|
|
|
|
/**
|
|
* 删除未发起的待处理任务(无流程实例ID的周期性任务记录)
|
|
* @param params { taskId: string }
|
|
*/
|
|
export const deletePendingTask = (params) => {
|
|
return defHttp.post({ url: Api.deletePendingTask, params }, { joinParamsToUrl: true, isTransformResponse: false });
|
|
};
|
|
|
|
/**
|
|
* 修改流程标题和截止时间
|
|
* @param params { taskId: string, title: string, requireFinishDate: string }
|
|
*/
|
|
export const updateTitleAndDeadline = (params) => {
|
|
return defHttp.post({ url: Api.updateTitleAndDeadline, params }, { joinParamsToUrl: true, isTransformResponse: false });
|
|
};
|
|
|
|
/**
|
|
* 【用于评论功能】自定义文件上传-方法
|
|
*/
|
|
export const uploadMyFile = (url, data) => {
|
|
return defHttp.uploadMyFile(url, data);
|
|
};
|