new WOW().init();
第一章 客户端设计初衷 一、简化接口调用 1、 工作流软件与ERP软件的数据映射方法和页面,全部封装在工作流之中。不需要ISV在自己的ERP中做任何工作 2、 ISV的程序员只需要以WEB方式调用工作流的5、6个接口即可,大大减轻了对接门槛 二、ERP模块直推工作流表单 如果客户正在使用ERP系统,工作流尚未使用时,可以采用如下工作模式: 1、 ERP中的已经设计好功能模块,可以通过客户端直接推入工作流。并且,不需要用户在工作流中二次设计表单。 2、 用户需要在工作流表单中添加数据时,只需要在客户端的相关功能模块中,勾选需要添加的字段、并再次推入即可,不需要直接修改流程表单。 3、 当用户需要修改或删除工作流表单中的某些数据时,可以在表单中直接删除、修改; 也可以在客户端的相关功能模块中,取消勾选或修改对应的字段、并再次推入即 三、工作流表单反推ERP 如果客户的工作流系统已经正常运行,现在需要与ERP系统打通,可以采用如下模式: 1、 用户在工作流中已经设计好的、已经正常使用的流程表单,可以从工作流中反向、自动推入ERP系统,用户只需在客户端中完成必要参数的设置即可。不需要开发人员在ERP中写入任何代码。 2、 用户在工作流表单中添加数据之后,只需要再次推入ERP系统、修改客户端相关设置即可,不需要开发人员修改ERP的代码。 3、 当用户需要修改或删除工作流表单中的某些数据时,可以在表单中直接删除、修改; 不需要修改客户端设置和ERP代码。 同一个业务流程,只能采取以上两种方式(ERP直推工作流、工作流反推ERP)中的一个策略,不得混用。
第二章 客户端功能介绍 一、ERP模块管理 二、ERP模块的数据源(工作流反推ERP) 三、ERP模块的数据源(ERP推工作流) 第三章 ERP的调用方法 一、 工作流“静默发起 let data = { emergencyLevel:'1', //紧急程度 1一般,2紧急, 3超紧急 userName: 发起人, appId: 应用程序id, moduleName: ERP模块名称, proJsonEntity: 要传递的json } axios.post(工作流网址, data).then((res) => { this.$message.success(res.data.msg) })
二、 工作流“页面发起” let data = { billId: 单据ID, emergencyLevel:'1', //紧急程度 1一般,2紧急, 3超紧急 userName: 发起人, appId: 应用程序id, moduleName: ERP模块名称, proJsonEntity: 传递的json, } let url = `工作流网址/api/operationflow/mappingfieldbody` axios.post(url, data).then((res) => { let form = encodeURI(JSON.stringify(res.data.data)) //将json对象转换成字符串 form = this.Base64.encode(form) //对字符串进行Base64加密 window.open(`工作流网址/publicpage?data=` + form) //在浏览器中打开此页面 }) 三、 工作流“查询指定模块、指定流程的进度” let formData = { callType: '2', formId: 业务对象id, instanceId: 要查询的业务流程ID, userName: 发起人, timeStamp: 时间戳, } let data = encodeURI(JSON.stringify(formData)) //将json对象转换成字符串 data = this.Base64.encode(data) //对字符串进行Base64加密 window.open(`工作流网址/publicpage?data=` + data) //在浏览器中打开此页面
四、 工作流“查询指定模块所有流程的进度“ let formData = { callType: '1', formId: 业务对象id, userName: 发起人, timeStamp: 时间戳, } let data = encodeURI(JSON.stringify(formData)) //将json对象转换成字符串 data = this.Base64.encode(data) //对字符串进行Base64加密 window.open(`工作流网址/publicpage?data=` + data) //在浏览器中打开此页面 五、 工作流中的管理页面 let form = { userName: "admin", //发起人,必须是admin timeStamp: moment().format('YYYY-MM-DD HH:mm:ss'), //时间戳 } let params = this.getUrlappId() //获取url、appid this.$nextTick(() => { let data = encodeURI(JSON.stringify(form)) //将json对象转为json字符串 data = this.Base64.encode(data) //对json字符串进行Base64加密 let flowUrl = params.flowUrl //获取工作流网址 window.open(`${flowUrl}?login=` + data) //在浏览器中打开此页面 })
六、 应用程序管理页面 let form = { userName: this.$store.state.user.name, //发起人 timeStamp: moment().format('YYYY-MM-DD HH:mm:ss'), //时间戳 appId: null, //应用程序id } let params = this.getUrlappId() //验证/获取url、appid this.$nextTick(() => { let flowUrl = params.flowUrl //获取工作流网址 form.appId = params.appId //设置应用程序id let data = encodeURI(JSON.stringify(form)) //将json对象转换成字符串 data = this.Base64.encode(data) //对字符串进行Base64加密 window.open(`${flowUrl}/sjkList?data=` + data) //在浏览器中打开此页面 })
七、 ERP与工作流数据映射页面 let form = { userName: this.$store.state.user.name, //发起人 timeStamp: moment().format('YYYY-MM-DD HH:mm:ss'), //时间戳 appId: null, //应用程序id } let params = this.getUrlappId() //验证/获取url、appid this.$nextTick(() => { let flowUrl = params.flowUrl form.appId = params.appId //设置应用程序id let data = encodeURI(JSON.stringify(form)) //将json对象转换成字符串 data = this.Base64.encode(data) //对字符串进行Base64加密 window.open(`${flowUrl}/workflow?data=` + data) //在浏览器中打开此页面 })
|
版权所有 © 山东通软上云科技有限公司 备案号:鲁ICP备19059480号-1
扫一扫关注我们
扫一扫关注公众号