web扩展-差旅报销单住宿补助天数修改

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

web扩展-差旅报销单住宿补助天数修改

**问题显现** ![image.webp](/download/01002ee219716d3247af8bd9c53d9c64495b.webp) 目前现场有很多客户希望可以个性化设置这里的计算逻辑 **问题分析** ![image.webp](/download/01000c5b86b01b2243068b1c54a18b8bd8e8.webp) 补助天数和住宿天数是根据选择的出差时间实时计算的,目前calEvectionDays方法已设置为public方法,可以通过扩展该方法动态计算 **解决方案** ![image.webp](/download/0100476d87926e3c4de7ae6fb537bbe2fe26.webp) ```language // 计算两个日期的差值,返回天数,参数为date或者格式为"yy-mm-dd"的字符串 startDate =startDate.split(" ")[0]; endDate =endDate.split(" ")[0]; if (!startDate || !endDate) { return 0; } if (!(startDate instanceof Date)) { // startDate转换为Date类型 var values = startDate.split("-"); startDate = new Date(values[0], values[1] - 1, values[2]); } if (!(endDate instanceof Date)) { // endDate转换为Date类型 var values = endDate.split("-"); endDate = new Date(values[0], values[1] - 1, values[2]); } var days = ((endDate - startDate) / (1000 * 60 * 60 * 24)); if (days >= 0) { return days + 1; } else { // 非法时间差返回0天 return 0; } ``` calcSubDay为父类私有方法,得在扩展脚本中重写,这里照搬父类计算逻辑即可,当然也可以根据现场需要扩展 ![image.webp](/download/010014383eb22dd248798256608070641b79.webp) ```language // 开始日期/结束日期改变,触发天数计算 if (TravelAccountBill_Edit_Open.isFirstLoad || !TravelAccountBill_Edit_Open.needChangeEvent) return; var entryDom = waf("#entries"); var rowid = entryDom.wafGrid("getSelectedRow"); if (!rowid) { return; } var startDate = $.datepicker.formatDateTime("yy-mm-dd", "hh:mm:ss", waf("#entryStartDate").wafDatePicker("getValue")); var endDate = $.datepicker.formatDateTime("yy-mm-dd", "hh:mm:ss", waf("#entryEndDate").wafDatePicker("getValue")); if(startDate && endDate && startDate > endDate){ _self.showMessage(_self._localeStr.IS_NOT_GREATER_THAN); } var evectionDays = _private.calcSubDays(startDate, endDate); //此处可以自行扩展计算住宿和补助天数 if (evectionDays >0 ){ waf("#entryRoomDays").wafNumberField("setValue",evectionDays); waf("#entryAllowanceDays").wafNumberField("setValue",evectionDays); }else{ waf("#entryAllowanceDays").wafNumberField("setValue",1); waf("#entryRoomDays").wafNumberField("setValue",0); } ```

web扩展-差旅报销单住宿补助天数修改

**问题显现**![image.webp](/download/01002ee219716d3247af8bd9c53d9c64495b.webp)目前现场有很多客户希望可以个性化设置这里的计算逻辑**...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息