Browse Source

refactor(report): 报表模块化写法调整,让打包代码正常

vian 4 years atrás
parent
commit
88ebcea4cd
38 changed files with 2201 additions and 2248 deletions
  1. 2072 1845
      report/dist/index.cjs.js
  2. 6 1
      report/package.json
  3. 0 13
      report/rollup.config.js
  4. 1 1
      report/src/core/formulasDataSetter.ts
  5. 4 4
      report/src/core/formulasFun.ts
  6. 2 4
      report/src/core/helper/jpc_helper_area.ts
  7. 3 5
      report/src/core/helper/jpc_helper_band.ts
  8. 2 3
      report/src/core/helper/jpc_helper_common.ts
  9. 3 4
      report/src/core/helper/jpc_helper_common_output.ts
  10. 4 5
      report/src/core/helper/jpc_helper_cross_tab.ts
  11. 6 7
      report/src/core/helper/jpc_helper_discrete.ts
  12. 4 4
      report/src/core/helper/jpc_helper_field.ts
  13. 3 4
      report/src/core/helper/jpc_helper_flow_tab.ts
  14. 2 2
      report/src/core/helper/jpc_helper_font_width.ts
  15. 3 3
      report/src/core/helper/jpc_helper_text.ts
  16. 3 2
      report/src/core/index.ts
  17. 4 7
      report/src/core/jpc_band.ts
  18. 10 12
      report/src/core/jpc_bill_tab.ts
  19. 12 14
      report/src/core/jpc_cross_tab.ts
  20. 5 8
      report/src/core/jpc_data.ts
  21. 2 3
      report/src/core/jpc_event.ts
  22. 13 17
      report/src/core/jpc_ex.ts
  23. 3 5
      report/src/core/jpc_field.ts
  24. 13 15
      report/src/core/jpc_flow_tab.ts
  25. 2 4
      report/src/core/jpc_function.ts
  26. 2 4
      report/src/core/jpc_param.ts
  27. 4 6
      report/src/core/jpc_rte.ts
  28. 2 2
      report/src/core/jpc_value_define.ts
  29. 0 5
      report/src/interface/classType.ts
  30. 0 1
      report/src/interface/enum.ts
  31. 1 1
      report/src/interface/projectConstsEnum.ts
  32. 1 1
      report/src/public/ReportDate.ts
  33. 1 3
      report/src/public/index.ts
  34. 3 2
      report/src/public/reportNumber.ts
  35. 2 4
      report/src/public/rptCommon.ts
  36. 0 225
      report/src/public/scMathUtil.ts
  37. 2 2
      report/src/public/stringUtil.ts
  38. 1 0
      report/tsconfig.json

File diff suppressed because it is too large
+ 2072 - 1845
report/dist/index.cjs.js


+ 6 - 1
report/package.json

