singleContractSignBizBillEditEx.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /**
  2. * 合同签订
  3. */
  4. var selectPerson = "";
  5. shr.defineClass("shr.empContract.SingleContractSignBizBillEditEx", shr.empContract.ContractSignBizBillEdit, {
  6. initalizeDOM : function () {
  7. shr.empContract.SingleContractSignBizBillEditEx.superClass.initalizeDOM.call(this);
  8. var _self= this;
  9. var personInfo = $("#" + _self.getRealId('entrys.person')).shrPromptBox('getValue')
  10. if(null != personInfo){
  11. selectPerson = personInfo.id
  12. }
  13. //如果是新增的时候
  14. if(_self.operateState == 'ADDNEW' && "" != selectPerson){
  15. //设置默认值
  16. _self.setPartyData(selectPerson);
  17. }
  18. },
  19. setPartyData: function (selectId) {
  20. var self = this;
  21. //调用
  22. self.remoteCall({
  23. type: "post",
  24. async: false,
  25. method: "queryContractSub",
  26. param: {
  27. personId: selectId,
  28. },
  29. success: function (res) {
  30. //赋值到控件
  31. if (res) {
  32. $("#" + self.getRealId("labContractFirstParty")).shrPromptBox(
  33. "setValue",
  34. { id: res["id"], name: res["name"], number: res["number"] }
  35. );
  36. }
  37. },
  38. error: function (res) {
  39. console.log(res);
  40. },
  41. });
  42. },
  43. //如果labContractFirstParty的值不同,则提示:
  44. valiPartyAndSave: function(event,action) {
  45. var self = this;
  46. var partyId = $("#" + self.getRealId("labContractFirstParty")).shrPromptBox('getValue').id;
  47. if ("" == selectPerson || null == partyId) {
  48. shr.showError({message : "选取的员工或者劳动合同主体为空,请检查"});
  49. return false;
  50. }
  51. self.remoteCall({
  52. type: "post",
  53. async: true,
  54. method: "checkContractSub",
  55. param: {
  56. personIds: selectPerson,
  57. partyId: partyId
  58. },
  59. success: function(resList) {
  60. if (resList && Array.isArray(resList) && resList.length > 0) {
  61. const personName = resList.map(personData => personData["personName"]).join(",");
  62. const message = '员工:'+personName+',选择劳动合同主体与入职流程约定不一致,是否继续提交?';
  63. // 如果确认,返回true,否则返回false
  64. shr.showConfirm(message, function(){
  65. if(action && action =='submitEffect'){
  66. self.prepareSubmitEffect(event,'submitEffect');
  67. }else if(action && action =='save'){
  68. self.doSave(event,'save');
  69. }else if(action && action =='submit'){
  70. self.doSubmit(event,'submit');
  71. }
  72. });
  73. } else {
  74. if(action && action =='submitEffect'){
  75. self.prepareSubmitEffect(event,'submitEffect');
  76. }else if(action && action =='save'){
  77. self.doSave(event,'save');
  78. }else if(action && action =='submit'){
  79. self.doSubmit(event,'submit');
  80. }
  81. }
  82. },
  83. error: function(res) {
  84. shr.showError({message :"远程调用失败:", res});
  85. },
  86. });
  87. },
  88. /**
  89. * 保存
  90. */
  91. saveAction: function(event) {
  92. var _self = this;
  93. if (_self.validate() && _self.verify()) {
  94. _self.valiPartyAndSave(event,'save');
  95. }else{
  96. if(_self != top){// in iframe
  97. shr.setIframeHeight(window.name);
  98. }
  99. }
  100. },
  101. //提交即生效
  102. submitEffectAction : function (event) {
  103. var _self = this;
  104. if (_self.validate() && _self.verify()) {
  105. shr.showConfirm(jsBizMultLan.emp_shrContractBillBaseEdit_i18n_0, function() {
  106. // _self.prepareSubmitEffect(event, 'submitEffect');
  107. _self.valiPartyAndSave(event,'submitEffect');
  108. });
  109. }
  110. },
  111. //提交
  112. submitAction: function(event) {
  113. var _self = this;
  114. if (_self.validate() && _self.verify()) {
  115. shr.showConfirm($.shrI18n.common.tips.submitConfirm, function() {
  116. _self.valiPartyAndSave(event,'submitEffect');
  117. });
  118. }else{
  119. if(_self != top){// in iframe
  120. shr.setIframeHeight(window.name);
  121. }
  122. }
  123. },
  124. });