/**** * 出差变更单拓展 * 20250120 * 匡原值_coyle */ shr.defineClass("shr.ats.CanTripBillEditEx", shr.ats.CanTripBillEdit, { initalizeDOM: function () { shr.ats.CanTripBillEditEx.superClass.initalizeDOM.call(this); var that = this; }, /** * 增加保存验证 * @return {Boolean} */ verify: function () { var that = this; var workArea = that.getWorkarea(); $form = $('form', workArea); if (!$form.valid()) { return false; } var realbeginTime = atsMlUtile.getFieldOriginalValue("entries_realStartTime"); var realendTime = atsMlUtile.getFieldOriginalValue("entries_realEndTime"); var realTripDays = atsMlUtile.getFieldOriginalValue("entries_realTripDays"); //202501 var triptime = atsMlUtile.getFieldOriginalValue("entries_triptime"); if (triptime <= 0) { shr.showError({message: jsBizMultLan.atsManager_canTripBillEdit_i18n_24}); return false; } //出差变更开始时间不能大于请假确认 结束时间 var regEx = new RegExp("\\-", "gi"); realbeginTime = realbeginTime.replace(regEx, "/"); realendTime = realendTime.replace(regEx, "/"); var beginTimeOfDate = new Date(realbeginTime); var endTimeOfDate = new Date(realendTime); var longTime = endTimeOfDate.getTime() - beginTimeOfDate.getTime(); if (longTime < 0) { shr.showWarning({message: jsBizMultLan.atsManager_canTripBillEdit_i18n_9}); return false; } return true; } /** * 计算 设置出差变更单中,实际出差开始时间,实际出差结束时间之间的时长 */ , getRealTripLength: function () { var that = this; var personId = $("#entries_person_el").val(); var startTime; var endTime; var startDate; var endDate; var tripBillId = $('#entries_tripEntryBill_el').val(); var startTimeStr = atsMlUtile.getFieldOriginalValue("entries_realStartTime"); var endTimeStr = atsMlUtile.getFieldOriginalValue("entries_realEndTime"); if (startTimeStr != "" && startTimeStr != null && endTimeStr != "" && endTimeStr != null) { startTime = startTimeStr.replace("\\/", "-"); endTime = endTimeStr.replace("\\/", "-"); if (startTime.substring(0, 16) > endTime.substring(0, 16)) { return; } var isAllDay = atsMlUtile.getFieldOriginalValue("entries_isAllDay"); that.remoteCall({ type: "post", async: false, method: "getRealLeaveLengthInfo", param: { personId: personId, beginTime: startTime, endTime: endTime, tripBillId: tripBillId, isAllDay: isAllDay, isElasticCalLen: $("#entries_isElasticCalLen").shrCheckbox("isSelected") }, success: function (res) { info = res; var day = parseFloat(info.leaveBillDays); day = day.toFixed(atsMlUtile.getSysDecimalPlace()); atsMlUtile.setTransNumValue("entries_realTripDays", day); //二开拓展 202501 that.tripTimeVal(day); } }); } } ,setRealStartAndEndTime: function (res) { var that = this; atsMlUtile.setTransDateTimeValue("entries_realStartTime", res.startTime); atsMlUtile.setTransDateTimeValue("entries_realEndTime", res.endTime); atsMlUtile.setTransNumValue("entries_realTripDays", res.tripDays); //二开拓展 202501 //计算总时间 定制 向上取整 var dayVal = res.tripDays; var triptime = 0; if(dayVal == 0.29 || dayVal == 0.43 || dayVal == 0.86){ triptime = Math.floor( dayVal * 7 ); }else{ triptime = Math.ceil( dayVal * 7 ); } atsMlUtile.setTransNumValue("entries_triptime", triptime); $('#entries_startTimeDateType').shrSelect("setValue", res.startTimeDateType ? res.startTimeDateType.value : "1"); $('#entries_endTimeDateType').shrSelect("setValue", res.endTimeDateType ? res.endTimeDateType.value : "1"); that.setDateAndHMS(res.startTime, res.endTime); }, //202501 二开拓展时长 tripTimeVal: function (dayVal) { var triptime = 0; if(dayVal == 0.29 || dayVal == 0.43 || dayVal == 0.86){ triptime = Math.floor( dayVal * 7 ); }else{ triptime = Math.ceil( dayVal * 7 ); } atsMlUtile.setTransNumValue("entries_triptime", triptime); } });