shr.defineClass("shr.customer.gtiit.FillSignCardEditEx",shr.ats.FillSignCardEdit,{
//
initalizeDOM:function(){
shr.customer.gtiit.FillSignCardEditEx.superClass.initalizeDOM.call(this);
},
setFSCEntry: function (rst) {
var _self = this;
if (
rst.records != null &&
rst.records > 0 &&
rst.rows != null &&
rst.rows.length > 0
) {
var id,
attendDate,
type,
fillCardTimeStr,
remark,
reason_id,
reason_name;
var billId = $("#id").val();
var ramarkMap;
_self.remoteCall({
method: "getToremarks",
param: {billId: billId},
async: false,
success: function(data) {
ramarkMap = data;
},
error : function(){
}
});
for (var i = 0; i < rst.rows.length; i++) {
var row = rst.rows[i];
(id = shr.xssFilter(row["id"])),
(attendDate = shr.xssFilter(row["attendDate"])),
(type_key = shr.xssFilter(row["type.key"])),
(type_value = shr.xssFilter(row["type.value"])),
(fillCardTimeStr = shr.xssFilter(row["fillCardTimeStr"])),
(reason_id = shr.xssFilter(row["reason.id"])),
(reason_name = shr.xssFilter(row["reason.name"])),
(remark = ramarkMap[row["id"]]);
var row_fields_work = "";
if (
_self.getOperateState() == "ADDNEW" ||
_self.getOperateState() == "EDIT"
) {
row_fields_work =
'
";
$("#fillSignCardEntryInfo").append(row_fields_work);
$(".fillCardTime").on("input", function (e) {
var target = e.target;
var val = $(target).val() || "";
var hasSignal =
val.indexOf(":") !== -1 || val.indexOf(":") !== -1;
if (
val.length === 4 &&
/^\d+$/.test(val) &&
!hasSignal
) {
var hour = val.slice(0, 2);
val = hour + ":" + val.slice(2);
if (hour < 24) {
$(target).val(val);
}
return;
}
if (
val.length >= 5 &&
/^(\d{2}[:|:]\d{2,})+$/.test(val)
) {
var hour = val.slice(0, 2);
val = val.slice(0, 5);
if (hour < 24) {
$(target).val(val);
}
return;
}
});
var remarkObj = { l1: "", l2: "", l3: "" };
remarkObj.l1 = correctValue(shr.xssFilter(row["remark_l1"]));
remarkObj.l2 = correctValue(shr.xssFilter(row["remark_l2"]));
remarkObj.l3 = correctValue(shr.xssFilter(row["remark_l3"]));
_self.addRowFieldString(
false,
i,
reason_id,
reason_name,
type_key,
type_value,
remarkObj
);
} else if (_self.getOperateState() == "VIEW") {
row_fields_work =
'' +
'
' +
'' +
'' +
' ' +
'' +
correctValue(attendDate) +
"" +
"
" +
'
' +
correctValue(type_key) +
"
" +
'
' +
correctValue(reason_name) +
"
" +
'
' +
correctValue(fillCardTimeStr) +
"
" +
'
' +
correctValue(remark) +
"
" +
"
";
$("#fillSignCardEntryInfo").append(row_fields_work);
}
atsMlUtile.setTransDateValue("attendDate" + i, attendDate);
_self.initAtsBillExplain();
}
}
//添加事件处理
//新增
$("#fillSignCardEntryInfo a.rowAdd").die("click");
$("#fillSignCardEntryInfo a.rowAdd").live("click", function () {
var vali = $(
"#fillSignCardEntryInfo .row_field:last input[name^=attendDate]"
).attr("name");
if (vali != null && vali != "") {
var idx = new String(vali).substr(10);
var idxA = new Number(idx) + 1;
_self.addRowFieldString(
true,
idxA,
null,
null,
null,
null,
null
);
}
});
//删除
$("#fillSignCardEntryInfo a.rowDel").die("click");
$("#fillSignCardEntryInfo a.rowDel").live("click", function () {
var entryId = $(
$(this).closest("div.row_field").children()[0]
).children()[0].value;
if (entryId != "" && entryId != null && entryId != undefined) {
deletedList += entryId + ",";
}
$(this).closest("div.row_field").remove();
});
},
addRowFieldString: function (
flag,
i,
reason_id,
reason_name,
type_key,
type_value,
remark
) {
if (flag) {
var row_fields_work =
'";
$("#fillSignCardEntryInfo").append(row_fields_work);
$(".fillCardTime").on("input", function (e) {
var v = $(e.target).val() || "";
if (/[0-5][0-9][0-5][0-9]/.test(v) && v.length == 4) {
v =
$(e.target).val().substring(0, 2) +
":" +
$(e.target).val().substring(2, 4);
}
if (
(/[0-2][0-9]:[0-5][0-9]/.test(v) && v.length == 5) ||
(/[0-2][0-9]:[0-5][0-9]/.test(v) && v.length == 5)
) {
var h = new Number(v.substr(0, 2));
if (h < 24) {
v =
$(e.target).val().substring(0, 2) +
":" +
$(e.target).val().substring(3, 5);
$(e.target).val(v);
}
}
});
}
$('input[name="fillCardTimeStr' + i + '"]').attr(
"validate",
"{required:true,myTmVldt:true}"
);
$('input[name="attendDate' + i + '"]').attr(
"validate",
"{required:true,myTmVldt1:true}"
);
//将【考勤日期】 【补签卡类型】【补签卡原因】封装成F7
//备注改成多语言
/*$('input[name="remark' + i + '"]')
.attr("id", "remark" + i)
.shrMultiLangBox({
readonly: "",
value: remark,
validate: "{maxlength:128}",
trimAll: false,
onChange: null
});*/
//针对从【考勤看板--我要补卡】中进入
if (
this.strdate != null &&
this.strdate != undefined &&
this.strdate != ""
) {
$('input[name="attendDate' + i + '"]').shrDateTimePicker(
"setValue",
this.strdate
);
}
//【补签卡类型】
var that = this;
var select_json = {
id: "type" + i,
readonly: "",
value: "0",
onChange: null,
validate: "{required:true}",
filter: ""
};
select_json.data = [
{
value: 1,
alias: jsBizMultLan.atsManager_fillSignCardEdit_i18n_1
}
];
$('input[name="type' + i + '"]').shrSelect(select_json);
if (!flag) {
$('input[name="type' + i + '"]').val(type_key);
$('input[name="type' + i + '_el"]').val(type_value);
} else {
//如果是新增,默认的就是补卡
$('input[name="type' + i + '"]').val(
jsBizMultLan.atsManager_fillSignCardEdit_i18n_1
);
$('input[name="type' + i + '_el"]').val(1);
}
//【考勤日期】
var attendDate = atsMlUtile.getFieldOriginalValue("attendDate" + i);
$('input[id="attendDate' + i + '"]').shrDateTimePicker({
id: "attendDate" + i,
tagClass: "block-father input-height",
readonly: "",
yearRange: "",
ctrlType: "Date",
value: attendDate,
isAutoTimeZoneTrans: false,
validate: "{dateISO:true,required:true}",
onChange: function () {
if (0 == i) {
that.initAtsBillExplain();
}
},
isNewDateCtrl: true
});
//【补签卡原因】
var grid_f7_json = { id: "reason" + i, name: "reason" + i };
grid_f7_json.subWidgetName = "shrPromptGrid";
var object = $('input[name="reason' + i + '"]');
grid_f7_json.subWidgetOptions = {
title: jsBizMultLan.atsManager_fillSignCardEdit_i18n_4,
uipk: "com.kingdee.eas.hr.ats.app.FillSignReason.AvailableList.F7",
query: ""
};
grid_f7_json.subWidgetOptions.isHRBaseItem = true;
grid_f7_json.subWidgetOptions.filterConfig = [
{
name: "isComUse",
value: true,
alias: jsBizMultLan.atsManager_fillSignCardEdit_i18n_20,
widgetType: "checkbox"
}
];
grid_f7_json.subWidgetOptions.bizFilterFields = "hrOrgUnit";
grid_f7_json.subWidgetOptions.f7ReKeyValue =
"BaseInfo.id:BaseInfo.name";
grid_f7_json.subWidgetName = "specialPromptGrid";
grid_f7_json.validate = "{required:true}";
object.shrPromptBox(grid_f7_json);
if (!flag) {
object.val(correctValue(reason_name));
//利用F7de特性来设置值
$("#reason" + i + "_el").val(correctValue(reason_id));
} else {
//新增行时,补签卡原因取自上一行
var preRow = i - 1;
$("#reason" + i + "_el").val(
correctValue($("#reason" + preRow + "_el").val())
);
$("#reason" + i).val(correctValue($("#reason" + preRow).val()));
}
},
assembleEntriesData: function () {
var entries = [];
var lengthArray = [];
var personDateStr = "";
if (_self.getOperateState().toUpperCase() != "VIEW") {
$("#fillSignCardEntryInfo input[name^=attendDate]").each(function (
i,
domEle
) {
var length = $(domEle)
.attr("name")
.substring("attendDate".length);
lengthArray.push(parseInt(length));
});
//将数组由小到大排列
if (lengthArray.length > 0) {
lengthArray.sort(sortNumber);
}
for (var i = 0; i < lengthArray.length; i++) {
var entrie = {
id: correctValue(
$(
'#fillSignCardEntryInfo input[name="id' +
lengthArray[i] +
'"]'
).val()
),
attendDate: atsMlUtile.getFieldOriginalValue(
'fillSignCardEntryInfo input[name="attendDate' +
lengthArray[i] +
'"]'
),
type: new Number(
$(
'#fillSignCardEntryInfo input[type=hidden][id="type' +
lengthArray[i] +
'_el"]'
).val()
),
reason: {
id: correctValue(
$(
'#fillSignCardEntryInfo input[type=hidden][id="reason' +
lengthArray[i] +
'_el"]'
).val()
),
name: correctValue(
$(
'#fillSignCardEntryInfo input[name="reason' +
lengthArray[i] +
'"]'
).val()
)
},
fillCardTimeStr: correctValue(
$(
'#fillSignCardEntryInfo input[name="fillCardTimeStr' +
lengthArray[i] +
'"]'
).val()
),
toremarks: document.querySelector('#fillSignCardEntryInfo input[name="toremarks'+lengthArray[i]+'"]').value,
person: {
id: $("#entries_person").shrPromptBox("getValue").id
}
};
var date = entrie.attendDate;
var personId = entrie.person.id;
if (date && personId) {
if (i > 0) {
personDateStr += ",";
}
personDateStr += personId + "_" + date.substring(0, 10);
}
entries.push(entrie);
}
} else {
$("#fillSignCardEntryInfo span[name^=attendDate]").each(function (
i,
domEle
) {
var length = $(domEle)
.attr("name")
.substring("attendDate".length);
lengthArray.push(parseInt(length));
});
//将数组由小到大排列
if (lengthArray.length > 0) {
lengthArray.sort(sortNumber);
}
for (var i = 0; i < lengthArray.length; i++) {
var entrie = {
id: correctValue(
$(
'#fillSignCardEntryInfo input[name="id' +
lengthArray[i] +
'"]'
).val()
),
attendDate: atsMlUtile.getFieldOriginalValue(
'#fillSignCardEntryInfo span[name="attendDate' +
lengthArray[i] +
'"]'
),
type: new Number(
$(
'#fillSignCardEntryInfo input[type=hidden][id="type' +
lengthArray[i] +
'_el"]'
).val()
),
reason: {
id: correctValue(
$(
'#fillSignCardEntryInfo input[type=hidden][id="reason' +
lengthArray[i] +
'_el"]'
).val()
),
name: correctValue(
$(
'#fillSignCardEntryInfo span[name="reason' +
lengthArray[i] +
'"]'
).text()
)
},
fillCardTimeStr: correctValue(
$(
'#fillSignCardEntryInfo span[name="fillCardTimeStr' +
lengthArray[i] +
'"]'
).text()
),
toremarks: document.querySelector('#fillSignCardEntryInfo input[name="toremarks'+lengthArray[i]+'"]').value,
person: { id: $("#entries_person").val() }
};
var date = entrie.attendDate;
var personId = entrie.person.id;
if (date && personId) {
if (i > 0) {
personDateStr += ",";
}
personDateStr += personId + "_" + date.substring(0, 10);
}
entries.push(entrie);
}
}
if (personDateStr) {
_self.remoteCall({
type: "post",
method: "getPersonAdminOrgUnit",
param: { personDateStr: personDateStr },
async: false,
success: function (res) {
var info = res;
var personAtsInfo = {};
for (var i = 0; i < entries.length; i++) {
var date = entries[i].attendDate;
var personId = entries[i].person.id;
if (date && personId) {
var person_date =
personId + "_" + date.substring(0, 10);
personAtsInfo = info[person_date];
if (personAtsInfo && personAtsInfo.adminOrgUnit) {
entries[i]["adminOrgUnit"] =
personAtsInfo.adminOrgUnit;
entries[i]["position"] = personAtsInfo.position;
}
}
}
}
});
}
return entries;
}
});