|
@@ -4,13 +4,13 @@ import formulasDataSetter from './formulasDataSetter';
|
|
|
import * as stringUtil from '../public/stringUtil'
|
|
import * as stringUtil from '../public/stringUtil'
|
|
|
import { ReportDate as useReportDate } from '../public/ReportDate'
|
|
import { ReportDate as useReportDate } from '../public/ReportDate'
|
|
|
import { ICurrent_RPT, IRptTpl, IDataObj, Fields } from '../interface/basic'
|
|
import { ICurrent_RPT, IRptTpl, IDataObj, Fields } from '../interface/basic'
|
|
|
-import { JV } from './jpc_value_define';
|
|
|
|
|
|
|
+import { JV } from './jpc_value_define';
|
|
|
|
|
|
|
|
/* eslint-disable import/prefer-default-export */
|
|
/* eslint-disable import/prefer-default-export */
|
|
|
export const replaceAll = (FindText: RegExp | string, RepText: string, str: string): string => {
|
|
export const replaceAll = (FindText: RegExp | string, RepText: string, str: string): string => {
|
|
|
const regExp = new RegExp(FindText, 'g');
|
|
const regExp = new RegExp(FindText, 'g');
|
|
|
return str.replace(regExp, RepText);
|
|
return str.replace(regExp, RepText);
|
|
|
- };
|
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURRENT_DATA: IDataObj, $CURRENT_RPT: ICurrent_RPT) => {
|
|
export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURRENT_DATA: IDataObj, $CURRENT_RPT: ICurrent_RPT) => {
|
|
|
formulasDataSetter.setupData($CURRENT_RPT, $CURRENT_DATA);
|
|
formulasDataSetter.setupData($CURRENT_RPT, $CURRENT_DATA);
|
|
@@ -43,10 +43,10 @@ export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURREN
|
|
|
convertStrToBoolean,
|
|
convertStrToBoolean,
|
|
|
formatNumber,
|
|
formatNumber,
|
|
|
} = stringUtil;
|
|
} = stringUtil;
|
|
|
-
|
|
|
|
|
- const $JV= JV;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ const $JV = JV;
|
|
|
const $JE = JE;
|
|
const $JE = JE;
|
|
|
- const ReportDate = useReportDate;
|
|
|
|
|
|
|
+ const reportDate = useReportDate;
|
|
|
for (let execFmlIdx = 0; execFmlIdx < $CURRENT_RPT.formulas.length; execFmlIdx++) {
|
|
for (let execFmlIdx = 0; execFmlIdx < $CURRENT_RPT.formulas.length; execFmlIdx++) {
|
|
|
if ($CURRENT_RPT.formulas[execFmlIdx].run_type === runType) {
|
|
if ($CURRENT_RPT.formulas[execFmlIdx].run_type === runType) {
|
|
|
let expression = $CURRENT_RPT.formulas[execFmlIdx].expression;
|
|
let expression = $CURRENT_RPT.formulas[execFmlIdx].expression;
|
|
@@ -54,12 +54,12 @@ export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURREN
|
|
|
// 计算式集合,目前是放置打印信息的,用于配置属性的计算
|
|
// 计算式集合,目前是放置打印信息的,用于配置属性的计算
|
|
|
let $ME = $CURRENT_RPT.formulas[execFmlIdx];
|
|
let $ME = $CURRENT_RPT.formulas[execFmlIdx];
|
|
|
try {
|
|
try {
|
|
|
- let newExpression=expression;
|
|
|
|
|
|
|
+ let newExpression = expression;
|
|
|
const { format } = $ME;
|
|
const { format } = $ME;
|
|
|
// console.log(expression);
|
|
// console.log(expression);
|
|
|
//临时处理
|
|
//临时处理
|
|
|
if (expression.indexOf(`new Date(`)) {
|
|
if (expression.indexOf(`new Date(`)) {
|
|
|
- newExpression= replaceAll(/new Date\(/g, `new ReportDate(`,expression)
|
|
|
|
|
|
|
+ newExpression = replaceAll(/new Date\(/g, `new reportDate(`, expression)
|
|
|
}
|
|
}
|
|
|
eval(newExpression);
|
|
eval(newExpression);
|
|
|
} catch (ex) {
|
|
} catch (ex) {
|
|
@@ -69,10 +69,71 @@ export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURREN
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
formulasDataSetter.resetData();
|
|
formulasDataSetter.resetData();
|
|
|
- return {$JE,$JV};
|
|
|
|
|
|
|
+ return {
|
|
|
|
|
+ $JE,
|
|
|
|
|
+ $JV,
|
|
|
|
|
+ P,
|
|
|
|
|
+ F,
|
|
|
|
|
+ D,
|
|
|
|
|
+ L,
|
|
|
|
|
+ getCurrentPage,
|
|
|
|
|
+ getTotalPage,
|
|
|
|
|
+ setFieldValue,
|
|
|
|
|
+ setFieldValueArray,
|
|
|
|
|
+ removeFieldValue,
|
|
|
|
|
+ insertFieldValue,
|
|
|
|
|
+ setData,
|
|
|
|
|
+ getNumberArray,
|
|
|
|
|
+ copyPrecision,
|
|
|
|
|
+ copyFixedPrecisionNum,
|
|
|
|
|
+ copyProperty,
|
|
|
|
|
+ setDate,
|
|
|
|
|
+ DLength,
|
|
|
|
|
+ isEmptyString,
|
|
|
|
|
+ trim,
|
|
|
|
|
+ leftTrim,
|
|
|
|
|
+ rightTrim,
|
|
|
|
|
+ comdify,
|
|
|
|
|
+ convertToCaptionNum,
|
|
|
|
|
+ convertStrToBoolean,
|
|
|
|
|
+ formatNumber,
|
|
|
|
|
+ reportDate
|
|
|
|
|
+ };
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export const combinedGridFormula = ($RUN_TYPE: String, $TEXT: Fields, $TIMES: number, $CURRENT_RPT: ICurrent_RPT) => {
|
|
export const combinedGridFormula = ($RUN_TYPE: String, $TEXT: Fields, $TIMES: number, $CURRENT_RPT: ICurrent_RPT) => {
|
|
|
|
|
+ const {
|
|
|
|
|
+ $JE,
|
|
|
|
|
+ $JV,
|
|
|
|
|
+ P,
|
|
|
|
|
+ F,
|
|
|
|
|
+ D,
|
|
|
|
|
+ L,
|
|
|
|
|
+ getCurrentPage,
|
|
|
|
|
+ getTotalPage,
|
|
|
|
|
+ setFieldValue,
|
|
|
|
|
+ setFieldValueArray,
|
|
|
|
|
+ removeFieldValue,
|
|
|
|
|
+ insertFieldValue,
|
|
|
|
|
+ setData,
|
|
|
|
|
+ getNumberArray,
|
|
|
|
|
+ copyPrecision,
|
|
|
|
|
+ copyFixedPrecisionNum,
|
|
|
|
|
+ copyProperty,
|
|
|
|
|
+ setDate,
|
|
|
|
|
+ DLength,
|
|
|
|
|
+ isEmptyString,
|
|
|
|
|
+ trim,
|
|
|
|
|
+ leftTrim,
|
|
|
|
|
+ rightTrim,
|
|
|
|
|
+ comdify,
|
|
|
|
|
+ convertToCaptionNum,
|
|
|
|
|
+ convertStrToBoolean,
|
|
|
|
|
+ formatNumber,
|
|
|
|
|
+ reportDate
|
|
|
|
|
+ }=$CURRENT_RPT.formulasObject;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
if ($CURRENT_RPT.formulas) {
|
|
if ($CURRENT_RPT.formulas) {
|
|
|
for (let execFmlIdx = 0; execFmlIdx < $CURRENT_RPT.formulas.length; execFmlIdx++) {
|
|
for (let execFmlIdx = 0; execFmlIdx < $CURRENT_RPT.formulas.length; execFmlIdx++) {
|
|
|
if ($CURRENT_RPT.formulas[execFmlIdx].run_type === $RUN_TYPE) {
|
|
if ($CURRENT_RPT.formulas[execFmlIdx].run_type === $RUN_TYPE) {
|
|
@@ -89,5 +150,37 @@ export const combinedGridFormula = ($RUN_TYPE: String, $TEXT: Fields, $TIMES: nu
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
formulasDataSetter.resetData();
|
|
formulasDataSetter.resetData();
|
|
|
|
|
+
|
|
|
|
|
+ return {
|
|
|
|
|
+ $JE,
|
|
|
|
|
+ $JV,
|
|
|
|
|
+ P,
|
|
|
|
|
+ F,
|
|
|
|
|
+ D,
|
|
|
|
|
+ L,
|
|
|
|
|
+ getCurrentPage,
|
|
|
|
|
+ getTotalPage,
|
|
|
|
|
+ setFieldValue,
|
|
|
|
|
+ setFieldValueArray,
|
|
|
|
|
+ removeFieldValue,
|
|
|
|
|
+ insertFieldValue,
|
|
|
|
|
+ setData,
|
|
|
|
|
+ getNumberArray,
|
|
|
|
|
+ copyPrecision,
|
|
|
|
|
+ copyFixedPrecisionNum,
|
|
|
|
|
+ copyProperty,
|
|
|
|
|
+ setDate,
|
|
|
|
|
+ DLength,
|
|
|
|
|
+ isEmptyString,
|
|
|
|
|
+ trim,
|
|
|
|
|
+ leftTrim,
|
|
|
|
|
+ rightTrim,
|
|
|
|
|
+ comdify,
|
|
|
|
|
+ convertToCaptionNum,
|
|
|
|
|
+ convertStrToBoolean,
|
|
|
|
|
+ formatNumber,
|
|
|
|
|
+ reportDate
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
export default {};
|
|
export default {};
|