|
@@ -1,8 +1,6 @@
|
|
|
let JV = require('./jpc_value_define');
|
|
|
let JpcFieldHelper = require('./helper/jpc_helper_field');
|
|
|
let JpcBandHelper = require('./helper/jpc_helper_band');
|
|
|
-let JpcBand = require('./jpc_band');
|
|
|
-let JpcFlowTabHelper = require('./helper/jpc_helper_flow_tab');
|
|
|
let JpcCommonHelper = require('./helper/jpc_helper_common');
|
|
|
let JpcDiscreteHelper = require('./helper/jpc_helper_discrete');
|
|
|
let JpcTextHelper = require('./helper/jpc_helper_text');
|
|
@@ -20,11 +18,24 @@ JpcBillTabSrv.prototype.createNew = function(){
|
|
|
let me = this;
|
|
|
JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT][JV.PROP_BILL_FIELDS], null, me.disp_fields_idx);
|
|
|
};
|
|
|
- JpcBillTabResult.paging = function(rptTpl) {
|
|
|
- let me = this, rst = 0;
|
|
|
- let detail_fields = rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS];
|
|
|
- if (detail_fields && detail_fields.length > 0) {
|
|
|
- rst = detail_fields[0].length;
|
|
|
+ JpcBillTabResult.paging = function(rptTpl, dataObj) {
|
|
|
+ let rst = 0;
|
|
|
+ function getDataLength(fields_str) {
|
|
|
+ let dataFields = dataObj[fields_str];
|
|
|
+ if (dataFields && dataFields.length > 0) {
|
|
|
+ rst = dataFields[0].length;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP]) {
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
|
|
|
+ getDataLength(JV.DATA_DETAIL_DATA);
|
|
|
+ } else if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
|
|
|
+ getDataLength(JV.DATA_MASTER_DATA);
|
|
|
+ } else if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS]) {
|
|
|
+ getDataLength(JV.DATA_DISCRETE_DATA);
|
|
|
+ } else if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_PARAMS]) {
|
|
|
+ rst = 1;
|
|
|
+ }
|
|
|
}
|
|
|
return rst;
|
|
|
};
|
|
@@ -36,31 +47,42 @@ JpcBillTabSrv.prototype.createNew = function(){
|
|
|
//2. start to output detail-part
|
|
|
let unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
|
|
|
//2.1 output content
|
|
|
- tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus));
|
|
|
+ tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus, $CURRENT_RPT));
|
|
|
//2.2 output discrete
|
|
|
tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 1, 0, $CURRENT_RPT));
|
|
|
- }
|
|
|
- JpcBillTabResult.outputContent = function(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus) {
|
|
|
+ for (let i = 0; i < tabRstLst.length; i++) {
|
|
|
+ rst = rst.concat(tabRstLst[i]);
|
|
|
+ tabRstLst[i] = null;
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ };
|
|
|
+ JpcBillTabResult.outputContent = function(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus, $CURRENT_RPT) {
|
|
|
let me = this, rst = [];
|
|
|
let tab = rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT];
|
|
|
let band = bands[tab[JV.PROP_BAND_NAME]];
|
|
|
if (band) {
|
|
|
- if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
|
|
|
+ if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]]) {
|
|
|
let tab_fields = tab[JV.PROP_BILL_FIELDS];
|
|
|
- let data_details = dataObj[JV.DATA_MASTER_DATA];
|
|
|
+ let data_details = null;
|
|
|
+ if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
|
|
|
+ data_details = dataObj[JV.DATA_DETAIL_DATA];
|
|
|
+ } else if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
|
|
|
+ data_details = dataObj[JV.DATA_MASTER_DATA];
|
|
|
+ }
|
|
|
for (let i = 0; i < tab_fields.length; i++) {
|
|
|
let tab_field = tab_fields[i];
|
|
|
let data_field = null;
|
|
|
- if (me.disp_fields_idx[i] != JV.BLANK_FIELD_INDEX) {
|
|
|
+ if (me.disp_fields_idx.length > i && me.disp_fields_idx[i] !== JV.BLANK_FIELD_INDEX) {
|
|
|
data_field = data_details[me.disp_fields_idx[i]];
|
|
|
} else {
|
|
|
- data_field = JE.F(tab_field[JV.PROP_FIELD_ID]);
|
|
|
+ data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
|
|
|
if (data_field) {
|
|
|
data_field = data_field[JV.PROP_AD_HOC_DATA];
|
|
|
}
|
|
|
}
|
|
|
if (!(tab_field[JV.PROP_HIDDEN])) {
|
|
|
- let cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, JpcFieldHelper.getValue(data_field, page - 1), controls);
|
|
|
+ let val = JpcFieldHelper.getValue(data_field, page - 1);
|
|
|
+ let cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, val, controls);
|
|
|
cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, 1, 0, true, false);
|
|
|
rst.push(cellItem);
|
|
|
}
|
|
@@ -79,8 +101,8 @@ JpcBillTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
return rst;
|
|
|
- }
|
|
|
+ };
|
|
|
return JpcBillTabResult;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
module.exports = new JpcBillTabSrv();
|