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); };