70 lines
2.6 KiB
JavaScript
70 lines
2.6 KiB
JavaScript
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;
|
|
}
|
|
}); |