// pageage/safetyManagement/addSafetyInspect/index.js const app = getApp() Page({ /** * 页面的初始数据 */ data: { maxDate:new Date(2088,1,1).getTime(), currentDate:new Date().getTime(), deptId:"", deptName:"", userId:"", nickName:"", loginName:"", projectId:"", projectName:"", remark:"", procDefId:"", approveTitle:"", deploymentId:"", activeName:"", flowNodeList:[], flowNodes:[], beginDate:"", endDate:"", day:0, }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let {procDefId,approveTitle,deploymentId} = options //获取缓存数据 wx.getStorage({ key: 'userinfo', success:res=>{ this.setData({ projectId:app.globalData.projectId, projectName:app.globalData.projectName, procDefId, approveTitle, deploymentId, deptId:res.data.deptId, deptName:res.data.deptName, userId:res.data.userId, nickName:res.data.nickName, loginName:res.data.loginName }) this.getFlowNodes(); } }) }, //取消页面 cancelSaveView(){ /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ wx.redirectTo({ url: '../myFlowDefinition/index' }) }, dateFormat(fmt, date) { let ret; const opt = { 'y+': date.getFullYear().toString(), // 年 'M+': (date.getMonth() + 1).toString(), // 月 'd+': date.getDate().toString(), // 日 'H+': date.getHours().toString(), // 时 'm+': date.getMinutes().toString(), // 分 's+': date.getSeconds().toString(), // 秒 // 有其他格式化字符需求可以继续添加,必须转化成字符串 }; for (let k in opt) { ret = new RegExp('(' + k + ')').exec(fmt); if (ret) { fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')); } } return fmt; }, 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/'+this.data.deploymentId, 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}); that.setData({ flowNodes:list }) return that.getFlowNode(res.data[0].outgoingFlows[0].targetRef); } }else{ app.toast(res.msg); } } }) }, //保存 onSave(){ this.setData({ loadShow:true }) let that = this let {procDefId,projectId,projectName,deptId,userId,loginName,nickName,beginDate,endDate,remark,day} = that.data; //数据效验 if(projectId==""||loginName==""||deptId==""||userId==""||procDefId==""){ app.toast("数据异常,请刷新页面重试!") that.setData({ loadShow:false }) return; } if(beginDate==""){ app.toast("请选择请假开始时间!") that.setData({ loadShow:false }) return; } if(endDate==""){ app.toast("请选择请假结束时间!") that.setData({ loadShow:false }) return; } if(remark==""){ app.toast("请填写请假事由!") that.setData({ loadShow:false }) return; } let date = new Date() let params = { procDefId, userId, userName:loginName, nickName, variables:{ businessKey:projectId, projectName, date:that.dateFormat("yyyy-MM-dd HH:ss",date), beginDate, endDate, day, remark } } wx.showModal({ title: '提示', content: '是否确定提交'+this.data.approveTitle+'?', success: function (sm) { if (sm.confirm) { wx.request({ url: app.globalData.reqUrl + '/wechat/flowTask/startProcessInstance', 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: '../myProcessIns/index', }) },200) }else{ app.toast(res.msg); } } }) } else if (sm.cancel) { that.setData({ loadShow:false }) console.log('用户点击取消'); } } }) }, //申请说明 remarkblur: function (options) { this.data.remark = options.detail.value; }, //开始时间 onbeginDate(e){ this.setData({ beginDate:e.detail }) if(this.data.endDate==""){ this.setData({ endDate:e.detail }) } this.setDay(); }, //结束时间 onendDate(e){ this.setData({ endDate:e.detail }) this.setDay(); }, setDay(){ if(this.data.beginDate && this.data.endDate){ let time = (new Date(this.data.endDate).getTime())-(new Date(this.data.beginDate).getTime()); if(time<0){ this.setData({ day:0 }) }else{ let hours = time/(3600000); let day = (hours/24)+1;//这里默认加1天,PS:2023-09-10 2023-09-11实际请假应该为2天,而不是一天 if(hours%24>0) day++; this.setData({ day }) } } }, // 手风琴 onChange(event) { this.setData({ activeName: event.detail, }); }, returnToPage: function () { /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ wx.redirectTo({ url: '../myFlowDefinition/index', }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })