jpc_rte.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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 === "NA") {
  68. if (!field[JV.PROP_AD_HOC_DATA]) {
  69. field[JV.PROP_AD_HOC_DATA] = [];
  70. }
  71. if (field[JV.PROP_AD_HOC_DATA].length > valIdx) {
  72. rst = field[JV.PROP_AD_HOC_DATA][valIdx];
  73. } else {
  74. if (dftVal === null && field[JV.PROP_AD_HOC_DATA].length > 0) {
  75. rst = field[JV.PROP_AD_HOC_DATA][field[JV.PROP_AD_HOC_DATA].length - 1];
  76. }
  77. }
  78. } else {
  79. if (!field.DataNodeName) {
  80. //that means this is a self-defined discrete field!
  81. field.DataNodeName = JV.DATA_DISCRETE_DATA;
  82. let len = dataObj[JV.DATA_DISCRETE_DATA];
  83. field.DataSeq = len;
  84. dataObj[JV.DATA_DISCRETE_DATA].push([]);
  85. }
  86. if (dataObj[field.DataNodeName][field.DataSeq].length > valIdx) {
  87. rst = dataObj[field.DataNodeName][field.DataSeq][valIdx];
  88. } else {
  89. if (dftVal === null && dataObj[field.DataNodeName][field.DataSeq].length > 0) {
  90. rst = dataObj[field.DataNodeName][field.DataSeq][dataObj[field.DataNodeName][field.DataSeq].length - 1];
  91. }
  92. }
  93. }
  94. return rst;
  95. }
  96. }
  97. module.exports = JE;