sohelp-eleplus 1.1.13

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 (191) hide show
  1. package/README.md +7 -0
  2. package/cache/DictCache.js +58 -0
  3. package/cache/ModuleCache.js +352 -0
  4. package/components.js +45 -0
  5. package/core-export.js +4 -0
  6. package/http/CrudHttp.js +115 -0
  7. package/http/DictHttp.js +12 -0
  8. package/http/ModuleHttp.js +68 -0
  9. package/http/SohelpHttp.js +125 -0
  10. package/index.js +6 -0
  11. package/installer.js +8 -0
  12. package/lang/en_US.js +4 -0
  13. package/lang/zh_CN.js +4 -0
  14. package/lang/zh_TW.js +4 -0
  15. package/package.json +9 -0
  16. package/sohelp-ace-editor/index.vue +198 -0
  17. package/sohelp-application-select/index.vue +15 -0
  18. package/sohelp-autocode/index.vue +53 -0
  19. package/sohelp-calendar-view/index.vue +11 -0
  20. package/sohelp-card-view/index.vue +11 -0
  21. package/sohelp-condition/index.vue +210 -0
  22. package/sohelp-cry-input/index.vue +64 -0
  23. package/sohelp-date/index.vue +27 -0
  24. package/sohelp-datetime/index.vue +44 -0
  25. package/sohelp-datetime-picker/index.vue +86 -0
  26. package/sohelp-datetime-range/index.vue +59 -0
  27. package/sohelp-dict/index.vue +207 -0
  28. package/sohelp-dict/props.js +68 -0
  29. package/sohelp-drawer/index.vue +31 -0
  30. package/sohelp-drop-card/index.vue +94 -0
  31. package/sohelp-drop-card/props.js +68 -0
  32. package/sohelp-dyn-select/index.vue +99 -0
  33. package/sohelp-dyn-select/props.js +67 -0
  34. package/sohelp-dyn-tree/index.vue +82 -0
  35. package/sohelp-dyn-tree-select/index.vue +114 -0
  36. package/sohelp-entity-form/index.vue +524 -0
  37. package/sohelp-entity-grid/index.vue +30 -0
  38. package/sohelp-file-upload/index.vue +218 -0
  39. package/sohelp-filter-scheme/components/condition.vue +102 -0
  40. package/sohelp-filter-scheme/components/filter.vue +45 -0
  41. package/sohelp-filter-scheme/components/keywords.vue +15 -0
  42. package/sohelp-filter-scheme/components/scheme.vue +49 -0
  43. package/sohelp-filter-scheme/index.vue +113 -0
  44. package/sohelp-grid/SohelpGridConfig.js~ +408 -0
  45. package/sohelp-grid/components/filter-condition-item.vue +298 -0
  46. package/sohelp-grid/index.vue +1886 -0
  47. package/sohelp-grid/js/ConditionType.js +101 -0
  48. package/sohelp-grid/js/DefaultGridOptions.js +141 -0
  49. package/sohelp-grid/js/DefaultProps.js +27 -0
  50. package/sohelp-grid/js/SohelpConfigFunction.js +0 -0
  51. package/sohelp-grid/js/SohelpGridConfig.js +101 -0
  52. package/sohelp-grid/js/useSohelpGridConfig.js +519 -0
  53. package/sohelp-grid-select/index.vue +245 -0
  54. package/sohelp-grid-view/filter/config/grid-filter-condition.vue +221 -0
  55. package/sohelp-grid-view/filter/config/grid-filter-config.vue +27 -0
  56. package/sohelp-grid-view/filter/config/grid-filter-field.vue +378 -0
  57. package/sohelp-grid-view/filter/config/grid-filter-keywords.vue +310 -0
  58. package/sohelp-grid-view/filter/config/grid-filter-list.vue +313 -0
  59. package/sohelp-grid-view/filter/config/grid-filter-scheme.vue +264 -0
  60. package/sohelp-grid-view/filter/config/grid-filter-sort.vue +310 -0
  61. package/sohelp-grid-view/filter/config/index.vue +206 -0
  62. package/sohelp-grid-view/filter/filter-form.vue +427 -0
  63. package/sohelp-grid-view/filter/filter-toolbar.vue +110 -0
  64. package/sohelp-grid-view/filter/index.vue +160 -0
  65. package/sohelp-grid-view/index.vue +379 -0
  66. package/sohelp-grid-view-select/index.vue +141 -0
  67. package/sohelp-group-view/index.vue +11 -0
  68. package/sohelp-icon-select/index.vue +96 -0
  69. package/sohelp-icon-select/vxeui-icon.js +90 -0
  70. package/sohelp-image-upload/index.vue +286 -0
  71. package/sohelp-input/index.vue +39 -0
  72. package/sohelp-modal/index.vue +49 -0
  73. package/sohelp-module/index.vue +54 -0
  74. package/sohelp-module/useModalManager.js +89 -0
  75. package/sohelp-module/useSohelpModule.js +66 -0
  76. package/sohelp-number-input/index.vue +32 -0
  77. package/sohelp-number-range/index.vue +135 -0
  78. package/sohelp-org-select/index.vue +30 -0
  79. package/sohelp-org-tree/index.vue +18 -0
  80. package/sohelp-org-tree-select/index.vue +93 -0
  81. package/sohelp-org-user-tree/index.vue +26 -0
  82. package/sohelp-org-user-tree-select/index.vue +11 -0
  83. package/sohelp-pagination/index.vue +11 -0
  84. package/sohelp-power/index.vue +105 -0
  85. package/sohelp-pro-form/components/pro-form-footer.vue +44 -0
  86. package/sohelp-pro-form/components/pro-form-item.vue +1133 -0
  87. package/sohelp-pro-form/index.vue +257 -0
  88. package/sohelp-pro-form/util.js +140 -0
  89. package/sohelp-pro-layout/index.vue +11 -0
  90. package/sohelp-pro-table/index.vue +14 -0
  91. package/sohelp-process/index.vue +216 -0
  92. package/sohelp-rate/index.vue +56 -0
  93. package/sohelp-rate/props.js +71 -0
  94. package/sohelp-relation/index.vue +11 -0
  95. package/sohelp-rich-text/index.vue +242 -0
  96. package/sohelp-rich-text/util.js +231 -0
  97. package/sohelp-richtext/index.vue +10 -0
  98. package/sohelp-role-select/index.vue +33 -0
  99. package/sohelp-search/components/search-config.vue +0 -0
  100. package/sohelp-search/index.vue +49 -0
  101. package/sohelp-search-pro-form/index.vue +11 -0
  102. package/sohelp-select/index.vue +120 -0
  103. package/sohelp-split-panel/index.vue +15 -0
  104. package/sohelp-switch/index.vue +56 -0
  105. package/sohelp-table/index.vue +151 -0
  106. package/sohelp-tenant-select/index.vue +128 -0
  107. package/sohelp-text/index.vue +14 -0
  108. package/sohelp-textarea-input/index.vue +36 -0
  109. package/sohelp-time/index.vue +10 -0
  110. package/sohelp-tree/index.vue +37 -0
  111. package/sohelp-tree-select/index.vue +18 -0
  112. package/sohelp-user-select/index.vue +44 -0
  113. package/sohelp-user-select/index.vue~ +53 -0
  114. package/sohelp-user-select/props.js +71 -0
  115. package/sohelp-user-tag/index.vue +12 -0
  116. package/sohelp-user-tree/index.vue +11 -0
  117. package/sohelp-vform-drawer/index.vue +40 -0
  118. package/sohelp-vform-eleplus/favicon.ico +0 -0
  119. package/sohelp-vform-eleplus/index.vue +297 -0
  120. package/sohelp-vform-eleplus/preview.html +91 -0
  121. package/sohelp-vform-eleplus/render.es.js +72433 -0
  122. package/sohelp-vform-eleplus/render.style.css +16 -0
  123. package/sohelp-vform-eleplus/render.umd.js +57 -0
  124. package/sohelp-vform-eleplus/tinymce/langs/zh_CN.js +462 -0
  125. package/sohelp-vform-eleplus/tinymce/langs/zh_TW.js +419 -0
  126. package/sohelp-vform-eleplus/tinymce/skins/content/dark/content.css +72 -0
  127. package/sohelp-vform-eleplus/tinymce/skins/content/dark/content.min.css +7 -0
  128. package/sohelp-vform-eleplus/tinymce/skins/content/default/content.css +67 -0
  129. package/sohelp-vform-eleplus/tinymce/skins/content/default/content.min.css +7 -0
  130. package/sohelp-vform-eleplus/tinymce/skins/content/document/content.css +72 -0
  131. package/sohelp-vform-eleplus/tinymce/skins/content/document/content.min.css +7 -0
  132. package/sohelp-vform-eleplus/tinymce/skins/content/writer/content.css +68 -0
  133. package/sohelp-vform-eleplus/tinymce/skins/content/writer/content.min.css +7 -0
  134. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.css +732 -0
  135. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.inline.css +726 -0
  136. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
  137. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.min.css +7 -0
  138. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.mobile.css +29 -0
  139. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
  140. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  141. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.css +3047 -0
  142. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.min.css +7 -0
  143. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.mobile.css +673 -0
  144. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
  145. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.shadowdom.css +37 -0
  146. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  147. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.css +714 -0
  148. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.inline.css +726 -0
  149. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
  150. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
  151. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.mobile.css +29 -0
  152. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
  153. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  154. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.css +3047 -0
  155. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
  156. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.mobile.css +673 -0
  157. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
  158. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
  159. package/sohelp-vform-eleplus/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  160. package/sohelp-vform-modal/index.vue +41 -0
  161. package/sohelp-vform-select/index.vue +11 -0
  162. package/sohelp-vform-vant/favicon.ico +0 -0
  163. package/sohelp-vform-vant/render.es.js +14608 -0
  164. package/sohelp-vform-vant/render.style.css +1 -0
  165. package/sohelp-vform-vant/render.umd.js +22 -0
  166. package/sohelp-vxe-grid/DefaultGridOptions.js +102 -0
  167. package/sohelp-vxe-grid/DefaultProps.js +37 -0
  168. package/sohelp-vxe-grid/SohelpGridConfig.js +142 -0
  169. package/sohelp-vxe-grid/index.vue +518 -0
  170. package/sohelp-vxe-grid-select/index.vue +148 -0
  171. package/sohelp-vxe-table/index.vue +184 -0
  172. package/sohelp-workflow/index.vue +495 -0
  173. package/sohelp-workflow/nodeWrap.vue +53 -0
  174. package/sohelp-workflow/nodes/addNode.vue +27 -0
  175. package/sohelp-workflow/nodes/approver.vue +125 -0
  176. package/sohelp-workflow/nodes/branch.vue +434 -0
  177. package/sohelp-workflow/nodes/promoter.vue +80 -0
  178. package/sohelp-workflow/nodes/send.vue +95 -0
  179. package/sohelp-workflow-drawer/components/approval-modal.vue +182 -0
  180. package/sohelp-workflow-drawer/components/draw-box.vue +141 -0
  181. package/sohelp-workflow-drawer/components/form.vue +79 -0
  182. package/sohelp-workflow-drawer/components/table.vue +153 -0
  183. package/sohelp-workflow-drawer/components/timeline.vue +189 -0
  184. package/sohelp-workflow-drawer/components/workflow.vue +68 -0
  185. package/sohelp-workflow-drawer/index.vue +311 -0
  186. package/sohelp-workflow-drawer/js/index.js +119 -0
  187. package/style/index.scss +0 -0
  188. package/utils/ProFormConvertUtil.js +76 -0
  189. package/utils/core.js +310 -0
  190. package/utils/use-form-data.js +48 -0
  191. package/utils/use-mobile.js +43 -0
