|
@@ -65,18 +65,31 @@ let JE = {
|
|
|
},
|
|
|
getFieldValue: function (field, dataObj, valIdx, dftVal) {
|
|
|
let rst = dftVal;
|
|
|
- if (!field.DataNodeName) {
|
|
|
- //that means this is a self-defined discrete field!
|
|
|
- field.DataNodeName = JV.DATA_DISCRETE_DATA;
|
|
|
- let len = dataObj[JV.DATA_DISCRETE_DATA];
|
|
|
- field.DataSeq = len;
|
|
|
- dataObj[JV.DATA_DISCRETE_DATA].push([]);
|
|
|
- }
|
|
|
- if (dataObj[field.DataNodeName][field.DataSeq].length > valIdx) {
|
|
|
- rst = dataObj[field.DataNodeName][field.DataSeq][valIdx];
|
|
|
+ if (field.DataNodeName === "NA") {
|
|
|
+ if (!field[JV.PROP_AD_HOC_DATA]) {
|
|
|
+ field[JV.PROP_AD_HOC_DATA] = [];
|
|
|
+ }
|
|
|
+ if (field[JV.PROP_AD_HOC_DATA].length > valIdx) {
|
|
|
+ rst = field[JV.PROP_AD_HOC_DATA][valIdx];
|
|
|
+ } else {
|
|
|
+ if (dftVal === null && field[JV.PROP_AD_HOC_DATA].length > 0) {
|
|
|
+ rst = field[JV.PROP_AD_HOC_DATA][field[JV.PROP_AD_HOC_DATA].length - 1];
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- if (dftVal === null && dataObj[field.DataNodeName][field.DataSeq].length > 0) {
|
|
|
- rst = dataObj[field.DataNodeName][field.DataSeq][dataObj[field.DataNodeName][field.DataSeq].length - 1];
|
|
|
+ if (!field.DataNodeName) {
|
|
|
+ //that means this is a self-defined discrete field!
|
|
|
+ field.DataNodeName = JV.DATA_DISCRETE_DATA;
|
|
|
+ let len = dataObj[JV.DATA_DISCRETE_DATA];
|
|
|
+ field.DataSeq = len;
|
|
|
+ dataObj[JV.DATA_DISCRETE_DATA].push([]);
|
|
|
+ }
|
|
|
+ if (dataObj[field.DataNodeName][field.DataSeq].length > valIdx) {
|
|
|
+ rst = dataObj[field.DataNodeName][field.DataSeq][valIdx];
|
|
|
+ } else {
|
|
|
+ if (dftVal === null && dataObj[field.DataNodeName][field.DataSeq].length > 0) {
|
|
|
+ rst = dataObj[field.DataNodeName][field.DataSeq][dataObj[field.DataNodeName][field.DataSeq].length - 1];
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return rst;
|