|
@@ -2,7 +2,7 @@ let JV = require('../jpc_value_define');
|
|
let JpcFieldHelper = require('./jpc_helper_field');
|
|
let JpcFieldHelper = require('./jpc_helper_field');
|
|
|
|
|
|
let JpcCommonOutputHelper = {
|
|
let JpcCommonOutputHelper = {
|
|
- createCommonOutputWithoutDecorate: function (node, value, controls) {
|
|
|
|
|
|
+ createCommonOutputWithoutDecorate: function (node, value) {
|
|
let rst = {};
|
|
let rst = {};
|
|
//1. font/style/control
|
|
//1. font/style/control
|
|
rst[JV.PROP_FONT] = node[[JV.PROP_FONT]];
|
|
rst[JV.PROP_FONT] = node[[JV.PROP_FONT]];
|
|
@@ -10,20 +10,11 @@ let JpcCommonOutputHelper = {
|
|
rst[JV.PROP_STYLE] = node[[JV.PROP_STYLE]];
|
|
rst[JV.PROP_STYLE] = node[[JV.PROP_STYLE]];
|
|
//2. value
|
|
//2. value
|
|
rst[JV.PROP_VALUE] = value;
|
|
rst[JV.PROP_VALUE] = value;
|
|
- if (node[JV.PROP_FORMAT]) {
|
|
|
|
- if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
|
|
|
|
- let dotIdx = node[JV.PROP_FORMAT].indexOf(".");
|
|
|
|
- if (dotIdx >= 0) {
|
|
|
|
- rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(node[JV.PROP_FORMAT].length - dotIdx - 1);
|
|
|
|
- } else {
|
|
|
|
- rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] != null) {
|
|
|
|
|
|
+ innerFormat(node[JV.PROP_FORMAT], rst);
|
|
|
|
+ if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] !== null) {
|
|
rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
|
|
rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
|
|
}
|
|
}
|
|
- if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] != null) {
|
|
|
|
|
|
+ if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] !== null) {
|
|
rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
|
|
rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
|
|
}
|
|
}
|
|
return rst;
|
|
return rst;
|
|
@@ -37,24 +28,37 @@ let JpcCommonOutputHelper = {
|
|
//2. value
|
|
//2. value
|
|
rst[JV.PROP_VALUE] = value;
|
|
rst[JV.PROP_VALUE] = value;
|
|
JpcFieldHelper.decorateValue(rst, controls);
|
|
JpcFieldHelper.decorateValue(rst, controls);
|
|
- if (node[JV.PROP_FORMAT]) {
|
|
|
|
- if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
|
|
|
|
- let dotIdx = node[JV.PROP_FORMAT].indexOf(".");
|
|
|
|
- if (dotIdx >= 0) {
|
|
|
|
- rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(node[JV.PROP_FORMAT].length - dotIdx - 1);
|
|
|
|
- } else {
|
|
|
|
- rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] != null && rst[JV.PROP_VALUE] != "") {
|
|
|
|
|
|
+ innerFormat(node[JV.PROP_FORMAT], rst);
|
|
|
|
+ if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] !== null && rst[JV.PROP_VALUE] !== "") {
|
|
rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
|
|
rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
|
|
}
|
|
}
|
|
- if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] != null && rst[JV.PROP_VALUE] != "") {
|
|
|
|
|
|
+ if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] !== null && rst[JV.PROP_VALUE] !== "") {
|
|
rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
|
|
rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
|
|
}
|
|
}
|
|
return rst;
|
|
return rst;
|
|
}
|
|
}
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+function innerFormat(formatStr, rst) {
|
|
|
|
+ if (formatStr) {
|
|
|
|
+ if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
|
|
|
|
+ let dotIdx = formatStr.indexOf(".");
|
|
|
|
+ if (dotIdx >= 0) {
|
|
|
|
+ rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(formatStr.length - dotIdx - 1);
|
|
|
|
+ } else {
|
|
|
|
+ rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
|
|
|
|
+ }
|
|
|
|
+ let commaIdx = formatStr.indexOf(",");
|
|
|
|
+ if (commaIdx >= 0) {
|
|
|
|
+ rst[JV.PROP_VALUE] = comdify(rst[JV.PROP_VALUE].toString());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function comdify(numStr){
|
|
|
|
+ let re = /\d{1,3}(?=(\d{3})+$)/g;
|
|
|
|
+ return numStr.replace(/^(\d+)((\.\d+)?)$/,function(s,s1,s2){return s1.replace(re,"$&,")+s2;});
|
|
}
|
|
}
|
|
|
|
|
|
module.exports = JpcCommonOutputHelper;
|
|
module.exports = JpcCommonOutputHelper;
|