jpc_rte.js 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /**
  2. * Created by Tony on 2016/12/28.
  3. */
  4. let JV = require('./jpc_value_define');
  5. let JE = {
  6. F: function(fID, $CURRENT_RPT) {
  7. let rst = null;
  8. if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS][JV.PROP_ID + "_" + fID])) {
  9. rst = $CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS][JV.PROP_ID + "_" + fID];
  10. } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS][JV.PROP_ID + "_" + fID])) {
  11. rst = $CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS][JV.PROP_ID + "_" + fID];
  12. } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS_EX][JV.PROP_ID + "_" + fID])) {
  13. rst = $CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS_EX][JV.PROP_ID + "_" + fID];
  14. } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS_EX][JV.PROP_ID + "_" + fID])) {
  15. rst = $CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS_EX][JV.PROP_ID + "_" + fID];
  16. } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_DISCRETE_FIELDS][JV.PROP_ID + "_" + fID])) {
  17. rst = $CURRENT_RPT.fields[JV.NODE_DISCRETE_FIELDS][JV.PROP_ID + "_" + fID];
  18. } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_NO_MAPPING_FIELDS][JV.PROP_ID + "_" + fID])) {
  19. rst = $CURRENT_RPT.fields[JV.NODE_NO_MAPPING_FIELDS][JV.PROP_ID + "_" + fID];
  20. } else {
  21. rst = {msg: "the Field-ID is not valid, no result could be found!"};
  22. }
  23. return rst;
  24. },
  25. P: function(pID, $CURRENT_RPT) {
  26. let rst = null;
  27. if ($CURRENT_RPT && ($CURRENT_RPT.params[JV.PROP_ID + "_" + pID])) {
  28. rst = $CURRENT_RPT.params[JV.PROP_ID + "_" + pID];
  29. } else {
  30. rst = {msg: "the Param-ID is not valid, no result was found!"};
  31. }
  32. return rst;
  33. },
  34. getCurrentPage: function ($CURRENT_RPT) {
  35. let rst = 0;
  36. if ($CURRENT_RPT) {
  37. rst = $CURRENT_RPT.runTimePageData.currentPage;
  38. }
  39. return rst;
  40. },
  41. getTotalPage: function ($CURRENT_RPT) {
  42. let rst = 0;
  43. if ($CURRENT_RPT) {
  44. rst = $CURRENT_RPT.totalPages;
  45. }
  46. return rst;
  47. },
  48. setFieldValue: function (field, dataObj, valIdx, newValue) {
  49. if (field.DataNodeName === "NA") {
  50. if (!field[JV.PROP_AD_HOC_DATA]) {
  51. field[JV.PROP_AD_HOC_DATA] = [];
  52. }
  53. field[JV.PROP_AD_HOC_DATA][valIdx] = newValue;
  54. } else if (!field.DataNodeName) {
  55. //that means this is a self-defined discrete field!
  56. field.DataNodeName = JV.DATA_DISCRETE_DATA;
  57. let len = dataObj[JV.DATA_DISCRETE_DATA].length;
  58. field.DataSeq = len;
  59. dataObj[JV.DATA_DISCRETE_DATA].push([]);
  60. dataObj[field.DataNodeName][field.DataSeq][valIdx] = newValue;
  61. } else {
  62. dataObj[field.DataNodeName][field.DataSeq][valIdx] = newValue;
  63. }
  64. },
  65. getFieldValue: function (field, dataObj, valIdx, dftVal) {
  66. let rst = dftVal;
  67. if (!field.DataNodeName) {
  68. //that means this is a self-defined discrete field!
  69. field.DataNodeName = JV.DATA_DISCRETE_DATA;
  70. let len = dataObj[JV.DATA_DISCRETE_DATA];
  71. field.DataSeq = len;
  72. dataObj[JV.DATA_DISCRETE_DATA].push([]);
  73. }
  74. if (dataObj[field.DataNodeName][field.DataSeq].length > valIdx) {
  75. rst = dataObj[field.DataNodeName][field.DataSeq][valIdx];
  76. } else {
  77. if (dftVal === null && dataObj[field.DataNodeName][field.DataSeq].length > 0) {
  78. rst = dataObj[field.DataNodeName][field.DataSeq][dataObj[field.DataNodeName][field.DataSeq].length - 1];
  79. }
  80. }
  81. return rst;
  82. }
  83. }
  84. module.exports = JE;