w-vue-middle
Version:
统一公共服务组件
756 lines (715 loc) • 15.2 kB
JavaScript
/*
* @Author: Jason Liu
* @Date: 2022-04-19 14:32:15
* @Desc:
*/
const $axios = require('../axios').default;
import { message } from 'ant-design-vue';
/**
* @Author: Jason Liu
* @description: 根据用户信息获取用户所在的院区
*/
export function getHospitalInfo(
params = {
userId: undefined,
},
) {
return $axios({
url: `${$service.portalService}/portal/login/getHospitalInfo`,
method: 'post',
data: params,
});
}
/**
* @Author: Jason Liu
* @description: 获取登录用户信息
*/
export function getLoginUserInfo(params) {
return $axios({
url: `${$service.portalService}/portal/login/getUserInfo`,
method: 'post',
data: params,
});
}
/**
* @Author: Jason Liu
* @description: 用户登录
*/
export function userLogin(
params = {
orgId: undefined, //院区ID
password: undefined, //密码
userId: undefined, //用户登录ID
},
) {
$storage.set('accept_system_org', params.orgId);
return $axios({
url: `${$service.portalService}/portal/login/userLogin`,
method: 'post',
data: params,
});
}
/**
* @Author: Jason Liu
* @description: 获取项目下拉信息
*/
export function login(
params = {
orgId: undefined, //院区ID
password: undefined, //密码
userId: undefined, //用户登录ID
},
) {
$storage.set('tokey', 'datafactory');
$storage.set('accept_system_org', params.orgId);
return userLogin(params).then((req) => {
$storage.set('Bearer', req.data.portal_accessToken);
$storage.set('PORTAL_JTI', req.data.portal_jti);
$storage.set('PORTAL_REFRESHTOKEN', req.data.portal_refreshToken);
$storage.set('PORTAL_SEC', req.data.portal_sec);
$storage.set('PORTAL_SECNET', req.data.portal_secNet);
$storage.set('PORTAL_SECSM4', req.data.portal_secSm4);
$storage.set('PORTAL_UID', req.data.portal_uid);
$storage.set('themes', req.data.portal_theme_themes);
return getUserAuthorityInfo(params.userId).then(() => {
return getUserInfo();
});
});
}
/**
* @Author: \y_zp
* @description: 获取验证码
*/
export function captchaImage() {
return $axios({
url: `${$service.portalService}/captchaImage`,
method: 'post',
});
}
/**
* @Author: \y_zp
* @description: 获取系统配置参数信息
*/
export function sysConfigByKey(configKey) {
return $axios({
url: `${$service.portalService}/sysConfig/getByKey/${configKey}`,
method: 'get',
});
}
/**
* @Author: Jason Liu
* @description: 获取用户授权信息
*/
export function getUserAuthorityInfo(userId) {
return $axios({
url: `${$service.userService}/api/v1/sysMenu/app/menu/${userId}`,
//url: `${appService.userService}/api/v1/sysMenu/list/all`,
method: 'get',
}).then((req) => {
$storage.set('STSTEM_INFO', req.data);
return req;
});
}
/**
* @Author: Jason Liu
* @description: 获取用户授权信息
*/
export function getUserMenus(token) {
return $axios({
url: `${$service.userService}/api/v1/portal/login/jcpt/menus`,
//url: `${appService.userService}/api/v1/sysMenu/list/all`,
method: 'post',
data: {
jcptToken: token,
},
}).then((req) => {
$storage.set('STSTEM_INFO', req.data);
return req;
});
}
/**
* @Author: Jason Liu
* @description: 修改用户信息
*/
export function updateUser(
params = {
avatar: undefined,
birthDate: undefined,
departmentCode: undefined,
email: undefined,
employeeId: undefined,
enableStatus: undefined,
failNumber: undefined,
firstPasswordErrorTime: undefined,
job: undefined,
landlinePhone: undefined,
lockTime: undefined,
orgId: undefined,
orgName: undefined,
position: undefined,
sex: undefined,
telephone: undefined,
userId: undefined,
userName: undefined,
wardCode: undefined,
},
) {
return $axios({
url: `${$service.portalService}/portal/index/updateUser`,
method: 'post',
data: params,
}).then((req) => {
return getUserInfo();
});
}
/**
* @Author: Jason Liu
* @description: 修改用户密码
*/
export function changePassword(
params = {
newPassword: undefined,
oldPassword: undefined,
},
) {
return $axios({
url: `${$service.portalService}/sysUser/updatePwd`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 获取机构列表
*/
export function getSysOrg(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_orgName_like: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysOrg/list`,
method: 'post',
data: params,
});
}
/**
* 获取机构树
* @param {*} params
* @returns
*/
export function getSysOrgTree(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_orgName_like: undefined
}
}
) {
return $axios({
url: `${$service.portalService}/sysOrg/treeList`,
method: "post",
data: params
});
}
/**
* @Author: y_zp
* @description: 获取当前机构以及子机构信息
*/
export function getSysOrgData(params = {}) {
return $axios({
url: `${$service.portalService}/sysOrg/getSysOrg`,
method: 'post',
data: params
})
}
/**
* @Author: y_zp
* @description: 机构添加/编辑
*/
export function sysOrgSave(
params = {
orgId: undefined,
orgName: undefined,
parentOrg: undefined,
sysOrgCode: undefined,
orgCode: undefined,
orgType: undefined,
alias: undefined,
hospitalLevel: undefined,
isEnable: undefined,
orgLogo: undefined,
telphone: undefined,
fax: undefined,
postcode: undefined,
address: undefined,
},
) {
return $axios({
url: `${$service.portalService}/sysOrg/save`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 删除机构
*/
export function delSysOrg(id) {
return $axios({
url: `${$service.portalService}/sysOrg/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 机构详情
*/
export function getSysOrgDetail(id) {
return $axios({
url: `${$service.portalService}/sysOrg/get/${id}`,
method: 'get',
});
}
/**
* @Author: y_zp
* @description: 系统参数
*/
export function sysConfigList(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_configName_like: undefined,
F_configKey_like: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysConfig/list`,
method: 'post',
data: params,
});
}
/**
* @Author: Jason Liu
* @description: 批量获取系统参数
*/
export function sysConfigByKeys(configKeys) {
return sysConfigList({
pageNum: 1,
pageSize: 10,
queryParams: {
F_configKey_in: configKeys,
},
});
}
/**
* @Author: Jason Liu
* @description: 获取用户信息
*/
export function getUserInfo() {
const getUserInfo = $axios({
url: `${$service.portalService}/portal/login/getUserInfo`,
method: 'post',
data: {
accessToken: $storage.getToken(),
},
})
.then((req) => {
$storage.set('USER_INFO', req.data);
$storage.userInfo = req.data;
return req;
})
.catch(() => {
message.error({
content: $t('请重新登录!'),
centered: true,
key: 'eorr',
});
$storage.clearToken();
window.location.reload();
});
const systemConfigKeys = [
'system.authbutton.enable', //按钮权限
'system.channel', //系统渠道开关 0和空为院端 1为区域端
'system.releaseVersion', //系统版本
'system.org.enable',
];
//系统参数清单
$storage.parameter = {};
const getSystemConfigs = sysConfigByKeys(systemConfigKeys.join(',')).then((req) => {
systemConfigKeys.forEach((key) => {
let config = req.data.find((item) => {
return item.configKey == key;
}) || { configValue: '0' };
let appParameterName = key.replaceAll('.', '_');
$storage.parameter[appParameterName] = config.configValue;
$storage.set(appParameterName, config.configValue);
});
return req;
});
return Promise.all([getUserInfo, getSystemConfigs]).then((reqs) => {
return reqs[0];
});
}
/**
* @Author: y_zp
* @description: 系统参数保存
*/
export function sysConfigSave(
params = {
configId: undefined,
configName: undefined,
configKey: undefined,
configValue: undefined,
remark: undefined,
},
) {
return $axios({
url: `${$service.portalService}/sysConfig/save`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 系统参数删除
*/
export function delSysConfig(id) {
return $axios({
url: `${$service.portalService}/sysConfig/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 字典列表
*/
export function getSysDictData(
params = {
pageNum: 1,
pageSize: 15,
queryParams: {
F_dictType_eq: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysDictData/list`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 字典保存
*/
export function sysDictDataSave(
params = {
dictLabel: undefined,
dictType: undefined,
dictCode: undefined,
dictValue: undefined,
remark: undefined,
},
) {
return $axios({
url: `${$service.portalService}/sysDictData/save`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 字典删除
*/
export function sysDictDataDel(id) {
return $axios({
url: `${$service.portalService}/sysDictData/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 根据机构获取角色列表
*/
export function getRoleDeptList(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_deptId_eq: undefined,
F_roleName_like: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysRoleDept/list`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 保存角色信息
*/
export function saveRole(
params = {
remark: undefined,
roleKey: undefined,
roleName: undefined,
deptId: undefined,
roleSort: 0,
},
) {
return $axios({
url: `${$service.portalService}/sysRole/save`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 删除角色
*/
export function deleteRole({ id }) {
return $axios({
url: `${$service.portalService}/sysRole/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 根据角色获取用户
*/
export function userByrole(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_roleId_eq: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysUser/list/byrole`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 角色下移除用户
*/
export function delUserRole(roleId, userId) {
return $axios({
url: `${$service.portalService}/sysUserRole/delete/${roleId}/${userId}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 用户批量绑定角色
*/
export function saveUserRole(params = []) {
return $axios({
url: `${$service.portalService}/sysUserRole/savebatch`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 获取操作日志列表
*/
export function operLogList(
appName,
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_title_like: undefined,
F_operName_like: undefined,
F_createTime_gt: undefined,
F_createTime_lt: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysOperLog/list/${appName}`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 操作日志列表删除
*/
export function delOperLog(id) {
return $axios({
url: `${$service.portalService}/sysOperLog/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 获取登录日志列表
*/
export function loginLogList(
params = {
pageNum: 1,
pageSize: 10,
queryParams: {
F_userName_like: undefined,
F_ipaddr_like: undefined,
},
},
) {
return $axios({
url: `${$service.portalService}/sysLogininfor/list`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 登录日志列表删除
*/
export function delLoginLog(id) {
return $axios({
url: `${$service.portalService}/sysLogininfor/delete/${id}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 登录日志列表删除
*/
export function logout() {
return $axios({
url: `${$service.portalService}/auth/logout`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 当前用户下的机构
*/
export function getUserOrgTree(id) {
return $axios({
url: `${$service.portalService}/sysOrg/tree/${id}`,
method: 'get',
});
}
//sql函数缓存变量
let sqlFunctonList = [];
/**
* @Author: Jason Liu
* @description:获取sql函数
*/
export function getSQlFunctonList() {
if (sqlFunctonList.length > 0) {
return new Promise((resolve, reject) => {
resolve({
data: sqlFunctonList,
});
});
} else {
return $axios({
url: `${$service.portalService}/dfDiSys/listGroup`,
method: 'post',
}).then((req) => {
sqlFunctonList = req.data;
return req;
});
}
}
/**
* @Author: y_zp
* @description: 知识库列表
*/
export function pagedSolutions(params = {}) {
return $axios({
url: `${$service.portalService}/solution/pagedSolutions`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 知识库保存
*/
export function saveProblem(params = {}) {
return $axios({
url: `${$service.portalService}/solution/saveProblem`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 多语言分页列表
*/
export function getSysLangList(params = {}) {
return $axios({
url: `${$service.portalService}/sysLang/pageList`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 多语言-删除
*/
export function deleteSysLang(ids) {
return $axios({
url: `${$service.portalService}/sysLang/delete/${ids}`,
method: 'post',
});
}
/**
* @Author: y_zp
* @description: 多语言-详情
*/
export function getSysLangDetail(id) {
return $axios({
url: `${$service.portalService}/sysLang/get/${id}`,
method: 'get',
});
}
/**
* @Author: y_zp
* @description: 多语言详情-提交
*/
export function saveSysLang(params) {
return $axios({
url: `${$service.portalService}/sysLang/save`,
method: 'post',
data: params,
});
}
/**
* @Author: y_zp
* @description: 多语言-批量保存
*/
export function batchSaveSysLang(params) {
return $axios({
url: `${$service.portalService}/sysLang/batchSave`,
method: 'post',
data: params,
});
}
// 获取当前机构及子集
export function getSysOrgByParent(params) {
return $axios({
url: `${$service.portalService}/sysOrg/getSysOrg`,
method: 'post',
data: params,
});
}