You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
397 lines
20 KiB
397 lines
20 KiB
/**
|
|
* mdp框架前端与后端交互扩展组件使用到的公共api
|
|
* 一般情况下请勿将业务代码加入此文件,业务代码及其它模块及api应该放入各自单独的api文件中,如果实在要添加,请添加到$mdp.js文件中,实现全局调用
|
|
*/
|
|
|
|
import util from '@/components/mdp-ui/js/util';//全局公共库
|
|
import axios from '@/utils/request'
|
|
import config from './mdp_config'
|
|
import { getToken } from '@/utils/auth'
|
|
|
|
const mdpExtCache=new Map();
|
|
|
|
let sysBase = config.getSysContext();
|
|
|
|
let arcBase = config.getArcContext()
|
|
|
|
let formBase = config.getFormContext()
|
|
|
|
let workflowBase = config.getWorkflowContext()
|
|
|
|
var funcs = {
|
|
|
|
/**
|
|
* 获取文件、附件上传的请求路径,全路径
|
|
*/
|
|
getArcAttUploadPath : () => { return `${config.getArcFileUploadBasePath()}/mdp/arc/att/attachment/upload` },
|
|
|
|
/**
|
|
* 获取图片上传的请求路径,全路径
|
|
* @returns
|
|
*/
|
|
getArcImageUploadPath :() => { return `${config.getArcImagePath()}/mdp/arc/img/image/upload`},
|
|
|
|
/**
|
|
* 预览图片是 url= $mdp.getArcImagePreviewBasePath()/图片url
|
|
* @returns
|
|
*/
|
|
getArcImagePreviewBasePath : () => { return `${config.getArcImagePath()}` },
|
|
|
|
/**
|
|
* 文件上传下载时带上token
|
|
* @returns
|
|
*/
|
|
getArcUploadHeader: () => { return {Authorization: "Bearor "+ getToken()} },
|
|
|
|
|
|
/**
|
|
* sys_user 用户表
|
|
*1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉,
|
|
*2 查询、新增、修改的参数格式 params={userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键',unionid:'全局唯一编号,也叫主账户,同一个人(比如同一个微信号,同一个邮箱,同一个手机号视为同一个人)。同一个人在mdp有唯一的主账号。',displayUserid:'登录展示使用用户编号',locked:'是否被锁定0否1是',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',password:'密码',salt:'盐值',pwdtype:'密码类型1指纹2密码',headimgurl:'头像地址',country:'国家',city:'城市',province:'省份',address:'详细地址',sex:'性别',enddate:'到期日期',districtId:'区县编号',email:'邮箱',fgOne:'指纹1',fgTwo:'指纹2',fgThr:'指纹3',idCardNo:'身份证号码',officePhoneno:'办公室电话',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',memType:'从平台角度看会员类型0-个人账户、1-企业管理员账户、2-企业员工账户,个人账户无须绑定机构号,个人子账户可升级为企业员工账户,企业账户必须绑定机构编号branchId个人账户升级后,保留个人主账户,个人子账户绑定企业编号成为企业员工账户',orgId:'机构会员自己的机构会员的机构号,理解为客户的客户',emailBak:'备用邮箱',pwdStrong:'1-高风险,2-中风险,3-低风险',lockType:'锁定类型:0-注册等待邮箱验证,1-注册等待修改初始密码,2-注册等待验证手机号码,3-密码高风险,等待重新修改密码,9-业务需要锁定禁止登录,10-账户被锁定,请联系客服',lockRemark:'锁定原因',ltime:'更新日期',atype:'相对于平台来说的账户类型0-子账户,1-主账户。',branchId:'机构主子账户归属的机构编号,如果是个人,这里填虚拟机构编号,作为虚拟的机构号,方便将来升级成企业号',continent:'洲别',cpaType:'从入驻企业角度看协作类型0-企业内部人员,1-客户,2-供应商,3-上级机构,4-下属机构',cpaOrg:'协作组织0-个人,1机构,如果是机构,机构号填入orgId',roleids:'个人账户拥有的角色,逗号分割',birthday:'生日',shopId:'商户编号',profeId:'职业编号',profeName:'职业名称',gradeId:'等级会员,根据经验值而定',gradeName:'等级会员名称',ilvlId:'权益等级青铜、白银、黄金、紫金、钻石',ilvlName:'权益等级名称',istatus:'会员权益状态0-无效,1-有效,2-过期',istime:'权益开始时间',ietime:'权益结束时间',validLvls:'人工验证结果,当审核状态为2时,同步到sys_user表同一个字段,或者sys_branch同一个字段',features:'个性化签名',profeType:'职业类型1-开发类,2-测试类,3-设计类,4-管理类;',ustatus:'用户账户状态0-初始,1-起效,2-注销申请,3-注销后删除',creditId:'信用等级编号',creditScore:'信用等级分数',guardId:'服务保障等级0-初始,1-金,2-银,3-铜',open:'是否对互联网用户开放查询0-否1是',remark:'简介备注',bizHours:'营业时间说明09:00-12:00',skillIds:'技能编号列表',skillNames:'技能名称列表'}
|
|
**/
|
|
listUser: params => { return axios.get(`/${sysBase}/mdp/sys/user/list`, { params: params }); },
|
|
|
|
|
|
//查询一个用户
|
|
queryUserById : params => { return axios.get(`${sysBase}/mdp/sys/user/queryById`, { params: params });},
|
|
|
|
//修改用户信息
|
|
editUser : params => { return axios.post(`${sysBase}/mdp/sys/user/edit`, params);},
|
|
|
|
//批量修改用户的某些字段
|
|
editSomeFieldsUser : params => { return axios.post(`${sysBase}/mdp/sys/user/editSomeFields`, params);},
|
|
|
|
//管理人员帮别人重置密码
|
|
resetPasswordByAdmin : params => { return axios.post(`${sysBase}/sys/user/resetPassword`, params);},
|
|
|
|
//修改自己的密码
|
|
changePassword : params => { return axios.post(`${sysBase}/sys/user/changePassword`, params);},
|
|
|
|
|
|
//更新当前登录着的头像
|
|
editHeadimgurl : params => { return axios.post(`${sysBase}/sys/user/editHeadimgurl`, params); },
|
|
|
|
//查询机构列表
|
|
listBranch : params => { return axios.get(`${sysBase}/mdp/sys/branch/list`, { params: params }); },
|
|
|
|
/**
|
|
* sys_dept
|
|
*1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉,
|
|
*2 查询、新增、修改的参数格式 params={deptid:'部门编号 主键',deptName:'部门全称',pdeptid:'上级部门编号',deptType:'参考数据字典deptType',state:'状态A正常E无效',manager:'负责人编号',leader:'上级领导编号',shortName:'简称',displayDeptid:'部门编码外部使用',orgType:'参考数据字典orgType',managerName:'负责人名称',leaderName:'上级领导名称',branchId:'云用户机构编号',levelType:'层级类型(科云:0国,1省,2市,3区县,4街道,5自然村)',idPath:'部门编号路径',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',ltime:'最后更新时间',isCbCenter:'是否为成本中心0否1是'}
|
|
**/
|
|
listDept: params => { return axios.get(`/${sysBase}/mdp/sys/dept/list`, { params: params }); },
|
|
|
|
/**
|
|
* 角色列表
|
|
* @param {*} params
|
|
* @returns
|
|
*/
|
|
listRole: params => { return axios.get(`/${sysBase}/mdp/sys/role/list`, { params: params }); },
|
|
|
|
/**
|
|
* 岗位列表
|
|
* @param {*} params
|
|
* @returns
|
|
*/
|
|
listPost: params => { return axios.get(`/${sysBase}/mdp/sys/post/list`, { params: params }); },
|
|
|
|
// --arc tag 相关api
|
|
|
|
//普通查询 条件之间and关系
|
|
getAllTag : params => { return axios.get(`/${arcBase}/mdp/arc/tag/getAllTag`, { params: params }); },
|
|
|
|
//删除一条arc_tag params={id:'标签编号 主键'}
|
|
delTag : params => { return axios.post(`/${arcBase}/mdp/arc/tag/del`,params); },
|
|
|
|
//新增一条arc_tag
|
|
addTag : params => { return axios.post(`/${arcBase}/mdp/arc/tag/add`, params); },
|
|
|
|
//新增一条arc_tag_category 及相关标签
|
|
delTagCategory : params => { return axios.post(`/${arcBase}/mdp/arc/tag/deleteTagCategory`, params); },
|
|
|
|
//新增一条arc_tag_category
|
|
addTagCategory : params => { return axios.post(`/${arcBase}/mdp/arc/tagCategory/add`, params); },
|
|
|
|
// -- end arc tag 相关api
|
|
|
|
|
|
// -- arc image 图片库相关api
|
|
|
|
/**
|
|
* 图片素材库
|
|
* 查询、新增、修改的参数格式 params={id:'主键 主键',name:'附件名称',url:'访问路径',relativePath:'硬盘存放路径',fileSuffix:'后缀名',rootPath:'根目录',createDate:'存入时间',fileSize:'文件大小',deptid:'归属部门',tag:'标签',remark:'备注信息',categoryId:'图片分类',storageName:'硬盘存储名字(不带后缀)',urlPrefix:'链接前缀',isOutUrl:'是否外部链接',outUrl:'外部链接',branchId:'机构编号',archiveType:'0|知识库',relyTypes:'参考类型,开放式字段,1-开源社区,2-项目论坛,逗号',relyIds:'参考编号,逗号',relySubTypes:'参考子类型,逗号',relySubIds:'参考子编号,逗号',cuserid:'创建人编号',cusername:'创建人姓名',cdate:'创建时间'}
|
|
**/
|
|
listImage : params => { return axios.get(`/${arcBase}/mdp/arc/img/image/list`, { params: params }); },
|
|
|
|
|
|
//批量删除图片素材库 params=[{id:'主键 主键'}]
|
|
batchDelImage : params => { return axios.post(`/${arcBase}/mdp/arc/img/image/batchDel`, params); },
|
|
|
|
|
|
//普通查询 条件之间and关系
|
|
listImageCategory : params => { return axios.get(`/${arcBase}/mdp/arc/img/imageCategory/list`, { params: params }); },
|
|
|
|
//删除一条图片分类 params={id:'主键 主键'}
|
|
delImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/del`,params); },
|
|
|
|
|
|
//修改一条图片分类记录
|
|
ditImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/edit`, params); },
|
|
|
|
//新增一条图片分类
|
|
addImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/add`, params); },
|
|
|
|
// end -- arc image 图片库相关api
|
|
|
|
|
|
// -- arc att 附件相关api
|
|
|
|
/**
|
|
* 档案类目
|
|
* 查询、新增、修改的参数格式 params={id:'分类主键 主键',categoryType:'0知识库-1新闻类2企业内部通知公告类3平台通知公告4其它5论坛6公文7归档8网站栏目,关联基础数据categoryType',pid:'上级分类',name:'分类名称',sortOrder:'分类排序',isShow:'是否显示',branchId:'机构编号',imageUrls:'图片列表逗号分割',isLeaf:'是否叶子节点0否1是,叶子节点不允许再建立下级,非叶子节点不允许挂文章',limitType:'文章限制,1-单篇文章,2-多篇文章',isAuth:'文章是否需要审核0-否1是',paths:'上级分类路径,逗号分割,包括自身'}
|
|
**/
|
|
//普通查询 条件之间and关系
|
|
listCategory : params => { return axios.get(`/${arcBase}/mdp/arc/pub/category/list`, { params: params }); },
|
|
|
|
//普通查询 条件之间and关系
|
|
queryCategoryById : params => { return axios.get(`/${arcBase}/mdp/arc/pub/category/queryById`, { params: params }); },
|
|
|
|
//批量删除档案类目 params=[{id:'分类主键 主键'}]
|
|
batchAddCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/batchAdd`, params); },
|
|
|
|
//批量删除档案类目 params=[{id:'分类主键 主键'}]
|
|
batchDelCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/batchDel`, params); },
|
|
|
|
//修改一条档案类目记录
|
|
editCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/edit`, params); },
|
|
|
|
//新增一条档案类目
|
|
addCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/add`, params); },
|
|
|
|
//查询分类权限
|
|
listCategoryQx : params => { return axios.get(`/${arcBase}/mdp/arc/pub/categoryQx/list`, { params: params }); },
|
|
|
|
//查询分类权限
|
|
queryCategoryQxById : params => { return axios.get(`/${arcBase}/mdp/arc/pub/categoryQx/queryById`, { params: params }); },
|
|
|
|
|
|
//修改一条档案类目记录权限
|
|
editCategoryQx : params => { return axios.post(`/${arcBase}/mdp/arc/pub/categoryQx/edit`, params); },
|
|
|
|
//新增一条档案类目权限
|
|
addCategoryQx : params => { return axios.post(`/${arcBase}/mdp/arc/pub/categoryQx/add`, params); },
|
|
|
|
/**
|
|
* 档案附件表
|
|
*查询、新增、修改的参数格式 params={id:'主键 主键',name:'附件名称',url:'访问路径',relativePath:'硬盘存放路径',fileSuffix:'后缀名',cdnUrl:'内容加速器访问路径',isImg:'是否图片',archiveId:'档案主编号',isCdn:'是否使用CDN',rootPath:'根目录',createDate:'存入时间',canDown:'是否可下载',canDel:'是否可删除',canRead:'是否可读',bizId:'业务编号、产品编号、商品编号等',remark:'业务名称、产品名称、商品名称等',storeName:'存储名字',fileSize:'文件大小',branchId:'云用户机构编号',deptid:'部门编号',archiveType:'0|知识库',categoryId:'分类编号'}
|
|
**/
|
|
|
|
//普通查询 条件之间and关系
|
|
listAttachment : params => { return axios.get(`/${arcBase}/mdp/arc/att/attachment/list`, { params: params }); },
|
|
|
|
//普通查询 条件之间and关系
|
|
queryAttachmentById : params => { return axios.get(`/${arcBase}/mdp/arc/att/attachment/queryById`, { params: params }); },
|
|
|
|
//删除一条档案附件表 params={id:'主键 主键'}
|
|
delAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/del`,params); },
|
|
|
|
//批量删除档案附件表 params=[{id:'主键 主键'}]
|
|
batchDelAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/batchDel`, params); },
|
|
|
|
//修改一条档案附件表记录
|
|
editAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/edit`, params); },
|
|
|
|
//新增一条档案附件表
|
|
addAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/add`, params); },
|
|
|
|
//批量修改某些字段
|
|
editSomeFieldsAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/editSomeFields`, params); },
|
|
|
|
// end -- arc att 附件相关api
|
|
|
|
|
|
// start - mdp meta 元数据管理 相关api
|
|
|
|
/**
|
|
* 数据项定义
|
|
*查询、新增、修改的参数格式 params={id:'主键 主键',itemCode:'代码,小写,下横线分割,请不要用驼峰命名',itemName:'名称',remark:'备注',categoryId:'分类编号',itemSize:'长度',itemType:'类型',branchId:'机构编号',deptid:'部门编号',cmenu:'是否创建菜单',values:'默认值,如果是列表,则存储列表编号,多个逗号分割',names:'默认名称,如果是列表,则存储列表名称,多个则逗号分割',options:'item_type=4,5时的选项列表[{value:值,name:显示名称}]',inputFormat:'输入提示',required:'是否必须0否1是',seq:'排序顺序',table:'表名',show:'是否显示0否1是',qx:'权限,是否可以0-新增,1-删除,2-编辑,3-查询,多个以逗号分割'}
|
|
**/
|
|
|
|
//普通查询 条件之间and关系
|
|
listItem : params => { return axios.get(`/${sysBase}/mdp/meta/item/list`, { params: params }); },
|
|
|
|
|
|
//删除一条数据项定义 params={id:'主键 主键'}
|
|
delItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/del`,params); },
|
|
|
|
//批量删除数据项定义 params=[{id:'主键 主键'}]
|
|
batchDelItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/batchDel`, params); },
|
|
|
|
//修改一条数据项定义记录
|
|
editItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/edit`, params); },
|
|
|
|
//新增一条数据项定义
|
|
addItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/add`, params); },
|
|
|
|
|
|
/**
|
|
* 数据项取值列表
|
|
*查询、新增、修改的参数格式 params={id:'主键 主键',itemId:'数据项编号',optionValue:'选项值',optionName:'选项名称',keys:'快捷键',isShow:'是否显示',seqOrder:'顺序',fp:'第一扩展字段',tp:'第三扩展字段',sp:'第二扩展字段',isDefault:'是否默认',cdate:'创建日期',branchId:'机构编号',deptid:'部门编号'}
|
|
**/
|
|
|
|
//普通查询 条件之间and关系
|
|
listItemOption : params => { return axios.get(`/${sysBase}/mdp/meta/itemOption/list`, { params: params }); },
|
|
|
|
//删除一条数据项取值列表 params={id:'主键 主键'}
|
|
delItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/del`,params); },
|
|
|
|
//批量删除数据项取值列表 params=[{id:'主键 主键'}]
|
|
batchDelItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/batchDel`, params); },
|
|
|
|
//修改一条数据项取值列表记录
|
|
editItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/edit`, params); },
|
|
|
|
//新增一条数据项取值列表
|
|
addItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/add`, params); },
|
|
|
|
//普通查询 条件之间and关系
|
|
queryItemOptionById : params => { return axios.get(`/${sysBase}/mdp/meta/itemOption/queryById`, { params: params }); },
|
|
|
|
//批量修改某些字段
|
|
editSomeFieldsItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/editSomeFields`, params); },
|
|
|
|
//刷新缓存
|
|
refresh : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/refresh`, params); },
|
|
|
|
// end - mdp meta 元数据管理 相关api
|
|
|
|
// start form 智能表单 相关api
|
|
|
|
listFormField : params => { return axios.get(`${formBase}/mdp/lcode/formField/list`, { params: params }); },
|
|
|
|
listFormFieldCacheFirst : params => {
|
|
var baseCode='list-form-fields'
|
|
var codeKey=util.getCodeKey(baseCode,params);
|
|
return new Promise((resolve,reject)=>{
|
|
var data=funcs.listFormFieldFromCache(codeKey,baseCode,params)
|
|
if(data){
|
|
var res2={
|
|
tips:{
|
|
isOk:true,
|
|
tipscode:'ok',
|
|
msg:'成功'
|
|
},
|
|
data:data
|
|
}
|
|
resolve({data:res2})
|
|
}else{
|
|
|
|
var lockKey=codeKey+'@lock'
|
|
var lock=sessionStorage.getItem(lockKey)
|
|
let func = function(){
|
|
var data=funcs.listFormFieldFromCache(codeKey,baseCode,params)
|
|
if(data){
|
|
var res2={
|
|
tips:{
|
|
isOk:true,
|
|
tipscode:'ok',
|
|
msg:'成功'
|
|
},
|
|
data:data
|
|
}
|
|
resolve({data:res2})
|
|
return;
|
|
}
|
|
funcs.listFormField(params).then(res=>{
|
|
sessionStorage.removeItem(lockKey)
|
|
if(res.data.tips && res.data.tips.isOk ){
|
|
sessionStorage.setItem(codeKey,JSON.stringify(res.data.data))
|
|
var res2={
|
|
tips:res.data.tips,
|
|
data:res.data.data
|
|
}
|
|
mdpExtCache.set(codeKey,res2)
|
|
resolve({data:res2})
|
|
|
|
}else{
|
|
mdpExtCache.set(codeKey,null)
|
|
reject(res)
|
|
}
|
|
}).catch(e=>{
|
|
mdpExtCache.set(codeKey,null)
|
|
sessionStorage.removeItem(lockKey)
|
|
reject(e)
|
|
})
|
|
}
|
|
if(lock){
|
|
setTimeout(()=>{
|
|
func();
|
|
},2000)
|
|
}else{
|
|
func();
|
|
}
|
|
|
|
}
|
|
})
|
|
},
|
|
/**
|
|
* 从缓存中获取字典列表,该函数不会向后端请求
|
|
* */
|
|
listFormFieldFromCache : (codeKey) => {
|
|
var item=mdpExtCache.get(codeKey)
|
|
if(item && item.formDef && item.formDef.id){
|
|
return item
|
|
}
|
|
var clistStr=sessionStorage.getItem(codeKey);
|
|
if (clistStr&& clistStr!='null' && clistStr!='undefined') {
|
|
let item = JSON.parse(clistStr)
|
|
return item;
|
|
}else{
|
|
return null;
|
|
}
|
|
},
|
|
|
|
removeFormFieldsCache:(formId)=>{
|
|
var baseCode='list-form-fields'
|
|
var params={formId:formId}
|
|
var codeKey=util.getCodeKey(baseCode,params);
|
|
mdpExtCache.set(codeKey,null)
|
|
sessionStorage.removeItem(codeKey)
|
|
|
|
},
|
|
|
|
goToFormDesign: formDefId => {
|
|
var url= window.location.protocol + '//' + window.location.host + workflowBase+'/' + process.env.VERSION + '/#/mdp/lcode/design/'+formDefId
|
|
util.openWin(url)
|
|
},
|
|
// end form
|
|
|
|
/**
|
|
* 微信邀请用户加入公司需要state参数,防止crfs攻击
|
|
* @returns
|
|
*/
|
|
getInviteTpaState: () => {
|
|
return axios({
|
|
url: '/tpa/invite/wechat/wxpub/state',
|
|
method: 'post',
|
|
data:{}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 微信绑定用户加入公司需要state参数,防止crfs攻击
|
|
* @param {joinUserid:'需要绑定微信的用户编号',joinUsername:'用户名称',sendUserid:'发起邀请人编号',sendUsername:'发起邀请人姓名'}
|
|
* @returns
|
|
*/
|
|
getBindTpaState: (params) => {
|
|
return axios({
|
|
url: '/tpa/bind/wechat/wxpub/state',
|
|
method: 'post',
|
|
data:params
|
|
})
|
|
},
|
|
}
|
|
|
|
export default funcs
|
|
|
|
|