resolver-egretimp-plus 0.1.56 → 0.1.57

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolver-egretimp-plus",
3
- "version": "0.1.56",
3
+ "version": "0.1.57",
4
4
  "description": "交付体验渲染",
5
5
  "main": "./dist/web/index.js",
6
6
  "module": "./dist/web/index.js",
@@ -227,8 +227,16 @@ export default {
227
227
  configLinks.reduce((parent, config) => {
228
228
  definePrivatelyProp(config, 'parent', parent)
229
229
  definePrivatelyProp(config, 'dynamicMapComp', dynamicMapComp)
230
- const dynamicHireRelat = parent?.dynamicHireRelat ? `${parent?.dynamicHireRelat}${hasOwn(config, 'rowIndex') ? `[${config.rowIndex}]` : ''}->${(config.metaCode || '')}` : config.metaCode
231
- definePrivatelyProp(config, 'dynamicHireRelat', dynamicHireRelat)
230
+
231
+ // 如果已经有dynamicHireRelat值的时候,就不需要再进行以下赋值了
232
+ if (config?.dynamicHireRelat_bak) {
233
+ definePrivatelyProp(config, 'dynamicHireRelat', `__@__${props.mode}__${config.dynamicHireRelat_bak}`)
234
+ } else {
235
+ const dynamicHireRelat = parent?.dynamicHireRelat ? `${parent?.dynamicHireRelat}${hasOwn(config, 'rowIndex') ? `[${config.rowIndex}]` : ''}->${(config.metaCode || '')}` : config.metaCode
236
+ definePrivatelyProp(config, 'dynamicHireRelat', dynamicHireRelat)
237
+ config.dynamicHireRelat_bak = dynamicHireRelat
238
+ }
239
+
232
240
  config.dynamicHireRelat && (dynamicMapComp[config.dynamicHireRelat] = config)
233
241
  return config
234
242
  })
@@ -66,8 +66,20 @@ export function setFormVal(pathStr, val) {
66
66
 
67
67
  function getRelateConfigs(codesStr, config, type) {
68
68
  const { dynamicHireRelat = '' } = config
69
+ // 这边逻辑目前主要是为了兼容日志的时候,也可以正常使用规则========start=====
70
+ let normalDynamicHireRelat = dynamicHireRelat
71
+ let preFlagStr = ''
72
+ // 这个规则是因为在日志直接拷贝配置的时候,在analysisComponent组件中会在前面额外加上 这个 标识 所以需要转换一下
73
+ const preFlagStrReg = /^(__@__[^(->)]*__)/
74
+ const preFlagStrMatchs = dynamicHireRelat?.match(preFlagStrReg)
75
+ if (preFlagStrMatchs) {
76
+ preFlagStr = preFlagStrMatchs[1]
77
+ normalDynamicHireRelat = normalDynamicHireRelat?.replace(preFlagStrReg, '')
78
+ }
79
+ // 这边逻辑目前主要是为了兼容日志的时候,也可以正常使用规则========end=====
80
+
69
81
  // 组装成此数据结果,用于后续的获取对应字段=====start====
70
- const dynamicCodeInfos = dynamicHireRelat.split('->').map(code => {
82
+ const dynamicCodeInfos = normalDynamicHireRelat.split('->').map(code => {
71
83
  const matchs = code?.match(/^(\w+)\[(\d+)\]$/)
72
84
  if (matchs) {
73
85
  return {
@@ -102,6 +114,7 @@ function getRelateConfigs(codesStr, config, type) {
102
114
  let sameStr = sameCodesStr
103
115
  let sameIdx = null
104
116
  const sameMatchs = sameCodesStr.match(/^([\w\W]*)\[(\d*)\]$/)
117
+ // 这边是在出现a->c->c[0]这种情况的时候,可以正常获取的组件config
105
118
  if (sameMatchs) {
106
119
  sameStr = sameMatchs[1]
107
120
  sameIdx = sameMatchs[2]
@@ -109,10 +122,10 @@ function getRelateConfigs(codesStr, config, type) {
109
122
  const { dynamicMapComp, _mapComp } = this
110
123
  let retConfigs = []
111
124
  if (sameStr) {
112
- retConfigs = [dynamicMapComp[sameStr]]
125
+ retConfigs = [dynamicMapComp[`${preFlagStr}${sameStr}`]]
113
126
  } else {
114
127
  const code = diffCodes.shift()
115
- retConfigs = [dynamicMapComp[code]]
128
+ retConfigs = [dynamicMapComp[`${preFlagStr}${code}`]]
116
129
  }
117
130
  while (diffCodes.length) {
118
131
  const code = diffCodes.shift()