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)目前现场有很多客户希望可以个性化设置这里的计算逻辑**...
点击下载文档
本文2024-09-16 22:16:08发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-47036.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章