resolver-egretimp-plus 0.1.119 → 0.1.120

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 (218) hide show
  1. package/dist/h5/index.js +18 -18
  2. package/dist/web/index.js +9 -9
  3. package/package.json +1 -1
  4. package/src/components/packages-web/CustomComponentTable.jsx +7 -1
  5. package/src/config.js +2 -0
  6. package/src/hooks/pageConfig.js +8 -4
  7. package/src/index.jsx +13 -10
  8. package/src/resolver-common.vue +22 -2
  9. package/src/rules/rulesDriver.js +4 -0
  10. package/src/utils/common.js +13 -0
  11. package/src/utils/render.jsx +143 -96
  12. package/src-bak/analysisComponent.jsx +0 -343
  13. package/src-bak/api/builtIn.js +0 -10
  14. package/src-bak/bpm/bpmInstance.js +0 -388
  15. package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +0 -8
  16. package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +0 -97
  17. package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +0 -88
  18. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +0 -3
  19. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +0 -76
  20. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +0 -201
  21. package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +0 -69
  22. package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +0 -56
  23. package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +0 -76
  24. package/src-bak/bpm/udc-sdk-esm/cjs/index.js +0 -46
  25. package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +0 -21
  26. package/src-bak/components/childDialog/index.js +0 -39
  27. package/src-bak/components/childDialog/src/index.vue +0 -185
  28. package/src-bak/components/cmiFormItem/index.js +0 -1
  29. package/src-bak/components/cmiFormItem/src/index.vue +0 -112
  30. package/src-bak/components/confirmInstance-H5/index.js +0 -53
  31. package/src-bak/components/confirmInstance-H5/src/index.vue +0 -54
  32. package/src-bak/components/helper/FormPolyfill.jsx +0 -25
  33. package/src-bak/components/helper/calcTooltip.jsx +0 -134
  34. package/src-bak/components/helper/dock.js +0 -141
  35. package/src-bak/components/helper/eventOrchestration.js +0 -763
  36. package/src-bak/components/helper/resolver.js +0 -163
  37. package/src-bak/components/helper/table.jsx +0 -103
  38. package/src-bak/components/icons/date.vue +0 -33
  39. package/src-bak/components/icons/info.vue +0 -62
  40. package/src-bak/components/icons/loading.vue +0 -19
  41. package/src-bak/components/icons/question-filled.vue +0 -8
  42. package/src-bak/components/loading/index.js +0 -6
  43. package/src-bak/components/loading/loading.js +0 -98
  44. package/src-bak/components/loading/loading.scss +0 -74
  45. package/src-bak/components/loading/loading.vue +0 -89
  46. package/src-bak/components/loadingComponent/LoadingComponent.vue +0 -33
  47. package/src-bak/components/modal/index.js +0 -9
  48. package/src-bak/components/modal/modal.scss +0 -195
  49. package/src-bak/components/modal/modal.vue +0 -201
  50. package/src-bak/components/options/OptionsDefault.vue +0 -47
  51. package/src-bak/components/packages-H5/CmiButton.vue +0 -120
  52. package/src-bak/components/packages-H5/CmiCalendar.vue +0 -152
  53. package/src-bak/components/packages-H5/CmiCell.vue +0 -87
  54. package/src-bak/components/packages-H5/CmiCheckbox.vue +0 -82
  55. package/src-bak/components/packages-H5/CmiDatetimePicker.vue +0 -98
  56. package/src-bak/components/packages-H5/CmiDivider.vue +0 -30
  57. package/src-bak/components/packages-H5/CmiDropdownMenu.vue +0 -58
  58. package/src-bak/components/packages-H5/CmiInput.vue +0 -69
  59. package/src-bak/components/packages-H5/CmiLink.vue +0 -28
  60. package/src-bak/components/packages-H5/CmiPicker.vue +0 -229
  61. package/src-bak/components/packages-H5/CmiRadio.vue +0 -29
  62. package/src-bak/components/packages-H5/CmiSearch.vue +0 -39
  63. package/src-bak/components/packages-H5/CmiSelect.vue +0 -84
  64. package/src-bak/components/packages-H5/CustomComponentCardH5.vue +0 -129
  65. package/src-bak/components/packages-H5/CustomComponentColH5.vue +0 -8
  66. package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +0 -141
  67. package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +0 -54
  68. package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +0 -38
  69. package/src-bak/components/packages-H5/CustomComponentTableH5.vue +0 -352
  70. package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +0 -170
  71. package/src-bak/components/packages-web/CustomComponentCard.vue +0 -40
  72. package/src-bak/components/packages-web/CustomComponentCol.vue +0 -66
  73. package/src-bak/components/packages-web/CustomComponentCollapse.vue +0 -164
  74. package/src-bak/components/packages-web/CustomComponentCycle.vue +0 -95
  75. package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +0 -155
  76. package/src-bak/components/packages-web/CustomComponentDialog.vue +0 -192
  77. package/src-bak/components/packages-web/CustomComponentEditor.vue +0 -50
  78. package/src-bak/components/packages-web/CustomComponentFileExport.vue +0 -60
  79. package/src-bak/components/packages-web/CustomComponentFileImport.vue +0 -60
  80. package/src-bak/components/packages-web/CustomComponentFormLayout.vue +0 -65
  81. package/src-bak/components/packages-web/CustomComponentGrid.vue +0 -29
  82. package/src-bak/components/packages-web/CustomComponentGridCol.vue +0 -29
  83. package/src-bak/components/packages-web/CustomComponentInputDialog.vue +0 -144
  84. package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +0 -84
  85. package/src-bak/components/packages-web/CustomComponentPlain.vue +0 -247
  86. package/src-bak/components/packages-web/CustomComponentRow.vue +0 -83
  87. package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +0 -203
  88. package/src-bak/components/packages-web/CustomComponentSendMail.vue +0 -62
  89. package/src-bak/components/packages-web/CustomComponentSteps.vue +0 -41
  90. package/src-bak/components/packages-web/CustomComponentTabPane.vue +0 -20
  91. package/src-bak/components/packages-web/CustomComponentTable.jsx +0 -814
  92. package/src-bak/components/packages-web/CustomComponentTabs.vue +0 -126
  93. package/src-bak/components/packages-web/CustomComponentTree.vue +0 -28
  94. package/src-bak/components/packages-web/ElButton.vue +0 -146
  95. package/src-bak/components/packages-web/ElCheckbox.vue +0 -97
  96. package/src-bak/components/packages-web/ElDatePicker.vue +0 -93
  97. package/src-bak/components/packages-web/ElInput copy.jsx +0 -393
  98. package/src-bak/components/packages-web/ElInput.jsx +0 -312
  99. package/src-bak/components/packages-web/ElInputNumber.vue +0 -81
  100. package/src-bak/components/packages-web/ElPagination.vue +0 -61
  101. package/src-bak/components/packages-web/ElRadio.vue +0 -47
  102. package/src-bak/components/packages-web/ElSelect.jsx +0 -249
  103. package/src-bak/components/packages-web/ElSelect_bak.vue +0 -155
  104. package/src-bak/components/packages-web/ElText.jsx +0 -187
  105. package/src-bak/components/packages-web/ElTextaa.vue +0 -169
  106. package/src-bak/components/packages-web/ElTimePicker.vue +0 -39
  107. package/src-bak/components/patchComponents-H5.js +0 -46
  108. package/src-bak/components/patchComponents-web.js +0 -46
  109. package/src-bak/components/simpleFormItemPc/index.js +0 -1
  110. package/src-bak/components/simpleFormItemPc/src/index.vue +0 -94
  111. package/src-bak/components/table/index.ts +0 -29
  112. package/src-bak/components/table/src/composables/use-scrollbar.ts +0 -30
  113. package/src-bak/components/table/src/config.ts +0 -256
  114. package/src-bak/components/table/src/filter-panel.vue +0 -260
  115. package/src-bak/components/table/src/h-helper.ts +0 -34
  116. package/src-bak/components/table/src/layout-observer.ts +0 -78
  117. package/src-bak/components/table/src/store/current.ts +0 -85
  118. package/src-bak/components/table/src/store/expand.ts +0 -76
  119. package/src-bak/components/table/src/store/helper.ts +0 -74
  120. package/src-bak/components/table/src/store/index.ts +0 -246
  121. package/src-bak/components/table/src/store/tree.ts +0 -230
  122. package/src-bak/components/table/src/store/watcher.ts +0 -543
  123. package/src-bak/components/table/src/table/defaults.ts +0 -402
  124. package/src-bak/components/table/src/table/key-render-helper.ts +0 -27
  125. package/src-bak/components/table/src/table/style-helper.ts +0 -378
  126. package/src-bak/components/table/src/table/utils-helper.ts +0 -47
  127. package/src-bak/components/table/src/table-body/defaults.ts +0 -52
  128. package/src-bak/components/table/src/table-body/events-helper.ts +0 -203
  129. package/src-bak/components/table/src/table-body/index.ts +0 -119
  130. package/src-bak/components/table/src/table-body/render-helper.ts +0 -283
  131. package/src-bak/components/table/src/table-body/styles-helper.ts +0 -164
  132. package/src-bak/components/table/src/table-column/defaults.ts +0 -237
  133. package/src-bak/components/table/src/table-column/index.ts +0 -202
  134. package/src-bak/components/table/src/table-column/render-helper.ts +0 -214
  135. package/src-bak/components/table/src/table-column/watcher-helper.ts +0 -88
  136. package/src-bak/components/table/src/table-footer/index.ts +0 -128
  137. package/src-bak/components/table/src/table-footer/mapState-helper.ts +0 -33
  138. package/src-bak/components/table/src/table-footer/style-helper.ts +0 -51
  139. package/src-bak/components/table/src/table-header/event-helper.ts +0 -213
  140. package/src-bak/components/table/src/table-header/index.ts +0 -244
  141. package/src-bak/components/table/src/table-header/style.helper.ts +0 -119
  142. package/src-bak/components/table/src/table-header/utils-helper.ts +0 -94
  143. package/src-bak/components/table/src/table-layout.ts +0 -259
  144. package/src-bak/components/table/src/table.vue +0 -389
  145. package/src-bak/components/table/src/tableColumn.ts +0 -3
  146. package/src-bak/components/table/src/tokens.ts +0 -5
  147. package/src-bak/components/table/src/util.ts +0 -521
  148. package/src-bak/components/table/style/css.ts +0 -5
  149. package/src-bak/components/table/style/index.ts +0 -5
  150. package/src-bak/components/tabs/index.js +0 -8
  151. package/src-bak/components/tabs/src/constants.js +0 -23
  152. package/src-bak/components/tabs/src/tab-bar.js +0 -8
  153. package/src-bak/components/tabs/src/tab-bar.vue +0 -92
  154. package/src-bak/components/tabs/src/tab-nav.jsx +0 -424
  155. package/src-bak/components/tabs/src/tab-pane.js +0 -16
  156. package/src-bak/components/tabs/src/tab-pane.vue +0 -80
  157. package/src-bak/components/tabs/src/tabs.jsx +0 -223
  158. package/src-bak/components/tabs/style/css.js +0 -2
  159. package/src-bak/components/tabs/style/index.js +0 -2
  160. package/src-bak/components/thirdPartyFrame/index.js +0 -32
  161. package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +0 -125
  162. package/src-bak/enums/index.js +0 -16
  163. package/src-bak/hooks/configLoad.js +0 -45
  164. package/src-bak/hooks/index.js +0 -189
  165. package/src-bak/hooks/mock.js +0 -6960
  166. package/src-bak/hooks/pageConfig.js +0 -127
  167. package/src-bak/index.jsx +0 -443
  168. package/src-bak/renderer.jsx +0 -77
  169. package/src-bak/resolver-H5.vue +0 -88
  170. package/src-bak/resolver-common.vue +0 -129
  171. package/src-bak/resolver-web.vue +0 -91
  172. package/src-bak/rules/eventsSupplement.js +0 -573
  173. package/src-bak/rules/parseCondition.js +0 -378
  174. package/src-bak/rules/ruleUtils.js +0 -273
  175. package/src-bak/rules/rulesDriver.js +0 -139
  176. package/src-bak/rulesImp/events.js +0 -588
  177. package/src-bak/rulesImp/index.js +0 -33
  178. package/src-bak/rulesImp/ruleInstance.js +0 -231
  179. package/src-bak/rulesImp/ruleUtils.js +0 -124
  180. package/src-bak/theme/element/components/button.scss +0 -122
  181. package/src-bak/theme/element/components/card.scss +0 -8
  182. package/src-bak/theme/element/components/checkbox.scss +0 -19
  183. package/src-bak/theme/element/components/collapse.scss +0 -174
  184. package/src-bak/theme/element/components/common.scss +0 -30
  185. package/src-bak/theme/element/components/cycle.scss +0 -0
  186. package/src-bak/theme/element/components/date.scss +0 -13
  187. package/src-bak/theme/element/components/dialog.scss +0 -44
  188. package/src-bak/theme/element/components/form.scss +0 -104
  189. package/src-bak/theme/element/components/index.scss +0 -55
  190. package/src-bak/theme/element/components/input.scss +0 -36
  191. package/src-bak/theme/element/components/message.scss +0 -48
  192. package/src-bak/theme/element/components/pagination.scss +0 -47
  193. package/src-bak/theme/element/components/popper.scss +0 -3
  194. package/src-bak/theme/element/components/radio.scss +0 -40
  195. package/src-bak/theme/element/components/scrollbar.scss +0 -14
  196. package/src-bak/theme/element/components/select.scss +0 -82
  197. package/src-bak/theme/element/components/steps.scss +0 -6
  198. package/src-bak/theme/element/components/table.scss +0 -218
  199. package/src-bak/theme/element/components/tabs.scss +0 -128
  200. package/src-bak/theme/element/components/tag.scss +0 -6
  201. package/src-bak/theme/element/components/text.scss +0 -20
  202. package/src-bak/theme/element/components/textarea.scss +0 -3
  203. package/src-bak/theme/element/components/tree.scss +0 -0
  204. package/src-bak/theme/element/index.scss +0 -55
  205. package/src-bak/utils/cipher.js +0 -141
  206. package/src-bak/utils/common.js +0 -664
  207. package/src-bak/utils/const.js +0 -259
  208. package/src-bak/utils/defaultVal.js +0 -92
  209. package/src-bak/utils/dom.js +0 -36
  210. package/src-bak/utils/format.js +0 -19
  211. package/src-bak/utils/index.js +0 -4
  212. package/src-bak/utils/is.js +0 -74
  213. package/src-bak/utils/loadModule.js +0 -75
  214. package/src-bak/utils/preserveFunc.js +0 -33
  215. package/src-bak/utils/render.jsx +0 -1138
  216. package/src-bak/utils/request.js +0 -136
  217. package/src-bak/utils/respone.js +0 -70
  218. package/src-bak/utils/valid.js +0 -89
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolver-egretimp-plus",
3
- "version": "0.1.119",
3
+ "version": "0.1.120",
4
4
  "description": "交付体验渲染",
5
5
  "main": "./dist/web/index.js",
6
6
  "module": "./dist/web/index.js",
@@ -5,6 +5,7 @@ import Renderer from '../../renderer.jsx'
5
5
  import { computed, inject, watch, h, ref, reactive, onMounted, unref } from 'vue'
6
6
  import { commonPropsType, TABLE_COLUMN_NOT_RENDER_META_TYPE, DISPLAY_SHOW, compareComponet, isPlainObject, hasOwn, cloneDeep, isPromise, isPlainColumn, generateUniqueId, calcDisable, camelize, capitalize, DISPLAY_HIDDEN, definePrivatelyProp, isArray, eleIsOverflow } from '../../utils/index.js'
7
7
  import { getCustomerTableProps, tableValidate } from '../helper/table'
8
+ import { OPEN_TABLE_DEFAULT_PAGINATION } from '../../config'
8
9
  // import '../styles/CustomComponenTable.scss'
9
10
 
10
11
  export default {
@@ -59,6 +60,9 @@ export default {
59
60
 
60
61
  // 在数据量超过10的话,默认开启分页功能
61
62
  const defaultPageable = computed(() => {
63
+ if (!OPEN_TABLE_DEFAULT_PAGINATION) {
64
+ return false
65
+ }
62
66
  return !(props.config?.frontPageFlag == '1' || props.config?.pageable == '1') && modelValue.value?.length > 10
63
67
  })
64
68
 
@@ -618,7 +622,9 @@ export default {
618
622
  validate,
619
623
  })
620
624
  onMounted(() => {
621
- formContext?.addField(context)
625
+ if (OPEN_TABLE_DEFAULT_PAGINATION) {
626
+ formContext?.addField(context)
627
+ }
622
628
  })
623
629
 
624
630
  // 是否配置分页功能 ====== end======
package/src/config.js ADDED
@@ -0,0 +1,2 @@
1
+ export const OPEN_DATA_RULES = false
2
+ export const OPEN_TABLE_DEFAULT_PAGINATION = false
@@ -1,4 +1,4 @@
1
- import { parsePageConfig } from "../utils"
1
+ import { generateFormConfig, parsePageConfig } from "../utils"
2
2
  import { ref } from 'vue'
3
3
  import { buildInRequest } from "../utils/request"
4
4
  import { GET_SYS_PARAM_CACHE, QUERY_PAGE_CONFIG_DATA } from "../api/builtIn"
@@ -54,7 +54,7 @@ export function usePageConfig() {
54
54
  }
55
55
  }
