import config from '../../../config' const app = getApp() Page({ /** * 页面的初始数据 */ data: { maxDate:new Date(2088,1,1).getTime(), deptName:"", userId:"", nickName:"", loginName:"", projectId:"", projectName:"", procInsId:"", infoData:{}, procDefName:"", deployId:"", activeName:"", flowNodeList:[], flowNodes:[], imageList:[], filesData:[], comment:"", taskId:"", procInsId:"", backShow:false, targetKey:"", targetKeyList:[], taskName:"", passState:true, backName:"", imageType:["png","jpg","jpeg"], fileType:["pdf"], }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let {deployId,procInsId,procDefName,deptName,nickName,taskId,taskName,projectName} = options //获取缓存数据 wx.getStorage({ key: 'userinfo', success:res=>{ this.setData({ projectId:app.globalData.projectId, projectName, procInsId, procDefName, deployId, deptName, nickName, taskId, taskName, userId:res.data.userId, loginName:res.data.loginName, }) this.initTargetKeyList(); this.getFlowNodes(); this.getFlowRecordList(); this.getFormDatasList(); } }) }, getFlowNode(val){ let flowNodeList = this.data.flowNodeList; for(let i=0;i0){ return this.getFlowNode(flowNodeList[i].outgoingFlows[0].targetRef); } } } }, //查询工作流节点 getFlowNodes(){ let that = this; wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/readNotes/'+that.data.deployId, method:"get", data:{}, header: { "Content-Type": "application/json" }, success(res){ res = res.data if(res.code == 200){ that.setData({ flowNodeList:res.data }) if(res.data.length>0){ let list = that.data.flowNodes; list.push({id:res.data[0].id,name:res.data[0].name,state:'pass'}); that.setData({ flowNodes:list }) return that.getFlowNode(res.data[0].outgoingFlows[0].targetRef); } }else{ app.toast(res.msg); } } }) }, //查询审批日志 getFlowRecordList(){ let that = this; wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/findCommentByProcInsId', method:"get", data:{ procInsId:this.data.procInsId }, header: { "Content-Type": "application/json" }, success(res){ res = res.data if(res.code == 200){ that.setData({ flowRecordList:res.data }) let list=[]; res.data.forEach(item=>{ if(item.deleteReason){ item.deleteReason=that.getDeleteReason(item.deleteReason); } if(item.duration){ item.duration=that.getDurationDate(item.duration); } list.push(item); }) that.setData({ flowRecordList:list }) }else{ app.toast(res.msg); } } }) }, //查询审批表单参数 getFormDatasList(){ let that = this; wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/findFormDatasByProcInsId', method:"get", data:{ procInsId:this.data.procInsId }, header: { "Content-Type": "application/json" }, success(res){ res = res.data if(res.code == 200){ that.setData({ infoData:res.data }) let filesData = []; let imageList = []; //判断附件 if(res.data.files){ res.data.files.split(',').forEach(element => { let ft = element.split('.'); if(that.data.imageType.indexOf(ft[ft.length-1].toLowerCase())>-1){ imageList.push({minPath:config.baseUrl+element,path:element}); }else{ let it = element.split('/'); filesData.push({name:it[it.length-1],path:element}); } }); } that.setData({ filesData, imageList }) }else{ app.toast(res.msg); } } }) }, //初始化退回节点 initTargetKeyList(){ let that = this; wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/returnList', method:"post", data:{ taskId:that.data.taskId }, header: { "Content-Type": "application/json" }, success(res){ res = res.data if(res.code == 200){ let list = [{id:'',text:''}]; res.data.forEach(item=>{ list.push({id:item.id,text:item.name}) }) that.setData({ targetKeyList:list }) }else{ app.toast(res.msg); } } }) }, //退回 onBack(){ if(!this.data.backShow){ this.setData({ backShow:true }) app.toast("请选择退回节点!"); return } this.setData({ loadShow:true }) let that = this let {taskId,procInsId,projectId,userId,loginName,comment,targetKey} = that.data; //数据效验 if(projectId==""||loginName==""||taskId==""||userId==""||procInsId==""){ app.toast("数据异常,请刷新页面重试!") that.setData({ loadShow:false }) return; } if(comment==""){ app.toast("请填写审批意见!") that.setData({ loadShow:false }) return; } if(targetKey==""){ app.toast("请选择退回节点!") that.setData({ loadShow:false }); return; } let params = { taskId, targetKey, comment, userId } //弹出确认 wx.showModal({ title: '提示', content: '是否确认审批退回至'+that.data.backName+'?', success: function (sm) { if (sm.confirm) { wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/return', method:"POST", data:params, header: { "Username": loginName, "Content-Type": "application/json" }, success(res){ that.setData({ loadShow:false }) res =res.data if(res.code == 200){ app.toast("退回申请成功!") setTimeout(()=>{ wx.redirectTo({ url: '../await/index', }) },200) }else{ app.toast(res.msg); } } }) } else if (sm.cancel) { that.setData({ loadShow:false }) console.log('用户点击取消'); } } }) }, //通过 onPass(){ this.setData({ loadShow:true }) let that = this let {taskId,procInsId,projectId,userId,loginName,comment} = that.data; //数据效验 if(projectId==""||loginName==""||taskId==""||userId==""||procInsId==""){ app.toast("数据异常,请刷新页面重试!") that.setData({ loadShow:false }) return; } if(comment==""){ app.toast("请填写审批意见!") that.setData({ loadShow:false }) return; } let params = { taskId, instanceId:procInsId, comment, userId } //弹出确认 wx.showModal({ title: '提示', content: '是否确认审批通过?', success: function (sm) { if (sm.confirm) { wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/complete', method:"POST", data:params, header: { "Username": loginName, "Content-Type": "application/json" }, success(res){ that.setData({ loadShow:false }) res =res.data if(res.code == 200){ app.toast("审批通过成功!") setTimeout(()=>{ wx.redirectTo({ url: '../await/index', }) },200) }else{ app.toast(res.msg); } } }) } else if (sm.cancel) { that.setData({ loadShow:false }) console.log('用户点击取消'); } } }) }, //通过 onReject(){ this.setData({ loadShow:true }) let that = this let {taskId,procInsId,projectId,userId,loginName,comment} = that.data; //数据效验 if(projectId==""||loginName==""||taskId==""||userId==""||procInsId==""){ app.toast("数据异常,请刷新页面重试!") that.setData({ loadShow:false }) return; } if(comment==""){ app.toast("请填写审批意见!") that.setData({ loadShow:false }) return; } let params = { taskId, instanceId:procInsId, comment, userId } //弹出确认 wx.showModal({ title: '提示', content: '是否确认审批驳回?', success: function (sm) { if (sm.confirm) { wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/reject', method:"POST", data:params, header: { "Username": loginName, "Content-Type": "application/json" }, success(res){ that.setData({ loadShow:false }) res =res.data if(res.code == 200){ app.toast("驳回申请成功!") setTimeout(()=>{ wx.redirectTo({ url: '../await/index', }) },200) }else{ app.toast(res.msg); } } }) } else if (sm.cancel) { that.setData({ loadShow:false }) console.log('用户点击取消'); } } }) }, //申请说明 commentInput: function (options) { this.data.comment = options.detail.value; }, // 手风琴 onChange(event) { this.setData({ activeName: event.detail, }); }, getDeleteReason(val){ val = val.replace("Change activity to ",""); let flowRecordList = this.data.flowRecordList; for(let i=0;i0){ if(days<10) days = "0"+days; if(hours<10) hours = "0"+hours; if(minutes<10) minutes = "0"+minutes; if(seconds<10) seconds = "0"+seconds; return days + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒'; } if(hours>0){ if(hours<10) hours = "0"+hours; if(minutes<10) minutes = "0"+minutes; if(seconds<10) seconds = "0"+seconds; return hours + '小时' + minutes + '分钟' + seconds + '秒'; } if(minutes>0){ if(minutes<10) minutes = "0"+minutes; if(seconds<10) seconds = "0"+seconds; return minutes + '分钟' + seconds + '秒'; } if(seconds>0){ if(seconds<10) seconds = "0"+seconds; return seconds + '秒'; } }, //选择退回节点 onSelectTargetKey(e){ this.setData({ targetKey:e.detail.id, backName:e.detail.text }) }, returnToPage: function () { /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ wx.redirectTo({ url: '../await/index', }) }, //展示图片详细 showImg:function(e){ let {path} = e.currentTarget.dataset.set wx.previewImage({ urls: this.data.imageList, current: path }) }, /** * 下载并打开文档 * @param {*} e */ downFile:function(e){ let {path} = e.currentTarget.dataset.set wx.downloadFile({ // 示例 url,并非真实存在 url: app.globalData.uploadUrl+'/common/download/resource?resource='+path, success: function (res) { const filePath = res.tempFilePath wx.openDocument({ filePath: filePath, success: function (res) { console.log('打开文档成功') }, fail:function(res) { console.log(res) } }) } }) //app.toast("暂不支持下载!如需下载请前往后台管理系统!!") }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })