batchSubmitShemeBillEx.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. shr.defineClass("shr.customer.gtiit.BatchSubmitShemeBillEx", shr.compensation.base.DefaultBatchSubmitShemeBill, {
  2. initalizeDOM: function() {
  3. var _self = this;
  4. shr.customer.gtiit.BatchSubmitShemeBillEx.superClass.initalizeDOM.call(_self);
  5. if(this.getOperateState() == 'ADDNEW' || this.getOperateState() == 'EDIT'){
  6. var datasource = _self.getFieldValue('datasource');
  7. if (datasource == "") {
  8. $("#datasource").shrSelect("setValue",2);
  9. }
  10. } else {
  11. $("#availableBudget").hide();
  12. }
  13. // 字段授权
  14. _self.checkNoPermFields();
  15. },
  16. backToListAction: function(){
  17. document.location.href = shr.getContextPath() + "/dynamic.do?uipk=com.kingdee.shr.compensation.app.integrate.BatchSubmitShemeBill.whole.list&inFrame=true"
  18. },
  19. submitAction: function(event) {
  20. var _self = this;
  21. if (_self.validate() && _self.verify()) {
  22. var flag = _self.checkAmount();
  23. if(flag != null){
  24. shr.showWarning({message:"Line "+flag+": The submitted project must have a non empty one"});
  25. return false;
  26. }
  27. _self.preVerify(function(){
  28. $.extend($.verifyRuleTool,_self.getVerifyOptions(submitNodeId))
  29. $.verifyRuleTool.afterVeriyCallBack =function(){
  30. shr.showConfirm($.shrI18n.common.tips.submitConfirm, function() {
  31. _self.doSubmit(event, 'submit');
  32. });
  33. };
  34. $.verifyRuleTool.verifyInto();
  35. $.verifyRuleTool.ip="submitShemeBill"
  36. },'submit')
  37. }
  38. },
  39. checkAmount:function(){
  40. var schemeItemField = "submitScheme";
  41. if(this.getOperateState() == 'EDIT' || this.getOperateState() == 'ADDNEW'){
  42. schemeItemField = schemeItemField+"_el";
  43. }
  44. var submitSchemeId = $("#"+schemeItemField).val();
  45. var flag = null;
  46. var schemeItemList = new Array();
  47. _self.remoteCall({
  48. type:"post",
  49. async: false,
  50. method:"getSchemeItemFilds",
  51. param:{calSchemeId:submitSchemeId},
  52. success:function(res){
  53. if(res.schemeItemList){
  54. schemeItemList = res.schemeItemList;
  55. }
  56. }
  57. });
  58. if(!schemeItemList){
  59. return flag;
  60. }
  61. var allRowData = $("#entry").jqGrid("getAllRowData");
  62. for(var i = 0; i < allRowData.length; i++){
  63. var num = 0;
  64. for (const entryField of schemeItemList) {
  65. var fieldValue = allRowData[i][entryField];
  66. /*if(!fieldValue || fieldValue==0){
  67. num++;
  68. }*/
  69. if (!fieldValue || !((typeof fieldValue === 'number' && fieldValue !== 0) ||
  70. (typeof fieldValue === 'string' && fieldValue !== '') ||
  71. (typeof fieldValue === 'object' && fieldValue !== null && Object.keys(fieldValue).length !== 0))
  72. ) {
  73. num++;
  74. }
  75. }
  76. if(num == schemeItemList.length){
  77. flag = i+1;
  78. return flag;
  79. }
  80. }
  81. return flag;
  82. }
  83. });