import req from '@/request.js' import utils from '@/hotent-ui-util.js' import {Promise} from 'q' import { get } from 'jquery' const model = window.context.bpmModel const runtime = window.context.bpmRunTime const portal = window.context.portal const uc = window.context.uc const form = window.context.form export default { getInstPage(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/instance/v1/getInstDetailList', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) // return roleData.getRolePageJson(param); }, getInstDeleteLogPage(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/instance/v1/getInstDeleteLog', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, forbiddenOrUnForbiddenInst(param) { return new Promise((resolve, reject) => { let url = runtime + '/runtime/instance/v1/' if (param.isForbidden == '1') { url += 'unForbiddenInstance?instId=' + param.id } else { url += 'forbiddenInstance?instId=' + param.id } req.get(url).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getDefPage(param) { return new Promise((resolve, reject) => { req.post(model + '/flow/def/v1/listJson', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) // return roleData.getRolePageJson(param); }, getMobileFlowPage(param, typeId) { return new Promise((resolve, reject) => { req .post( `${model}/bpmMobileCategory/v1/getByTypeId?typeId=${typeId}`, param ) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, saveMobileFlow(typeId, defKeys) { return new Promise((resolve, reject) => { req .post(`${model}/bpmMobileCategory/v1/save?typeId=${typeId}`, defKeys) .then( response => { resolve(response) }, error => { reject(error) } ) }) }, removeMobileFlowCategory(typeId, defKeys) { return new Promise((resolve, reject) => { req .remove( `${model}/bpmMobileCategory/v1/removeMobileFlowCategory?typeId=${typeId}&defKeys=${defKeys}` ) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getDefSetting(param, cb) { req .get( model + '/flow/node/v1/getDefSetting?defId=' + param.defId + '&topDefKey=' + param.topDefKey ) .then(response => { cb(response) }) }, //获取流程实例明细 instanceFlowImage(data, cb) { req .get( runtime + '/runtime/instance/v1/instanceFlowImage?proInstId=' + data.instId + '&nodeId=' + (data.nodeId || '') + '&type=' + (data.type || '') + '&defId=' + (data.defId || '') ) .then(response => { cb(response) }) }, //流程图 getBpmImage(id, proInstId, defId, cb) { req .get( runtime + '/runtime/instance/v1/getBpmImage?taskId=&proInstId=' + proInstId + '&defId=' + defId + '&bpmnInstId=' + id, 'text' ) .then(response => { cb(response) }) }, //获取审批意见 getNodeopinions(data, cb) { req .get( runtime + '/runtime/task/v1/nodeOpinion?instId=' + data.instId + '&nodeId=' + data.nodeIds + '&defId=' + data.defId ) .then(response => { cb(response) }) }, getDelegationList(param) { return new Promise((resolve, reject) => { req.post(model + '/flow/agent/v1/listJson?isMgr=true', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getDelegationById(id) { return new Promise((resolve, reject) => { req.get(model + '/flow/agent/v1/agentGet?id=' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getAgentList(param) { return new Promise((resolve, reject) => { req.post(model + '/bpmModel/bpmDeputy/v1/list', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getAgentById(id) { return new Promise((resolve, reject) => { req.get(model + '/bpmModel/bpmDeputy/v1/get/' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, saveAgent(param) { return new Promise((resolve, reject) => { req.post(model + '/bpmModel/bpmDeputy/v1/save', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getUserById(id) { return new Promise((resolve, reject) => { req.get(model + '/bpmModel/bpmDeputy/v1/getByUserId?userId=' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getSecretaryList(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/bpmSecretaryManage/v1/list', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getButtonsByType(param, type) { return new Promise((resolve, reject) => { req .post( runtime + '/runtime/BpmDefaultButton/v1/getButtonsByType?type=' + type, param ) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getButtonsById(id) { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/BpmDefaultButton/v2/' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, updateButtonById(param) { return new Promise((resolve, reject) => { req.put(runtime + '/runtime/BpmDefaultButton/v2/', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, saveButtonById(param) { return new Promise((resolve, reject) => { req .post(runtime + '/runtime/BpmDefaultButton/v1/saveButtonById', param) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getSecretaryById(id) { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/bpmSecretaryManage/v1/get/' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, saveSecretary(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/bpmSecretaryManage/v1/save', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getTransferList(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/bpmTransRecord/v1/list', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getTransferById(id) { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/bpmTransRecord/v1/get/' + id).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getInstList(id, param) { return new Promise((resolve, reject) => { req .post( runtime + '/runtime/instance/v1/inst/listJson?userId=' + id, param ) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, turnOver(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/bpmTransRecord/v1/turnOver', param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, getMessageType(cb) { req.get(runtime + '/runtime/task/v1/handlerTypes').then(response => { cb(response) }) }, //获取常用语列表 getApprovalItemList(param) { return new Promise((resolve, reject) => { req .post(model + `/flow/approvalItem/v1/listJson?isPersonal=false`, param) .then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //保存常用语 saveApprovalItem(param) { return new Promise((resolve, reject) => { req.post(model + `/flow/approvalItem/v1/save`, param).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取消息模板列表 getMsgData(param) { return new Promise((resolve, reject) => { req .post(window.context.portal + `/flow/MsgTemplate/v1/listJson`, param) .then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取消息详情 getMsgDetails(id) { return new Promise((resolve, reject) => { req .get(window.context.portal + `/flow/MsgTemplate/v1/getById?id=${id}`) .then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取常用脚本列表 getScriptList(param) { return new Promise((resolve, reject) => { req.post(runtime + `/runtime/script/v1/list`, param).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, getNodeBranches(param, cb) { req .get( model + `/flow/node/v1/branchConditionEdit?defId=` + param.defId + '&nodeId=' + param.nodeId ) .then(resp => { cb(resp) }) }, //保存流程其他设置 flowOtherSettingSave(param) { return new Promise((resolve, reject) => { req.post(model + `/flow/def/v1/saveProp`, param).then( resp => { resolve(resp.data) }, error => { reject(error.data) } ) }) }, //获取人员脚本列表 getConditionScriptList(param) { return new Promise((resolve, reject) => { req.post(runtime + `/runtime/conditionScript/v1/list`, param).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取脚本类 getConditionScriptClassName(type) { return new Promise((resolve, reject) => { req .get( runtime + `/runtime/conditionScript/v1/getImplClasses?type=${type}` ) .then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取编辑数据 getConditionScriptEditData(id) { return new Promise((resolve, reject) => { req.get(runtime + `/runtime/conditionScript/v1/edit?id=${id}`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //执行脚本 executeScript(param) { return new Promise((resolve, reject) => { req.post(runtime + `/runtime/script/v1/executeScript`, param).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取脚本类存在的方法 getClassMethod(className, id, type) { return new Promise((resolve, reject) => { req .get( runtime + `/runtime/conditionScript/v1/getMethodsByName?className=${className}&id=${id}&type=${type}` ) .then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, getSignConfig(param, cb) { req .get( model + `/flow/node/v1/getSignConfig?defId=` + param.defId + '&nodeId=' + param.nodeId ) .then(resp => { cb(resp) }) }, //获取岗位 getPostList() { return new Promise((resolve, reject) => { req.post(`${uc}/api/org/v1/orgPosts/getOrgPostPage`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取角色 getRoleList() { return new Promise((resolve, reject) => { req.post(`${uc}/api/role/v1/roles/getRolePage`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取部门 getDepartmentList(data) { return req.request({ url: `${uc}/api/org/v1/orgs/getOrgPage`, method: 'post', data }) }, //获取常用语 getApproval(id) { return new Promise((resolve, reject) => { req.get(model + `/flow/approvalItem/v1/approvalItemGet?id=${id}`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, //获取常用脚本分类 getScriptType() { return new Promise((resolve, reject) => { req.get(runtime + `/runtime/script/v1/getCategoryList`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, formDeflist(boCode, formKey, param) { return new Promise((resolve, reject) => { req .post( model + `/flow/def/v1/formDeflist?boCode=` + boCode + '&formKey=' + formKey, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, //获取首页图表 getEchartData(data) { return new Promise((resolve, reject) => { req .get(runtime + '/runtime/report/v1/getEchartsData?reportId=' + data) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getFlowChartList(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/report/v1/listJson', param).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getPermissionList() { return new Promise((resolve, reject) => { req.get(model + '/flow/defAuthorize/v1/getPermissionList').then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getReportList(id) { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/report/v1/getList?id=' + id).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getEchartsData(id) { return new Promise((resolve, reject) => { req .get(runtime + '/runtime/report/v1/getEchartsData?reportId=' + id) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getSingleEchartsData(id) { return new Promise((resolve, reject) => { req .get(runtime + '/runtime/report/v1/getSingleEchartsData?id=' + id) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getAct(id) { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/report/v1/getAct?id=' + id).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, saveAct(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/report/v1/saveAct', param).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, removeAct(id) { return new Promise((resolve, reject) => { req.remove(runtime + '/runtime/report/v1/removeAct?ids=' + id).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, saveReport(param) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/report/v1/saveList', param).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, publishReport(id) { return new Promise((resolve, reject) => { req.post(runtime + '/runtime/report/v1/publish?id=' + id).then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getBpmdefByDefId(id, cb) { req .get('${bpmModel}/flow/def/v1/getBpmdefByDefId?defId=' + id) .then(resp => { cb(resp.data) }) }, getBindRelation(defId) { return new Promise((resolve, reject) => { req.get(model + `/flow/def/v1/getBindRelation?defId=${defId}`).then( resp => { resolve(resp) }, error => { reject(error) } ) }) }, getVarTree(defId) { return new Promise((resolve, reject) => { req .post(window.context.bpmModel + '/flow/node/v1/varTree', { defId: defId, removeSub: true }) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getWatermarkList(param) { return new Promise((resolve, reject) => { req .post( `${req.getContext().bpmModel}/bpmModel/bpmWatermark/v1/listJson`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getWatermark(id) { return new Promise((resolve, reject) => { req .get( `${ req.getContext().bpmModel }/bpmModel/bpmWatermark/v1/getJson?id=${id}` ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getWatermarkTypeList(param) { return new Promise((resolve, reject) => { req .post( `${req.getContext().bpmModel}/bpmModel/bpmWatermarkType/v1/listJson`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, saveWatermarkType(param, isAllSave) { return new Promise((resolve, reject) => { req .post( `${ req.getContext().bpmModel }/bpmModel/bpmWatermarkType/v1/batchAdd?isAllSave=${isAllSave}`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, isExistWatermarkType(param) { return new Promise((resolve, reject) => { req .post( `${req.getContext().bpmModel}/bpmModel/bpmWatermarkType/v1/isExist`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, getAllScript() { return new Promise((resolve, reject) => { req.get(runtime + '/runtime/script/v1/getAllScript').then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, copy(param) { return req.post(`${model}/flow/def/v1/copy`, param) }, getWatermarkProcessList(param) { return new Promise((resolve, reject) => { req .post( `${ req.getContext().bpmModel }/bpmModel/bpmWatermarkProcess/v1/listJson`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, isExistWatermarkProcess(param) { return new Promise((resolve, reject) => { req .post( `${ req.getContext().bpmModel }/bpmModel/bpmWatermarkProcess/v1/isExist`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, saveWatermarkProcess(param, isAllSave) { return new Promise((resolve, reject) => { req .post( `${ req.getContext().bpmModel }/bpmModel/bpmWatermarkProcess/v1/batchAdd?isAllSave=${isAllSave}`, param ) .then( resp => { resolve(resp.data) }, error => { reject(error) } ) }) }, //获取流程分类列表 getFlowTree(cb) { req .get(portal + '/sys/sysType/v1/getTypesByKey?typeKey=FLOW_TYPE') .then(response => { cb(response) }) }, //根据用户获取各分类下的待办 getTodoCountByTeam(data) { return new Promise((resolve, reject) => { req .post(runtime + '/runtime/task/v1/getTodoCountByTeam?team=' + data) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, //根据用户账号获取各分类下的已办 getDoneCountByAccount(data) { return new Promise((resolve, reject) => { req .post( runtime + '/runtime/instance/v1/getDoneCountByAccount?account=' + data ) .then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, //流程节点复制 copyNodeConf(data) { return new Promise((resolve, reject) => { req.post(model + '/flow/node/v1/copyNodeConf', data).then( response => { resolve(response.data) }, error => { reject(error) } ) }) }, //获取流程实例表单 getInstFormAndBO(query) { let url = `${runtime}/runtime/instance/v1/getInstFormAndBO?proInstId=${query.instId}&myApplication=${query.myApplication||false}&isDefAuthorize=${query.isDefAuthorize}` query.nodeId && (url += `&nodeId=${query.nodeId}`) query.formId && (url += `&formId=${query.formId}`) query.includData != null && query.includData != undefined && (url += `&includData=${query.includData}`) query.getStartForm != null && query.getStartForm != undefined && (url += `&getStartForm=${query.getStartForm}`) return req.get(url) }, getProcessInfo(instId) { const url = `${runtime}/runtime/instance/v1/get?id=${instId}` return req.get(url) }, //获取紧急状态配置 getUrgentStateConf(data) { return req.post(`${runtime}/runtime/instance/v1/getUrgentStateConf`, data) }, //根据流程定义id获取流程标题 getProcessTitle(defId) { const url = `${model}/flow/def/v1/getDefDesignByDefId?defId=${defId}` return req.get(url) }, completelyRemove(data,content,isRemoveBo) { return req.post(`${runtime}/runtime/instance/v1/completelyRemove?content=${content}&&isRemoveBo=${isRemoveBo}`, data) }, getAllFormPrintTemplateByDefId(defId) { let listUrl = `${model}/flow/wordPrint/v1/getAllFormPrintTemplateByDefId?defId=${defId}&topDefKey=` return req.get(listUrl) }, // 获取我的常用流程 getMyOftenFlow() { return req.get(`${runtime}/runtime/instance/v1/getMyOftenFlow`) }, //获取所有流程 getHasAuthFlowList(queryFilter = {}) { const url = `${runtime}/runtime/instance/v1/getHasAuthFlowList` return req.post(url, queryFilter) }, getTaskInfo(procIds) { const url = `${runtime}/runtime/task/v1/instanceDetail` return req.post(url, procIds) }, getCandidatesListByTaskId(taskId) { const url = `${runtime}/runtime/task/v1/getCandidatesListByTaskId?taskId=${taskId}` return req.get(url) }, //待办列表 getTodoData(data) { const url = `${runtime}/runtime/task/v1/getTodoList` return req.post(url, data) }, //已办列表 getDoneData(data) { const url = `${runtime}/runtime/instance/v1/getDoneInstList` return req.post(url, data) }, //我的请求 getMyRequestList(data) { const url = `${runtime}/runtime/instance/v1/myRequest` return req.post(url, data) }, //待阅事项 getReceivedList(data) { const url = `${runtime}/runtime/task/v1/getNoticeTodoReadList` return req.post(url, data) }, //我传阅的 getCirculatedList(data) { const url = `${runtime}/runtime/task/v1/getMyNoticeReadList` return req.post(url, data) }, //我转办的 getDelegateData(data) { const url = `${runtime}/runtime/task/v1/getDelegate` return req.post(url, data) }, getProcessOverviewList(data) { const url = `${runtime}/runtime/instance/v1/newProcess` return req.post(url, data) }, getCollectionList(data) { const url = `${runtime}/bpmFlowCollect/v1/myCollect` return req.post(url, data) }, //保存常用流程 savaCommomProcess(data) { const url = `${model}/bpmModel/BpmOftenFlow/v1/saveMyOftenFlow` return req.post(url, data) }, // 获取子流程触发配置 getSubProcessPlugin(defId, nodeId) { const url = `${model}/flow/plugins/v1/getSubProcessPlugin?defId=${defId}&nodeId=${nodeId}` return req.get(url) }, // 保存子流程触发配置 saveSubProcessPlugin(defId, nodeId, json) { const url = `${model}/flow/plugins/v1/saveSubProcessPlugin?defId=${defId}&nodeId=${nodeId}` return req.post(url, json) }, // 获取用户是否拥有指定流程的发起权限 checkStartRight(userId, defId, leaderId) { return req.get( `${model}/flow/defAuthorize/v1/startRight?userId=${userId}&defId=${defId}&leadId=${leaderId}` ) }, //根据流程key获取流程的主版本 getMainByDefIdOrKey(defId, defKey) { defId = defId || '' defKey = defKey || '' const url = `${model}/flow/def/v1/getMainByDefIdOrKey?defId=${defId}&&defKey=${defKey}` return req.get(url) }, getMyRequestTask(procId) { const url = `${runtime}/runtime/task/v1/getMyRequestTask` return req.post(url, procId) }, // 获取简易流程列表 getSimpleFlowList(data) { return req.post(`${form}/formSimpleDesign/v1/query`, data) }, // 根据别名获取建模信息 getModelDetailByAlias(alias) { return req.get(`${form}/bo/def/v1/getJsonByAlias?alias=${alias}`) }, // 根据别名获取表单信息 getFormDetailByAlias(formKey) { return req.get(`${form}/form/form/v1/formDesignByKey?formKey=${formKey}`) }, // 根据别名获取流程信息 getFlowImageByAlias(defKey) { return req.get(`${model}/flow/def/v1/webDefDesignByDefKey?defKey=${defKey}`) }, // 根据pc别名获取移动端表单 getMobileDetailByAlias(formKey) { return req.get(`${form}/form/form/v1/getMobileFormByPc?formKey=${formKey}`) }, /** * 查询查阅记录,查看任务、流程定义中使用 * @param param * @returns {Q.Promise} */ getReferenceRecords(param) { return new Promise((resolve, reject) => { req.post(`${runtime}/runtime/bpmShowRecord/v1/query`, param).then( response => { resolve(response.data) }, error => { reject(error) } ) }) // return roleData.getRolePageJson(param); }, //根据id查询数据归档配置接口 getCocumentationConfigById(id) { return req.get(`${runtime}/documentationConfig/v1/${id}`) }, //新增,更新同步数据归档配置数据 saveAndUpdateDocumentationConfig(data) { return req.post(`${runtime}/documentationConfig/v1/save`, data) }, //根据id查询数据归档目标数据接口 getDocumentationTable(data) { return req.post(`${runtime}/documentationTable/v1/query`, data) }, documentationTableCheckSql(data) { return req.post(`${runtime}/documentationTable/v1/checkSql`, data) }, documentationTableDelete(id) { return req.remove(`${runtime}/documentationTable/v1/delete/${id}`) }, documentationTableDeleteByIds(id) { return req.remove(`${runtime}/documentationTable/v1/delete?ids=${id}`) }, documentationUpdateStatus(data) { return req.post(`${runtime}/documentationTable/v1/updateStatus`, data) }, // 保存查阅日志 saveBpmShowRecord(data) { return req.post(`${runtime}/runtime/bpmShowRecord/v1/save`, data) }, // 任务管理是否可以跳转 taskCanJump(nodeId, procInstId) { return req.get(`${runtime}/runtime/task/v1/taskCanJump?nodeId=${nodeId}&procInstId=${procInstId}`) }, getMainByDefKey(key) { return req.request({ url: `${model}/flow/def/v1/getJson?defKey=${key}`, method: 'get', }) }, }