jpc_helper_field.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. if (tab_fields) {
  23. let DTL_STR = isEx?JV.NODE_DETAIL_FIELDS_EX:JV.NODE_DETAIL_FIELDS;
  24. let detail_fields = rptTpl[JV.NODE_FIELD_MAP][DTL_STR];
  25. for (let i = 0; i < tab_fields.length; i++) {
  26. let isFounded = false;
  27. for (let j = 0; j < detail_fields.length; j++) {
  28. if (tab_fields[i]["FieldID"] === detail_fields[j]["ID"]) {
  29. isFounded = true;
  30. if (rstFields) rstFields.push(tab_fields[i]);
  31. if (rstFieldsIdx) rstFieldsIdx.push(j);
  32. break;
  33. }
  34. }
  35. if (!isFounded) {
  36. if (rstFields) rstFields.push(tab_fields[i]);
  37. if (rstFieldsIdx) rstFieldsIdx.push(JV.BLANK_FIELD_INDEX);
  38. }
  39. }
  40. }
  41. }
  42. };
  43. module.exports = JpcFieldHelper;