resolver-egretimp-plus 0.1.113 → 0.1.115

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 (219) hide show
  1. package/dist/h5/index.js +1 -1
  2. package/dist/theme/element/index.css +1 -1
  3. package/dist/theme/element/src/components/common.scss +4 -0
  4. package/dist/theme/element/src/components/text.scss +17 -0
  5. package/dist/web/index.js +2 -2
  6. package/package.json +1 -1
  7. package/src/analysisComponent.jsx +2 -1
  8. package/src/components/helper/table.jsx +26 -23
  9. package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
  10. package/src/components/packages-web/ElText.jsx +0 -1
  11. package/src/theme/element/components/common.scss +4 -0
  12. package/src/theme/element/components/text.scss +17 -0
  13. package/src-bak/analysisComponent.jsx +343 -0
  14. package/src-bak/api/builtIn.js +10 -0
  15. package/src-bak/bpm/bpmInstance.js +388 -0
  16. package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
  17. package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
  18. package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
  19. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
  20. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
  21. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
  22. package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
  23. package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
  24. package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
  25. package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
  26. package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
  27. package/src-bak/components/childDialog/index.js +39 -0
  28. package/src-bak/components/childDialog/src/index.vue +185 -0
  29. package/src-bak/components/cmiFormItem/index.js +1 -0
  30. package/src-bak/components/cmiFormItem/src/index.vue +112 -0
  31. package/src-bak/components/confirmInstance-H5/index.js +53 -0
  32. package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
  33. package/src-bak/components/helper/FormPolyfill.jsx +25 -0
  34. package/src-bak/components/helper/calcTooltip.jsx +134 -0
  35. package/src-bak/components/helper/dock.js +141 -0
  36. package/src-bak/components/helper/eventOrchestration.js +763 -0
  37. package/src-bak/components/helper/resolver.js +163 -0
  38. package/src-bak/components/helper/table.jsx +103 -0
  39. package/src-bak/components/icons/date.vue +33 -0
  40. package/src-bak/components/icons/info.vue +62 -0
  41. package/src-bak/components/icons/loading.vue +19 -0
  42. package/src-bak/components/icons/question-filled.vue +8 -0
  43. package/src-bak/components/loading/index.js +6 -0
  44. package/src-bak/components/loading/loading.js +98 -0
  45. package/src-bak/components/loading/loading.scss +74 -0
  46. package/src-bak/components/loading/loading.vue +89 -0
  47. package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
  48. package/src-bak/components/modal/index.js +9 -0
  49. package/src-bak/components/modal/modal.scss +195 -0
  50. package/src-bak/components/modal/modal.vue +201 -0
  51. package/src-bak/components/options/OptionsDefault.vue +47 -0
  52. package/src-bak/components/packages-H5/CmiButton.vue +120 -0
  53. package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
  54. package/src-bak/components/packages-H5/CmiCell.vue +87 -0
  55. package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
  56. package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
  57. package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
  58. package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
  59. package/src-bak/components/packages-H5/CmiInput.vue +69 -0
  60. package/src-bak/components/packages-H5/CmiLink.vue +28 -0
  61. package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
  62. package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
  63. package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
  64. package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
  65. package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
  66. package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
  67. package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +137 -0
  68. package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
  69. package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
  70. package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
  71. package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
  72. package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
  73. package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
  74. package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
  75. package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
  76. package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
  77. package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
  78. package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
  79. package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
  80. package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
  81. package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
  82. package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
  83. package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
  84. package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
  85. package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
  86. package/src-bak/components/packages-web/CustomComponentPlain.vue +243 -0
  87. package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
  88. package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
  89. package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
  90. package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
  91. package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
  92. package/src-bak/components/packages-web/CustomComponentTable.jsx +813 -0
  93. package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
  94. package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
  95. package/src-bak/components/packages-web/ElButton.vue +146 -0
  96. package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
  97. package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
  98. package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
  99. package/src-bak/components/packages-web/ElInput.jsx +312 -0
  100. package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
  101. package/src-bak/components/packages-web/ElPagination.vue +61 -0
  102. package/src-bak/components/packages-web/ElRadio.vue +47 -0
  103. package/src-bak/components/packages-web/ElSelect.jsx +249 -0
  104. package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
  105. package/src-bak/components/packages-web/ElText.jsx +187 -0
  106. package/src-bak/components/packages-web/ElTextaa.vue +169 -0
  107. package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
  108. package/src-bak/components/patchComponents-H5.js +46 -0
  109. package/src-bak/components/patchComponents-web.js +46 -0
  110. package/src-bak/components/simpleFormItemPc/index.js +1 -0
  111. package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
  112. package/src-bak/components/table/index.ts +29 -0
  113. package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
  114. package/src-bak/components/table/src/config.ts +256 -0
  115. package/src-bak/components/table/src/filter-panel.vue +260 -0
  116. package/src-bak/components/table/src/h-helper.ts +34 -0
  117. package/src-bak/components/table/src/layout-observer.ts +78 -0
  118. package/src-bak/components/table/src/store/current.ts +85 -0
  119. package/src-bak/components/table/src/store/expand.ts +76 -0
  120. package/src-bak/components/table/src/store/helper.ts +74 -0
  121. package/src-bak/components/table/src/store/index.ts +246 -0
  122. package/src-bak/components/table/src/store/tree.ts +230 -0
  123. package/src-bak/components/table/src/store/watcher.ts +543 -0
  124. package/src-bak/components/table/src/table/defaults.ts +402 -0
  125. package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
  126. package/src-bak/components/table/src/table/style-helper.ts +378 -0
  127. package/src-bak/components/table/src/table/utils-helper.ts +47 -0
  128. package/src-bak/components/table/src/table-body/defaults.ts +52 -0
  129. package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
  130. package/src-bak/components/table/src/table-body/index.ts +119 -0
  131. package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
  132. package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
  133. package/src-bak/components/table/src/table-column/defaults.ts +237 -0
  134. package/src-bak/components/table/src/table-column/index.ts +202 -0
  135. package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
  136. package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
  137. package/src-bak/components/table/src/table-footer/index.ts +128 -0
  138. package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
  139. package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
  140. package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
  141. package/src-bak/components/table/src/table-header/index.ts +244 -0
  142. package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
  143. package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
  144. package/src-bak/components/table/src/table-layout.ts +259 -0
  145. package/src-bak/components/table/src/table.vue +389 -0
  146. package/src-bak/components/table/src/tableColumn.ts +3 -0
  147. package/src-bak/components/table/src/tokens.ts +5 -0
  148. package/src-bak/components/table/src/util.ts +521 -0
  149. package/src-bak/components/table/style/css.ts +5 -0
  150. package/src-bak/components/table/style/index.ts +5 -0
  151. package/src-bak/components/tabs/index.js +8 -0
  152. package/src-bak/components/tabs/src/constants.js +23 -0
  153. package/src-bak/components/tabs/src/tab-bar.js +8 -0
  154. package/src-bak/components/tabs/src/tab-bar.vue +92 -0
  155. package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
  156. package/src-bak/components/tabs/src/tab-pane.js +16 -0
  157. package/src-bak/components/tabs/src/tab-pane.vue +80 -0
  158. package/src-bak/components/tabs/src/tabs.jsx +223 -0
  159. package/src-bak/components/tabs/style/css.js +2 -0
  160. package/src-bak/components/tabs/style/index.js +2 -0
  161. package/src-bak/components/thirdPartyFrame/index.js +32 -0
  162. package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
  163. package/src-bak/enums/index.js +16 -0
  164. package/src-bak/hooks/configLoad.js +45 -0
  165. package/src-bak/hooks/index.js +189 -0
  166. package/src-bak/hooks/mock.js +6960 -0
  167. package/src-bak/hooks/pageConfig.js +127 -0
  168. package/src-bak/index.jsx +440 -0
  169. package/src-bak/renderer.jsx +77 -0
  170. package/src-bak/resolver-H5.vue +88 -0
  171. package/src-bak/resolver-common.vue +129 -0
  172. package/src-bak/resolver-web.vue +91 -0
  173. package/src-bak/rules/eventsSupplement.js +573 -0
  174. package/src-bak/rules/parseCondition.js +378 -0
  175. package/src-bak/rules/ruleUtils.js +273 -0
  176. package/src-bak/rules/rulesDriver.js +118 -0
  177. package/src-bak/rulesImp/events.js +588 -0
  178. package/src-bak/rulesImp/index.js +33 -0
  179. package/src-bak/rulesImp/ruleInstance.js +231 -0
  180. package/src-bak/rulesImp/ruleUtils.js +124 -0
  181. package/src-bak/theme/element/components/button.scss +122 -0
  182. package/src-bak/theme/element/components/card.scss +8 -0
  183. package/src-bak/theme/element/components/checkbox.scss +19 -0
  184. package/src-bak/theme/element/components/collapse.scss +174 -0
  185. package/src-bak/theme/element/components/common.scss +30 -0
  186. package/src-bak/theme/element/components/cycle.scss +0 -0
  187. package/src-bak/theme/element/components/date.scss +13 -0
  188. package/src-bak/theme/element/components/dialog.scss +44 -0
  189. package/src-bak/theme/element/components/form.scss +104 -0
  190. package/src-bak/theme/element/components/index.scss +55 -0
  191. package/src-bak/theme/element/components/input.scss +36 -0
  192. package/src-bak/theme/element/components/message.scss +48 -0
  193. package/src-bak/theme/element/components/pagination.scss +47 -0
  194. package/src-bak/theme/element/components/popper.scss +3 -0
  195. package/src-bak/theme/element/components/radio.scss +40 -0
  196. package/src-bak/theme/element/components/scrollbar.scss +14 -0
  197. package/src-bak/theme/element/components/select.scss +82 -0
  198. package/src-bak/theme/element/components/steps.scss +6 -0
  199. package/{src/components/styles/CustomComponenTable.scss → src-bak/theme/element/components/table.scss} +90 -13
  200. package/src-bak/theme/element/components/tabs.scss +128 -0
  201. package/src-bak/theme/element/components/tag.scss +6 -0
  202. package/{src/components/styles → src-bak/theme/element/components}/text.scss +3 -3
  203. package/src-bak/theme/element/components/textarea.scss +3 -0
  204. package/src-bak/theme/element/components/tree.scss +0 -0
  205. package/src-bak/theme/element/index.scss +55 -0
  206. package/src-bak/utils/cipher.js +141 -0
  207. package/src-bak/utils/common.js +664 -0
  208. package/src-bak/utils/const.js +259 -0
  209. package/src-bak/utils/defaultVal.js +92 -0
  210. package/src-bak/utils/dom.js +36 -0
  211. package/src-bak/utils/format.js +19 -0
  212. package/src-bak/utils/index.js +4 -0
  213. package/src-bak/utils/is.js +74 -0
  214. package/src-bak/utils/loadModule.js +75 -0
  215. package/src-bak/utils/preserveFunc.js +33 -0
  216. package/src-bak/utils/render.jsx +1138 -0
  217. package/src-bak/utils/request.js +136 -0
  218. package/src-bak/utils/respone.js +70 -0
  219. package/src-bak/utils/valid.js +89 -0
