You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
10 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<script>
/**
* 自动添加出差明细
*/
function adddetail() {
//首先进行必填校验,不通过直接退出
//if(!WfForm.verifyFormRequired(false, true)){ return; }
let mainTableData = {
szjg: WfForm.getFieldValue(WfForm.convertFieldNameToId("szjg")),
jbry: WfForm.getFieldValue(WfForm.convertFieldNameToId("jbry")),
jblx: WfForm.getFieldValue(WfForm.convertFieldNameToId("jblx")),
mttsdjb: WfForm.getFieldValue(WfForm.convertFieldNameToId("mttsdjb")),
ksrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq")),
jsrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq")),
kssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("kssj")),
jssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssj"))
}
let param = {
mainTableData:JSON.stringify(mainTableData),
}
console.log(param);
$.ajax({
url:'/api/attendance/overtimeplan/generateOvertimePlanDetails',
data:param,
type:'GET',
dataType:'json',
async:false,
success:function(res){
if(res.api_status){
if(res.data.status){
WfForm.delDetailRow("detail_1", "all");
let resultData = res.data.data;
resultData.filter(item => {
let addObj = {};
addObj[WfForm.convertFieldNameToId("jbry", "detail_1")] = {value:item.jbry,specialobj:[{id:item.jbry,name:item.jbryName}]};
addObj[WfForm.convertFieldNameToId("jblx", "detail_1")] = {value:item.jblx,specialobj:[{id:item.jblx,name:item.jblxName}]};
addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")]={value:item.ksrq};
addObj[WfForm.convertFieldNameToId("kssj", "detail_1")]={value:item.kssj};
addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")]={value:item.jsrq};
addObj[WfForm.convertFieldNameToId("jssj", "detail_1")]={value:item.jssj};
addObj[WfForm.convertFieldNameToId("gsrq", "detail_1")]={value:item.gsrq};
addObj[WfForm.convertFieldNameToId("jbsc", "detail_1")]={value:Number(item.jbsc)};
WfForm.addDetailRow("detail_1", addObj);
})
}else{
WfForm.delDetailRow("detail_1", "all");
let resultData = res.data.data;
resultData.filter(item => {
let addObj = {};
addObj[WfForm.convertFieldNameToId("jbry", "detail_1")] = {value:item.jbry,specialobj:[{id:item.jbry,name:item.jbryName}]};
addObj[WfForm.convertFieldNameToId("jblx", "detail_1")] = {value:item.jblx,specialobj:[{id:item.jblx,name:item.jblxName}]};
addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")]={value:item.ksrq};
addObj[WfForm.convertFieldNameToId("kssj", "detail_1")]={value:item.kssj};
addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")]={value:item.jsrq};
addObj[WfForm.convertFieldNameToId("jssj", "detail_1")]={value:item.jssj};
addObj[WfForm.convertFieldNameToId("gsrq", "detail_1")]={value:item.gsrq};
addObj[WfForm.convertFieldNameToId("jbsc", "detail_1")]={value:Number(item.jbsc)};
WfForm.addDetailRow("detail_1", addObj);
});
WfForm.showMessage(res.data.errorInfo, 2, 5);
}
}
}
})
//添加完明细后,更新主表的总请假时长栏位信息
var totalsc = getTotalsc();
WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc"), {value:totalsc});
}
function updateDetail(rowindex){
let mainTableData = {
szjg: WfForm.getFieldValue(WfForm.convertFieldNameToId("szjg")),
jbry: WfForm.getFieldValue(WfForm.convertFieldNameToId("jbry","detail_1")+"_"+rowindex),
jblx: WfForm.getFieldValue(WfForm.convertFieldNameToId("jblx","detail_1")+"_"+rowindex),
mttsdjb: WfForm.getFieldValue(WfForm.convertFieldNameToId("mttsdjb")),
ksrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowindex),
jsrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowindex),
kssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("kssj","detail_1")+"_"+rowindex),
jssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssj","detail_1")+"_"+rowindex)
}
let param = {
mainTableData:JSON.stringify(mainTableData),
}
if (mainTableData.ksrq == '' || mainTableData.jsrq == '' || mainTableData.kssj == '' || mainTableData.jssj==''){
return;
}
console.log(param);
$.ajax({
url:'/api/attendance/overtimeplan/generateOvertimePlanDetails',
data:param,
type:'GET',
dataType:'json',
async:false,
success:function(res){
if(res.api_status){
if(res.data.status){
let resultData = res.data.data;
if (resultData.length>0){
WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc", "detail_1")+"_"+rowindex, {
value: Number(resultData[0].jbsc)
});
WfForm.changeFieldValue(WfForm.convertFieldNameToId("gsrq", "detail_1")+"_"+rowindex, {
value: resultData[0].gsrq
});
WfForm.changeFieldValue(WfForm.convertFieldNameToId("jblx", "detail_1")+"_"+rowindex, {
value: resultData[0].jblx,
specialobj:[
{id:resultData[0].jblx,name:resultData[0].jblxName}
]
});
}
}else {
let errorData = res.data.errorInfo;
if (errorData.length >0){
WfForm.showMessage(errorData[0], 2, 10);
}
}
}
}
})
var totalsc = getTotalsc();
WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc"), {value:totalsc});
}
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssj","detail_1"),
function(id,rowIndex,value) {
console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
updateDetail(rowIndex);
});
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssj","detail_1"),
function(id,rowIndex,value) {
console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
updateDetail(rowIndex);
});
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jsrq","detail_1"),
function(id,rowIndex,value) {
if (WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowIndex) != value){
WfForm.changeFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowIndex,{value:value})
console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
updateDetail(rowIndex);
}
});
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("ksrq","detail_1"),
function(id,rowIndex,value) {
if (WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowIndex) != value){
WfForm.changeFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowIndex,{value:value})
console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value);
updateDetail(rowIndex);
}
});
/**
* 计算明细总请假长度
*/
function getTotalsc(){
var totalsc = 0;
var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
for(var i=0; i<rowArr.length; i++){
var rowIndex = rowArr[i];
if(rowIndex !== ""){
totalsc = Number(totalsc) + Number(WfForm.getFieldValue(WfForm.convertFieldNameToId("jbsc", "detail_1")+"_"+rowIndex));
}
}
return totalsc;
}
//加班类型值变更时自动生成明细jblx
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("jblx"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
//加班人员值变更时自动生成明细jblx
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("jbry"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
//加班开始日期值变更时,自动生成明细
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("ksrq"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
//加班结束日期值变更时,自动生成明细
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("jsrq"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
//加班开始时间值变更时,自动生成明细
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("kssj"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
//加班结束时间值变更时,自动生成明细
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("jssj"),function(obj,id,value){
//自动添加出差明细数据
adddetail();
});
</script>