super-page-runtime 2.1.933 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/es/_virtual/_plugin-vue_export-helper.js +5 -7
  2. package/dist/es/assets/chart-themes/theme1.js +2 -6
  3. package/dist/es/assets/chart-themes/theme2.js +2 -6
  4. package/dist/es/assets/chart-themes/theme3.js +2 -6
  5. package/dist/es/components/runtime/index.d.ts +2 -1
  6. package/dist/es/components/runtime/utils/api/api-util.js +4 -7
  7. package/dist/es/components/runtime/utils/api/page-expose-util.js +137 -435
  8. package/dist/es/components/runtime/utils/assemblys-config.js +11 -367
  9. package/dist/es/components/runtime/utils/barcode-util.js +9 -33
  10. package/dist/es/components/runtime/utils/charts/chart-columnline-util.js +122 -306
  11. package/dist/es/components/runtime/utils/charts/chart-gauge-util.js +29 -68
  12. package/dist/es/components/runtime/utils/charts/chart-pie-util.js +68 -152
  13. package/dist/es/components/runtime/utils/charts/chart-radar-util.js +46 -124
  14. package/dist/es/components/runtime/utils/charts/chart-scatter-util.js +36 -99
  15. package/dist/es/components/runtime/utils/charts/chart-util.d.ts +1 -0
  16. package/dist/es/components/runtime/utils/charts/chart-util.js +226 -485
  17. package/dist/es/components/runtime/utils/common-util.js +76 -153
  18. package/dist/es/components/runtime/utils/eventBus.js +3 -9
  19. package/dist/es/components/runtime/utils/events/event-util.js +343 -727
  20. package/dist/es/components/runtime/utils/events/print-label.js +72 -140
  21. package/dist/es/components/runtime/utils/events/standard-event.d.ts +2 -2
  22. package/dist/es/components/runtime/utils/events/standard-event.js +810 -2299
  23. package/dist/es/components/runtime/utils/events/validator-util.js +222 -552
  24. package/dist/es/components/runtime/utils/form/date-shortcuts.js +28 -88
  25. package/dist/es/components/runtime/utils/form/scan-util.js +61 -162
  26. package/dist/es/components/runtime/utils/global-refs.js +53 -84
  27. package/dist/es/components/runtime/utils/i18n-util.js +11 -20
  28. package/dist/es/components/runtime/utils/interfaces/page-design-types.d.ts +2 -0
  29. package/dist/es/components/runtime/utils/interfaces/page-design-types.js +2 -7
  30. package/dist/es/components/runtime/utils/page-helper-util.js +278 -658
  31. package/dist/es/components/runtime/utils/page-init-util.d.ts +6 -1
  32. package/dist/es/components/runtime/utils/page-init-util.js +132 -370
  33. package/dist/es/components/runtime/utils/page-permission-util.js +22 -531
  34. package/dist/es/components/runtime/utils/page-store.d.ts +2 -2
  35. package/dist/es/components/runtime/utils/page-store.js +8 -12
  36. package/dist/es/components/runtime/utils/store-util.js +9 -13
  37. package/dist/es/components/runtime/utils/store.js +2 -2
  38. package/dist/es/components/runtime/utils/table-utils.js +45 -84
  39. package/dist/es/components/runtime/utils/tree-utils.js +17 -37
  40. package/dist/es/components/runtime/views/assemblys/button/button/button-runtime.vue.js +2 -2
  41. package/dist/es/components/runtime/views/assemblys/button/button/button-runtime.vue2.js +19 -75
  42. package/dist/es/components/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue.js +2 -2
  43. package/dist/es/components/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue2.js +14 -46
  44. package/dist/es/components/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue.js +2 -2
  45. package/dist/es/components/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue2.js +36 -132
  46. package/dist/es/components/runtime/views/assemblys/button/export-pdf/exportpdf-runtime.vue.js +2 -2
  47. package/dist/es/components/runtime/views/assemblys/button/export-pdf/exportpdf-runtime.vue2.js +4 -18
  48. package/dist/es/components/runtime/views/assemblys/button/print-label/printlabel-runtime.vue.js +2 -2
  49. package/dist/es/components/runtime/views/assemblys/button/print-label/printlabel-runtime.vue2.js +17 -107
  50. package/dist/es/components/runtime/views/assemblys/chart/column-line/column-line-runtime.vue.js +2 -2
  51. package/dist/es/components/runtime/views/assemblys/chart/column-line/column-line-runtime.vue2.js +50 -198
  52. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header-breadcrumb.vue.js +12 -42
  53. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header-breadcrumb.vue2.js +2 -2
  54. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header-group.vue.js +7 -60
  55. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header-group.vue2.js +2 -2
  56. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header.vue.js +52 -169
  57. package/dist/es/components/runtime/views/assemblys/chart/common/common-chart-header.vue2.js +2 -2
  58. package/dist/es/components/runtime/views/assemblys/chart/common/common-homepage-search.vue.js +44 -0
  59. package/dist/es/components/runtime/views/assemblys/chart/common/common-homepage-search.vue2.js +4 -0
  60. package/dist/es/components/runtime/views/assemblys/chart/gauge/gauge-runtime.vue.js +2 -2
  61. package/dist/es/components/runtime/views/assemblys/chart/gauge/gauge-runtime.vue2.js +32 -107
  62. package/dist/es/components/runtime/views/assemblys/chart/pie/pie-runtime.vue.js +2 -2
  63. package/dist/es/components/runtime/views/assemblys/chart/pie/pie-runtime.vue2.js +43 -164
  64. package/dist/es/components/runtime/views/assemblys/chart/radar/radar-runtime.vue.js +2 -2
  65. package/dist/es/components/runtime/views/assemblys/chart/radar/radar-runtime.vue2.js +32 -115
  66. package/dist/es/components/runtime/views/assemblys/chart/scatter/scatter-runtime.vue.js +2 -2
  67. package/dist/es/components/runtime/views/assemblys/chart/scatter/scatter-runtime.vue2.js +32 -116
  68. package/dist/es/components/runtime/views/assemblys/chart/table/chart-table-util.d.ts +34 -1
  69. package/dist/es/components/runtime/views/assemblys/chart/table/chart-table-util.js +253 -449
  70. package/dist/es/components/runtime/views/assemblys/chart/table/group-column-item.vue.js +4 -42
  71. package/dist/es/components/runtime/views/assemblys/chart/table/group-column-item.vue2.js +2 -2
  72. package/dist/es/components/runtime/views/assemblys/chart/table/group-column.vue.js +8 -62
  73. package/dist/es/components/runtime/views/assemblys/chart/table/group-column.vue2.js +2 -2
  74. package/dist/es/components/runtime/views/assemblys/chart/table/normal-column.vue.js +37 -231
  75. package/dist/es/components/runtime/views/assemblys/chart/table/normal-column.vue2.js +2 -2
  76. package/dist/es/components/runtime/views/assemblys/chart/table/table-pageination.vue.js +13 -62
  77. package/dist/es/components/runtime/views/assemblys/chart/table/table-pageination.vue2.js +2 -2
  78. package/dist/es/components/runtime/views/assemblys/chart/table/table-runtime.vue.js +2 -2
  79. package/dist/es/components/runtime/views/assemblys/chart/table/table-runtime.vue2.js +197 -510
  80. package/dist/es/components/runtime/views/assemblys/common/export-form-report-dialog.vue.d.ts +4 -4
  81. package/dist/es/components/runtime/views/assemblys/common/export-form-report-dialog.vue.js +29 -139
  82. package/dist/es/components/runtime/views/assemblys/common/export-form-report-dialog.vue2.js +2 -2
  83. package/dist/es/components/runtime/views/assemblys/common/remove-signer-dialog.vue.d.ts +6 -6
  84. package/dist/es/components/runtime/views/assemblys/common/remove-signer-dialog.vue.js +21 -125
  85. package/dist/es/components/runtime/views/assemblys/common/remove-signer-dialog.vue2.js +2 -2
  86. package/dist/es/components/runtime/views/assemblys/common/task-informition-dialog.vue.d.ts +6 -6
  87. package/dist/es/components/runtime/views/assemblys/common/task-informition-dialog.vue.js +16 -102
  88. package/dist/es/components/runtime/views/assemblys/common/task-informition-dialog.vue2.js +2 -2
  89. package/dist/es/components/runtime/views/assemblys/container/card/card-runtime.vue.js +2 -2
  90. package/dist/es/components/runtime/views/assemblys/container/card/card-runtime.vue2.js +18 -81
  91. package/dist/es/components/runtime/views/assemblys/container/collapse/collapse-runtime.vue.js +2 -2
  92. package/dist/es/components/runtime/views/assemblys/container/collapse/collapse-runtime.vue2.js +17 -82
  93. package/dist/es/components/runtime/views/assemblys/container/container/container-runtime.vue.js +2 -2
  94. package/dist/es/components/runtime/views/assemblys/container/container/container-runtime.vue2.js +14 -86
  95. package/dist/es/components/runtime/views/assemblys/container/flex/flex-runtime.vue.js +2 -2
  96. package/dist/es/components/runtime/views/assemblys/container/flex/flex-runtime.vue2.js +21 -79
  97. package/dist/es/components/runtime/views/assemblys/container/form/form-runtime.vue.js +2 -2
  98. package/dist/es/components/runtime/views/assemblys/container/form/form-runtime.vue2.js +16 -61
  99. package/dist/es/components/runtime/views/assemblys/container/iframe/iframe-runtime.vue.js +2 -2
  100. package/dist/es/components/runtime/views/assemblys/container/iframe/iframe-runtime.vue2.js +10 -37
  101. package/dist/es/components/runtime/views/assemblys/container/tabs/tabs-runtime.vue.js +2 -2
  102. package/dist/es/components/runtime/views/assemblys/container/tabs/tabs-runtime.vue2.js +38 -127
  103. package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue.js +2 -2
  104. package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue2.js +28 -76
  105. package/dist/es/components/runtime/views/assemblys/data/bar-code/barcode-runtime.vue.js +2 -2
  106. package/dist/es/components/runtime/views/assemblys/data/bar-code/barcode-runtime.vue2.js +61 -178
  107. package/dist/es/components/runtime/views/assemblys/data/table/main-table-runtime.vue.js +302 -803
  108. package/dist/es/components/runtime/views/assemblys/data/table/main-table-runtime.vue2.js +2 -2
  109. package/dist/es/components/runtime/views/assemblys/data/table/sub-table-runtime.vue.js +249 -594
  110. package/dist/es/components/runtime/views/assemblys/data/table/sub-table-runtime.vue2.js +2 -2
  111. package/dist/es/components/runtime/views/assemblys/data/table/table-runtime.vue.js +2 -2
  112. package/dist/es/components/runtime/views/assemblys/data/table/table-runtime.vue2.js +40 -115
  113. package/dist/es/components/runtime/views/assemblys/data/tree/tree-runtime.vue.js +2 -2
  114. package/dist/es/components/runtime/views/assemblys/data/tree/tree-runtime.vue2.js +56 -215
  115. package/dist/es/components/runtime/views/assemblys/error-render.vue.d.ts +4 -4
  116. package/dist/es/components/runtime/views/assemblys/error-render.vue.js +3 -21
  117. package/dist/es/components/runtime/views/assemblys/error-render.vue2.js +2 -2
  118. package/dist/es/components/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue.js +2 -2
  119. package/dist/es/components/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue2.js +42 -154
  120. package/dist/es/components/runtime/views/assemblys/form/common/title-suffix-element.vue.js +34 -98
  121. package/dist/es/components/runtime/views/assemblys/form/common/title-suffix-element.vue2.js +2 -2
  122. package/dist/es/components/runtime/views/assemblys/form/custom/custom-runtime.vue.js +2 -2
  123. package/dist/es/components/runtime/views/assemblys/form/custom/custom-runtime.vue2.js +52 -200
  124. package/dist/es/components/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue.js +2 -2
  125. package/dist/es/components/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue2.js +66 -239
  126. package/dist/es/components/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue.js +2 -2
  127. package/dist/es/components/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue2.js +31 -104
  128. package/dist/es/components/runtime/views/assemblys/form/divider/divider-runtime.vue.js +2 -2
  129. package/dist/es/components/runtime/views/assemblys/form/divider/divider-runtime.vue2.js +21 -59
  130. package/dist/es/components/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue.js +2 -2
  131. package/dist/es/components/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue2.js +51 -173
  132. package/dist/es/components/runtime/views/assemblys/form/input-number/input-number-runtime.vue.js +2 -2
  133. package/dist/es/components/runtime/views/assemblys/form/input-number/input-number-runtime.vue2.js +22 -103
  134. package/dist/es/components/runtime/views/assemblys/form/input-text/inputtext-runtime.vue.js +2 -2
  135. package/dist/es/components/runtime/views/assemblys/form/input-text/inputtext-runtime.vue2.js +57 -249
  136. package/dist/es/components/runtime/views/assemblys/form/label/label-runtime.vue.js +2 -2
  137. package/dist/es/components/runtime/views/assemblys/form/label/label-runtime.vue2.js +32 -174
  138. package/dist/es/components/runtime/views/assemblys/form/link/link-runtime.vue.js +2 -2
  139. package/dist/es/components/runtime/views/assemblys/form/link/link-runtime.vue2.js +28 -107
  140. package/dist/es/components/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue.js +4 -4
  141. package/dist/es/components/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue2.js +13 -50
  142. package/dist/es/components/runtime/views/assemblys/form/radio/radio-runtime.vue.js +2 -2
  143. package/dist/es/components/runtime/views/assemblys/form/radio/radio-runtime.vue2.js +61 -189
  144. package/dist/es/components/runtime/views/assemblys/form/rich-text/richtext-runtime.vue.js +2 -2
  145. package/dist/es/components/runtime/views/assemblys/form/rich-text/richtext-runtime.vue2.js +87 -244
  146. package/dist/es/components/runtime/views/assemblys/form/select/select-runtime.vue.js +2 -2
  147. package/dist/es/components/runtime/views/assemblys/form/select/select-runtime.vue2.js +77 -261
  148. package/dist/es/components/runtime/views/assemblys/form/separatelabel/separatelabel-runtime.vue.js +2 -2
  149. package/dist/es/components/runtime/views/assemblys/form/separatelabel/separatelabel-runtime.vue2.js +13 -57
  150. package/dist/es/components/runtime/views/assemblys/form/switch/switch-runtime.vue.js +2 -2
  151. package/dist/es/components/runtime/views/assemblys/form/switch/switch-runtime.vue2.js +30 -155
  152. package/dist/es/components/runtime/views/assemblys/form/tag/tag-runtime.vue.js +2 -2
  153. package/dist/es/components/runtime/views/assemblys/form/tag/tag-runtime.vue2.js +40 -129
  154. package/dist/es/components/runtime/views/assemblys/form/textarea/textarea-runtime.vue.js +2 -2
  155. package/dist/es/components/runtime/views/assemblys/form/textarea/textarea-runtime.vue2.js +22 -107
  156. package/dist/es/components/runtime/views/assemblys/home-chart-render.vue.d.ts +17 -0
  157. package/dist/es/components/runtime/views/assemblys/home-chart-render.vue.js +97 -0
  158. package/dist/es/components/runtime/views/assemblys/home-chart-render.vue2.js +4 -0
  159. package/dist/es/components/runtime/views/assemblys/object-render.vue.d.ts +1 -1
  160. package/dist/es/components/runtime/views/assemblys/object-render.vue.js +125 -254
  161. package/dist/es/components/runtime/views/assemblys/object-render.vue2.js +2 -2
  162. package/dist/es/components/runtime/views/assemblys/workflow/picture-flow/pictureflow-runtime.vue.js +2 -2
  163. package/dist/es/components/runtime/views/assemblys/workflow/picture-flow/pictureflow-runtime.vue2.js +18 -46
  164. package/dist/es/components/runtime/views/assemblys/workflow/text-history/textflow-runtime.vue.js +2 -2
  165. package/dist/es/components/runtime/views/assemblys/workflow/text-history/textflow-runtime.vue2.js +21 -49
  166. package/dist/es/components/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue.js +2 -2
  167. package/dist/es/components/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue2.js +20 -58
  168. package/dist/es/components/runtime/views/assemblys/workflow/workflow-node/workflownode-runtime.vue.js +2 -2
  169. package/dist/es/components/runtime/views/assemblys/workflow/workflow-node/workflownode-runtime.vue2.js +16 -53
  170. package/dist/es/components/runtime/views/home-chart.vue.d.ts +23 -0
  171. package/dist/es/components/runtime/views/home-chart.vue.js +36 -0
  172. package/dist/es/components/runtime/views/home-chart.vue2.js +4 -0
  173. package/dist/es/components/runtime/views/super-page-dialog.vue.d.ts +3 -3
  174. package/dist/es/components/runtime/views/super-page-dialog.vue.js +20 -134
  175. package/dist/es/components/runtime/views/super-page-dialog.vue2.js +2 -2
  176. package/dist/es/components/runtime/views/super-page.vue.d.ts +15 -6
  177. package/dist/es/components/runtime/views/super-page.vue.js +222 -708
  178. package/dist/es/components/runtime/views/super-page.vue2.js +2 -2
  179. package/dist/es/i18n/langs/cn.js +2 -55
  180. package/dist/es/i18n/langs/en.js +2 -55
  181. package/dist/es/index.d.ts +2 -2
  182. package/dist/es/index.js +6 -4
  183. package/package.json +3 -2
