123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591 |
- 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 =
- '<div class="row-fluid row-block row_field">' +
- '<div class="spanSelf">' +
- '<input type="hidden" name="id' +
- i +
- '" value="' +
- correctValue(id) +
- '" />' +
- '<input type="text" id="attendDate' +
- i +
- '" name="attendDate' +
- i +
- '" value="' +
- correctValue(attendDate) +
- '"class="input-height cell-input" validate="{required:true}" />' +
- "</div>" +
- '<div class="spanSelf"><input type="text" name="type' +
- i +
- '" value="" class="input-height cell-input" validate="{required:true}"/></div>' +
- '<div class="spanSelf"><input type="text" name="reason' +
- i +
- '" value="" class="input-height cell-input" validate="{required:true}"/></div>' +
- '<div class="spanSelf"><input style="background-color:#daeef8" length="5" type="text" id="fillCardTimeStr' +
- i +
- '" name="fillCardTimeStr' +
- i +
- '" value="' +
- correctValue(fillCardTimeStr) +
- '" class="input-height cell-input fillCardTime" placeholder="' +
- jsBizMultLan.atsManager_fillSignCardEdit_i18n_17 +
- '" /></div>' +
- // + '<script type="text/javascript">$(function() {var text_json = {id:"fillCardTimeStr0",name: "fillCardTimeStr0",readonly: "",value: "0",validate: "{required:true,myTmVldt:true}",onChange: null};$("#fillCardTimeStr0").shrTextField(text_json);});</script>'
- '<div class="spanSelf"><input maxlength="255" type="text" name="toremarks' +
- i +
- '" value="' +
- correctValue(remark) +
- '" class="input-height cell-input"/></div>';
- if (i == 0) {
- row_fields_work +=
- '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a></div>';
- } else {
- row_fields_work +=
- '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a><a class="rowDel cursor-pointer" style="font-size: 17px;">x</a></div>';
- }
- row_fields_work += "</div>";
- $("#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 =
- '<div class="row-fluid row-block row_field">' +
- '<div class="spanSelf">' +
- '<input type="hidden" name="id' +
- i +
- '" value="' +
- correctValue(id) +
- '" />' +
- '<input type="hidden" id="type' +
- i +
- '_el" value="' +
- correctValue(type_value) +
- '" />' +
- '<input type="hidden" id="reason' +
- i +
- '_el" value="' +
- correctValue(reason_id) +
- '" /> ' +
- '<span id="attendDate' +
- i +
- '" name="attendDate' +
- i +
- '" class="cell-input">' +
- correctValue(attendDate) +
- "</span>" +
- "</div>" +
- '<div class="spanSelf"><span name="type' +
- i +
- '" class="cell-input">' +
- correctValue(type_key) +
- "</span></div>" +
- '<div class="spanSelf"><span name="reason' +
- i +
- '" class="cell-input">' +
- correctValue(reason_name) +
- "</span></div>" +
- '<div class="spanSelf"><span name="fillCardTimeStr' +
- i +
- '" class="cell-input">' +
- correctValue(fillCardTimeStr) +
- "</span></div>" +
- '<div class="spanSelf"><span name="toremarks' +
- i +
- '" style = "word-break: break-word;" class="cell-input">' +
- correctValue(remark) +
- "</span></div>" +
- "</div>";
- $("#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 =
- '<div class="row-fluid row-block row_field">' +
- '<div class="spanSelf"><input type="hidden" name="id' +
- i +
- '" value="" /><input type="text" id="attendDate' +
- i +
- '" name="attendDate' +
- i +
- '" value=""class="input-height cell-input" validate="{required:true}" /></div>' +
- '<div class="spanSelf"><input name="type' +
- i +
- '_el" type="hidden"/><input type="text" name="type' +
- i +
- '" value="" class="input-height cell-input" validate="{required:true}"/></div>' +
- '<div class="spanSelf"><input type="text" name="reason' +
- i +
- '" value="" class="input-height cell-input" validate="{required:true}"/></div>' +
- '<div class="spanSelf"><input style="background-color:#daeef8" length="5" type="text" name="fillCardTimeStr' +
- i +
- '" value="" class="input-height cell-input fillCardTime" placeholder="' +
- jsBizMultLan.atsManager_fillSignCardEdit_i18n_17 +
- '" /></div>' +
- '<div class="spanSelf"><input maxlength="255" type="text" name="toremarks' +
- i +
- '" value="" class="input-height cell-input"/></div>' +
- '<div><a class="rowAdd cursor-pointer" style="font-size: 20px;">+</a><a class="rowDel cursor-pointer" style="font-size: 17px;">x</a></div>' +
- "</div>";
- $("#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;
- }
- });
|