@@ -1,11 +1,15 @@
 {
   "name": "@sc/report",
-  "version": "3.0.4",
+  "version": "3.0.6",
   "description": "Smartcost Report Relative Module",
   "main": "./dist/index.cjs.js",
   "module": "./dist/index.esm.js",
   "browser": "./dist/index.min.js",
   "types": "./dist/index.d.ts",
+  "files": [
+    "dist",
+    "README.md"
+  ],
   "scripts": {
     "test": "echo \"Error: no test specnpified\" && exit 1",
     "build": "rollup -c"
@@ -43,6 +47,7 @@
     "typescript": "^4.0.5"
   },
   "dependencies": {
+    "@sc/util": "^1.0.9",
     "stream": "0.0.2",
     "uuid": "^8.3.0"
   }

+ 0 - 13
report/rollup.config.js

@@ -1,20 +1,7 @@
-// import resolve from 'rollup-plugin-node-resolve';
-// import commonjs from 'rollup-plugin-commonjs';
 import typescript from 'rollup-plugin-typescript2'; // 一定要是typescript2,如果使用typescript,没法自动生成.d.ts文件
-// import { terser } from 'rollup-plugin-terser';
 import pkg from './package.json';
 
 export default [
-  // UMD for browser
-  /* {
-    input: 'src/index.ts',
-    output: {
-      name: 'howLongUntilLunch',
-      file: pkg.browser,
-      format: 'umd',
-    },
-    plugins: [resolve(), commonjs(), typescript(), terser()], // 浏览器使用的代码文件进行简化
-  }, */
   // CommonJS for Node and ES module for bundlers build
   {
     input: 'src/index.ts',

+ 1 - 1
report/src/core/formulasDataSetter.ts

@@ -2,7 +2,7 @@
 import { Fields, ICurrent_RPT, IDataObj, IGroupField, IParam } from "../index";
 import { IParams } from "../interface/basic";
 import { IDataObjProps } from '../interface/enum';
-import ReportDate from '../public/ReportDate'
+import { ReportDate } from '../public/ReportDate'
 
 let FData: Record<string, IGroupField> = {};
 let PData: Record<string, IParam> = {};

+ 4 - 4
report/src/core/formulasFun.ts

@@ -1,10 +1,10 @@
 // 计算式执行(不同情况的方法会不同)
-import JE from './jpc_rte';
+import { JE } from './jpc_rte';
 import formulasDataSetter from './formulasDataSetter';
-import stringUtil from '../public/stringUtil'
-import useReportDate from '../public/ReportDate'
+import * as stringUtil from '../public/stringUtil'
+import { ReportDate as useReportDate } from '../public/ReportDate'
 import { ICurrent_RPT, IRptTpl, IDataObj, Fields } from '../interface/basic'
-import $JV from './jpc_value_define';
+import { JV as $JV } from './jpc_value_define';
 
 export const formulaExec = (runType: string, $CURRENT_TEMPLATE: IRptTpl, $CURRENT_DATA: IDataObj, $CURRENT_RPT: ICurrent_RPT) => {
     formulasDataSetter.setupData($CURRENT_RPT, $CURRENT_DATA);

+ 2 - 4
report/src/core/helper/jpc_helper_area.ts

@@ -2,9 +2,9 @@
 
 import { IPositionProps } from '../../index';
 import { IArea, IBandDetail } from '../../interface/basic';
-import JV from '../jpc_value_define';
+import { JV } from '../jpc_value_define';
 
-const JpcAreaHelper = {
+export const JpcAreaHelper = {
     outputArea: function (areaNode: IArea, band: IBandDetail, unitFactor: number, rowAmount: number, rowIdx: number, colAmount: number, colIdx: number,
         multipleDispCol: number, multipleColIdx: number, syncHeight: boolean, syncWidth: boolean) {
         let rst = {
@@ -94,5 +94,3 @@ const JpcAreaHelper = {
         return rst;
     }
 };
-
-export default JpcAreaHelper;

+ 3 - 5
report/src/core/helper/jpc_helper_band.ts

@@ -1,10 +1,10 @@
 'use strict';
 
 import { IBandDetail, IBands, IOrgBandDetail, IRptTpl } from '../../interface/basic';
-import JV from '../jpc_value_define';
-import JpcCommonHelper from './jpc_helper_common';
+import { JV } from '../jpc_value_define';
+import { JpcCommonHelper } from './jpc_helper_common';
 
-let JpcBandHelper = {
+export const JpcBandHelper = {
     getBandTypeValByString: function (bandType: string) {
         let rst = JV.PAGE_STATUS.indexOf(bandType);
         if (rst < 0) rst = JV.STATUS_NORMAL;
@@ -122,5 +122,3 @@ let JpcBandHelper = {
         }
     }
 };
-
-export default JpcBandHelper;

+ 2 - 3
report/src/core/helper/jpc_helper_common.ts

@@ -2,11 +2,11 @@
 
 import { IPositionProps } from '../../index';
 import { IArea, IControlCollection, IControlSubCollection, IRptTpl, IStyles } from '../../interface/basic';
-import JV from '../jpc_value_define';
+import { JV } from '../jpc_value_define';
 
 const RESOLUTION = [96, 96];
 
-const JpcCommonHelper = {
+export const JpcCommonHelper = {
     getResultByID(KeyID: string, collectionList: IStyles[][] | IControlSubCollection[][]) {
         let rst = null;
         if (KeyID) {
@@ -185,4 +185,3 @@ const JpcCommonHelper = {
     }
 };
 
-export default JpcCommonHelper;

+ 3 - 4
report/src/core/helper/jpc_helper_common_output.ts

@@ -1,11 +1,11 @@
 'use strict';
 
 import { Fields, ICell, IControlCollection } from '../../interface/basic';
-import JV from '../jpc_value_define';
-import JpcFieldHelper from './jpc_helper_field';
+import { JV } from '../jpc_value_define';
+import { JpcFieldHelper } from './jpc_helper_field';
 const OFFSET_FLOAT = 0.0000000001;
 
-let JpcCommonOutputHelper = {
+export let JpcCommonOutputHelper = {
     createCommonOutputWithoutDecorate: function (node: Fields, value: number | string, forceCombine: boolean) {
         let me = this,
             //1. font/style/control
@@ -89,4 +89,3 @@ function comdify(numStr: string) {
     return numStr.replace(/^(\d+)((\.\d+)?)$/, function (s, s1, s2) { return s1.replace(re, '$&,') + s2; });
 }
 
-export default JpcCommonOutputHelper;

+ 4 - 5
report/src/core/helper/jpc_helper_cross_tab.ts

@@ -1,9 +1,9 @@
-import JV from '../jpc_value_define';
-import JE from '../jpc_rte';
-import JpcCommonHelper from './jpc_helper_common';
+import { JV } from '../jpc_value_define';
+import { JE } from '../jpc_rte';
+import { JpcCommonHelper } from './jpc_helper_common';
 import { Fields, IBands, ICurrent_RPT, IRptTpl } from '../../interface/basic';
 
-let JpcCrossTabHelper = {
+export let JpcCrossTabHelper = {
     getColIDX: function (cl: number[][], val: number) {
         let rst = -1;
         for (let i = 0; i < cl.length; i++) {
@@ -256,4 +256,3 @@ function getActualContentAreaMeasurement(rptTpl: IRptTpl, tabNodeName: string, t
     return rst;
 };
 
-export default JpcCrossTabHelper;

+ 6 - 7
report/src/core/helper/jpc_helper_discrete.ts

@@ -1,12 +1,12 @@
-import JV from '../jpc_value_define';
-import JE from '../jpc_rte';
+import { JV } from '../jpc_value_define';
+import { JE } from '../jpc_rte';
 import JpcTextHelper from './jpc_helper_text';
-import JpcCommonOutputHelper from './jpc_helper_common_output';
-import JpcAreaHelper from './jpc_helper_area';
-import JpcFieldHelper from './jpc_helper_field';
+import { JpcCommonOutputHelper } from './jpc_helper_common_output';
+import { JpcAreaHelper } from './jpc_helper_area';
+import { JpcFieldHelper } from './jpc_helper_field';
 import { IBandDetail, IBands, ICell, ICurrent_RPT, ICustomizeCfg, IDataObj, IDiscrete } from '../../interface/basic';
 
-const JpcDiscreteHelper = {
+export const JpcDiscreteHelper = {
     outputDiscreteInfo: function (discreteArray: IDiscrete[], bands: IBands, dataObj: IDataObj | null, unitFactor: number, pageStatus: boolean[], segIdx: number, multiCols: number, multiColIdx: number, $CURRENT_RPT: ICurrent_RPT, customizeCfg: ICustomizeCfg | null) {
         let rst = [];
         if (discreteArray && dataObj) {
@@ -131,4 +131,3 @@ const JpcDiscreteHelper = {
     }
 }
 
-export default JpcDiscreteHelper;

+ 4 - 4
report/src/core/helper/jpc_helper_field.ts

@@ -1,10 +1,10 @@
 'use strict';
 
-import JV from '../jpc_value_define';
-import strUtil from '../../public/stringUtil';
+import { JV } from '../jpc_value_define';
+import * as strUtil from '../../public/stringUtil';
 import { Fields, IControlCollection, ICustomizeCfg, IGroupField, ICell, IOrgGroupField, IRptTpl } from '../../interface/basic';
 
-let JpcFieldHelper = {
+export let JpcFieldHelper = {
     getValue: function (dataField: string[] | null, valueIdx: number) {
         let rst = '';
         if (dataField && (dataField.length > valueIdx) && (valueIdx >= 0)) {
@@ -161,4 +161,4 @@ let JpcFieldHelper = {
     }
 };
 
-export default JpcFieldHelper;
+

+ 3 - 4
report/src/core/helper/jpc_helper_flow_tab.ts

@@ -1,10 +1,10 @@
 'use strict';
 
 import { IBands, IRptTpl } from '../../interface/basic';
-import JV from '../jpc_value_define';
-import JpcCommonHelper from './jpc_helper_common';
+import { JV } from '../jpc_value_define';
+import { JpcCommonHelper } from './jpc_helper_common';
 
-let JpcFlowTabHelper = {
+export let JpcFlowTabHelper = {
     getMaxRowsPerPage: function (bands: IBands, rptTpl: IRptTpl, isEx: boolean) {
         let rst = 1;
         let tab;
@@ -65,4 +65,3 @@ let JpcFlowTabHelper = {
     }
 };
 
-export default JpcFlowTabHelper;

+ 2 - 2
report/src/core/helper/jpc_helper_font_width.ts

@@ -2,7 +2,7 @@
  * Created by Tony on 2019/12/12.
  */
 
-const fontWidthMap = {
+export const fontWidthMap = {
     '宋体': {
         '宽': {
             '_6': 6,
@@ -510,4 +510,4 @@ const fontWidthMap = {
     }
 };
 
-export default fontWidthMap;
+

+ 3 - 3
report/src/core/helper/jpc_helper_text.ts

@@ -1,8 +1,8 @@
 'use strict';
 
-import JV from '../jpc_value_define';
-import JpcCommonOutputHelper from './jpc_helper_common_output';
-import JpcAreaHelper from './jpc_helper_area';
+import { JV } from '../jpc_value_define';
+import { JpcCommonOutputHelper } from './jpc_helper_common_output';
+import { JpcAreaHelper } from './jpc_helper_area';
 import { IBandDetail, Fields } from '../../interface/basic';
 
 let JpcTextHelper = {

+ 3 - 2
report/src/core/index.ts

@@ -1,12 +1,13 @@
+export * from './jpc_ex';
 export * from './jpc_band';
 export * from './jpc_bill_tab';
 export * from './jpc_cross_tab';
 export * from './jpc_data';
 export * from './jpc_event';
-export * from './jpc_ex';
 export * from './jpc_field';
 export * from './jpc_flow_tab';
 export * from './jpc_function';
 export * from './jpc_param';
 export * from './jpc_rte';
-export * from './jpc_value_define';
+export * from './jpc_value_define';
+

+ 4 - 7
report/src/core/jpc_band.ts

@@ -1,11 +1,10 @@
 'use strict';
 
-import JV from './jpc_value_define';
-import JpcCommonHelper from './helper/jpc_helper_common';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
 import { IBandDetail, IBands, IDefProperties, IOrgBandDetail, IRptTpl, } from '../interface/basic';
-import JpcBandHelper from './helper/jpc_helper_band';
+import { JpcBandHelper } from './helper/jpc_helper_band';
 
-const JpcBand = {
+export const JpcBand = {
     createNew(rptTpl: IRptTpl, defProperties: IDefProperties) {
         let me = this;
         let JpcBandResult: any = {};
@@ -54,6 +53,4 @@ const JpcBand = {
             }
         }
     }
-};
-
-export default JpcBand;
+};

+ 10 - 12
report/src/core/jpc_bill_tab.ts

@@ -1,12 +1,12 @@
-import JV from './jpc_value_define';
-import JE from './jpc_rte';
-import JpcFieldHelper from './helper/jpc_helper_field';
-import JpcBandHelper from './helper/jpc_helper_band';
-import JpcCommonHelper from './helper/jpc_helper_common';
-import JpcDiscreteHelper from './helper/jpc_helper_discrete';
+import { JV } from './jpc_value_define';
+import { JE } from './jpc_rte';
+import { JpcFieldHelper } from './helper/jpc_helper_field';
+import { JpcBandHelper } from './helper/jpc_helper_band';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
+import { JpcDiscreteHelper } from './helper/jpc_helper_discrete';
 import JpcTextHelper from './helper/jpc_helper_text';
-import JpcCommonOutputHelper from './helper/jpc_helper_common_output';
-import JpcAreaHelper from './helper/jpc_helper_area';
+import { JpcCommonOutputHelper } from './helper/jpc_helper_common_output';
+import { JpcAreaHelper } from './helper/jpc_helper_area';
 import {
     ICurrent_RPT,
     ICustomizeCfg,
@@ -16,7 +16,7 @@ import {
     IDataObj,
 } from '../interface/basic';
 import { IDataObjProps } from '../interface/enum'
-class JpcBillTabSrvClass {
+export class JpcBillTabSrvClass {
     disp_fields_idx: number[];
 
     constructor() {
@@ -171,6 +171,4 @@ class JpcBillTabSrvClass {
         }
         return rst;
     }
-}
-
-export default JpcBillTabSrvClass;
+}

+ 12 - 14
report/src/core/jpc_cross_tab.ts

@@ -1,16 +1,16 @@
 'use strict';
 
-import JV from './jpc_value_define';
-import JE from './jpc_rte';
-import JpcFieldHelper from './helper/jpc_helper_field';
-import JpcBandHelper from './helper/jpc_helper_band';
-import JpcBand from './jpc_band';
-import JpcCrossTabHelper from './helper/jpc_helper_cross_tab';
-import JpcCommonHelper from './helper/jpc_helper_common';
-import JpcDiscreteHelper from './helper/jpc_helper_discrete';
+import { JV } from './jpc_value_define';
+import { JE } from './jpc_rte';
+import { JpcFieldHelper } from './helper/jpc_helper_field';
+import { JpcBandHelper } from './helper/jpc_helper_band';
+import { JpcBand } from './jpc_band';
+import { JpcCrossTabHelper } from './helper/jpc_helper_cross_tab';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
+import { JpcDiscreteHelper } from './helper/jpc_helper_discrete';
 import JpcTextHelper from './helper/jpc_helper_text';
-import JpcCommonOutputHelper from './helper/jpc_helper_common_output';
-import JpcAreaHelper from './helper/jpc_helper_area';
+import { JpcCommonOutputHelper } from './helper/jpc_helper_common_output';
+import { JpcAreaHelper } from './helper/jpc_helper_area';
 import {
     Fields,
     IDefProperties,
@@ -25,7 +25,7 @@ import {
     IGroupField
 } from '../interface/basic';
 import { IDataObjProps, IPositionProps } from '../interface/enum'
-class JpcCrossTabClass {
+export class JpcCrossTabClass {
     dispValueIdxLst_Row: number[][];
     dispValueIdxLst_Col: any[];
     dispValueIdxLst_Content: number[][][];
@@ -841,6 +841,4 @@ function _SortForDisplayContent(rptTpl: IRptTpl, rowSeq: number[][][], colSeq: n
         result.push(ds);
     }
     return result;
-};
-
-export default JpcCrossTabClass;
+};

+ 5 - 8
report/src/core/jpc_data.ts

@@ -1,11 +1,10 @@
 'use strict';
 
-import JV from './jpc_value_define';
-import jpc_common_helper from './helper/jpc_helper_common';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
 import { IDataObj, IRptTpl } from '../interface/basic';
 import { IDataObjProps } from '../interface/enum';
 
-const JpcData = {
+export const JpcData = {
     createNew() {
         let JpcDataRst = {
             dataSeq: [],
@@ -18,7 +17,7 @@ const JpcData = {
                     if (rptTpl.指标_数据_映射[MASTER_FIELD_STR]) {
                         for (let i = 0; i < rptTpl.指标_数据_映射[MASTER_FIELD_STR].length; i++) {
                             let mstFieldObj = rptTpl.指标_数据_映射[MASTER_FIELD_STR][i];
-                            if (jpc_common_helper.getBoolean(mstFieldObj.isID)) {
+                            if (JpcCommonHelper.getBoolean(mstFieldObj.isID)) {
                                 masterIDs.push({ "idx": i, "seq": mstFieldObj.IDSeq });
                             }
                         }
@@ -27,7 +26,7 @@ const JpcData = {
                     if (rptTpl.指标_数据_映射[DETAIL_FIELD_STR]) {
                         for (let i = 0; i < rptTpl.指标_数据_映射[DETAIL_FIELD_STR].length; i++) {
                             let dtlFieldObj = rptTpl.指标_数据_映射[DETAIL_FIELD_STR][i];
-                            if (jpc_common_helper.getBoolean(dtlFieldObj.isID)) {
+                            if (JpcCommonHelper.getBoolean(dtlFieldObj.isID)) {
                                 detailIDs.push({ "idx": i, "seq": dtlFieldObj.IDSeq });
                             }
                         }
@@ -113,6 +112,4 @@ const JpcData = {
         };
         return JpcDataRst;
     }
-};
-
-export default JpcData;
+};

+ 2 - 3
report/src/core/jpc_event.ts

@@ -5,9 +5,9 @@
 
 import { IRptTpl } from '../interface/basic';
 import { IEventType } from '../interface/enum';
-import JV from './jpc_value_define';
+import { JV } from './jpc_value_define';
 
-const JpcEvent = {
+export const JpcEvent = {
     createNew(rptTpl: IRptTpl) {
         let rst = {
             GRP_ON_CREATE: {},          //bylish
@@ -38,4 +38,3 @@ const JpcEvent = {
     }
 };
 
-export default JpcEvent;

+ 13 - 17
report/src/core/jpc_ex.ts

@@ -1,16 +1,15 @@
 
-import JE from './jpc_rte'; //Important: for self-define function execution purpose
-import $JV from './jpc_value_define';
-import JpcBand from './jpc_band';
-import JpcFlowTab from './jpc_flow_tab';
-import JpcBillTab from './jpc_bill_tab';
-import JpcCrossTab from './jpc_cross_tab';
-import JpcField from './jpc_field';
-import JpcParam from './jpc_param';
-import JpcFunc from './jpc_function';
-import JpcEvent from './jpc_event';
-import JpcData from './jpc_data';
-import JpcCommonHelper from './helper/jpc_helper_common';
+import { JV } from './jpc_value_define';
+import { JpcBand } from './jpc_band';
+import { JpcFlowTabClass as JpcFlowTab } from './jpc_flow_tab';
+import { JpcBillTabSrvClass as JpcBillTab } from './jpc_bill_tab';
+import { JpcCrossTabClass as JpcCrossTab } from './jpc_cross_tab';
+import { JpcField } from './jpc_field';
+import { JpcParam } from './jpc_param';
+import { JpcFunc } from './jpc_function';
+import { JpcEvent } from './jpc_event';
+import { JpcData } from './jpc_data';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
 import { IDefProperties, IFormula, IParams, ICurrent_RPT, ICustomizeCfg, ITargetFields, IRptTpl, IDataObj, IBands, IControlCollection, IStyles, BorderStyle, IFontSubCollection, IControlSubCollection, IRstPage, IMergeBand } from '../interface/basic'
 import { IFlowTabClass, IBillTabClass, ICostTabClass } from '../interface/classType';
 import {  IPagingOption } from '../interface/enum';
@@ -18,8 +17,7 @@ import { Key } from 'readline';
 import {formulaExec} from './formulasFun'
 
 
-const JV=$JV;
-class JpcExClass {
+export class JpcExClass {
     flowTab!: IFlowTabClass;
     flowTabEx!: IFlowTabClass;
     billTab!: IBillTabClass;
@@ -403,6 +401,4 @@ function private_buildDftStyles(rptTpl: IRptTpl, dftStyleCollection: IStyles[] |
         }
     }
     return rst;
-}
-
-export default JpcExClass;
+}

+ 3 - 5
report/src/core/jpc_field.ts

@@ -1,9 +1,9 @@
 'use strict';
 
-import JV from './jpc_value_define';
+import { JV } from './jpc_value_define';
 import { IRptTpl, IGroupField, IOrgGroupField } from '../interface/basic'
 import { IDataObjProps } from '../interface/enum'
-const JpcField = {
+export const JpcField = {
     createNew(rptTpl: IRptTpl) {
         let me = this;
         let JpcFieldResult = {
@@ -71,6 +71,4 @@ const JpcField = {
             parentObj["ID_" + fieldNode.ID] = item;
         }
     }
-};
-
-export default JpcField;
+};

+ 13 - 15
report/src/core/jpc_flow_tab.ts

@@ -1,19 +1,19 @@
 'use strict';
 
-import JV from './jpc_value_define';
+import { JV } from './jpc_value_define';
 
-import JE from './jpc_rte';
-import JpcFieldHelper from './helper/jpc_helper_field';
-import JpcBandHelper from './helper/jpc_helper_band';
-import JpcBand from './jpc_band';
-import JpcFlowTabHelper from './helper/jpc_helper_flow_tab';
-import JpcCommonHelper from './helper/jpc_helper_common';
-import JpcDiscreteHelper from './helper/jpc_helper_discrete';
+import { JE } from './jpc_rte';
+import { JpcFieldHelper } from './helper/jpc_helper_field';
+import { JpcBandHelper } from './helper/jpc_helper_band';
+import { JpcBand } from './jpc_band';
+import { JpcFlowTabHelper } from './helper/jpc_helper_flow_tab';
+import { JpcCommonHelper } from './helper/jpc_helper_common';
+import { JpcDiscreteHelper } from './helper/jpc_helper_discrete';
 import JpcTextHelper from './helper/jpc_helper_text';
-import JpcCommonOutputHelper from './helper/jpc_helper_common_output';
-import JpcAreaHelper from './helper/jpc_helper_area';
-import strUtil from '../public/stringUtil';
-import fontWidthMap from './helper/jpc_helper_font_width';
+import { JpcCommonOutputHelper } from './helper/jpc_helper_common_output';
+import { JpcAreaHelper } from './helper/jpc_helper_area';
+import * as strUtil from '../public/stringUtil';
+import { fontWidthMap } from './helper/jpc_helper_font_width';
 import {
     Fields,
     IDefProperties,
@@ -37,7 +37,7 @@ import {
 } from '../interface/basic'
 import { combinedGridFormula } from './formulasFun';
 
-class JpcFlowTabClass {
+export class JpcFlowTabClass {
     isEx: boolean;
     paging_option: string;
     segments: number[][];
@@ -1533,5 +1533,3 @@ function combineAutoHeightCells(prepareObj: IPageAreaObj , page: number, control
     }
     return rst;
 }
-
-export default JpcFlowTabClass;

+ 2 - 4
report/src/core/jpc_function.ts

@@ -1,9 +1,9 @@
 'use strict';
 
 import { IRptTpl } from '../interface/basic';
-import JV from './jpc_value_define';
+import { JV } from './jpc_value_define';
 
-const JpcFunc = {
+export const JpcFunc = {
     createNew(rptTpl: IRptTpl) {
         let rst = [];
         if (rptTpl.计算式_集合) {
@@ -19,5 +19,3 @@ const JpcFunc = {
         return rst;
     }
 };
-
-export default JpcFunc;

+ 2 - 4
report/src/core/jpc_param.ts

@@ -1,9 +1,9 @@
 'use strict';
 
 import { IRptTpl, IOrgGroupField } from '../interface/basic';
-import JV from './jpc_value_define';
+import { JV } from './jpc_value_define';
 
-const JpcParam = {
+export const JpcParam = {
     createNew(rptTpl: IRptTpl) {
         let JpcParamResult = {};
         let me = this;
@@ -27,5 +27,3 @@ const JpcParam = {
         }
     }
 };
-
-export default JpcParam;

+ 4 - 6
report/src/core/jpc_rte.ts

@@ -3,12 +3,12 @@
  */
 
 
-import strUtil from '../public/stringUtil';
-import scMathUtil from '../public/scMathUtil';
-import JV from './jpc_value_define';
+import * as strUtil from '../public/stringUtil';
+import *  as scMathUtil from '@sc/util';
+import { JV } from './jpc_value_define';
 import { Fields, ICurrent_RPT, IDataObj } from '../interface/basic';
 import { IDataObjProps } from '../interface/enum';
-const JE = {
+export const JE = {
     $STR_UTIL: strUtil,
     $SC_MATH_UTIL: scMathUtil,
      //获取把数据中fields的相关对象,并准备赋值到该对象中的某个属性
@@ -185,5 +185,3 @@ const JE = {
         }
     }
 };
-
-export default JE;

+ 2 - 2
report/src/core/jpc_value_define.ts

@@ -1,4 +1,5 @@
-const VAL_DEF = {
+// VAL_DEF
+export const JV = {
     NODE_CROSS_INFO: '交叉表_信息',
     NODE_CROSS_ROW: '交叉行',
     NODE_CROSS_COL: '交叉列',
@@ -371,4 +372,3 @@ const VAL_DEF = {
     LAST_DEF: '',
 };
 
-export default VAL_DEF;

+ 0 - 5
report/src/interface/classType.ts

@@ -97,8 +97,3 @@ export interface ICostTabClass {
 
 
 }
-
-
-
-
-export default {}

+ 0 - 1
report/src/interface/enum.ts

@@ -129,4 +129,3 @@ export enum PAGES_SIZE {
     '16K' = 93,
 }
 
-export default {};

+ 1 - 1
report/src/interface/projectConstsEnum.ts

@@ -76,7 +76,7 @@ const rationType = {
     overHeight: 5, // 超高子目
     itemIncrease: 6//子目增加
 };
-export default {
+export {
     projectConst,
     commonConst,
     projectConstList,

+ 1 - 1
report/src/public/ReportDate.ts

@@ -1,6 +1,6 @@
 import { set } from 'lodash';
 
-export default class ReportDate extends Date {
+export class ReportDate extends Date {
  
   // prototype: any;
 

+ 1 - 3
report/src/public/index.ts

@@ -1,6 +1,4 @@
 export * from './ReportDate';
-export * from './scMathUtil';
 export * from './stringUtil';
-export * from './scMathUtil';
 export * from './rptCommon';
-export * from './reportNumber';
+// export * from './reportNumber';

+ 3 - 2
report/src/public/reportNumber.ts

@@ -1,5 +1,5 @@
 // 继承Number变量,在eval中使用
-import scMathUtil from './scMathUtil';
+/* import { roundForObj } from '@sc/util';
 
 export default class ReportNumber extends Number {
   toDecimal(ADigit: unknown) {
@@ -7,6 +7,7 @@ export default class ReportNumber extends Number {
       (ADigit != null || ADigit !== undefined) && typeof ADigit === 'number' && Number.isInteger(ADigit) && ADigit >= 0
         ? -ADigit
         : -2;
-    return scMathUtil.roundForObj(this, -digit);
+    return roundForObj(this, -digit);
   }
 }
+ */

+ 2 - 4
report/src/public/rptCommon.ts

@@ -2,7 +2,7 @@
 import { IRptTpl } from '../interface/basic';
 import { get } from 'lodash';
 
-import stringUtil from './stringUtil';
+import * as stringUtil from './stringUtil';
 import commonConstants from './commonConstants';
 
 // import StringUtil from './stringUtil';
@@ -143,6 +143,4 @@ export class RptCommon {
     }
     return rst;
   }
-}
-
-export default { RptCommon };
+}

+ 0 - 225
report/src/public/scMathUtil.ts

@@ -1,225 +0,0 @@
-/**
- * Created by Tony on 2017/4/14.
- */
-const zeroString = (length: number) => {
-    let result = '';
-    for (let i = 0; i < length; i++) {
-        result = result + '0';
-    };
-    return result;
-}
-
-const innerRoundTo = (num: number, digit: number) => {
-    let lFactor = Math.pow(10, digit);
-    let fOffSet = 0.5;
-    let sign = '';
-    // 处理符号
-    if (num < 0) {
-        sign = '-';
-        num = Math.abs(num);
-    }
-    // 计算
-    let result = Math.floor((num / lFactor) + fOffSet).toString();
-    let iLength = result.length;
-    // 因为数值被转为整数计算,当目标位数在小数点后,且数值小于0,需要补齐前面的位数
-    if (iLength < -digit) {
-        result = zeroString(-digit) + result;
-    }
-    // 当目标位数在小数点前,需要补齐后面的位数
-    else if ((digit > 0) && (iLength < digit)) {
-        result = result + zeroString(digit);
-    }
-    iLength = result.length;
-    // 获得小数点前的数字
-    let r1 = result.substring(0, iLength + digit);
-    // 获得小数点后的数字
-    let r2 = result.substring(iLength + digit, iLength);
-    // 拼出完整结果
-    return Number(sign + r1 + '.' + r2);
-}
-// 原来直接用num.toString(2),如果小数段最后位数是0,会被舍掉,导致进位计算bug
-// 改为自己计算二进制,固定为53位。
-// 经验证速度没有差别
-// 另:经手工验证,用num.toString(2)将十进制浮点数转换为二进制浮点数时,最后一位有错误的情况出现,例子(10.0311)
-const floatToBin = (num: number): string => {
-    let sign = '';
-    let dNum = num;
-    // 符号位
-    if (num < 0) {
-        sign = '-';
-        dNum = -num;
-    };
-    // 解析整数段
-    let iNum = Math.floor(dNum);
-    let iFactor;
-    let sResult1 = '';
-    // 计算二进制整数段
-    while (iNum > 0) {
-        iFactor = iNum % 2;
-        iNum = Math.floor(iNum / 2);
-        sResult1 = iFactor + sResult1;
-    }
-    // 判断是否有整数段
-    let bIntZero = sResult1 === '';
-    if (bIntZero) {
-        sResult1 = '0';
-    }
-    // 解析小数段
-    let fNum = dNum - Math.floor(dNum);
-    let sResult2 = '';
-    if (fNum > 0) {
-        // 双精度浮点数,尾数总长52位,因为第一位总是1,存储时已经被隐藏,所以有效位数为53位
-        // 由于js未对浮点数做优化,所以在有运算的情况下,误差会被放大,因此放弃一位有效位数来消除误差,二进制有效位数50位,十进制有效位数15位
-        const floatLength = 50;
-
-        let iLength;
-        // js的bug,浮点数直接取小数可能不能获得精确值,只有转成字符串,截取字符串中的小数段
-        let sNum = dNum.toString(10);
-        let iDot = sNum.indexOf('.');
-        sNum = '0' + sNum.substring(iDot, sNum.length);
-        fNum = Number(sNum);
-        // 有整数段,则小数位数为全部位数-整数位数
-        if (!bIntZero) {
-            iLength = floatLength - sResult1.length;
-        }
-        else {
-            iLength = floatLength;
-        }
-        // 计算二进制小数段
-        while (iLength > 0) {
-            fNum = fNum * 2;
-            iFactor = Math.floor(fNum);
-            fNum = fNum % 1;
-            sResult2 = sResult2 + iFactor;
-            if (iFactor > 0) {
-                bIntZero = false;
-            }
-            if (bIntZero && (iFactor === 0)) {
-                continue;
-            }
-            iLength--;
-        }
-    }
-    return sign + sResult1 + '.' + sResult2;
-}
-const binToFloat = (bin: string): string => {
-    let result = 0;
-    let iLength = bin.length;
-    let sign = '';
-    if (iLength > 0 && bin[0] === '-') {
-        sign = '-';
-        bin = bin.substring(1, iLength);
-    }
-    iLength = bin.length;
-    let iDot = bin.indexOf('.');
-    if (iDot >= 0) {
-        for (let i = 0; i < iLength; i++) {
-            let num = Number(bin[i]);
-            let idx = iDot - i;
-            if (idx === 0) {
-                continue
-            };
-            if (idx > 0) {
-                idx -= 1
-            };
-            let r = Math.pow(2, idx);
-            result += num * r;
-        }
-    }
-    else {
-        result = parseInt(bin, 2);
-    };
-    return sign + result;
-}
-
-const incMantissa = (bin: string): string => {
-    let result = bin;
-    let iDot = bin.indexOf('.');
-    if (iDot < 0) {
-        return result
-    };
-    let iLength = bin.length;
-    iLength = bin.length;
-    for (let i = iLength - 1; i > iDot; i--) {
-        let num = Number(bin[i]);
-        if (num === 0) {
-            num = 1;
-            let bin1 = bin.substring(0, i);
-            let bin2 = zeroString(iLength - (i + 1));//bin.substring(i + 1, iLength);
-            result = bin1 + num.toString() + bin2;
-            break;
-        }
-
-    };
-    return result;
-}
-
-const roundTo = (num: number, digit: number) => {
-
-    // let str1 = me.floatToBin(num);
-    // let str2 = me.incMantissa(str1);
-    // return me.innerRoundTo( parseFloat(me.binToFloat(str2)), digit);
-    return innerRoundTo(parseFloat(binToFloat(incMantissa(floatToBin(num)))), digit);
-}
-const isNumber = (obj: any) => {
-    return obj === +obj;
-}
-const roundForObj = (obj: any, decimal: number) => {
-
-    let value;
-    if (isNumber(obj)) {
-        value = roundTo(obj, -decimal)
-    } else {
-        value = roundTo(Number(obj), -decimal);
-    }
-    return value
-}
-const roundToString = (obj: any, decimal: number) => {
-
-    let value;
-    if (isNumber(obj)) {
-        value = roundTo(obj, -decimal)
-    } else {
-        value = roundTo(Number(obj), -decimal);
-    }
-    return value.toFixed(decimal);
-}
-// isNumOrFormula:function (text: any) {
-//     let value = Number(text);
-//     if(value ==0 ) return value;
-//     if (!value) {
-//         try {
-//             let exp = new Expression('');
-//             exp.Expression(text);
-//             value = Number(exp.Evaluate());
-//         } catch (error) {
-//             value = 0;
-//         }
-//     }
-//     if(text == null || text == ''){
-//         value = 0;
-//     }
-//     return value;
-// },
-const isDef = (v: any) => {
-    return v !== undefined && v !== null;
-}
-//获取ID引用
-const getFIDArr = (exp: any) => {
-    let fidRex = /@[\d,a-z,A-Z,-]{36}/g;
-    let fidArr = exp.match(fidRex);
-    return isDef(fidArr) ? fidArr : [];
-}
-export default {
-    innerRoundTo,
-    floatToBin,
-    binToFloat,
-    incMantissa,
-    roundTo,
-    isNumber,
-    roundForObj,
-    roundToString,
-    isDef,
-    getFIDArr
-
-}

+ 2 - 2
report/src/public/stringUtil.ts

@@ -1,5 +1,5 @@
 import Pinyin from './pinyin';
-import ReportDate from './ReportDate'
+import { ReportDate } from './ReportDate'
 
 const pinyin = new Pinyin();
 
@@ -149,7 +149,7 @@ const setupDateFormat=()=> {
   }
 
 
-export default {
+export {
     isEmptyString,
     trim,
     leftTrim,

+ 1 - 0
report/tsconfig.json

@@ -2,6 +2,7 @@
   "compilerOptions": {
     "target": "ESNext",
     "module": "ESNext",
+    "moduleResolution": "node",
     "declaration": true,
     "outDir": "./",
     "strict": true