@@ -2,544 +2,348 @@ import { getParamNames, getValueFromVariable } from "../../../../utils/page-help
2
2
  import { getCustomFunc } from "../../../../utils/events/event-util.js";
3
3
  import { getMinValue, getMaxValue, getSumValue, getAvgValue } from "../../../../utils/charts/chart-util.js";
4
4
  class ExpressionEvaluator {
5
- static evaluate(pageContext, conditions, data2) {
6
- const expressions = conditions.map(
7
- (condition) => this.createExpression(pageContext, condition, data2)
8
- );
9
- const joinedExpression = expressions.join(" ");
10
- return this.evaluateExpression(joinedExpression);
5
+ static evaluate(e, t, o) {
6
+ const a = t.map((t2) => this.createExpression(e, t2, o)).join(" ");
7
+ return this.evaluateExpression(a);
11
8
  }
12
- static createExpression(pageContext, condition, data2) {
13
- const { propName, operator, propValue, leftBracket, rightBracket, joinSign, dataType } = condition;
14
- if (!propName || propName === "") {
15
- return "";
16
- }
17
- const value = getValueFromVariable(pageContext.entity, propName, data2);
18
- let expression2 = `${leftBracket} ${this.getComparisonExpression(value, operator, getValueFromVariable(pageContext.entity, propValue, data2), dataType)} ${rightBracket}`;
19
- if (joinSign) {
20
- if (joinSign === "and" || joinSign === "AND") {
21
- expression2 += "&&";
22
- } else if (joinSign === "or" || joinSign === "OR") {
23
- expression2 += "||";
24
- }
25
- }
26
- return expression2.trim();
9
+ static createExpression(e, t, o) {
10
+ const { propName: a, operator: r, propValue: n, leftBracket: s, rightBracket: l, joinSign: i, dataType: c } = t;
11
+ if (!a || "" === a) return "";
12
+ const u = getValueFromVariable(e.entity, a, o);
13
+ let p = `${s} ${this.getComparisonExpression(u, r, getValueFromVariable(e.entity, n, o), c)} ${l}`;
14
+ return i && ("and" === i || "AND" === i ? p += "&&" : "or" !== i && "OR" !== i || (p += "||")), p.trim();
27
15
  }
28
- static getComparisonExpression(value, operator, propValue, dataType) {
29
- if (!operator) {
30
- operator = "EQ";
31
- }
32
- const parsedValue = this.parseValue(value, dataType);
33
- const parsedPropValue = this.parseValue(propValue, dataType);
34
- switch (operator) {
16
+ static getComparisonExpression(e, t, o, a) {
17
+ t || (t = "EQ");
18
+ const r = this.parseValue(e, a), n = this.parseValue(o, a);
19
+ switch (t) {
35
20
  case "EQ":
36
- return `${parsedValue} === ${parsedPropValue}`;
21
+ return `${r} === ${n}`;
37
22
  case "GT":
38
- return `${parsedValue} > ${parsedPropValue}`;
23
+ return `${r} > ${n}`;
39
24
  case "LT":
40
- return `${parsedValue} < ${parsedPropValue}`;
25
+ return `${r} < ${n}`;
41
26
  case "GET":
42
- return `${parsedValue} >= ${parsedPropValue}`;
27
+ return `${r} >= ${n}`;
43
28
  case "LET":
44
- return `${parsedValue} <= ${parsedPropValue}`;
29
+ return `${r} <= ${n}`;
45
30
  case "NET":
46
- return `${parsedValue} !== ${parsedPropValue}`;
31
+ return `${r} !== ${n}`;
47
32
  case "CONTAIN":
48
- return `${parsedValue}.includes(${parsedPropValue})`;
33
+ return `${r}.includes(${n})`;
49
34
  case "NOT_CONTAIN":
50
- return `!${parsedValue}.includes(${parsedPropValue})`;
35
+ return `!${r}.includes(${n})`;
51
36
  case "IS_NULL":
52
- return `${parsedValue} === null`;
37
+ return `${r} === null`;
53
38
  case "IS_NOT_NULL":
54
- return `${parsedValue} !== null`;
39
+ return `${r} !== null`;
55
40
  default:
56
- throw new Error(`比较符号不匹配: ${operator}`);
41
+ throw new Error(`比较符号不匹配: ${t}`);
57
42
  }
58
43
  }
59
- static changeDataType(dataType) {
60
- let resultDataType = dataType;
61
- if (dataType) {
62
- if (dataType === "TEXT") {
63
- resultDataType = "string";
64
- } else if (dataType === "DATE" || dataType === "TIME") {
65
- resultDataType = "date";
66
- } else if (dataType === "DOUBLE" || dataType === "FLOAT" || dataType === "INTEGER" || dataType === "LONG" || dataType === "BOOLEAN") {
67
- resultDataType = "number";
68
- }
69
- }
70
- return resultDataType;
44
+ static changeDataType(e) {
45
+ let t = e;
46
+ return e && ("TEXT" === e ? t = "string" : "DATE" === e || "TIME" === e ? t = "date" : "DOUBLE" !== e && "FLOAT" !== e && "INTEGER" !== e && "LONG" !== e && "BOOLEAN" !== e || (t = "number")), t;
71
47
  }
72
- static parseValue(value, dataType) {
73
- dataType = this.changeDataType(dataType);
74
- switch (dataType) {
48
+ static parseValue(e, t) {
49
+ switch (t = this.changeDataType(t)) {
75
50
  case "number":
76
- return Number(value);
51
+ return Number(e);
77
52
  case "date":
78
- return new Date(value).getTime();
53
+ return new Date(e).getTime();
79
54
  case "string":
80
- return `"${value}"`;
55
+ return `"${e}"`;
81
56
  default:
82
- throw new Error(`数据类型解析错误: ${dataType}`);
57
+ throw new Error(`数据类型解析错误: ${t}`);
83
58
  }
84
59
  }
85
60
  static evaluateExpression(expression) {
86
61
  try {
87
62
  return eval(expression);
88
- } catch (error) {
89
- console.error("表达式错误:", expression, error);
63
+ } catch (e) {
90
64
  return false;
91
65
  }
92
66
  }
93
67
  }
94
- function getSummaryTitleColumn(configure) {
68
+ function getSummaryTitleColumn(e) {
95
69
  var _a;
96
- const result = {};
97
- if (((_a = configure.props.summaries) == null ? void 0 : _a.titleColumn) && configure.props.summaries.titleColumn.length > 0) {
98
- configure.props.summaries.titleColumn.forEach((item) => {
99
- result[item.prop] = item;
100
- });
101
- }
102
- return result;
70
+ const t = {};
71
+ return ((_a = e.props.summaries) == null ? void 0 : _a.titleColumn) && e.props.summaries.titleColumn.length > 0 && e.props.summaries.titleColumn.forEach((e2) => {
72
+ t[e2.prop] = e2;
73
+ }), t;
103
74
  }
104
- function getSummaryDataColumn(configure, type) {
75
+ function getSummaryDataColumn(e, t) {
105
76
  var _a;
106
- const result = {};
107
- if (((_a = configure.props.summaries) == null ? void 0 : _a.dataColumn) && configure.props.summaries.dataColumn.length > 0) {
108
- configure.props.summaries.dataColumn.forEach((item) => {
109
- var _a2;
110
- const columnConfigs = (_a2 = configure.items) == null ? void 0 : _a2.find(
111
- (columnItem) => item.prop === columnItem.props.base.prop
112
- );
113
- if (columnConfigs) {
114
- if (type === "table" && columnConfigs.props.base.tableSummary) {
115
- result[item.prop] = item;
116
- } else if (type === "group" && columnConfigs.props.base.groupSummary) {
117
- result[item.prop] = item;
118
- }
119
- }
120
- });
121
- }
122
- return result;
77
+ const o = {};
78
+ return ((_a = e.props.summaries) == null ? void 0 : _a.dataColumn) && e.props.summaries.dataColumn.length > 0 && e.props.summaries.dataColumn.forEach((a) => {
79
+ var _a2;
80
+ const r = (_a2 = e.items) == null ? void 0 : _a2.find((e2) => a.prop === e2.props.base.prop);
81
+ r && ("table" === t && r.props.base.tableSummary || "group" === t && r.props.base.groupSummary) && (o[a.prop] = a);
82
+ }), o;
123
83
  }
124
- function summaryStatistics(summaryColumn, data2, prop, pageContext) {
125
- let sumsIndex = "";
126
- const summaryMode = summaryColumn.summaryMode;
127
- const values = data2.map((item) => Number(item[prop])).filter((value) => !Number.isNaN(value));
128
- if (values.length > 0) {
129
- if (summaryMode === "custom") {
130
- const func = getCustomFunc(pageContext, summaryColumn.customFunc);
131
- if (func) {
132
- const resultValue = func.apply(func, [{ data: data2, prop }]);
133
- if (resultValue) {
134
- sumsIndex = ` ${resultValue}`;
135
- } else {
136
- sumsIndex = " N/A";
137
- }
138
- } else {
139
- sumsIndex = " N/A";
140
- }
141
- } else {
142
- switch (summaryMode) {
143
- case "sum":
144
- sumsIndex = ` ${values.reduce((prev, curr) => prev + curr, 0)}`;
145
- break;
146
- case "avg":
147
- sumsIndex = ` ${values.reduce((prev, curr) => prev + curr, 0) / values.length}`;
148
- break;
149
- case "min":
150
- sumsIndex = ` ${Math.min(...values)}`;
151
- break;
152
- case "max":
153
- sumsIndex = ` ${Math.max(...values)}`;
154
- break;
155
- default:
156
- sumsIndex = " N/A";
157
- }
158
- }
159
- } else {
160
- sumsIndex = " N/A";
84
+ function summaryStatistics(e, t, o, a) {
85
+ let r = "";
86
+ const n = e.summaryMode, s = t.map((e2) => Number(e2[o])).filter((e2) => !Number.isNaN(e2));
87
+ if (s.length > 0) if ("custom" === n) {
88
+ const n2 = getCustomFunc(a, e.customFunc);
89
+ if (n2) {
90
+ const e2 = n2.apply(n2, [{ data: t, prop: o }]);
91
+ r = e2 ? ` ${e2}` : " N/A";
92
+ } else r = " N/A";
93
+ } else switch (n) {
94
+ case "sum":
95
+ r = ` ${s.reduce((e2, t2) => e2 + t2, 0)}`;
96
+ break;
97
+ case "avg":
98
+ r = " " + s.reduce((e2, t2) => e2 + t2, 0) / s.length;
99
+ break;
100
+ case "min":
101
+ r = ` ${Math.min(...s)}`;
102
+ break;
103
+ case "max":
104
+ r = ` ${Math.max(...s)}`;
105
+ break;
106
+ default:
107
+ r = " N/A";
161
108
  }
162
- return sumsIndex;
109
+ else r = " N/A";
110
+ return r;
163
111
  }
164
- function replacePlaceholders(template, data2) {
165
- if (template) {
166
- return template.replace(/\$\{row\.(\w+)\}/g, (match, p1) => {
167
- return Object.prototype.hasOwnProperty.call(data2, p1) ? data2[p1] : "";
168
- });
169
- }
112
+ function replacePlaceholders(e, t) {
113
+ if (e) return e.replace(/\$\{row\.(\w+)\}/g, (e2, o) => Object.prototype.hasOwnProperty.call(t, o) ? t[o] : "");
170
114
  }
171
- function getHeaderCellStyleUtil(data2, runtimeStyle, props) {
115
+ function getHeaderCellStyleUtil(e, t, o) {
172
116
  var _a;
173
- const headerStyle = {};
174
- if (data2.column.property) {
175
- (_a = runtimeStyle.titleStyle) == null ? void 0 : _a.forEach((item) => {
176
- if (item.field && item.field.includes(data2.column.property)) {
177
- if (item.scopeFunc) {
178
- const func = getCustomFunc(props.pageContext, item.scopeFunc);
179
- if (func) {
180
- const funcResult = func.apply(func, [{ item, data: data2 }]);
181
- if (funcResult !== false) {
182
- copyStyle(headerStyle, item);
183
- }
184
- }
185
- } else {
186
- copyStyle(headerStyle, item);
187
- }
117
+ const a = {};
118
+ e.column.property && ((_a = t.titleStyle) == null ? void 0 : _a.forEach((t2) => {
119
+ if (t2.field && t2.field.includes(e.column.property)) if (t2.scopeFunc) {
120
+ const r2 = getCustomFunc(o.pageContext, t2.scopeFunc);
121
+ if (r2) {
122
+ false !== r2.apply(r2, [{ item: t2, data: e }]) && copyStyle(a, t2);
188
123
  }
189
- });
190
- }
191
- const cellTitleStytle = getCellStyleUtil(data2, runtimeStyle.cellTitleStyle, props);
192
- if (cellTitleStytle) {
193
- Object.assign(headerStyle, cellTitleStytle);
194
- }
195
- return headerStyle;
124
+ } else copyStyle(a, t2);
125
+ }));
126
+ const r = getCellStyleUtil(e, t.cellTitleStyle, o);
127
+ return r && Object.assign(a, r), a;
196
128
  }
197
- function getRowStyleUtil(data2, groupSummaryDataRowIndex, props) {
198
- const returnStyle = {};
199
- if (props.configure.style.rowStyle) {
200
- for (let i = 0; i < props.configure.style.rowStyle.length; i++) {
201
- const rowStyle = props.configure.style.rowStyle[i];
202
- if (rowStyle.scopeFunc) {
203
- const func = getCustomFunc(props.pageContext, rowStyle.scopeFunc);
204
- if (func) {
205
- const funcResult = func.apply(func, [{ data: data2 }]);
206
- if (funcResult !== void 0 && funcResult !== null && funcResult !== false) {
207
- copyStyle(returnStyle, rowStyle);
208
- }
209
- }
210
- } else if (rowStyle.matchingCondition) {
211
- const result = ExpressionEvaluator.evaluate(
212
- props.pageContext,
213
- rowStyle.matchingCondition,
214
- data2.row
215
- );
216
- if (result || result === void 0) {
217
- copyStyle(returnStyle, rowStyle);
218
- }
219
- } else {
220
- copyStyle(returnStyle, rowStyle);
129
+ function getRowStyleUtil(e, t, o) {
130
+ const a = {};
131
+ if (o.configure.style.rowStyle) for (let t2 = 0; t2 < o.configure.style.rowStyle.length; t2++) {
132
+ const r = o.configure.style.rowStyle[t2];
133
+ if (r.scopeFunc) {
134
+ const t3 = getCustomFunc(o.pageContext, r.scopeFunc);
135
+ if (t3) {
136
+ const o2 = t3.apply(t3, [{ data: e }]);
137
+ null != o2 && false !== o2 && copyStyle(a, r);
221
138
  }
222
- }
139
+ } else if (r.matchingCondition) {
140
+ const t3 = ExpressionEvaluator.evaluate(o.pageContext, r.matchingCondition, e.row);
141
+ (t3 || void 0 === t3) && copyStyle(a, r);
142
+ } else copyStyle(a, r);
223
143
  }
224
- if (groupSummaryDataRowIndex && groupSummaryDataRowIndex.length > 0 && groupSummaryDataRowIndex.indexOf(data2.rowIndex) !== -1) {
225
- const result = {};
226
- if (props.configure.style.collectStyle && props.configure.style.collectStyle.length > 0) {
227
- for (let i = 0; i < props.configure.style.collectStyle.length; i++) {
228
- const collectStyle = props.configure.style.collectStyle[i];
229
- copyStyle(result, collectStyle);
230
- }
144
+ if (t && t.length > 0 && -1 !== t.indexOf(e.rowIndex)) {
145
+ const e2 = {};
146
+ if (o.configure.style.collectStyle && o.configure.style.collectStyle.length > 0) for (let t2 = 0; t2 < o.configure.style.collectStyle.length; t2++) {
147
+ copyStyle(e2, o.configure.style.collectStyle[t2]);
231
148
  }
232
- if (Object.keys(result).length === 0) {
233
- result["background-color"] = "var(--el-table-row-hover-bg-color)";
234
- }
235
- return result;
149
+ return 0 === Object.keys(e2).length && (e2["background-color"] = "var(--el-table-row-hover-bg-color)"), e2;
236
150
  }
237
- return returnStyle;
151
+ return a;
238
152
  }
239
- function getCellStyleUtil(data2, cellStyles, props) {
240
- const cellStyle = {};
241
- if (cellStyles) {
242
- for (let i = 0; i < cellStyles.length; i++) {
243
- const columnsStyleSetting = cellStyles[i];
244
- if (isSetStyle(columnsStyleSetting)) {
245
- if (columnsStyleSetting.scopeFunc) {
246
- const func = getCustomFunc(props.pageContext, columnsStyleSetting.scopeFunc);
247
- if (func) {
248
- const funcResult = func.apply(func, [{ data: data2 }]);
249
- if (funcResult !== false) {
250
- copyStyle(cellStyle, columnsStyleSetting);
251
- }
252
- }
253
- } else if (columnsStyleSetting.matchingCondition) {
254
- const result = ExpressionEvaluator.evaluate(
255
- props.pageContext,
256
- columnsStyleSetting.matchingCondition,
257
- data2.row
258
- );
259
- if (result || result === void 0) {
260
- copyStyle(cellStyle, columnsStyleSetting);
261
- }
262
- } else {
263
- copyStyle(cellStyle, columnsStyleSetting);
264
- }
153
+ function getCellStyleUtil(e, t, o) {
154
+ const a = {};
155
+ if (t) for (let r = 0; r < t.length; r++) {
156
+ const n = t[r];
157
+ if (isSetStyle(n)) if (n.scopeFunc) {
158
+ const t2 = getCustomFunc(o.pageContext, n.scopeFunc);
159
+ if (t2) {
160
+ false !== t2.apply(t2, [{ data: e }]) && copyStyle(a, n);
265
161
  }
266
- }
162
+ } else if (n.matchingCondition) {
163
+ const t2 = ExpressionEvaluator.evaluate(o.pageContext, n.matchingCondition, e.row);
164
+ (t2 || void 0 === t2) && copyStyle(a, n);
165
+ } else copyStyle(a, n);
267
166
  }
268
- return cellStyle;
167
+ return a;
269
168
  }
270
- function isSetStyle(columnsStyleSetting) {
271
- let customStyle;
272
- if (columnsStyleSetting.customStyle) {
273
- customStyle = JSON.parse(columnsStyleSetting.customStyle);
274
- }
275
- if (columnsStyleSetting.style && Object.keys(columnsStyleSetting.style).length > 0 || customStyle && Object.keys(customStyle).length > 0) {
276
- return true;
277
- }
278
- return false;
169
+ function isSetStyle(e) {
170
+ let t;
171
+ return e.customStyle && (t = JSON.parse(e.customStyle)), !!(e.style && Object.keys(e.style).length > 0 || t && Object.keys(t).length > 0);
279
172
  }
280
- function copyStyle(target, source) {
281
- Object.assign(target, source.style);
282
- if (source.customStyle) {
283
- Object.assign(target, JSON.parse(source.customStyle));
284
- }
173
+ function copyStyle(e, t) {
174
+ Object.assign(e, t.style), t.customStyle && Object.assign(e, JSON.parse(t.customStyle));
285
175
  }
286
- function rowDataToColumn(data2, configure) {
287
- const groupByFields = configure.props.dataOrigin.groupField;
288
- const titleColumns = configure.props.dataOrigin.rowToColumn.titleColumns;
289
- const dataColumns = configure.props.dataOrigin.rowToColumn.dataColumns;
290
- const result = [];
291
- const groupedData = {};
292
- data2.forEach((item) => {
293
- const key2 = groupByFields.map((field) => item[field]).join("|");
294
- if (!groupedData[key2]) {
295
- const group = {};
296
- groupByFields.forEach((field) => group[field] = item[field]);
297
- groupedData[key2] = group;
298
- result.push(group);
176
+ function rowDataToColumn(e, t, o) {
177
+ const a = t.props.dataOrigin.groupField, r = t.props.dataOrigin.rowToColumn.titleColumns, n = t.props.dataOrigin.rowToColumn.dataColumns, s = [], l = {};
178
+ if (a && a.length > 0) e.forEach((e2) => {
179
+ const t2 = a.map((t3) => e2[t3]).join("|");
180
+ if (!l[t2]) {
181
+ const o2 = {};
182
+ a.forEach((t3) => o2[t3] = e2[t3]), l[t2] = o2, s.push(o2);
299
183
  }
300
- dataColumns.forEach((valueField) => {
301
- const columnNameParts = titleColumns.map((field) => item[field]);
302
- const columnName = `${columnNameParts.join("")}${valueField}`;
303
- groupedData[key2][columnName] = item[valueField];
184
+ n.forEach((o2) => {
185
+ const a2 = `${r.map((t3) => e2[t3]).join("")}${o2}`;
186
+ l[t2][a2] = e2[o2];
304
187
  });
305
188
  });
306
- return result;
307
- }
308
- function colDataToRow(data2, configure) {
309
- const groupByFields = configure.props.dataOrigin.groupField;
310
- const titleColumns = configure.props.dataOrigin.columnToRow.titleColumns;
311
- const dataColumns = configure.props.dataOrigin.columnToRow.dataColumns;
312
- const transColumns = configure.props.dataOrigin.columnToRow.transColumns;
313
- const dataColumnsMapping = configure.props.dataOrigin.columnToRow.dataColumnsMapping;
314
- if (data2.length === 0) {
315
- return data2;
316
- }
317
- const result = [];
318
- const newData = groupBy(data2, groupByFields);
319
- const dataColumnsConfig = dataColumns.reduce((max, current) => {
320
- return current.columns.length > max.columns.length ? current : max;
321
- }, dataColumns[0]);
322
- const dataColumnsAndNewColumnMapping = dataColumns.reduce((acc, item) => {
323
- item.columns.forEach((column) => {
324
- acc[column] = item.prop;
325
- });
326
- return acc;
327
- }, {});
328
- newData.forEach((item) => {
329
- dataColumnsConfig.columns.forEach((col) => {
330
- const newColumnsProp = dataColumnsConfig.prop;
331
- const dataRow = {};
332
- groupByFields.forEach((field) => {
333
- dataRow[field] = item[field];
189
+ else {
190
+ const t2 = [];
191
+ e.forEach((e2) => {
192
+ r.forEach((o2) => {
193
+ e2[o2] && t2.push(e2[o2]);
334
194
  });
335
- dataRow[newColumnsProp] = item[col];
336
- if (dataColumns.length > 1) {
337
- const columnMapping = dataColumnsMapping.find((item2) => item2.props.includes(col));
338
- if (columnMapping && columnMapping.props.length > 1) {
339
- columnMapping.props.forEach((prop) => {
340
- if (prop !== col && dataColumnsAndNewColumnMapping[prop]) {
341
- dataRow[dataColumnsAndNewColumnMapping[prop]] = item[prop];
342
- }
343
- });
344
- }
345
- }
346
- titleColumns.forEach((titleCol) => {
347
- const sourceTitleRenameConfigs = transColumns.filter(
348
- (transCol) => transCol.relatedTitle === titleCol.prop
349
- );
350
- let rename = false;
351
- if (sourceTitleRenameConfigs && sourceTitleRenameConfigs.length > 0) {
352
- sourceTitleRenameConfigs.forEach((item2) => {
353
- if (item2.columns.includes(col)) {
354
- dataRow[titleCol.prop] = item2.label;
355
- rename = true;
356
- return;
357
- }
358
- });
359
- }
360
- if (!rename) {
361
- dataRow[titleCol.prop] = col;
362
- }
195
+ }), n.forEach((t3) => {
196
+ const a2 = {}, n2 = o.find((e2) => {
197
+ var _a, _b;
198
+ return ((_b = (_a = e2.props) == null ? void 0 : _a.base) == null ? void 0 : _b.prop) === t3;
363
199
  });
364
- result.push(dataRow);
200
+ n2 && (a2.$GroupColumn = n2.props.base.name), e.forEach((e2) => {
201
+ r.forEach((o2) => {
202
+ const r2 = e2[o2], n3 = e2[t3];
203
+ a2[r2] = n3;
204
+ });
205
+ }), s.push(a2);
365
206
  });
366
- });
367
- return result;
207
+ }
208
+ return s;
368
209
  }
369
- function getColumnToRowTableConfig(configure) {
370
- const sourceConfig = configure.items;
371
- const groupField = configure.props.dataOrigin.groupField;
372
- const titleColumns = configure.props.dataOrigin.columnToRow.titleColumns;
373
- const dataColumns = configure.props.dataOrigin.columnToRow.dataColumns;
374
- const newTableColumns = [];
375
- groupField.forEach((field) => {
376
- if (sourceConfig) {
377
- const column = sourceConfig.find((item) => item.props.base.prop === field);
378
- if (column) {
379
- newTableColumns.push(column);
380
- }
381
- }
382
- });
383
- const newCols = [...titleColumns, ...dataColumns];
384
- newCols.forEach((field) => {
385
- if (sourceConfig) {
386
- const column = sourceConfig.find((item) => item.props.base.prop === field);
387
- if (column) {
388
- newTableColumns.push(column);
389
- } else {
390
- newTableColumns.push({
391
- uuid: (/* @__PURE__ */ new Date()).getTime(),
392
- // 生成新的UUID
393
- name: "",
394
- props: {
395
- base: {
396
- prop: field.prop,
397
- name: field.title,
398
- sortable: true,
399
- headerAlign: "center",
400
- align: "center",
401
- fixed: false,
402
- visible: true,
403
- dataType: "string"
404
- },
405
- format: {},
406
- size: {
407
- pc: {}
408
- }
409
- },
410
- style: {},
411
- componentIndex: 0,
412
- // 根据实际情况设置
413
- runtime: {
414
- common: {
415
- class: "",
416
- style: {
417
- pc_style: {},
418
- pc_class: ""
419
- }
420
- }
421
- }
210
+ function colDataToRow(e, t) {
211
+ const o = t.props.dataOrigin.groupField, a = t.props.dataOrigin.columnToRow.titleColumns, r = t.props.dataOrigin.columnToRow.dataColumns, n = t.props.dataOrigin.columnToRow.transColumns, s = t.props.dataOrigin.columnToRow.dataColumnsMapping;
212
+ if (0 === e.length) return e;
213
+ const l = [], i = groupBy(e, o), c = r.reduce((e2, t2) => t2.columns.length > e2.columns.length ? t2 : e2, r[0]), u = r.reduce((e2, t2) => (t2.columns.forEach((o2) => {
214
+ e2[o2] = t2.prop;
215
+ }), e2), {});
216
+ return i.forEach((e2) => {
217
+ c.columns.forEach((t2) => {
218
+ const i2 = c.prop, p = {};
219
+ if (o.forEach((t3) => {
220
+ p[t3] = e2[t3];
221
+ }), p[i2] = e2[t2], r.length > 1) {
222
+ const o2 = s.find((e3) => e3.props.includes(t2));
223
+ o2 && o2.props.length > 1 && o2.props.forEach((o3) => {
224
+ o3 !== t2 && u[o3] && (p[u[o3]] = e2[o3]);
422
225
  });
423
226
  }
424
- }
425
- });
426
- return newTableColumns;
227
+ a.forEach((e3) => {
228
+ const o2 = n.filter((t3) => t3.relatedTitle === e3.prop);
229
+ let a2 = false;
230
+ o2 && o2.length > 0 && o2.forEach((o3) => {
231
+ if (o3.columns.includes(t2)) return p[e3.prop] = o3.label, void (a2 = true);
232
+ }), a2 || (p[e3.prop] = t2);
233
+ }), l.push(p);
234
+ });
235
+ }), l;
427
236
  }
428
- function groupBy(data2, groupFields) {
429
- const grouped = {};
430
- data2.forEach((item) => {
431
- const key2 = groupFields.map((field) => item[field]).join("|");
432
- if (!grouped[key2]) {
433
- grouped[key2] = {
434
- ...item,
435
- // 复制所有字段
436
- records: []
437
- // 初始化记录数组
438
- };
439
- groupFields.forEach((field, index2) => {
440
- grouped[key2][field] = item[field];
441
- });
237
+ function getColumnToRowTableConfig(e) {
238
+ const t = e.items, o = e.props.dataOrigin.groupField, a = e.props.dataOrigin.columnToRow.titleColumns, r = e.props.dataOrigin.columnToRow.dataColumns, n = [];
239
+ o && o.length > 0 && o.forEach((e2) => {
240
+ if (t) {
241
+ const o2 = t.find((t2) => t2.props.base.prop === e2);
242
+ o2 && n.push(o2);
442
243
  }
443
- grouped[key2].records.push(item);
444
244
  });
445
- return Object.values(grouped).map((group) => ({
446
- ...group,
447
- // 复制所有分组信息
448
- records: void 0
449
- // 移除records字段,因为不需要展示
450
- }));
245
+ return [...a, ...r].forEach((e2) => {
246
+ if (t) {
247
+ const o2 = t.find((t2) => t2.props.base.prop === e2);
248
+ o2 ? n.push(o2) : n.push({ uuid: (/* @__PURE__ */ new Date()).getTime(), name: "", props: { base: { prop: e2.prop, name: e2.title, sortable: true, headerAlign: "center", align: "center", fixed: false, visible: true, dataType: "string" }, format: {}, size: { pc: {} } }, style: {}, componentIndex: 0, runtime: { common: { class: "", style: { pc_style: {}, pc_class: "" } } } });
249
+ }
250
+ }), n;
251
+ }
252
+ function groupBy(e, t) {
253
+ const o = {};
254
+ return e.forEach((e2) => {
255
+ const a = t.map((t2) => e2[t2]).join("|");
256
+ o[a] || (o[a] = { ...e2, records: [] }, t.forEach((t2, r) => {
257
+ o[a][t2] = e2[t2];
258
+ })), o[a].records.push(e2);
259
+ }), Object.values(o).map((e2) => ({ ...e2, records: void 0 }));
451
260
  }
452
261
  function getIndexColumn() {
453
- return {
454
- props: {
455
- base: {
456
- name: "序号",
457
- prop: "$index",
458
- columnWidth: 80,
459
- sortable: true,
460
- visible: true,
461
- displayOrder: 1,
462
- alignTitle: "center",
463
- alignContent: "center"
464
- }
465
- },
466
- events: [],
467
- style: {
468
- titleFont: {},
469
- contentFont: {},
470
- width: {},
471
- background: {},
472
- tableCell: [{ type: "", model: "" }],
473
- conentPadding: {},
474
- tittlePadding: {},
475
- border: {},
476
- shadow: {},
477
- tittleClass: ""
478
- }
479
- };
262
+ return { props: { base: { name: "序号", prop: "$index", columnWidth: 80, sortable: true, visible: true, displayOrder: 1, alignTitle: "center", alignContent: "center" } }, events: [], style: { titleFont: {}, contentFont: {}, width: {}, background: {}, tableCell: [{ type: "", model: "" }], conentPadding: {}, tittlePadding: {}, border: {}, shadow: {}, tittleClass: "" } };
263
+ }
264
+ function getNewColumnConfig(e, t, o, a) {
265
+ return { uuid: (/* @__PURE__ */ new Date()).getTime(), name: "", props: { base: { prop: e, name: t, displayOrder: o, sortable: true, headerAlign: "center", align: "center", fixed: false, visible: true, dataType: a }, format: {}, size: { pc: {} } }, style: {}, componentIndex: 0, runtime: { common: { class: "", style: { pc_style: {}, pc_class: "" } } } };
480
266
  }
481
267
  function computeFormula(itemConfs, datas, entity) {
482
268
  Object.keys(itemConfs).forEach((key) => {
483
269
  const paramNames = getParamNames(itemConfs[key]);
484
270
  datas.forEach((data, index) => {
485
271
  const totalValueMap = {};
486
- for (const paramName of paramNames) {
487
- if (paramName.startsWith("${min.")) {
488
- totalValueMap[paramName] = getMinValue(datas, getFieldName(paramName));
489
- } else if (paramName.startsWith("${max.")) {
490
- totalValueMap[paramName] = getMaxValue(datas, getFieldName(paramName));
491
- } else if (paramName.startsWith("${sum.")) {
492
- totalValueMap[paramName] = getSumValue(datas, getFieldName(paramName));
493
- } else if (paramName.startsWith("${avg.")) {
494
- totalValueMap[paramName] = getAvgValue(datas, getFieldName(paramName));
495
- } else if (paramName.startsWith("${add.")) {
496
- const fieldName = getFieldName(paramName);
497
- let currentRowValue = 0;
498
- try {
499
- currentRowValue = Number(data[fieldName]);
500
- datas.slice(0, index).forEach((item) => {
501
- currentRowValue += Number(item[fieldName]);
502
- });
503
- } catch (e) {
504
- console.error("计算错误:", e);
505
- currentRowValue = 0;
506
- }
507
- totalValueMap[paramName] = currentRowValue;
508
- } else if (paramName.startsWith("${page.") || paramName.startsWith("${data.") || paramName.startsWith("${row.") || paramName.startsWith("${request.") || paramName.startsWith("${context.") || paramName.startsWith("${system.") || paramName.startsWith("${fixed.")) {
509
- totalValueMap[paramName] = getValueFromVariable(entity, paramName, data);
272
+ for (const e of paramNames) if (e.startsWith("${min.")) totalValueMap[e] = getMinValue(datas, getFieldName(e));
273
+ else if (e.startsWith("${max.")) totalValueMap[e] = getMaxValue(datas, getFieldName(e));
274
+ else if (e.startsWith("${sum.")) totalValueMap[e] = getSumValue(datas, getFieldName(e));
275
+ else if (e.startsWith("${avg.")) totalValueMap[e] = getAvgValue(datas, getFieldName(e));
276
+ else if (e.startsWith("${add.")) {
277
+ const t = getFieldName(e);
278
+ let o = 0;
279
+ try {
280
+ o = Number(data[t]), datas.slice(0, index).forEach((e2) => {
281
+ o += Number(e2[t]);
282
+ });
283
+ } catch (e2) {
284
+ o = 0;
510
285
  }
511
- }
286
+ totalValueMap[e] = o;
287
+ } else (e.startsWith("${page.") || e.startsWith("${data.") || e.startsWith("${row.") || e.startsWith("${request.") || e.startsWith("${context.") || e.startsWith("${system.") || e.startsWith("${fixed.")) && (totalValueMap[e] = getValueFromVariable(entity, e, data));
512
288
  let expr = itemConfs[key];
513
- Object.keys(totalValueMap).forEach((exprParam) => {
514
- if (expr.indexOf(exprParam) > -1) {
515
- expr = expr.replaceAll(exprParam, totalValueMap[exprParam]);
516
- }
289
+ Object.keys(totalValueMap).forEach((e) => {
290
+ expr.indexOf(e) > -1 && (expr = expr.replaceAll(e, totalValueMap[e]));
517
291
  });
518
- for (const paramName of paramNames) {
519
- if (expr.indexOf(paramName) > -1) {
520
- expr = expr.replaceAll(paramName, 0);
521
- }
522
- }
292
+ for (const e of paramNames) expr.indexOf(e) > -1 && (expr = expr.replaceAll(e, 0));
523
293
  try {
524
294
  data[key] = eval(expr);
525
295
  } catch (e) {
526
- console.error(itemConfs[key] + " 计算错误, 替换后表达式为:" + expr, e);
527
296
  data[key] = 0;
528
297
  }
529
298
  });
530
299
  });
531
300
  }
532
- function getFieldName(paramName) {
533
- return paramName.substring(6, paramName.length - 1);
301
+ function getFieldName(e) {
302
+ return e.substring(6, e.length - 1);
303
+ }
304
+ function formatColContent(e, t, o, a, r) {
305
+ const n = e[o.props.base.prop];
306
+ switch (t.type) {
307
+ case "number":
308
+ return formatNumber(n, t);
309
+ case "currency":
310
+ return formatCurrency(n, t);
311
+ case "percent":
312
+ return formatPercent(n, t);
313
+ case "custom":
314
+ return formatCustomFunc(e, t, o, a, r);
315
+ default:
316
+ return n;
317
+ }
318
+ }
319
+ function formatNumber(e, t) {
320
+ let o = e;
321
+ return o || (o = 0), t.scientific && (o = Number(e).toExponential(t.scientificNum)), t.decimalDigit && (o = Number(e).toFixed(t.decimalDigit)), t.thousandsSeparator && (o = o.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")), t.symbol && (o = `${t.symbol} ${o}`), o;
322
+ }
323
+ function formatCurrency(e, t) {
324
+ let o = e;
325
+ return o || (o = 0), t.decimalDigit && (o = Number(e).toFixed(t.decimalDigit)), t.symbol && (o = `${t.symbol} ${o}`), o;
326
+ }
327
+ function formatPercent(e, t) {
328
+ let o = e;
329
+ return o || (o = 0), t.decimalDigit && (o = Number(e).toFixed(t.decimalDigit)), o + " %";
330
+ }
331
+ function formatCustomFunc(e, t, o, a, r) {
332
+ const n = getCustomFunc(a, t.customFunc);
333
+ if (n) {
334
+ return n.apply(n, [{ pageContext: a, configureObj: r, row: e, prop: o.props.base.prop }]);
335
+ }
534
336
  }
535
337
  export {
536
338
  ExpressionEvaluator,
537
339
  colDataToRow,
538
340
  computeFormula,
341
+ formatColContent,
539
342
  getCellStyleUtil,
540
343
  getColumnToRowTableConfig,
541
344
  getHeaderCellStyleUtil,
542
345
  getIndexColumn,
346
+ getNewColumnConfig,
543
347
  getRowStyleUtil,
544
348
  getSummaryDataColumn,
545
349
  getSummaryTitleColumn,