import { defHttp } from '/@/utils/http/axios'; import { Modal } from 'ant-design-vue'; enum Api { listNoCareTenant = '/sys/user/listAll', list = '/sys/user/list', save = '/sys/user/add', edit = '/sys/user/edit', agentSave = '/sys/sysUserAgent/add', agentEdit = '/sys/sysUserAgent/edit', getUserRole = '/sys/user/queryUserRole', duplicateCheck = '/sys/duplicate/check', deleteUser = '/sys/user/delete', deleteBatch = '/sys/user/deleteBatch', importExcel = '/sys/user/importExcel', exportXls = '/sys/user/exportXls', recycleBinList = '/sys/user/recycleBinPageList', putRecycleBin = '/sys/user/putRecycleBin', deleteRecycleBin = '/sys/user/deleteRecycleBin', allRolesList = '/sys/role/queryall', allRolesListNoByTenant = '/sys/role/queryallNoByTenant', allTenantList = '/sys/tenant/queryList', allPostList = '/sys/user/listUserByRole', userDepartList = '/sys/user/userDepartList', changePassword = '/sys/user/changePassword', frozenBatch = '/sys/user/frozenBatch', getUserAgent = '/sys/sysUserAgent/queryByUserName', syncUser = '/act/process/extActProcess/doSyncUser', userQuitAgent = '/sys/user/userQuitAgent', getQuitList = '/sys/user/getQuitList', putCancelQuit = '/sys/user/putCancelQuit', updateUserTenantStatus = '/sys/tenant/updateUserTenantStatus', getUserTenantPageList = '/sys/tenant/getUserTenantPageList', getHospitals = '/sys/healthConsultResource/selectConsultResourceList', getPhysical = '/medical/hospital/getAllHospital', getPhysicalAndVirtual = '/medical/hospital/getAllHospitalAndVirtual', getMedicalSecondDeparts = '/medical/hospital/getMedicalSecondDeparts', getMedicalThirdDeparts = '/medical/hospital/getMedicalThirdDeparts', officeApiSelect = '/sys/category/selectSysCategoryList', getSecondaryDepartment = '/sys/sysDepart/allSecondaryDeparts', getThirdDepartment = '/sys/sysDepart/getThirdDepartListBySecondDepartId', thirdByCode = '/sys/sysDepart/getThirdDepartListByOrgCode', getNewHospital = '/health-emergency/emergency/resource/listCustom', getThreeDepartByOrgCode = '/sys/sysDepart/getThreeDepartByOrgCode', } export const getThreeDepartByOrgCode = (params) => { return defHttp.get({ url: Api.getThreeDepartByOrgCode, params }); }; /** * 导出api * @param params */ export const getExportUrl = Api.exportXls; /** * 导入api */ export const getImportUrl = Api.importExcel; /** * 列表接口(查询用户,通过租户隔离) * @param params */ export const list = (params) => defHttp.get({ url: Api.list, params }); /** * @Description:选择用户列表查询form * @date 2023/8/23 * @param params */ export const checkUserList = (params) => defHttp.get({ url: Api.allPostList, params }); /** * 列表接口(查询全部用户,不通过租户隔离) * @param params */ export const listNoCareTenant = (params) => defHttp.get({ url: Api.listNoCareTenant, params }); /** * 用户角色接口 * @param params */ export const getUserRoles = (params) => defHttp.get({ url: Api.getUserRole, params }, { errorMessageMode: 'none' }); /** * 删除用户 */ export const deleteUser = (params, handleSuccess) => { return defHttp.delete({ url: Api.deleteUser, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 批量删除用户 * @param params */ export const batchDeleteUser = (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 saveOrUpdateUser = (params, isUpdate) => { const url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }); }; /** * 唯一校验 * @param params */ export const duplicateCheck = (params) => defHttp.get({ url: Api.duplicateCheck, params }, { isTransformResponse: false }); /** * 获取全部角色(租户隔离) * @param params */ export const getAllRolesList = (params) => defHttp.get({ url: Api.allRolesList, params }); /** * 获取全部角色(不租户隔离) * @param params */ export const getAllRolesListNoByTenant = (params) => defHttp.get({ url: Api.allRolesListNoByTenant, params }); /** * 获取全部租户 */ export const getAllTenantList = (params) => defHttp.get({ url: Api.allTenantList, params }); /** * 获取指定用户负责部门 */ export const getUserDepartList = (params) => defHttp.get({ url: Api.userDepartList, params }, { successMessageMode: 'none' }); /** * 获取全部职务 */ export const getAllPostList = (params) => { return new Promise((resolve) => { defHttp.get({ url: Api.allPostList, params }).then((res) => { resolve(res.records); }); }); }; /** * 回收站列表 * @param params */ export const getRecycleBinList = (params) => defHttp.get({ url: Api.recycleBinList, params }); /** * 回收站还原 * @param params */ export const putRecycleBin = (params, handleSuccess) => { return defHttp.put({ url: Api.putRecycleBin, params }).then(() => { handleSuccess(); }); }; /** * 回收站删除 * @param params */ export const deleteRecycleBin = (params, handleSuccess) => { return defHttp.delete({ url: Api.deleteRecycleBin, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 修改密码 * @param params */ export const changePassword = (params) => { return defHttp.put({ url: Api.changePassword, params }); }; /** * 冻结解冻 * @param params */ export const frozenBatch = (params, handleSuccess) => { return defHttp.put({ url: Api.frozenBatch, params }).then(() => { handleSuccess(); }); }; /** * 获取用户代理 * @param params */ export const getUserAgent = (params) => defHttp.get({ url: Api.getUserAgent, params }, { isTransformResponse: false }); /** * 保存或者更新用户代理 * @param params */ export const saveOrUpdateAgent = (params) => { const url = params.id ? Api.agentEdit : Api.agentSave; return defHttp.post({ url: url, params }); }; /** * 用户同步流程 * @param params */ export const syncUser = () => defHttp.put({ url: Api.syncUser }); /** * 用户离职(新增代理人和用户状态变更操作) * @param params */ export const userQuitAgent = (params) => { return defHttp.put({ url: Api.userQuitAgent, params }); }; /** * 用户离职列表 * @param params */ export const getQuitList = (params) => { return defHttp.get({ url: Api.getQuitList, params }); }; /** * 取消离职 * @param params */ export const putCancelQuit = (params, handleSuccess) => { return defHttp.put({ url: Api.putCancelQuit, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 待审批获取列表数据 */ export const getUserTenantPageList = (params) => { return defHttp.get({ url: Api.getUserTenantPageList, params }); }; /** * 更新租户状态 * @param params */ export const updateUserTenantStatus = (params) => { return defHttp.put({ url: Api.updateUserTenantStatus, params }, { joinParamsToUrl: true, isTransformResponse: false }); }; /** * 获取医院列表 用户管理(新增专家信息、新增驻场人员) */ export const getHospitalsList = async () => { return await defHttp.get({ url: Api.getHospitals }); }; /** * 获取医院列表 体检管理 */ export const getPhysicalHospitalsList = async () => { return await defHttp.get({ url: Api.getPhysical }); }; /** * 获取医院列表 体检管理(忽略权限) */ export const getPhysicalHospitalsListIgnoreAuth = async () => { let params = { authFlag: '0', }; return await defHttp.get({ url: Api.getPhysical, params }); }; /** * 获取医院列表 体检管理 */ export const getPhysicalHospitalsAllList = async () => { return await defHttp.get({ url: Api.getPhysicalAndVirtual }); }; /** * 获取体检功能中的二级单位,优先查询所管理的二级单位,再查询管理医院的签约单位 */ export const getMedicalSecondDeparts = () => { return defHttp.get({ url: Api.getMedicalSecondDeparts }); }; /** * 获取体检功能中的三级单位,优先查询所管理的二级单位,再查询管理医院的签约单位 */ export const getMedicalThirdDeparts = async (params) => { if (!params.secondDepartId) { return []; } return defHttp.get({ url: Api.getMedicalThirdDeparts, params }); }; /** * 获取二级部门 体检管理 */ export const getSecondaryDepartmentList = () => { return defHttp.get({ url: Api.getSecondaryDepartment }); }; /** * 获取三级部门 体检管理 */ export const getThirdDepartmentList = async (params) => { if (!params.secondDepartId) { return []; } return await defHttp.get({ url: Api.getThirdDepartment, params }); }; export const getThirdDepartListByOrgCode = (params) => defHttp.get({ url: Api.thirdByCode, params }); /** * 科室列表 */ export const getOfficeList = async (params) => { return await defHttp.get({ url: Api.officeApiSelect, params }); }; export const getNewHospitalApi = (params) => { return defHttp.get({ url: Api.getNewHospital, params }); };