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