56
56
 
57
- export function useBuildInData({ messageInstance, loadingInstance, requestTraceId }) {
57
+ export function useBuildInData({ messageInstance, loadingInstance, requestTraceId, lang, isH5 }) {
58
58
  const pageConfig = ref(null)
59
59
  function getPageConfig(reqData, { configCb, selectsCb, selectPolyReq}) {
60
60
  if (loadingInstance.start && typeof loadingInstance.start === 'function') {
@@ -73,9 +73,13 @@ export function useBuildInData({ messageInstance, loadingInstance, requestTraceI
73
73
  window?.performance?.mark('update_configs_end')
74
74
  console.log('update_configs', window?.performance?.measure('update_configs', 'update_configs_start', 'update_configs_end'))
75
75
  }, 0);
76
- pageConfig.value = normalPageConfigs(ret.data.result)
76
+ const normalConfig = normalPageConfigs(ret.data.result)
77
+ const formConfig = generateFormConfig(lang, isH5)
78
+ formConfig.pmPageMetaList = normalConfig.pmPageMetaList
79
+ formConfig._originConfig = normalConfig
80
+ pageConfig.value = formConfig
77
81
  try {
78
- configCb && configCb(pageConfig.value)
82
+ configCb && configCb(normalConfig)
79
83
  } catch (error) {
80
84
  console.error(error)
81
85
  }
package/src/index.jsx CHANGED
@@ -10,6 +10,7 @@ import { createEmptyCopy, deepMerge } from "./utils/index.js"
10
10
  import { initBpm, SUBMIT_TYPE, bpmInstance } from "./bpm/bpmInstance.js"
11
11
  import { toWatchRules } from "./hooks/watchRuels.js"
12
12
  import { useRoute } from "vue-router"
13
+ import { OPEN_DATA_RULES } from "./config.js"
13
14
  // import { RuleExecuter } from "./rulesImp/index.js"
14
15
  export default {
15
16
  name: 'Resolver',
@@ -245,7 +246,7 @@ export default {
245
246
  const oldNativeDataload = nativeDataLoad.value
246
247
  nativeDataLoad.value = false
247
248
  executeLoadServices(
248
- props.config?.pmPageServiceMapVOList || props.config?.lcpPageServiceMapVOList || [],
249
+ props.config?._originConfig?.pmPageServiceMapVOList || props.config?._originConfig?.lcpPageServiceMapVOList || [],
249
250
  {
250
251
  alongLoad,
251
252
  requestTraceId: props.requestTraceId,
@@ -409,15 +410,17 @@ export default {
409
410
  emit('update:modelValue', val)
410
411
  }
411
412
  })
412
- // toWatchRules({
413
- // rules: hireRelatMapRulesRef.value,
414
- // rootValue: toRef(props, 'modelValue'),
415
- // mapComp: mapCompRef.value,
416
- // dynamicMapComp,
417
- // route,
418
- // messageInstance: props.messageInstance,
419
- // lang: props.lang,
420
- // })
413
+ if (OPEN_DATA_RULES) {
414
+ toWatchRules({
415
+ rules: hireRelatMapRulesRef.value,
416
+ rootValue: toRef(props, 'modelValue'),
417
+ mapComp: mapCompRef.value,
418
+ dynamicMapComp,
419
+ route,
420
+ messageInstance: props.messageInstance,
421
+ lang: props.lang,
422
+ })
423
+ }
421
424
  onMounted(() => {
422
425
  if (props.openBpm) {
423
426
  initBpm(props.bpmMessage, props.bpmActions, props.bpmConfigs, {
@@ -3,6 +3,7 @@ import { computed, ref, useAttrs } from 'vue';
3
3
  import Resolver from './index.jsx'
4
4
  import { useBuildInData } from './hooks/pageConfig';
5
5
  import { initInterceptors } from './utils/request.js';
6
+ import { generateFormConfig } from './utils/render.jsx';
6
7
 
7
8
  const props = defineProps({
8
9
  busiIdentityId: String,
@@ -10,6 +11,14 @@ const props = defineProps({
10
11
  type: Object,
11
12
  default: () => ({_default: true})
12
13
  },
14
+ isH5: {
15
+ type: Boolean,
16
+ default: false
17
+ },
18
+ lang: {
19
+ type: String,
20
+ default: 'zh'
21
+ },
13
22
  getNativeComps: {
14
23
  type: Function,
15
24
  default: () => ({composeComponents: {}})
@@ -48,7 +57,13 @@ defineOptions({
48
57
  const attrs = useAttrs()
49
58
 
50
59
  initInterceptors(props.messageInstance)
51
- const { getPageConfig, pageConfig, selects } = useBuildInData({messageInstance: props.messageInstance, loadingInstance: props.loadingInstance, requestTraceId: props.requestTraceId})
60
+ const { getPageConfig, pageConfig } = useBuildInData({
61
+ messageInstance: props.messageInstance,
62
+ loadingInstance: props.loadingInstance,
63
+ requestTraceId: props.requestTraceId,
64
+ isH5: props.isH5,
65
+ lang: props.lang,
66
+ })
52
67
  if (!props.nativeConfig) {
53
68
  if (props.selects?._default) {
54
69
  // 没有传selects对象的时候,在selectsCb中设置props.selects属性,是不会响应式的,所以这边需要进行逻辑控制
@@ -81,7 +96,10 @@ if (!props.nativeConfig) {
81
96
  }
82
97
  })
83
98
  } else {
84
- pageConfig.value = props.nativeConfig
99
+ const formConfig = generateFormConfig(lang, isH5)
100
+ formConfig.pmPageMetaList = props.nativeConfig?.pmPageMetaList || []
101
+ formConfig._originConfig = props.nativeConfig
102
+ pageConfig.value = formConfig
85
103
  }
86
104
 
87
105
  const resolverRef = ref(null)
@@ -117,6 +135,8 @@ defineExpose({
117
135
  v-if="pageConfig && selectsLoad"
118
136
  ref="resolverRef"
119
137
  v-bind="attrs"
138
+ :isH5="props.isH5"
139
+ :lang="props.lang"
120
140
  :loadingInstance="props.loadingInstance"
121
141
  :messageInstance="props.messageInstance"
122
142
  :getNativeComps="props.getNativeComps"
@@ -1,11 +1,15 @@
1
1
  /* eslint-disable */
2
2
  import { parseCondition } from './parseCondition'
3
3
  import { runEvent } from './eventsSupplement'
4
+ import { OPEN_DATA_RULES } from '../config'
4
5
 
5
6
  const recoverCb = {}
6
7
  const recoverCbTimer = {}
7
8
 
8
9
  export default function(rules, isInit) {
10
+ if (OPEN_DATA_RULES) {
11
+ return
12
+ }
9
13
  rules = rules || []
10
14
  this.rules = rules
11
15
  const { config: { dynamicHireRelat, columnId, id, metaCode } } = this
@@ -275,6 +275,19 @@ export function modelValueDeepMerge(
275
275
  return ret
276
276
  }
277
277
 
278
+ export function extend(to, _from, notAssign) {
279
+ for (const key in _from) {
280
+ if (notAssign) {
281
+ if (!hasOwn(to, key)) {
282
+ to[key] = _from[key]
283
+ }
284
+ } else {
285
+ to[key] = _from[key]
286
+ }
287
+ }
288
+ return to
289
+ }
290
+
278
291
  export function isFnStr(str) {
279
292
  // 匹配具名函数和匿名函数(但不包括箭头函数)
280
293
  const functionRegex = /^\s*(?:function\s*(?:\w+\s*)?\([^()]*\)\s*\{[\s\S]*?\})\s*$/
@@ -1,7 +1,7 @@
1
1
  import { getCodeMapRules } from '../rules/rulesDriver.js'
2
2
  import SimpleFormItemPc from '../components/simpleFormItemPc'
3
- import { resolveAssetComponents, findComponent, compareComponet, normalPixel, isPlainObject, hasOwn, isFnStr, normalCapitalizeComponent, capitalize, camelize, formatDate, definePrivatelyProp} from './common.js'
4
- import { resolveComponent, inject } from 'vue'
3
+ import { resolveAssetComponents, findComponent, compareComponet, normalPixel, isPlainObject, hasOwn, isFnStr, normalCapitalizeComponent, capitalize, camelize, formatDate, definePrivatelyProp, extend, getPathVal, cloneDeep, generateUniqueId} from './common.js'
4
+ import { resolveComponent, inject, watch, unref } from 'vue'
5
5
  import CustomComponentColH5 from '../components/packages-H5/CustomComponentColH5.vue'
6
6
  import {
7
7
  commonPropsType,
@@ -38,6 +38,7 @@ import CmiFormItem from '../components/cmiFormItem'
38
38
  import loadModule from './loadModule.js'
39
39
  import { h } from 'vue'
40
40
  import dayjs from 'dayjs'
41
+ import { OPEN_DATA_RULES } from '../config.js'
41
42
 
42
43
  export const COFNGI_KEY_EVENT_FLAG = /^on[A-Z]/
43
44
 
@@ -101,7 +102,7 @@ export function parseExtendAttr(config, refVal) {
101
102
  }
102
103
 
103
104
  // 目前所有的配置都是在form表单下面,但是现在的配置数据没有form配置项,所有我们自己手动增加
104
- function generateFormConfig(lang = 'zh', isH5) {
105
+ export function generateFormConfig(lang = 'zh', isH5) {
105
106
  return {
106
107
  metaType: isH5 ? FORM_META_TYPE_H5 : FORM_META_TYPE,
107
108
  displayType: '1',
@@ -132,9 +133,9 @@ export function parsePageConfig({
132
133
  messageCb
133
134
  }) {
134
135
  if (!config) return {}
135
- const formConfig = generateFormConfig(lang, isH5)
136
- const hireRelatMapRules = getCodeMapRules(config)
137
- formConfig.pmPageMetaList = config.pmPageMetaList
136
+ // const formConfig = generateFormConfig(lang, isH5)
137
+ const hireRelatMapRules = getCodeMapRules(config._originConfig)
138
+ // formConfig.pmPageMetaList = config.pmPageMetaList
138
139
  const cbs = []
139
140
  let { pageConfig, mapComp } = normalConfig({
140
141
  requestTraceId,
@@ -152,7 +153,7 @@ export function parsePageConfig({
152
153
  messageCb,
153
154
  parentRootValue,
154
155
  parentDynamicMapComp,
155
- }, formConfig)
156
+ }, config)
156
157
  cbs.forEach((cb) => {
157
158
  cb()
158
159
  })
@@ -183,10 +184,12 @@ export function normalConfig({
183
184
  messageCb,
184
185
  parentRootValue,
185
186
  parentDynamicMapComp,
186
- }, config, hireRelat = '', mapComp = {}, needformItem = false) {
187
+ }, config, hireRelat = '', mapComp = {}, needformItem = false, dynamicHireRelat = '', unWatchsList = []) {
187
188
  const metaCode = config.metaCode || ''
188
189
  hireRelat += hireRelat ? `->${metaCode}` : metaCode
190
+ dynamicHireRelat += dynamicHireRelat ? `->${metaCode}` : metaCode
189
191
 
192
+ const originMetaType = config.metaType
190
193
  const metaType = normalMetaType(config.metaType)
191
194
 
192
195
  // 这个对象是不可以被配置进行覆盖
@@ -201,6 +204,12 @@ export function normalConfig({
201
204
  parent: null, // 这个是执行过程中,动态获取的
202
205
  dynamicHireRelat: '', // 这个也是执行过程中,动态获取的层级
203
206
  }
207
+
208
+ if (OPEN_DATA_RULES) {
209
+ extendNativeObj.dynamicHireRelat = dynamicHireRelat
210
+ extendNativeObj._rootValue = rootValue
211
+ }
212
+
204
213
  let extendAttrObj = parseExtendAttr(config)
205
214
  let extendObj = {
206
215
  removeCol: findComponent(NOT_NEED_COL_ITEM_META_TYPE, extendAttrObj.renderby) !== -1 || findComponent(NOT_NEED_COL_ITEM_META_TYPE, metaType) !== -1,
@@ -213,43 +222,29 @@ export function normalConfig({
213
222
  if (findComponent(MULTI_PAGE_META_LIST_TYPES, extendAttrObj.renderby) !== -1 || findComponent(MULTI_PAGE_META_LIST_TYPES, metaType) !== -1) {
214
223
  extendObj.multiPmPageMetaList = []
215
224
  }
216
- // 如果有子项,需要进行递归遍历
217
- if (config.pmPageMetaList && config.pmPageMetaList.length) {
218
- config.pmPageMetaList = config.pmPageMetaList.map(metaItem => {
219
- const { pageConfig } = normalConfig({
220
- requestTraceId,
221
- dialogReq,
222
- lang,
223
- mode,
224
- cbs,
225
- polyfillConfigs,
226
- instance,
227
- rootValue,
228
- axiosInstance,
229
- messageInstance ,
230
- messageCb,
231
- parentRootValue,
232
- parentDynamicMapComp,
233
- }, metaItem, hireRelat, mapComp, needformItem || [FORM_META_TYPE, FORM_META_TYPE_H5].includes(metaType))
234
- return pageConfig
235
- })?.sort((a, b) => a.seqNo - b.seqNo)
236
- }
237
- let pageConfig = {
238
- ...extendObj,
239
- ...config,
240
- ...extendAttrObj,
241
- ...extendNativeObj,
242
- }
243
- if (config.metaType == 'textarea') {
225
+ // let pageConfig = {
226
+ // ...extendObj,
227
+ // ...config,
228
+ // ...extendAttrObj,
229
+ // ...extendNativeObj,
230
+ // }
231
+
232
+ extend(config, extendObj, true)
233
+ extend(config, extendAttrObj)
234
+ extend(config, extendNativeObj)
235
+
236
+ let pageConfig = config
237
+
238
+ if (originMetaType == 'textarea') {
244
239
  pageConfig.type = 'textarea'
245
240
  }
246
- if (config.metaType == 'time-range') {
241
+ if (originMetaType == 'time-range') {
247
242
  pageConfig['isRange'] = true
248
243
  }
249
- if (config.metaType == 'date-range') {
244
+ if (originMetaType == 'date-range') {
250
245
  pageConfig.type = 'daterange'
251
246
  }
252
- if (config.metaType == 'card' && !hasOwn(pageConfig, 'needWrap')) {
247
+ if (originMetaType == 'card' && !hasOwn(pageConfig, 'needWrap')) {
253
248
  pageConfig.needWrap = '1'
254
249
  }
255
250
  // 在详情的情况下,配置组件是否显示
@@ -259,10 +254,8 @@ export function normalConfig({
259
254
  extendAttr: typeof pageConfig.detailExtendAttr === 'string' ? pageConfig.detailExtendAttr : JSON.stringify(pageConfig.detailExtendAttr),
260
255
  metaCode: `detail-${pageConfig.metaCode}`
261
256
  })
262
- pageConfig = {
263
- ...pageConfig,
264
- ...detailExtendAttrObj
265
- }
257
+ extend(pageConfig, detailExtendAttrObj)
258
+
266
259
  }
267
260
  pageConfig.hidden = pageConfig.detailHidden || pageConfig.hidden
268
261
  }
@@ -273,65 +266,119 @@ export function normalConfig({
273
266
  extendAttr: typeof pageConfig.logExtendAttr === 'string' ? pageConfig.logExtendAttr : JSON.stringify(pageConfig.logExtendAttr),
274
267
  metaCode: `log-${pageConfig.metaCode}`
275
268
  })
276
- pageConfig = {
277
- ...pageConfig,
278
- ...logExtendAttrObj
279
- }
269
+ extend(pageConfig, logExtendAttrObj)
280
270
  }
281
271
  pageConfig.hidden = pageConfig.logHidden || pageConfig.hidden
282
272
  }
283
273
 
284
274
  mapComp[hireRelat] = pageConfig
285
275
  parsePolyfillConfigs({ polyfillConfigs, instance, parentRootValue, parentDynamicMapComp }, pageConfig)
286
- // if(pageConfig.lcpPageServiceMapVOList?.length) {
287
- // cbs.push(() => {
288
- // const tabsServices = getTableServices(pageConfig.lcpPageServiceMapVOList, {dynamicMapComp: mapComp, dynamicMapCompKeys: Object.keys(mapComp), hireRelat})
289
- // tabsServices.forEach((({mixinServiceConfig, tableConfig, service}) => {
290
- // const orginCurrentChange = tableConfig.currentChange
291
- // tableConfig.currentChange = (val, props, page) => {
292
- // orginCurrentChange && orginCurrentChange(val, props, page)
293
- // const dynamicMapComp = props.config.dynamicMapComp
294
- // const dynamicMapCompKeys = Object.keys(dynamicMapComp)
295
- // const dynamicHireRelat = props.config.dynamicHireRelat
296
- // dispatchClickEvent(service, {
297
- // requestTraceId,
298
- // dialogReq,
299
- // mixinServiceConfig,
300
- // lang,
301
- // dynamicMapComp,
302
- // dynamicMapCompKeys,
303
- // dynamicHireRelat,
304
- // rootValue,
305
- // messageCb,
306
- // compConfig: pageConfig,
307
- // axiosInstance,
308
- // messageInstance
309
- // })
310
- // }
311
- // const orginSizeChange = tableConfig.sizeChange
312
- // tableConfig.sizeChange = (val, props, page) => {
313
- // orginSizeChange && orginSizeChange(val, props, page)
314
- // const dynamicMapComp = props.config.dynamicMapComp
315
- // const dynamicMapCompKeys = Object.keys(dynamicMapComp)
316
- // const dynamicHireRelat = props.config.dynamicHireRelat
317
- // dispatchClickEvent(service, {
318
- // requestTraceId,
319
- // dialogReq,
320
- // mixinServiceConfig,
321
- // lang,
322
- // dynamicMapComp,
323
- // dynamicMapCompKeys,
324
- // dynamicHireRelat,
325
- // rootValue,
326
- // messageCb,
327
- // compConfig: pageConfig,
328
- // axiosInstance,
329
- // messageInstance
330
- // })
331
- // }
332
- // }))
333
- // })
334
- // }
276
+
277
+ if (!OPEN_DATA_RULES) {
278
+ // 如果有子项,需要进行递归遍历
279
+ if (pageConfig.pmPageMetaList && pageConfig.pmPageMetaList.length) {
280
+ pageConfig.pmPageMetaList = pageConfig.pmPageMetaList.map(metaItem => {
281
+ const { pageConfig } = normalConfig({
282
+ requestTraceId,
283
+ dialogReq,
284
+ lang,
285
+ mode,
286
+ cbs,
287
+ polyfillConfigs,
288
+ instance,
289
+ rootValue,
290
+ axiosInstance,
291
+ messageInstance ,
292
+ messageCb,
293
+ parentRootValue,
294
+ parentDynamicMapComp,
295
+ }, metaItem, hireRelat, mapComp, needformItem || [FORM_META_TYPE, FORM_META_TYPE_H5].includes(metaType))
296
+ return pageConfig
297
+ })?.sort((a, b) => a.seqNo - b.seqNo)
298
+ }
299
+ } else {
300
+ // 如果有子项,需要进行递归遍历
301
+ if (pageConfig.pmPageMetaList && pageConfig.pmPageMetaList.length) {
302
+ normalPmPageMetaList(pageConfig)
303
+ }
304
+
305
+ function normalPmPageMetaList(config) {
306
+ const isCycleFlag = isCycleConfig(config)
307
+ if (isCycleFlag) {
308
+ config._rowColumnConfgsMap = new Map()
309
+ config.multiPmPageMetaList = []
310
+ config._unPageMetaListWatch?.() // 删除当前的监听
311
+ const unWatch = watch(() => getPathVal(unref(config._rootValue), config.dynamicHireRelat, '->')?.length, (val) => {
312
+ config?._unWatchs?.forEach(un => un?.()) // 删除子级的PmPageMetaList监听
313
+ const list = getPathVal(unref(config._rootValue), config.dynamicHireRelat, '->')
314
+ if (list && list.length) {
315
+ config.multiPmPageMetaList = list.map((row, idx) => {
316
+ const columnsCgs = config._rowColumnConfgsMap.get(row)
317
+ if (columnsCgs) {
318
+ columnsCgs.forEach(config => {
319
+ config.rowIndex = idx
320
+ })
321
+ return columnsCgs
322
+ } else {
323
+ let retColumnConfigs = config.pmPageMetaList.map((itemConfig, relIdx) => {
324
+ const ret = cloneDeep(itemConfig)
325
+ ret.labelHidden = '1'
326
+ if (ret.width && !ret.columnWidth) {
327
+ ret.columnWidth = ret.width
328
+ delete ret.width
329
+ }
330
+ ret.columnId = generateUniqueId()
331
+ ret.rowIndex = idx
332
+ ret.isColumn = true
333
+ ret.refConfig = config.pmPageMetaList?.[relIdx]
334
+ ret.parent = config // 这边手动设置一下,防止组件复用的时候不会刷新,造成parent的丢失
335
+ return ret
336
+ })
337
+ simpleNormalPmPageMetaList(retColumnConfigs, `${dynamicHireRelat}[${idx}]`, [...unWatchsList])
338
+ config._rowColumnConfgsMap.set(row, retColumnConfigs)
339
+ return retColumnConfigs
340
+ }
341
+ })
342
+ }
343
+ }, {
344
+ immediate: true,
345
+ })
346
+ // 这边先执行,因为当前的_unWatchs里面只放子级的watch
347
+ unWatchsList?.forEach(list => {
348
+ list?.push(unWatch)
349
+ })
350
+ config._unPageMetaListWatch = unWatch
351
+ config._unWatchs = []
352
+ unWatchsList?.push(config._unWatchs)
353
+
354
+ } else {
355
+ config.pmPageMetaList = simpleNormalPmPageMetaList(config.pmPageMetaList, dynamicHireRelat)
356
+ }
357
+
358
+ function simpleNormalPmPageMetaList(pmPageMetaList, dynamicHireRelat, unWatchsList) {
359
+ return pmPageMetaList.map(metaItem => {
360
+ const { pageConfig } = normalConfig({
361
+ requestTraceId,
362
+ dialogReq,
363
+ lang,
364
+ mode,
365
+ cbs,
366
+ polyfillConfigs,
367
+ instance,
368
+ rootValue,
369
+ axiosInstance,
370
+ messageInstance ,
371
+ messageCb,
372
+ parentRootValue,
373
+ parentDynamicMapComp,
374
+ }, metaItem, hireRelat, mapComp, needformItem || [FORM_META_TYPE, FORM_META_TYPE_H5].includes(metaType), dynamicHireRelat, unWatchsList)
375
+ return pageConfig
376
+ })?.sort((a, b) => a.seqNo - b.seqNo)
377
+ }
378
+ }
379
+ }
380
+
381
+
335
382
  return {
336
383
  mapComp,
337
384
  pageConfig