需求:人员提交月度绩效考核时需要限制日期,不能主表月份比如2024-09而明细表可以选择2024-09之外的日期,同时要在初始化时清空2个日期浏览框。
表单信息:
月份浏览框:field39725
日期浏览框(明细表1):field39746
需要注意明细字段会根据行数在后面加入当前行后缀如field39746_0、field39746_1等。
JavaScript代码如下:
<script type="text/javascript">
jQuery(document).ready(function() {
// 配置空函数
function isNull(val) {
return val === "" || val === null || val === undefined;
}
// 获取月份并配置明细表日期
function updateDateRange() {
console.log("触发更新函数");
var GetMonth = jQuery("#field39725").val();
var year = parseInt(GetMonth.split("-")[0]);
var month = parseInt(GetMonth.split("-")[1]);
var firstDay = new Date(year, month - 1, 1);
var lastDay = new Date(year, month, 0);
var firstDayStr = firstDay.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }).replace(/\//g, '-');
var lastDayStr = lastDay.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }).replace(/\//g, '-');
console.log(firstDayStr);
console.log(lastDayStr);
// 获取明细表索引
var num = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
for (var i = 0; i < num.length; i++) {
console.log("获取行数");
console.log("num是" + num);
if (!isNull(num[i])) {
console.log("判断后的:" + num[i]);
console.log("更新日期范围:field39746_" + num[i] + ", " + firstDayStr + ", " + lastDayStr);
WfForm.controlDateRange("field39746_" + num[i], firstDayStr, lastDayStr);
console.log("遍历行数更新动作");
}
}
}
// 新增行后触发更新
WfForm.registerAction(WfForm.ACTION_ADDROW + "1", function(index){
console.log("明细表增加行动作");
updateDateRange();
});
// 变更月份后触发更新
WfForm.bindFieldChangeEvent("field39725", function(obj, id, value) {
console.log("月份标签已变更,当前月份:");
updateDateRange();
});
checkCustomize = function () {
var heji1 = jQuery("#field39762").val();
if (parseFloat(heji1) != 100.00) {
WfForm.showMessage("权重合计非法,请检查后重新提交!", 2, 5);
return false;
}
updateDateRange();
return true;
};
});
</script>
配合月份选择及日期选择公式:
载入时:[主表.考核月份]=''
和[明细表1.计划完成时间]=''
当[主表.考核月份]
变更时清除明细表的日期选择:条件值改变时 (触发字段: 主表.考核月份)
则[明细表1.计划完成时间]=''
,这样保证了载入时和考核月份变更时,全部相关字段都能初始化至空值方便JavaScript运行。
参考:
获取明细行所有行标示:泛微在线文档 (e-cloudstore.com)
控制日期浏览按钮的可选日期范围:泛微在线文档 (e-cloudstore.com)
注册钩子事件,指定动作完成后触发:泛微在线文档 (e-cloudstore.com)
表单字段值变化触发事件:泛微在线文档 (e-cloudstore.com)
评论前必须登录!
注册