From 8bfc457f1bd60433bd8e9ecd91a4706d75758b10 Mon Sep 17 00:00:00 2001 From: liangcheng <1546584672@qq.com> Date: Wed, 27 Aug 2025 14:07:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20no.3865764=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=8F=AD=E6=B5=81=E7=A8=8B=E5=AF=B9=E5=BA=94=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E8=B5=8B=E5=80=BC=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 新增加班流程对应字段赋值的功能.js | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 新增加班流程对应字段赋值的功能.js diff --git a/新增加班流程对应字段赋值的功能.js b/新增加班流程对应字段赋值的功能.js new file mode 100644 index 0000000..12b4ef7 --- /dev/null +++ b/新增加班流程对应字段赋值的功能.js @@ -0,0 +1,70 @@ +const wffpSdk = window.weappWorkflow.getFlowPageSDK(); + +const dayTypeMapping = { + 'WORK': '0', + 'PLAYDAY': '1', + 'HOLIDAY': '2' +}; + +wffpSdk.ready(()=>{ + const baseParam = wffpSdk.getBaseParam(); + const jbrqFieldMark = formSdk.convertFieldNameToId("jbrq"); + const sqrFieldMark = formSdk.convertFieldNameToId("sqr"); + const jblxFieldMark = formSdk.convertFieldNameToId("jblx"); + const jbxmFieldMark = formSdk.convertFieldNameToId("jbxm"); + const drbcFieldMark = formSdk.convertFieldNameToId("drbc"); + const kssjFieldMark = formSdk.convertFieldNameToId("kssj"); + + let detail = { + attendDayType:'', + attendStartTime:'', + attendEndTime:'' + } + + formSdk.bindFieldChangeEvent(jbrqFieldMark, async (data) => { + const attendDate = data.value; + if (attendDate != '') { + try { + const sqr = formSdk.getFieldValue(sqrFieldMark); + const result = await getAttendStatusDetail(sqr, attendDate); + const data = result.data.data; + if(Object.keys(data).length > 0) { + detail = { + ...data + } + formSdk.changeFieldValue(drbcFieldMark, {value: detail.attendStartTime+"-"+detail.attendEndTime}); + const value = dayTypeMapping[detail.attendDayType]; + if (value !== undefined) { + formSdk.changeFieldValue(jblxFieldMark, {value}); + } + }else { + wffpSdk.showMessage('根据加班日期获取班次信息失败,请重新选择',1,2); + } + } catch (error) { + console.log('接口异常',error); + } + } + }); + + formSdk.bindFieldChangeEvent(kssjFieldMark, (data) => { + const attendStartTime = data.value; + if(attendStartTime != '') { + const jbrq = formSdk.getFieldValue(jbrqFieldMark); + if(jbrq == '') { + formSdk.changeFieldValue(kssjFieldMark, {value:''}); + return wffpSdk.showMessage('请先选择加班日期',2,2); + } + if(attendStartTime < detail.attendStartTime) { + formSdk.changeFieldValue(jbxmFieldMark, {value:'0'}); + }else if(attendStartTime > detail.attendEndTime) { + formSdk.changeFieldValue(jbxmFieldMark, {value:'1'}); + } + } + + }); + + const getAttendStatusDetail = async (empId,attendDate) => { + const response = await axios.get(`/api/attend/web/attendWorkTimeFlow/attendStatusDetail?empId=${empId}&attendDate=${attendDate}`); + return response; + } +}); \ No newline at end of file