@@ -0,0 +1,118 @@
1
+ /* eslint-disable */
2
+ import { parseCondition } from './parseCondition'
3
+ import { runEvent } from './eventsSupplement'
4
+
5
+ const recoverCb = {}
6
+ const recoverCbTimer = {}
7
+
8
+ export default function(rules, isInit) {
9
+ rules = rules || []
10
+ this.rules = rules
11
+ const { config: { dynamicHireRelat, columnId, id, metaCode } } = this
12
+ if (rules && rules.length) {
13
+ rules.forEach(rule => {
14
+ if (!rule) return
15
+ const { pmRuleTargetEventVoList, pmRuleTargetEventVOList, relId, tabpanelCode } = rule
16
+ const relIdKey = `${relId}__${columnId || ''}${id || ''}__${dynamicHireRelat}`
17
+ if (parseCondition.call(this, rule)) {
18
+ setTimeout(() => {
19
+ recoverCb[relIdKey] && recoverCb[relIdKey].forEach(recover => {
20
+ if (recover) {
21
+ const timer = recover?.()
22
+ if (timer) {
23
+ if (!recoverCbTimer[relIdKey]) {
24
+ recoverCbTimer[relIdKey] = []
25
+ }
26
+ recoverCbTimer[relIdKey].push(timer)
27
+ }
28
+ }
29
+ })
30
+ recoverCbTimer[relIdKey] && recoverCbTimer[relIdKey]?.forEach(timier => timier && clearTimeout(timier))
31
+ // 先执行所有的恢复动作
32
+ const recovers = runEvent.call(this, pmRuleTargetEventVoList || pmRuleTargetEventVOList, isInit, tabpanelCode, rule)
33
+ recoverCb[relIdKey] = recovers
34
+ }, 0)
35
+ } else {
36
+ const recoverCbKeys = Object.keys(recoverCb)
37
+ const filterKeys = recoverCbKeys.filter(recoverKey => {
38
+ const [recRelId, _, recDynamicHireRelat] = recoverKey.split('__')
39
+ if (recRelId == relId) {
40
+ if (recDynamicHireRelat === dynamicHireRelat) {
41
+ return true
42
+ } else {
43
+ const { codes: recRelats } = splitRelat(recDynamicHireRelat)
44
+ const { codes: relats } = splitRelat(dynamicHireRelat)
45
+ for (let index = 0; index < relats.length; index++) {
46
+ const relat = relats[index]
47
+ const recRelat = recRelats[index]
48
+ if (!recRelat || relat.code !== recRelat.code) {
49
+ return false
50
+ } else {
51
+ if (relat.idx !== recRelat.idx) {
52
+ return false
53
+ }
54
+ }
55
+ }
56
+ return true
57
+ }
58
+ } else {
59
+ return false
60
+ }
61
+ })
62
+ filterKeys.forEach(key => {
63
+ recoverCb[key] && recoverCb[key].forEach(recover => {
64
+ if (recover) {
65
+ const timer = recover()
66
+ if (timer) {
67
+ if (!recoverCbTimer[key]) {
68
+ recoverCbTimer[key] = []
69
+ }
70
+ recoverCbTimer[key].push(timer)
71
+ }
72
+ }
73
+ })
74
+ delete recoverCb[key]
75
+ })
76
+ }
77
+ })
78
+ }
79
+ }
80
+
81
+ function splitRelat(relat) {
82
+ // const rowCodes = []
83
+ let nativeRelat = ''
84
+ const codes = relat.split('->').map(code => {
85
+ const matchs = code?.match(/^(\w+)\[(\d+)\]$/)
86
+ if (matchs) {
87
+ nativeRelat += nativeRelat ? `->${matchs[1]}` : matchs[1]
88
+ return {
89
+ idx: parseInt(matchs[2]),
90
+ code: matchs[1]
91
+ }
92
+ } else {
93
+ nativeRelat += nativeRelat ? `->${code}` : code
94
+ return {
95
+ idx: -1,
96
+ code,
97
+ }
98
+ }
99
+ })
100
+ return {
101
+ nativeRelat,
102
+ codes
103
+ }
104
+ }
105
+
106
+ export function runClickRules(rules, isInit) {
107
+ rules = rules || []
108
+ if (rules && rules.length) {
109
+ rules.forEach(rule => {
110
+ if (!rule) return
111
+ const { pmRuleTargetEventVoList, tabpanelCode } = rule
112
+ runEvent.call(this, pmRuleTargetEventVoList, isInit, tabpanelCode)
113
+ })
114
+ }
115
+ }
116
+
117
+ export { generateConfigsHireRelat } from './ruleUtils'
118
+ export { getCodeMapRules } from './parseCondition.js'
@@ -0,0 +1,588 @@
1
+ /**
2
+ * event:
3
+ * {
4
+ * "targetEventId":"1001",
5
+ * "relId":"100000000000005",
6
+ * "eventId":"0",
7
+ * "eventCode":null,
8
+ * "actionType":"0",
9
+ * "targetObj":"xiangmuxinxi->CustomerName",
10
+ * "targetObjVal":null,
11
+ * "targetMsg":null,
12
+ * "targetMsgEn":null,
13
+ * "state":"1",
14
+ * "createTime":"2023-04-13 19:32:01",
15
+ * "createOperId":"72523",
16
+ * "updateTime":"2023-04-13 19:32:01",
17
+ * "updateOperId":"72523"
18
+ * }
19
+ */
20
+ /* eslint-disable */
21
+ import {
22
+ getConfigValue,
23
+ getCurrentComp,
24
+ greaterThan,
25
+ setFormVal,
26
+ lessThan
27
+ } from './ruleUtils'
28
+ import { ARG_FLAGS, MULTI_PAGE_META_LIST_TYPES } from '../utils/const'
29
+
30
+ import { findComponent, formatDate, hasOwn, isPlainObject, parseExtendAttr } from '../utils/index';
31
+ import dayjs from 'dayjs';
32
+
33
+ const valArrTypes = [...MULTI_PAGE_META_LIST_TYPES]
34
+ const valBooleanTypes = []
35
+
36
+ // 事件优先级越高,越快执行
37
+ export const EVENTS_PRIORITY = {
38
+ 0: 1,
39
+ 1: 2,
40
+ 2: 2,
41
+ 3: 2,
42
+ 4: 2,
43
+ 5: 2,
44
+ 6: 2,
45
+ 7: 2,
46
+ 8: 100,
47
+ 9: 2,
48
+ 10: 2,
49
+ 11: 2,
50
+ 12: 2,
51
+ 13: 2,
52
+ 14: 2,
53
+ 16: 99,
54
+ }
55
+ export const EVENS_INFO = {
56
+ 0: {
57
+ eventCode: 'setHidden',
58
+ priority: 1,
59
+ recover: 8,
60
+ },
61
+ 1: {
62
+ eventCode: 'setRequired',
63
+ priority: 2,
64
+ recover: 9,
65
+ },
66
+ 2: {
67
+ eventCode: 'setDisable',
68
+ priority: 2,
69
+ recover: 10,
70
+ },
71
+ 3: {
72
+ eventCode: 'setClear',
73
+ priority: 2,
74
+ },
75
+ 4: {
76
+ eventCode: 'setDefaultValue',
77
+ priority: 2,
78
+ },
79
+ 5: {
80
+ eventCode: 'limitDataRange',
81
+ priority: 2,
82
+ },
83
+ 6: {
84
+ eventCode: 'setPopup',
85
+ priority: 2,
86
+ },
87
+ 7: {
88
+ eventCode: 'openThePage',
89
+ priority: 2,
90
+ },
91
+ 8: {
92
+ eventCode: 'setShow',
93
+ priority: 100,
94
+ recover: 0,
95
+ },
96
+ 9: {
97
+ eventCode: 'setNoRequired',
98
+ priority: 2,
99
+ recover: 1,
100
+ },
101
+ 10: {
102
+ eventCode: 'setNoDisable',
103
+ priority: 2,
104
+ recover: 2,
105
+ },
106
+ 11: {
107
+ eventCode: 'setDisableNotEffect',
108
+ priority: 2,
109
+ },
110
+ 12: {
111
+ eventCode: 'setRequiredNotEffect',
112
+ priority: 2,
113
+ },
114
+ 13: {
115
+ eventCode: 'setNoRequiredNotEffect',
116
+ priority: 2,
117
+ },
118
+ 14: {
119
+ eventCode: 'setNoDisableNotEffect',
120
+ priority: 2,
121
+ },
122
+ 16: {
123
+ eventCode: 'setProps',
124
+ priority: 99,
125
+ }
126
+ }
127
+
128
+ export function getEventPriority(eventId) {
129
+ return EVENS_INFO[eventId]?.priority || 2
130
+ }
131
+
132
+ const allInitEvents = {
133
+ setDefaultValue(event, isInit) {
134
+ const { targetObj: target, targetObjVal } = event
135
+ if (!target) return
136
+ const targetObj = `${target}`
137
+ let val = ''
138
+ try {
139
+ val = JSON.parse(targetObjVal)
140
+ } catch (err) {
141
+ val = targetObjVal
142
+ }
143
+ if (typeof val === 'number') {
144
+ val = `${val}`
145
+ }
146
+ if (val === ARG_FLAGS.REF_VAL) {
147
+ const { config } = this
148
+ val = config?.bindValue
149
+ } else {
150
+ const _absoluteTarget = /^_absoluteTarget:(.+)$/
151
+ const matchs = val.match(_absoluteTarget)
152
+ if (typeof val === 'string' && matchs?.[1]) {
153
+ const { dynamicMapComp } = this
154
+ const targetConfig = dynamicMapComp?.[matchs[1]]
155
+ val = targetConfig?.bindValue || ''
156
+ } else {
157
+ const curVal = getConfigValue.call(this, targetObj, true)
158
+ if (curVal || curVal == '0') {
159
+ val = curVal
160
+ }
161
+ }
162
+ }
163
+ setFormVal.call(this, targetObj, val)
164
+ },
165
+ setClear(event, isInit) {
166
+ if (isInit) {
167
+ return
168
+ }
169
+ const { targetObj: target } = event
170
+ if (!target) return
171
+ const targetObj = `${target}`
172
+ const configs = getCurrentComp.call(this, targetObj)
173
+ configs.forEach(labelInfo => {
174
+ if (!labelInfo) return
175
+ let val = ''
176
+ if (valArrTypes.includes(labelInfo.labelType)) {
177
+ val = []
178
+ }
179
+ if (valBooleanTypes.includes(labelInfo.labelType)) {
180
+ val = false
181
+ }
182
+ hasOwn(labelInfo, 'refValue') && (labelInfo.refValue = val)
183
+ })
184
+ },
185
+ setDisable(event, isInit) {
186
+ const { targetObj: target } = event
187
+ if (!target) return
188
+ const targetObj = `${target}`
189
+ const configs = getCurrentComp.call(this, targetObj)
190
+ configs.forEach(labelInfo => {
191
+ labelInfo && (labelInfo.editFlag = '0')
192
+ })
193
+ // 有的事件在不满足条件的情况下,需要进行恢复
194
+ return () => {
195
+ configs.forEach(labelInfo => {
196
+ labelInfo && (labelInfo.editFlag = '1')
197
+ })
198
+ }
199
+ },
200
+ setDisableNotEffect(event, isInit) {
201
+ const { targetObj: target } = event
202
+ if (!target) return
203
+ const targetObj = `${target}`
204
+ const configs = getCurrentComp.call(this, targetObj)
205
+ const oldEditFlags = []
206
+ configs.forEach(labelInfo => {
207
+ const oldEditFlag = labelInfo && labelInfo.editFlag
208
+ oldEditFlags.push(oldEditFlag)
209
+ labelInfo && (labelInfo.editFlag = '0')
210
+ })
211
+ // 有的事件在不满足条件的情况下,需要进行恢复
212
+ return () => {
213
+ configs.forEach((labelInfo, idx) => {
214
+ const oldEditFlag = oldEditFlags[idx]
215
+ labelInfo && (labelInfo.editFlag = oldEditFlag)
216
+ })
217
+ }
218
+ },
219
+ setRequired(event, isInit) {
220
+ const { targetObj: target } = event
221
+ if (!target) return
222
+ const targetObj = `${target}`
223
+ const configs = getCurrentComp.call(this, targetObj)
224
+ configs.forEach(labelInfo => {
225
+ labelInfo && (labelInfo.requiredFlag = '1')
226
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '1')
227
+
228
+ })
229
+ // 有的事件在不满足条件的情况下,需要进行恢复
230
+ return () => {
231
+ configs.forEach(labelInfo => {
232
+ labelInfo && (labelInfo.requiredFlag = '0')
233
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '0')
234
+ })
235
+ }
236
+ },
237
+ setRequiredNotEffect(event, isInit) {
238
+ const { targetObj: target } = event
239
+ if (!target) return
240
+ const targetObj = `${target}`
241
+ const configs = getCurrentComp.call(this, targetObj)
242
+
243
+ const oldRequiredFlags = []
244
+ configs.forEach(labelInfo => {
245
+ const oldRequiredFlag = labelInfo && labelInfo.requiredFlag
246
+ oldRequiredFlags.push(oldRequiredFlag)
247
+ labelInfo && (labelInfo.requiredFlag = '1')
248
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '1')
249
+ })
250
+ // 有的事件在不满足条件的情况下,需要进行恢复
251
+ return () => {
252
+ configs.forEach((labelInfo, idx) => {
253
+ const oldRequiredFlag = oldRequiredFlags[idx]
254
+ labelInfo && (labelInfo.requiredFlag = oldRequiredFlag)
255
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = oldRequiredFlag)
256
+ })
257
+ }
258
+ },
259
+ setHidden(event, isInit) {
260
+ const { targetObj: target } = event
261
+ if (!target) return
262
+ const targetObj = `${target}`
263
+ const configs = getCurrentComp.call(this, targetObj)
264
+ // const oldDisplayTypes = []
265
+ // 隐藏的效果需要晚点触发,才能正常执行清空等一些列需要组件操作
266
+ // setTimeout(() => {
267
+ configs.forEach(labelInfo => {
268
+ // 兼容开始使用displayType用于显示隐藏的配置
269
+ labelInfo && /^\d*$/.test(labelInfo.displayType) && (labelInfo.displayType = '0')
270
+ labelInfo && (labelInfo.hidden = '1')
271
+ labelInfo && labelInfo.refConfig && /^\d*$/.test(labelInfo.refConfig.displayType) && (labelInfo.refConfig.displayType = '0')
272
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.hidden = '1')
273
+ })
274
+ // }, 0)
275
+
276
+ // 有的事件在不满足条件的情况下,需要进行恢复
277
+ return () => {
278
+ configs.forEach((labelInfo, idx) => {
279
+ labelInfo && /^\d*$/.test(labelInfo.displayType) && (labelInfo.displayType = '1')
280
+ labelInfo && (labelInfo.hidden = '0')
281
+ labelInfo && labelInfo.refConfig && /^\d*$/.test(labelInfo.refConfig.displayType) && (labelInfo.refConfig.displayType = '1')
282
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.hidden = '0')
283
+ })
284
+ }
285
+ },
286
+ setShow(event, isInit) {
287
+ const { targetObj: target } = event
288
+ if (!target) return
289
+ const targetObj = `${target}`
290
+ const configs = getCurrentComp.call(this, targetObj)
291
+ configs.forEach((labelInfo) => {
292
+ labelInfo && /^\d*$/.test(labelInfo.displayType) && (labelInfo.displayType = '1')
293
+ labelInfo && (labelInfo.hidden = '0')
294
+ labelInfo && labelInfo.refConfig && /^\d*$/.test(labelInfo.refConfig.displayType) && (labelInfo.refConfig.displayType = '1')
295
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.hidden = '0')
296
+ })
297
+ // 有的事件在不满足条件的情况下,需要进行恢复
298
+ return () => {
299
+ configs.forEach((labelInfo, idx) => {
300
+ labelInfo && /^\d*$/.test(labelInfo.displayType) && (labelInfo.displayType = '0')
301
+ labelInfo && (labelInfo.hidden = '1')
302
+ labelInfo && labelInfo.refConfig && /^\d*$/.test(labelInfo.refConfig.displayType) && (labelInfo.refConfig.displayType = '0')
303
+ labelInfo && labelInfo.refConfig && (labelInfo.refConfig.hidden = '1')
304
+ })
305
+ }
306
+ },
307
+ setNoRequired(event, isInit) {
308
+ const { targetObj: target } = event
309
+ if (!target) return
310
+ const targetObj = `${target}`
311
+ const configs = getCurrentComp.call(this, targetObj)
312
+
313
+ const callFns = []
314
+ configs.forEach(labelInfo => {
315
+ if (labelInfo && labelInfo.requiredFlag != '0') {
316
+ labelInfo && (labelInfo.requiredFlag = '0')
317
+ // 有的事件在不满足条件的情况下,需要进行恢复
318
+ callFns.push(() => {
319
+ labelInfo && (labelInfo.requiredFlag = '1')
320
+ })
321
+ }
322
+ })
323
+ return () => {
324
+ callFns.forEach(fn => fn())
325
+ }
326
+ },
327
+ setNoRequiredNotEffect(event, isInit) {
328
+ const { targetObj: target } = event
329
+ if (!target) return
330
+ const targetObj = `${target}`
331
+ const configs = getCurrentComp.call(this, targetObj)
332
+
333
+ const oldRequiredFlags = []
334
+ configs.forEach(labelInfo => {
335
+ const oldRequiredFlag = labelInfo && labelInfo.requiredFlag
336
+ oldRequiredFlags.push(oldRequiredFlag)
337
+ labelInfo && (labelInfo.requiredFlag = '0')
338
+ })
339
+
340
+ // 有的事件在不满足条件的情况下,需要进行恢复
341
+ return () => {
342
+ configs.forEach((labelInfo, idx) => {
343
+ const oldRequiredFlag = oldRequiredFlags[idx]
344
+ labelInfo && (labelInfo.requiredFlag = oldRequiredFlag)
345
+ })
346
+ }
347
+ },
348
+ setNoDisable(event, isInit) {
349
+ const { targetObj: target } = event
350
+ if (!target) return
351
+ const targetObj = `${target}`
352
+ const configs = getCurrentComp.call(this, targetObj)
353
+ configs.forEach((labelInfo) => {
354
+ labelInfo && (labelInfo.editFlag = '1')
355
+ })
356
+ // 有的事件在不满足条件的情况下,需要进行恢复
357
+ return () => {
358
+ configs.forEach((labelInfo) => {
359
+ labelInfo && (labelInfo.editFlag = '0')
360
+ })
361
+ }
362
+ },
363
+ setNoDisableNotEffect(event, isInit) {
364
+ const { targetObj: target } = event
365
+ if (!target) return
366
+ const targetObj = `${target}`
367
+ const configs = getCurrentComp.call(this, targetObj)
368
+ const oldEditFlags = []
369
+ configs.forEach((labelInfo) => {
370
+ const oldEditFlag = labelInfo && labelInfo.editFlag
371
+ oldEditFlags.push(oldEditFlag)
372
+ labelInfo && (labelInfo.editFlag = '1')
373
+ })
374
+
375
+ // 有的事件在不满足条件的情况下,需要进行恢复
376
+ return () => {
377
+ configs.forEach((labelInfo, idx) => {
378
+ const oldEditFlag = oldEditFlags[idx]
379
+ labelInfo && (labelInfo.editFlag = oldEditFlag)
380
+ })
381
+ }
382
+ },
383
+ limitDataRange(event, isInit) {
384
+ const { targetObj: target, targetObjVal = '' } = event
385
+ if (!target) return
386
+ const targetObj = `${target}`
387
+ let range = []
388
+ if (targetObjVal?.indexOf('~') > -1) {
389
+ range = targetObjVal.split('~')
390
+ } else {
391
+ range = targetObjVal.split(',')
392
+ }
393
+ if (range && range.length) {
394
+ const oldPorpsList = []
395
+ const configs = getCurrentComp.call(this, targetObj)
396
+ configs.forEach(config => {
397
+ let updateFlag = false
398
+ const oldProps = {}
399
+ oldPorpsList.push(oldProps)
400
+ if (!config) return
401
+ const { config: currentConfig } = this
402
+ let val = ''
403
+ if (findComponent(['ElDatePicker'], config?.renderby || config?.metaType) !== -1) {
404
+ const min = range[0]
405
+ const max = range[1]
406
+ try {
407
+ val = parseExtendAttr(
408
+ {
409
+ extendAttr: JSON.JSON({min, max}),
410
+ metaCode: `event limitDataRange code:${config.metaCode}`
411
+ },
412
+ currentConfig?.bindValue
413
+ )
414
+ } catch (err) {
415
+ val = ''
416
+ }
417
+ } else if (findComponent(['ElSelect'], config?.renderby || config?.metaType) !== -1) {
418
+ try {
419
+ val = parseExtendAttr(
420
+ {
421
+ extendAttr: JSON.JSON({rangeOptions: range}),
422
+ metaCode: `event limitDataRange code:${config.metaCode}`
423
+ },
424
+ currentConfig?.bindValue
425
+ )
426
+ } catch (err) {
427
+ val = ''
428
+ }
429
+ } else {
430
+ const currentVal = getConfigValue.call(this, targetObj, true)
431
+ if (min && lessThan(currentVal, min)) {
432
+ setFormVal.call(this, config, min)
433
+ }
434
+ if (max && greaterThan(currentVal, max)) {
435
+ setFormVal.call(this, config, max)
436
+ }
437
+ return
438
+ }
439
+ delete val.metaCode
440
+ if (!isPlainObject(val)) return
441
+ const porpsKeys = Object.keys(val)
442
+ porpsKeys.forEach(key => {
443
+ oldProps[key] = config[key]
444
+ if (!hasOwn(config, key)) {
445
+ // 如果有一个属性没有,就需要更新下组件,防止渲染不及时
446
+ updateFlag = true
447
+ }
448
+ if ((typeof val[key]) === 'string') {
449
+ const { config: currentConfig } = this
450
+ const bindValue = currentConfig?.bindValue
451
+ config[key] = val[key].replace(/\{([^}]+)\}/g, (originVal, matchVal) => {
452
+ if (matchVal.trimEnd().trimStart() === ARG_FLAGS.REF_VAL) {
453
+ return bindValue
454
+ }
455
+ if (matchVal.trimEnd().trimStart() === ARG_FLAGS.CURRENT_DATE) {
456
+ return formatDate(new Date(), 'yyyy-MM-dd')
457
+ }
458
+ return originVal
459
+ })
460
+ } else {
461
+ config[key] = val[key]
462
+ }
463
+ })
464
+ if (updateFlag) {
465
+ config?.wrapVm?.ctx?.$forceUpdate?.()
466
+ }
467
+ })
468
+ return () => {
469
+ // 需要晚点触发,才能正常执行清空等一些列需要组件操作
470
+ // return setTimeout(() => {
471
+ configs.forEach((labelInfo, idx) => {
472
+ const oldProps = oldPorpsList[idx]
473
+ if (!labelInfo) return
474
+ const porpsKeys = Object.keys(oldProps)
475
+ porpsKeys.forEach(key => {
476
+ labelInfo[key] = oldProps[key]
477
+ })
478
+ })
479
+ // }, 0)
480
+ }
481
+ }
482
+ },
483
+ setPopup(event, isInit) {
484
+ const { targetMsg, targetMsgEn } = event
485
+ const msg = this.lang.value.indexOf('zh') > -1 ? targetMsg : targetMsgEn
486
+ this.messageInstance.warning(msg, '', {
487
+ showCancelButton: false,
488
+ });
489
+ // commModal({
490
+ // msg: storage.get('aid-language').indexOf('zh') !== -1 ? targetMsg : targetMsgEn
491
+ // })
492
+ // document && document.body && document.body.click()
493
+ },
494
+ openThePage(event, isInit) {
495
+ const { targetObjVal } = event
496
+ if (targetObjVal) {
497
+ window.open(targetObjVal, '_blank')
498
+ }
499
+ },
500
+ setProps(event, isInit) {
501
+ const { targetObj: target, targetObjVal } = event
502
+ if (!target) return
503
+
504
+ const targetObj = `${target}`
505
+ const { config } = this
506
+ let val = ''
507
+ try {
508
+ val = parseExtendAttr(
509
+ {
510
+ extendAttr: targetObjVal,
511
+ metaCode: `event setPorps code:${config.metaCode}`
512
+ },
513
+ config?.bindValue
514
+ )
515
+ } catch (err) {
516
+ val = ''
517
+ }
518
+ if (!isPlainObject(val)) return
519
+
520
+ const configs = getCurrentComp.call(this, targetObj)
521
+ const oldPorpsList = []
522
+ const porpsKeys = Object.keys(val)
523
+ configs.forEach((labelInfo) => {
524
+ let updateFlag = false
525
+ const oldProps = {}
526
+ if (!labelInfo) return
527
+ porpsKeys.forEach(key => {
528
+ oldProps[key] = labelInfo[key]
529
+ if (!hasOwn(labelInfo, key)) {
530
+ // 如果有一个属性没有,就需要更新下组件,防止渲染不及时
531
+ updateFlag = true
532
+ }
533
+ if ((typeof val[key]) === 'string') {
534
+ const { config } = this
535
+ const bindValue = config?.bindValue
536
+ labelInfo[key] = val[key].replace(/\{([^}]+)\}/g, (originVal, matchVal) => {
537
+ if (matchVal.trimEnd().trimStart() === ARG_FLAGS.REF_VAL) {
538
+ return bindValue
539
+ }
540
+ if (matchVal.trimEnd().trimStart() === ARG_FLAGS.CURRENT_DATE) {
541
+ return formatDate(new Date(), 'yyyy-MM-dd')
542
+ }
543
+ if (matchVal.trimEnd().trimStart() === ARG_FLAGS.CURRENT_DATE_EXCLUDE) {
544
+ return dayjs(new Date()).add(1, 'day').format('YYYY-MM-DD')
545
+ }
546
+ return originVal
547
+ })
548
+ } else {
549
+ labelInfo[key] = val[key]
550
+ }
551
+ })
552
+ oldPorpsList.push(oldProps)
553
+ if (updateFlag) {
554
+ labelInfo?.wrapVm?.ctx?.$forceUpdate?.()
555
+ }
556
+ })
557
+ // 有的事件在不满足条件的情况下,需要进行恢复
558
+ return () => {
559
+ // 需要晚点触发,才能正常执行清空等一些列需要组件操作
560
+ // return setTimeout(() => {
561
+ configs.forEach((labelInfo, idx) => {
562
+ const oldProps = oldPorpsList[idx]
563
+ if (!labelInfo) return
564
+ porpsKeys.forEach(key => {
565
+ labelInfo[key] = oldProps[key]
566
+ })
567
+ })
568
+ // }, 0)
569
+ }
570
+ },
571
+ }
572
+
573
+
574
+ export default allInitEvents
575
+
576
+ export function runEvent(events, isInit) {
577
+ events = events || []
578
+ return events.map(event => {
579
+ const { eventId } = event
580
+ const eventCode = EVENS_INFO[eventId]?.eventCode
581
+ if (!eventCode) {
582
+ return
583
+ }
584
+ console.log('event==:', eventCode, 'targetObj==:',event?.targetObj, 'rule===:', this.rule)
585
+ return allInitEvents[eventCode] && allInitEvents[eventCode].call(this, event, isInit)
586
+ })
587
+ }
588
+