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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolver-egretimp-plus",
3
- "version": "0.1.114",
3
+ "version": "0.1.115",
4
4
  "description": "交付体验渲染",
5
5
  "main": "./dist/web/index.js",
6
6
  "module": "./dist/web/index.js",
@@ -61,14 +61,18 @@ watch(lasetLimitIdx, (val) => {
61
61
  }
62
62
  if (index === val) {
63
63
  if (item.metaType === 'cmi-cell') {
64
- item.borderHidden = '1'
64
+ if (!showCollapseBtn.value) {
65
+ item.borderHidden = '1'
66
+ }
65
67
  }
66
68
  }
67
69
  }
68
70
  })
69
71
  if (val === -1) {
70
72
  if (lastShowPageMeteItem.value?.metaType === 'cmi-cell') {
71
- lastShowPageMeteItem.value.borderHidden = '1'
73
+ if (!showCollapseBtn.value) {
74
+ lastShowPageMeteItem.value.borderHidden = '1'
75
+ }
72
76
  }
73
77
  }
74
78
  }, {
@@ -0,0 +1,343 @@
1
+ import { computed, defineAsyncComponent, getCurrentInstance, inject, onBeforeMount, provide, ref, watch } from 'vue'
2
+ import { COFNGI_KEY_EVENT_FLAG, commonPropsType, definePrivatelyProp, EXECTE_CLICK_EVENT_COMPONENTS, findComponent, getComponentPropsKeys, getComponentSolt, hasOwn, isPlainObject } from './utils/index.js'
3
+ import { useVmodels } from './hooks/index.js'
4
+ import { getRenderComponentProps, generateFormItemPolyfill } from './utils/index.js'
5
+ import rulesDriver from './rules/rulesDriver'
6
+ import { penddingRules } from './rules/ruleUtils.js'
7
+ import { useRoute } from 'vue-router'
8
+ import { executeEventOrchestration } from './components/helper/eventOrchestration.js'
9
+ import { useRouter } from 'vue-router'
10
+ import { onErrorCaptured } from 'vue'
11
+ import LoadingComponent from './components/loadingComponent/LoadingComponent.vue'
12
+ import { useConfigLoad } from './hooks/configLoad.js'
13
+
14
+ export default {
15
+ name: 'AnalysisComponent',
16
+ inheritAttrs: false,
17
+ props: {
18
+ config: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+ // 这个组件通过v-model进行数据的绑定
23
+ modelValue: {
24
+ // type: [String, Number, Object],
25
+ default: null
26
+ },
27
+ component: {
28
+ type: [Function, Object, String],
29
+ default: null
30
+ },
31
+ // 如果是表格中列的组件,会传入行数据,{row, $index}
32
+ rowScope: {
33
+ type: [Object],
34
+ default: () => null
35
+ },
36
+ // 当前模式;操作:operate(默认)、详情:detail、日志:log
37
+ mode: {
38
+ type: String,
39
+ default: 'operate', // 操作:operate(默认)、详情:detail、日志:log
40
+ },
41
+ additionConfigs: {
42
+ type: Array,
43
+ default: () => []
44
+ },
45
+ },
46
+ emits: ['update:modelValue'],
47
+ setup(props, { emit, attrs }) {
48
+ const currentAttrs = computed(() => {
49
+ const ret = {
50
+ ...attrs
51
+ }
52
+ delete ret.onClick
53
+ return ret
54
+ })
55
+ useConfigLoad(props.config)
56
+ const configsSet = inject('_configsSet')
57
+ const ruleExecuter = inject('_ruleExecuter')
58
+ const dialogReq = inject('_dialogReq', {})
59
+ const requestTraceId = inject('requestTraceId')
60
+ const polyfillConfigs = inject('_polyfillConfigs', {})
61
+ const buttonActions = inject('buttonActions', {})
62
+ const router = useRouter()
63
+ const route = useRoute()
64
+ const routeQuery= route?.query
65
+ const hireRelatMapRules = inject('hireRelatMapRules')
66
+ const components = inject('components')
67
+ const dataLoad = inject('dataLoad')
68
+ const rootForm = inject('rootForm')
69
+ const _axiosInstance = inject('_axiosInstance')
70
+ const confirmInstance = inject('_confirmInstance')
71
+ const openChildDialogInstance = inject('_openChildDialogInstance')
72
+ const messageCb = inject('_messageCb')
73
+ const messageInstance = inject('_messageInstance')
74
+ const builtPolyfillReq = inject('_builtPolyfillReq')
75
+ const rootValue = inject('rootValue')
76
+ const validate = inject('_validate')
77
+ const lang = inject('lang')
78
+
79
+ const selects = inject('selects')
80
+ const _parentRootValue = inject('_parentRootValue')
81
+ const _parentDynamicMapComp = inject('_parentDynamicMapComp')
82
+
83
+ definePrivatelyProp(props.config, '_lang', lang)
84
+ definePrivatelyProp(props.config, '_rootValue', rootValue)
85
+ definePrivatelyProp(props.config, 'router', router)
86
+ definePrivatelyProp(props.config, 'route', route)
87
+ definePrivatelyProp(props.config, '_validate', validate)
88
+ definePrivatelyProp(props.config, '_rowScope', props.rowScope)
89
+ definePrivatelyProp(props.config, '_selects', selects)
90
+ definePrivatelyProp(props.config, '_parentRootValue', _parentRootValue)
91
+ definePrivatelyProp(props.config, '_parentDynamicMapComp', _parentDynamicMapComp)
92
+ // 当前组件的实例
93
+ const instance = getCurrentInstance()
94
+ const appContext = instance?.appContext
95
+ definePrivatelyProp(props.config, 'wrapVm', instance)
96
+ const refFn = e => {
97
+ // 具体渲染的组件
98
+ definePrivatelyProp(props.config, 'vm', e)
99
+ }
100
+ const onVnodeMounted = (e) => {
101
+ definePrivatelyProp(props.config, 'vmIsBind', true)
102
+
103
+
104
+ if (props.config.onVnodeMounted && typeof props.config.onVnodeMounted === 'function') {
105
+ const context = {
106
+ dataLoad: dataLoad
107
+ }
108
+ try {
109
+ props.config.onVnodeMounted.call(context, props, e, selects)
110
+ } catch (error) {
111
+ console.error('onVnodeMounted error,', error, props.config)
112
+ }
113
+ }
114
+ if (props.config.onMounted) {
115
+ let onMounted = props.config.onMounted
116
+ if (typeof onMounted === 'string') {
117
+ try {
118
+ onMounted = eval(`(function({props, e, selects}) {
119
+ try {
120
+ ${props.config.onMounted}
121
+ } catch (error) {
122
+ console.error('onMounted error===:', props, error)
123
+ }
124
+ })`)
125
+ } catch (error) {
126
+ console.error('parse onMounted error===:',props, error)
127
+ }
128
+ }
129
+ typeof onMounted === 'function' && onMounted({props, e, selects})
130
+ }
131
+
132
+ // 执行没有执行完的规则
133
+ const hireRelat = props.config?.hireRelat
134
+ if (penddingRules[hireRelat]?.length) {
135
+ penddingRules[hireRelat].forEach(context => {
136
+ const rules = context.rules
137
+ delete context.rules
138
+ setTimeout(() => {
139
+ rulesDriver.call(context, rules)
140
+ }, 0)
141
+ })
142
+ penddingRules[hireRelat] = null
143
+ }
144
+ // 使用json-rules-engine书写的规则,打开这边,需要对之前的规则进行注释,并且需要再index.js文件中进行开启 ====start====
145
+ if (ruleExecuter?.penddingRules?.[hireRelat]?.length) {
146
+ ruleExecuter?.penddingRules[hireRelat].forEach(context => {
147
+ const rules = context.rules
148
+ delete context.rules
149
+ setTimeout(() => {
150
+ ruleExecuter?.run(context, rules)
151
+ }, 0)
152
+ })
153
+ ruleExecuter.penddingRules[hireRelat] = null
154
+ }
155
+ // 使用json-rules-engine书写的规则,打开这边,需要对之前的规则进行注释,并且需要再index.js文件中进行开启 ====end====
156
+
157
+ if (props.config?.immediateClickEvent) {
158
+ const unWatch = watch(dataLoad, (val) => {
159
+ if (val) {
160
+ setTimeout(() => {
161
+ executeClickEvents()
162
+ unWatch && unWatch()
163
+ }, 100);
164
+ }
165
+ }, {
166
+ immediate: true
167
+ })
168
+ }
169
+ }
170
+ const onVnodeUnmounted = () => {
171
+ props.config.vmIsBind = false
172
+ if (props.config.onVnodeUnmounted && typeof props.config.onVnodeUnmounted === 'function') {
173
+ try {
174
+ props.config.onVnodeUnmounted(props)
175
+ } catch (error) {
176
+ console.error('onVnodeUnmounted error,', error, props.config)
177
+ }
178
+ }
179
+ }
180
+
181
+ const { vModelObjs, initVmodels, modelValue } = useVmodels(props, emit) // 过个v-model绑定对象,实现可以组件过赋值
182
+
183
+ definePrivatelyProp(props.config, 'refValue', modelValue)
184
+ // onBeforeMount(() => {
185
+ // defaultVal(props.config, modelValue) // 设置默认值
186
+ // })
187
+
188
+
189
+ // 获取组件中定义的props,赋值对应的属性====start====
190
+ const fnComponentkeys = ref([])
191
+ function getFncomponentProps() {
192
+ const obj = {}
193
+ fnComponentkeys.value.forEach(key => {
194
+ if (hasOwn(props.config, key)) {
195
+ const config = props.config
196
+ if (COFNGI_KEY_EVENT_FLAG.test(key) && typeof config[key] === 'function') {
197
+ obj[key] = function(...arg) {
198
+ return config[key](...arg, vm)
199
+ }
200
+ } else {
201
+ obj[key] = config[key]
202
+ }
203
+ }
204
+ })
205
+ return obj
206
+ }
207
+ if (typeof props.component === 'function') {
208
+ props.component()?.then(res => {
209
+ if (res?.default?.emits) {
210
+ initVmodels(res?.default?.emits)
211
+ }
212
+ fnComponentkeys.value = getComponentPropsKeys(res?.default || res)
213
+ })
214
+ } else {
215
+ if (props.component?.emits) {
216
+ initVmodels(props.component?.emits)
217
+ }
218
+ }
219
+ // 获取组件中定义的props,赋值对应的属性===end===
220
+ const currentComponent = computed(() => {
221
+ if (typeof props.component === 'function') {
222
+ return defineAsyncComponent({
223
+ loader: props.component,
224
+ loadingComponent: LoadingComponent,
225
+ delay: 0
226
+ })
227
+ } else {
228
+ return props.component
229
+ }
230
+ })
231
+ /**
232
+ * 动态赋值parent跟dynamicHireRelat
233
+ * 同时设置dynamicMapComp(动态dynamicHireRelat对应的config集合)
234
+ */
235
+ const parent = inject('parent', null)
236
+ const dynamicMapComp = inject('dynamicMapComp')
237
+
238
+ const configLinks = [parent, ...props.additionConfigs, props.config]
239
+ configLinks.reduce((parent, config) => {
240
+ definePrivatelyProp(config, 'parent', parent)
241
+ definePrivatelyProp(config, 'dynamicMapComp', dynamicMapComp)
242
+
243
+ // 如果已经有dynamicHireRelat值的时候,就不需要再进行以下赋值了
244
+ if (
245
+ config?.dynamicHireRelat_bak && !configsSet?.has(config)
246
+ // && props.mode !== 'operate'
247
+ ) {
248
+ definePrivatelyProp(config, 'dynamicHireRelat', `${config.dynamicHireRelat_bak}__@__${props.mode}__`)
249
+ } else {
250
+ const dynamicHireRelat = parent?.dynamicHireRelat ? `${parent?.dynamicHireRelat}${hasOwn(config, 'rowIndex') ? `[${config.rowIndex}]` : ''}->${(config.metaCode || '')}` : config.metaCode
251
+ definePrivatelyProp(config, 'dynamicHireRelat', dynamicHireRelat)
252
+ config.dynamicHireRelat_bak = dynamicHireRelat
253
+ }
254
+ configsSet?.add(config) // 搜集所有的config
255
+ config.dynamicHireRelat && (dynamicMapComp[config.dynamicHireRelat] = config)
256
+ return config
257
+ })
258
+
259
+ provide('parent', props.config)
260
+
261
+ const _isH5 = inject('_isH5')
262
+ const onClick = (e, params) => {
263
+ const context = {
264
+ props,
265
+ dynamicMapComp,
266
+ hireRelatMapRules,
267
+ components,
268
+ selects,
269
+ rootValue: rootValue?.value,
270
+ dataLoad,
271
+ rootForm,
272
+ routeQuery,
273
+ appContext
274
+ }
275
+ attrs?.onClick?.call(context, e) // 如果配置中有点击事件
276
+ if (findComponent(EXECTE_CLICK_EVENT_COMPONENTS, props.config?.renderby || props.config?.metaType) !== -1 ) {
277
+ executeClickEvents(params)
278
+ }
279
+ }
280
+ function executeClickEvents(params = {}) {
281
+ // beforeRequestService,
282
+ // afterRequestService,
283
+ // beforeOpenDialog,
284
+ // afterOpenDialog,
285
+ // middleOpenDialog,
286
+ // 目前parmas支持以上五种钩子
287
+ if (!isPlainObject(params)) {
288
+ params = {}
289
+ }
290
+ executeEventOrchestration({
291
+ ...params,
292
+ builtPolyfillReq,
293
+ components,
294
+ props,
295
+ requestTraceId: requestTraceId?.value,
296
+ axiosInstance: _axiosInstance?.value,
297
+ polyfillConfigs,
298
+ rootValue: rootValue?.value,
299
+ confirmInstance: confirmInstance?.value,
300
+ dynamicMapComp,
301
+ openChildDialog: openChildDialogInstance?.value,
302
+ messageInstance: messageInstance?.value,
303
+ messageCb,
304
+ buttonActions,
305
+ lang: lang?.value,
306
+ dialogReq,
307
+ appContext
308
+ })
309
+ }
310
+ onErrorCaptured((err, instance, info) => {
311
+ console.error('component render failer', lang?.value?.indexOf('zh') > -1 ? props.config?.metaNameZh : props.config?.metaNameEn, props.config?.metaCode, err, instance, info)
312
+ })
313
+ return () => {
314
+ const componentProps = getFncomponentProps()
315
+ const compProps = getRenderComponentProps({config: props.config, props, component: props.component, modelValue, selects, lang: lang.value, vm: instance.proxy})
316
+ const compPropsOnClick = compProps?.onClick
317
+ delete compProps.onClick
318
+ const formItemPolyfill = generateFormItemPolyfill(props.config, lang.value, compProps, _isH5?.value, {
319
+ lang,
320
+ rootValue,
321
+ dynamicMapComp,
322
+ props,
323
+ messageInstance: messageInstance?.value
324
+ }) // 生成formItem()的辅助函数
325
+ return formItemPolyfill(
326
+ <currentComponent.value
327
+ ref={refFn}
328
+ onVnodeMounted={onVnodeMounted}
329
+ onVnodeUnmounted={onVnodeUnmounted}
330
+ {...currentAttrs.value}
331
+ onClick={(e, params) => {onClick(e, params);compPropsOnClick?.(e)}}
332
+ {...componentProps}
333
+ {...compProps}
334
+ {...vModelObjs}
335
+ >
336
+ {
337
+ getComponentSolt({config: props.config})
338
+ }
339
+ </currentComponent.value>
340
+ )
341
+ }
342
+ }
343
+ }
@@ -0,0 +1,10 @@
1
+ export const QUERY_PAGE_CONFIG_DATA = '/sa-lcp/api/v1/pageConfig/queryPageConfigData'
2
+ export const LCP_LOGIN = '/sa-lcp/login'
3
+ export const GET_SYS_PARAM_CACHE = '/sa-lcp/api/v1/sysparam/getSysParamCache'
4
+ export const REFRESH_TOKEN = '/sa-lcp/changePwd/refreshToken'
5
+ export const DATA_VALID_RULE_EXECUTE = '/sa-lcp/api/v1/validate/dataValidRuleExecute'
6
+ export const FIND_FILEA_NND_CONENT_BY_ID = '/sa-lcp/api/v1/fileopertate/findFileAndContentById'
7
+
8
+ export const MAIL_SEND_URL = '/gcweb/External_Mail'
9
+ export const FILE_IMPORT_URL = '/gcweb/External_Import'
10
+ export const FILE_EXPORT_URL = '/gcweb/External_Export'