@@ -0,0 +1,101 @@
1
+ export const comparisonOptions = [
2
+ {
3
+ title: "包含",
4
+ i18n: "grid.filter.like",
5
+ command: "LIKE"
6
+ },
7
+ {
8
+ title: "不包含",
9
+ i18n: "grid.filter.not_like",
10
+ command: "NOT_LIKE"
11
+ },
12
+ {
13
+ title: "等于",
14
+ i18n: "grid.filter.eq",
15
+ command: "EQ"
16
+ },
17
+ {
18
+ title: "不等于",
19
+ i18n: "grid.filter.ne",
20
+ command: "NE"
21
+ },
22
+ {
23
+ title: "大于",
24
+ i18n: "grid.filter.gt",
25
+ command: "GT"
26
+ },
27
+ {
28
+ title: "小于",
29
+ i18n: "grid.filter.lt",
30
+ command: "LT"
31
+ },
32
+ {
33
+ title: "大于等于",
34
+ i18n: "grid.filter.gte",
35
+ command: "GTE"
36
+ },
37
+ {
38
+ title: "小于等于",
39
+ i18n: "grid.filter.lte",
40
+ command: "LTE"
41
+ },
42
+ {
43
+ title: "左包含",
44
+ i18n: "grid.filter.left_like",
45
+ command: "LEFT_LIKE"
46
+ },
47
+ {
48
+ title: "右包含",
49
+ i18n: "grid.filter.right_like",
50
+ command: "RIGHT_LIKE"
51
+ },
52
+ {
53
+ title: "为空",
54
+ i18n: "grid.filter.empty",
55
+ command: "EMPTY"
56
+ },
57
+ {
58
+ title: "不为空",
59
+ i18n: "grid.filter.not_empty",
60
+ command: "NOT_EMPTY"
61
+ }
62
+ ];
63
+
64
+ export const TYPE = {
65
+ STRING: ["LIKE", "NOT_LIKE", "LEFT_LIKE", "RIGHT_LIKE", "EQ", "NE", "EMPTY", "NOT_EMPTY"],
66
+ NUMBER: ["LIKE", "NOT_LIKE", "EQ", "NE", "EMPTY", "NOT_EMPTY", "LT", "GT", "GTE", "LTE"],
67
+ RELATION: ["LIKE", "NOT_LIKE", "EMPTY", "NOT_EMPTY"],
68
+ DICT: ["LIKE", "NOT_LIKE", "EMPTY", "NOT_EMPTY"],
69
+ DATE: ["LIKE", "NOT_LIKE", "EMPTY", "NOT_EMPTY"],
70
+ BOOLEAN: ["EQ", "NE", "EMPTY", "NOT_EMPTY"],
71
+ ALL: comparisonOptions.map((item) => item.command)
72
+ };
73
+
74
+ export const comparisonType = {
75
+ "": TYPE.STRING,
76
+
77
+ SohelpAutocode:TYPE.STRING,
78
+ SohelpDict: TYPE.RELATION,
79
+ SohelpDynSelect: TYPE.ALL,
80
+ SohelpUserSelect: TYPE.RELATION,
81
+ SohelpRoleSelect: TYPE.RELATION,
82
+ SohelpOrgTreeSelect: TYPE.RELATION,
83
+ SohelpRate: TYPE.NUMBER,
84
+ SohelpProcess: TYPE.NUMBER,
85
+ SohelpTreeSelect: TYPE.RELATION,
86
+ SohelpTableSelect: TYPE.RELATION,
87
+ SohelpFileUpload: TYPE.RELATION,
88
+ SohelpImageUpload: TYPE.RELATION,
89
+ SohelpSwitch: TYPE.BOOLEAN,
90
+ SohelpNumberInput: TYPE.NUMBER,
91
+ SohelpSelect: TYPE.ALL,
92
+ SohelpTextarea: TYPE.STRING,
93
+ SohelpInput: TYPE.STRING,
94
+ SohelpRichText: TYPE.STRING,
95
+ SohelpRadio: TYPE.ALL,
96
+ SohelpCheckbox: TYPE.ALL,
97
+ SohelpDatetimeRange: TYPE.NUMBER,
98
+ SohelpDate: TYPE.NUMBER,
99
+ SohelpDatetime: TYPE.NUMBER,
100
+ SohelpTime: TYPE.NUMBER
101
+ };
@@ -0,0 +1,141 @@
1
+ export default {
2
+ id: 'sohelp-grid',
3
+ customConfig: {
4
+ placement: 'top-right' // 自定义列工具栏位置
5
+ },
6
+ rowConfig: {
7
+ useKey: true, //sortable 排序
8
+ sHover: true,
9
+ isCurrent: true,
10
+ resizable: true,
11
+ drag: true
12
+ },
13
+ rowDragConfig: {
14
+ showGuidesStatus: true
15
+ },
16
+ resizableConfig: {
17
+ isAllRowDrag: true,
18
+ isAllColumnDrag: true
19
+ },
20
+ filterConfig: {
21
+ remote: true,
22
+ transfer: true
23
+ },
24
+ editConfig: {
25
+ trigger: 'click',
26
+ mode: 'cell',
27
+ autoClear: false,
28
+ autoFocus: true,
29
+ showInsertStatus: true,
30
+ showUpdateStatus: true
31
+ },
32
+ keyboardConfig: {
33
+ isEdit: true,
34
+ isArrow: true,
35
+ isEnter: true,
36
+ isTab: true,
37
+ isDel: true,
38
+ isBack: true,
39
+ editMode: 'insert'
40
+ },
41
+ mouseConfig: {
42
+ selected: true
43
+ },
44
+ validConfig: {
45
+ msgMode: 'full'
46
+ },
47
+ checkboxConfig: {
48
+ highlight: true,
49
+ range: true,
50
+ reserve: true
51
+ },
52
+ scrollX: {
53
+ gt: 0,
54
+ //自动启用纵向虚拟滚动
55
+ enabled: true
56
+ },
57
+ scrollY: {
58
+ gt: 0,
59
+ //自动启用纵向虚拟滚动
60
+ enabled: true
61
+ },
62
+ showFooter: false,
63
+ round: true,
64
+ border: true,
65
+ stripe: false,
66
+ loading: false,
67
+ minHeight: 300,
68
+ maxHeight: '100%',
69
+ size: 'mini',
70
+ params: {},
71
+ pagerConfig: {
72
+ enabled: true,
73
+ total: 0,
74
+ currentPage: 1,
75
+ pageSize: 50,
76
+ align: 'right'
77
+ },
78
+ customConfig: {
79
+ immediate: false,
80
+ storage: {
81
+ visible: true, // 保存列显示/隐藏状态
82
+ resizable: true, // 保存列宽调整
83
+ sort: true, // 保存列排序
84
+ fixed: true
85
+ }
86
+ },
87
+ columnConfig: {
88
+ isCurrent: true,
89
+ resizable: true
90
+ },
91
+
92
+ sortConfig: {
93
+ remote: true
94
+ },
95
+ formConfig: {
96
+ data: {},
97
+ items: []
98
+ },
99
+ toolbarConfig: {
100
+ refresh: true,
101
+ custom: true, //是否开启自定义列工具
102
+ slots: {
103
+ tools: 'toolbarTools'
104
+ },
105
+ buttons: []
106
+ },
107
+ menuConfig: {
108
+ //右键菜单配置
109
+ header: {
110
+ options: [
111
+ [
112
+ {
113
+ code: 'all-select',
114
+ name: '全选',
115
+ prefixConfig: { icon: 'vxe-icon-download' },
116
+ visible: false
117
+ },
118
+ {
119
+ code: 'revert-select',
120
+ name: '反选',
121
+ prefixConfig: { icon: 'vxe-icon-download' },
122
+ visible: false
123
+ }
124
+ ]
125
+ ]
126
+ },
127
+ body: {
128
+ options: []
129
+ },
130
+ footer: {
131
+ options: []
132
+ }
133
+ },
134
+ editRules: {
135
+ // customer_name: [
136
+ // { required: true, message: '必须填写' }
137
+ // ]
138
+ },
139
+ columns: [],
140
+ footerData: []
141
+ };
@@ -0,0 +1,27 @@
1
+ export default {
2
+ /**网格列表配置ID*/
3
+ refid: {
4
+ type: String,
5
+ defaultValue: '',
6
+ required: true
7
+ },
8
+ /**自动加载数据*/
9
+ autoLoad: {
10
+ type: Boolean,
11
+ defaultValue: true
12
+ },
13
+ /**数据源URL**/
14
+ url: {
15
+ type: String,
16
+ defaultValue: ''
17
+ },
18
+ /**允许行拖动*/
19
+ rowDrag: Boolean,
20
+ /**
21
+ * 是否实体列表
22
+ */
23
+ isEntityGrid: {
24
+ type: Boolean,
25
+ default: false
26
+ }
27
+ }
File without changes
@@ -0,0 +1,101 @@
1
+ import { reactive } from "vue";
2
+ import { moduleCache } from "../../cache/ModuleCache";
3
+ import _DefaultGridOptions from "./DefaultGridOptions";
4
+ import { useMobile } from "@/utils/use-mobile";
5
+
6
+ const { mobile } = useMobile();
7
+
8
+ function deepClone(obj) {
9
+ return JSON.parse(JSON.stringify(obj));
10
+ }
11
+
12
+ // 动态生成cellStyle函数
13
+ function createDynamicCellStyle(styleConfigs = []) {
14
+ // 预编译条件表达式为函数
15
+ const compiledConfigs = styleConfigs.map((config) => ({
16
+ ...config,
17
+ conditionFn: new Function("row", `return ${config.condition}`)
18
+ }));
19
+
20
+ return function({ row, column }) {
21
+ const _config = compiledConfigs.filter((c) => c.name === column.field);
22
+ if (!_config) return null;
23
+ try {
24
+ for (const config of _config) {
25
+ const conditionFn = new Function("row", `return ${config.condition}`);
26
+ if (conditionFn(row)) {
27
+ return {
28
+ color: config.fontColor,
29
+ backgroundColor: config.bgColor,
30
+ fontWeight: config?.bold ? "bold" : "",
31
+ fontStyle: config.italic ? "italic" : "",
32
+ textDecoration: config.strikethrough ? "line-through" : config.underline ? "underline" : ""
33
+ };
34
+ }
35
+ }
36
+ } catch (e) {
37
+ console.error("条件解析错误:", e);
38
+ }
39
+ return null;
40
+ };
41
+ }
42
+
43
+
44
+
45
+ /**
46
+ * 统计计算
47
+ * @param data
48
+ * @param type
49
+ */
50
+ export const calcSummary = (data, type) => {
51
+ if (!data?.length) {
52
+ return "";
53
+ }
54
+ switch (type) {
55
+ case "count" :
56
+ return data.length;
57
+ case "sum" :
58
+ return data.reduce((a, b) => a + b);
59
+ case "remotesum" :
60
+ return "";
61
+ case "min" :
62
+ return Math.min(...data);
63
+ case "max" :
64
+ return Math.max(...data);
65
+ case "average" :
66
+ return (data.reduce((a, b) => a + b, 0) / data.length)?.toFixed(3);
67
+ case "custom" :
68
+ return "custom";
69
+ case "custom1" :
70
+ return "custom1";
71
+ case "custom2" :
72
+ return "custom2";
73
+ case "custom3" :
74
+ return "custom3";
75
+ case "custom4" :
76
+ return "custom4";
77
+ default:
78
+ break;
79
+ }
80
+ };
81
+
82
+
83
+ /**
84
+ * 转换成gridValue
85
+ */
86
+ export const switchGridValue = (data) => {
87
+ for (let i = 0; i < data.length; i++) {
88
+ for (let key in data[i]) {
89
+ if (Array.isArray(data[i][key])) {
90
+ if(data[i][key][0]?.id){
91
+ data[i][key] = data[i][key].map((item) => item.id);
92
+ }
93
+ } else if (typeof data[i][key] === 'object') {
94
+ data[i][key] = data[i][key]?.id;
95
+ }
96
+ }
97
+ }
98
+ return data;
99
+ };
100
+
101
+