jpc_helper_field.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. let JV = require('../jpc_value_define');
  2. let JpcFieldHelper = {
  3. getValue: function(dataField, valueIdx) {
  4. let rst = "";
  5. if (dataField && (dataField.length > valueIdx) && (valueIdx >= 0)) {
  6. rst = dataField[valueIdx];
  7. }
  8. return rst;
  9. },
  10. decorateValue: function (cell, controls) {
  11. if (controls) {
  12. let val = cell[JV.PROP_VALUE];
  13. let showZero = controls[cell[JV.PROP_CONTROL]][JV.PROP_SHOW_ZERO];
  14. if (showZero && showZero === 'F' ) {
  15. if (0.0 === 1.0 * (0 + val)) {
  16. cell[JV.PROP_VALUE] = "";
  17. }
  18. }
  19. }
  20. },
  21. findAndPutDataFieldIdx: function (rptTpl, tab_fields, rstFields, rstFieldsIdx, isEx) {
  22. //通过FieldID找到相关映射指标的位置IDX并记录下来,方便后续引用
  23. if (tab_fields) {
  24. let DTL_STR = isEx?JV.NODE_DETAIL_FIELDS_EX:JV.NODE_DETAIL_FIELDS;
  25. let detail_fields = rptTpl[JV.NODE_FIELD_MAP][DTL_STR];
  26. for (let i = 0; i < tab_fields.length; i++) {
  27. let isFounded = false;
  28. for (let j = 0; j < detail_fields.length; j++) {
  29. if (tab_fields[i]["FieldID"] === detail_fields[j]["ID"]) {
  30. isFounded = true;
  31. if (rstFields) rstFields.push(tab_fields[i]);
  32. if (rstFieldsIdx) rstFieldsIdx.push(j);
  33. break;
  34. }
  35. }
  36. if (!isFounded) {
  37. if (rstFields) rstFields.push(tab_fields[i]);
  38. if (rstFieldsIdx) rstFieldsIdx.push(JV.BLANK_FIELD_INDEX);
  39. }
  40. }
  41. }
  42. },
  43. findAutoHeightFieldIdx: function(rptTpl, tab_fields, rstFieldsIdx, isEx) {
  44. if (tab_fields) {
  45. let DTL_STR = isEx?JV.NODE_DETAIL_FIELDS_EX:JV.NODE_DETAIL_FIELDS;
  46. let detail_fields = rptTpl[JV.NODE_FIELD_MAP][DTL_STR];
  47. for (let i = 0; i < tab_fields.length; i++) {
  48. if (tab_fields[i][JV.PROP_IS_AUTO_HEIGHT]) {
  49. for (let j = 0; j < detail_fields.length; j++) {
  50. if (tab_fields[i]["FieldID"] === detail_fields[j]["ID"]) {
  51. let item = [];
  52. item[0] = j;
  53. item[1] = tab_fields[i];
  54. rstFieldsIdx.push(item);
  55. break;
  56. }
  57. }
  58. }
  59. }
  60. }
  61. }
  62. };
  63. module.exports = JpcFieldHelper;