resolver-egretimp-plus 0.1.55 → 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
|
@@ -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
|
-
|
|
231
|
-
|
|
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
|
})
|
|
@@ -346,9 +346,17 @@ export default {
|
|
|
346
346
|
})
|
|
347
347
|
const defaultTotalFn = (total, val, row) => {
|
|
348
348
|
if (val === undefined || val === null) {
|
|
349
|
-
val =
|
|
349
|
+
val = 0
|
|
350
|
+
if (val === undefined) {
|
|
351
|
+
val = ''
|
|
352
|
+
}
|
|
350
353
|
} else {
|
|
351
|
-
|
|
354
|
+
const strVal = val.toString()
|
|
355
|
+
const negativeFlag = /^-/.test(strVal)
|
|
356
|
+
val = strVal.replace(/[^\d\.]/g, '')
|
|
357
|
+
if (negativeFlag) {
|
|
358
|
+
val = `-${val}`
|
|
359
|
+
}
|
|
352
360
|
}
|
|
353
361
|
const numFlag = !isNaN(Number(val))
|
|
354
362
|
if (total === null || total === undefined) {
|
package/src/rules/ruleUtils.js
CHANGED
|
@@ -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 =
|
|
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()
|