WebmasterEdit.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. shr.defineClass("shr.emp.WebmasterEdit", shr.framework.Edit, {
  2. initalizeDOM: function() {
  3. shr.emp.WebmasterEdit.superClass.initalizeDOM.call(this);
  4. var self = this;
  5. _self.$editGrid = _self.getField("entrys");
  6. _self.initEditGridToolBar();
  7. },
  8. /**
  9. * 是否支持导入功能,职等调整现不支持,后续支持后可将该判断开关去掉
  10. */
  11. isNeedImportBtn : function(){
  12. return true;
  13. },
  14. /**
  15. * 初始化editGrid的按钮
  16. */
  17. initEditGridToolBar : function(){
  18. var self = this;
  19. if(self.isNeedImportBtn()){
  20. var importBtnHtml = $("<button id='import_entrys' type='button' class='shrbtn-primary shrbtn' name='import'>导入</button>");
  21. $('#deleteRow_entrys').css("margin-left","4px");
  22. importBtnHtml.insertBefore($('#deleteRow_entrys'));
  23. $('#import_entrys').shrButton({
  24. actionBinding: 'importAction',
  25. subAction: '',
  26. customData: ""
  27. });
  28. }
  29. },
  30. getEntrysGrid : function(){
  31. return $("#entrys");
  32. },
  33. importAction: function(){
  34. var self = this;
  35. var hrOrgUnitId = shr.getFieldValue("hrOrgUnit");
  36. if(!hrOrgUnitId){
  37. shr.showError({
  38. message:"请先选择人事业务组织",
  39. hideAfter:5
  40. });
  41. return;
  42. }
  43. // self.importDoAction();
  44. var uipk = shr.getUrlRequestParam("uipk");
  45. var serviceId = shr.getUrlRequestParam("serviceId");
  46. btnName = 'import';
  47. var callback = function(data){
  48. if(data && data.length>0){
  49. var $editGrid = self.getEntrysGrid();
  50. var entryDatas = $editGrid.jqGrid('getRowData');
  51. var exist = false;
  52. for(var i=0;i<data.length;i++){
  53. entry = data[i];
  54. exist = false;
  55. if(entryDatas.length){
  56. $.each(entryDatas, function(i, value){
  57. if(value.person.id == entry.person.id){
  58. exist = true;
  59. return;
  60. }
  61. });
  62. }
  63. if(!exist){
  64. var newRowId = _self.findNextId($editGrid);
  65. $editGrid.jqGrid("addRowData", newRowId, entry, "last");
  66. }
  67. }
  68. }
  69. }
  70. shr.doImportExcel({ btnName: btnName, uipk: uipk, serviceId: serviceId, customParam: {billId:shr.getUrlRequestParam('billId'),hrOrgUnitId:hrOrgUnitId}}, callback);
  71. },
  72. /**
  73. * 生成新的rowId
  74. */
  75. findNextId : function() {
  76. var self = this;
  77. var maxId = 0;
  78. self.$editGrid.find("tr").each(function () {
  79. var id = $(this).attr("id");
  80. if(/^[0-9]*$/.test(id)){//如果ids[i]是纯数字则认为是未保存时生成的临时行序号,进行比较,不加这个判断数字开头的id也能成功parseInt()
  81. try {
  82. id = parseInt(id);
  83. if (id > maxId) {
  84. maxId = id;
  85. }
  86. } catch (e) {
  87. }
  88. }
  89. });
  90. maxId = parseInt(maxId) + 1;
  91. return maxId;
  92. },
  93. });