chromatographyList.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. // 工资套打js
  2. shr.defineClass("shr.customer.gtiit.rpt.chromatographyList", shr.framework.List, {
  3. initalizeDOM : function () {
  4. var that = this;
  5. //that.setColModelData();
  6. shr.customer.gtiit.rpt.chromatographyList.superClass.initalizeDOM.call(this);
  7. },
  8. /**
  9. * 套打模板名称
  10. */
  11. getTemplateName: function() {
  12. return '/s-HR/PayrollFT';//客户端合同管理文件夹的路径
  13. },
  14. /**
  15. * 套打QueryPK
  16. */
  17. getTemplateQueryPK: function() {
  18. return 'com.kingdee.eas.custom.salarytemplate.app.WagesChromatographyQuery';//数据源名称,如果只有一个数据源可以在这里指定,如果多个数据源需要在PrintHelpDataProvider.java 中指定
  19. },
  20. /**
  21. * 套打dataProvider
  22. */
  23. getTemplateDataProvider: function() {
  24. return 'com.kingdee.shr.batchAffair.web.util.PrintHelpDataProvider';//数据处理类,固定,不需要修改
  25. },
  26. /**
  27. * 套打
  28. */
  29. templatePrintAction: function() {//套打方法,固定,不需要修改
  30. var selectRows = $("#grid").jqGrid("getSelectedRows");
  31. var number=null;
  32. if(selectRows.length==0){
  33. shr.showError({
  34. message: "Please first query and then select the data in the table for template printing!",
  35. hideAfter: 5
  36. });
  37. return;
  38. }else if(selectRows.length>1){
  39. shr.showError({
  40. message: "Please select one of the rows of data!",
  41. hideAfter: 5
  42. });
  43. return;
  44. }
  45. for (var i = 0; i < selectRows.length; i++) {
  46. // 在这里处理每个选中的行
  47. var rowId = selectRows[i];
  48. number= $("#grid").jqGrid("getCell",rowId,'calculationNumber');
  49. // 根据需要执行其他操作,例如获取行数据或进行其他处理
  50. }
  51. // 判断模板的路径
  52. var tdTemplateName = null;
  53. if(number=='GT002'){
  54. // 兼职
  55. tdTemplateName='/s-HR/PayrollPT'
  56. // tdTemplateName = this.getTemplateName();
  57. }else if(number='GT001'){
  58. tdTemplateName = this.getTemplateName();
  59. }else{
  60. shr.showError({
  61. message: "The calculation scheme for the selected data was not found",
  62. hideAfter: 5
  63. });
  64. return;
  65. }
  66. var dataProvider = this.getTemplateDataProvider();
  67. var tdQueryPK = this.getTemplateQueryPK();
  68. var billId;
  69. billId = this.getSelectedFields();
  70. if (billId && billId.length > 0) {
  71. billId = billId.toString();
  72. }else{
  73. billId = $("#grid").jqGrid('getDataIDs')[0];
  74. }
  75. var url =waf.getContextPath()+"/component/ReportTemplate.do?";
  76. var param = {
  77. method:'initalize',
  78. tdTemplateName: tdTemplateName,
  79. dataProvider: dataProvider,
  80. billID:billId,
  81. tdQueryPK:tdQueryPK
  82. };
  83. url = url + $.param(param);
  84. /*
  85. var html = '<iframe name=\'printFrame\' id=\'printFrameId\' frameborder=\'no\' src=\''+url +'\' scrolling=\'no\' width=\'570\' height=\'340\'></iframe>';
  86. if($('#templatePrintDialog').length>0) {
  87. $('#templatePrintDialog').remove();
  88. }
  89. $("body").append("<div id='templatePrintDialog'></div>");
  90. showDialog("#templatePrintDialog", "chromatography printing", html, [{text: "confirm", click: function() {
  91. $('#templatePrintDialog').dialog('close');
  92. window.frames['printFrame'].jsBinder.reportOk();
  93. }}], null, 500, "close");
  94. */
  95. // 构造iframe,但不需要将其放入弹窗中
  96. var iframe = $('<iframe>', {
  97. name: 'printFrame',
  98. id: 'printFrameId',
  99. frameborder: 'no',
  100. src: url,
  101. scrolling: 'no',
  102. width: '570',
  103. height: '340'
  104. }).hide(); // 隐藏iframe,因为它不需要被用户看到
  105. $("body").append(iframe); // 将iframe添加到页面上
  106. // 调用确定按钮的点击事件处理函数,模拟用户点击
  107. setTimeout(function() {
  108. // 由于iframe是异步加载的,这里可能需要一个检查机制来确保iframe已经加载完成
  109. window.frames['printFrame'].jsBinder.reportOk();
  110. // 如果需要的话,可以在这里移除iframe
  111. iframe.remove();
  112. }, 800); // 延迟执行,确保iframe有足够的时间加载
  113. }
  114. });