|
|
<%@ 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>
|
|
|
|
|
|
|