batchOtherContractAddEditEx.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /**
  2. * 其他合同签订_批量拓展js
  3. * coyle
  4. * 202410
  5. */
  6. var partyName = "";
  7. var selectPerson = "";
  8. shr.defineClass("shr.empContract.BatchOtherContractAddEditEx", shr.empContract.OtherContractAddEdit,
  9. {
  10. initalizeDOM: function () {
  11. shr.empContract.BatchOtherContractAddEditEx.superClass.initalizeDOM.call( this );
  12. var _self = this;
  13. },
  14. initalizeDefaultData:function(){
  15. var self = this ;
  16. //初始化连续签订、连续签订次数
  17. this.initContinuousSigned();
  18. if (self.getOperateState()== 'VIEW') {
  19. return;
  20. }
  21. var selectObj = self.getField("dataRangeSelected"),
  22. batchParma = empBatchParamUtils.getCacheData(),
  23. selectIds = batchParma.selectedIds,
  24. currentPageIds = batchParma.currentPageAllIds;
  25. if(selectIds){
  26. selectObj.shrSelect('setValue', 'selectedValue');
  27. if(self.operateState == 'ADDNEW'){
  28. self.setPartyData(selectIds);
  29. }
  30. }else {//弃用currentPageValue
  31. selectObj.shrSelect('setValue', 'allValue');
  32. selectObj.shrSelect('disable');
  33. }
  34. },
  35. setPartyData: function (selectIds) {
  36. var self = this;
  37. selectPerson = selectIds;
  38. //查询第一个的劳动合同主体
  39. //对selectIds使用","分割,去第一个元素
  40. var firstId = self.getFirstElement(selectIds);
  41. //调用
  42. self.remoteCall({
  43. type: "post",
  44. async: false,
  45. method: "queryContractSub",
  46. param: {
  47. personId: firstId,
  48. },
  49. success: function (res) {
  50. //赋值到控件
  51. if (res) {
  52. $("#" + self.getRealId("labContractFirstParty")).shrPromptBox(
  53. "setValue",
  54. { id: res["id"], name: res["name"], number: res["number"] }
  55. );
  56. }
  57. },
  58. error: function (res) {
  59. console.log(res);
  60. },
  61. });
  62. },
  63. getFirstElement: function (selectIds) {
  64. // 检查 selectIds 是否为 null 或空字符串
  65. if (selectIds == null || selectIds == undefined) {
  66. return null;
  67. }
  68. // 使用 "," 分割字符串
  69. var elements = selectIds.split(",");
  70. // 检查分割后的数组是否为空
  71. if (elements.length == 0) {
  72. return null;
  73. }
  74. // 返回第一个元素
  75. return elements[0];
  76. },
  77. //如果labContractFirstParty的值不同,则提示:
  78. valiPartyAndSave: function(event) {
  79. var self = this;
  80. var partyId = $("#" + self.getRealId("labContractFirstParty")).shrPromptBox('getValue').id;
  81. if ("" == selectPerson || null == partyId) {
  82. shr.showError({message : "选取的员工或者劳动合同主体为空,请检查"});
  83. return false;
  84. }
  85. self.remoteCall({
  86. type: "post",
  87. async: true,
  88. method: "checkContractSub",
  89. param: {
  90. personIds: selectPerson,
  91. partyId: partyId
  92. },
  93. success: function(resList) {
  94. if (resList && Array.isArray(resList) && resList.length > 0) {
  95. const personName = resList.map(personData => personData["personName"]).join(",");
  96. const message = '员工:'+personName+',选择劳动合同主体与入职流程约定不一致,是否继续提交?';
  97. // 如果确认,返回true,否则返回false
  98. shr.showConfirm(message, function(){
  99. self.doSave(event, 'save');
  100. });
  101. } else {
  102. self.doSave(event, 'save');
  103. }
  104. },
  105. error: function(res) {
  106. shr.showError({message :"远程调用失败:", res});
  107. },
  108. });
  109. },
  110. /**
  111. * 保存
  112. */
  113. saveHandler:function(event){
  114. var _self = this;
  115. if (_self.validate() && _self.verify()) {
  116. //批量不再支持插入,转为后台校验
  117. // _self.doSave(event, 'save');
  118. _self.valiPartyAndSave(event);
  119. }
  120. else{
  121. if(_self != top){shr.setIframeHeight(window.name);}
  122. }
  123. },
  124. });