feat: no.3865764 新增加班流程对应字段赋值的功能
This commit is contained in:
parent
446ec4a6fe
commit
8bfc457f1b
|
|
@ -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;
|
||||
}
|
||||
});
|
||||
Loading…
Reference in New Issue