resolver-egretimp-plus 0.0.7 → 0.0.9
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/dist/index.js +1 -1
- package/dist/theme/element/index.css +1 -1
- package/package.json +14 -10
- package/scripts/gulpfile.mjs +1 -1
- package/scripts/webpack.config.js +12 -2
- package/src/index.jsx +0 -1
- package/src/rules/parseCondition.js +16 -4
- package/src/rules_b/events.js +412 -0
- package/src/rules_b/executeRule.js +0 -0
- package/src/rules_b/index.js +13 -0
- package/src/rules_b/parsCondition.js +0 -0
- package/src/rules_b/ruleUtils.js +0 -0
- package/src/utils/render.jsx +2 -2
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "resolver-egretimp-plus",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "交付体验渲染",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.js",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
7
|
"exports": {
|
|
8
|
+
".": "./dist/index.js",
|
|
8
9
|
"./dist/*": "./dist/*"
|
|
9
10
|
},
|
|
10
11
|
"scripts": {
|
|
11
12
|
"build:package": "webpack --config scripts/webpack.config.js",
|
|
12
13
|
"build:theme": "gulp -f scripts/gulpfile.mjs",
|
|
13
|
-
"build": "
|
|
14
|
+
"build": "npm run build:package && npm run build:theme"
|
|
14
15
|
},
|
|
15
16
|
"author": "caowb",
|
|
16
17
|
"license": "ISC",
|
|
@@ -20,8 +21,14 @@
|
|
|
20
21
|
"@vue/babel-plugin-jsx": "^1.2.2",
|
|
21
22
|
"@vue/cli-plugin-babel": "^5.0.8",
|
|
22
23
|
"@vue/compiler-sfc": "^3.4.29",
|
|
24
|
+
"@vueuse/core": "^10.11.1",
|
|
25
|
+
"axios": "^1.7.7",
|
|
23
26
|
"babel-loader": "^9.1.3",
|
|
24
27
|
"consola": "^3.2.3",
|
|
28
|
+
"core-js-pure": "^3.38.1",
|
|
29
|
+
"css-loader": "^7.1.2",
|
|
30
|
+
"dayjs": "^1.11.13",
|
|
31
|
+
"element-plus": "^2.7.6",
|
|
25
32
|
"gulp": "^4.0.0",
|
|
26
33
|
"gulp-autoprefixer": "^9.0.0",
|
|
27
34
|
"gulp-clean-css": "^4.3.0",
|
|
@@ -31,15 +38,12 @@
|
|
|
31
38
|
"lodash-es": "^4.17.21",
|
|
32
39
|
"mini-css-extract-plugin": "^2.9.0",
|
|
33
40
|
"node-sass": "^9.0.0",
|
|
34
|
-
"sass": "
|
|
41
|
+
"sass": "1.77.6",
|
|
35
42
|
"sass-loader": "^14.2.1",
|
|
36
43
|
"vue-loader": "^17.4.2",
|
|
44
|
+
"vue-style-loader": "^4.1.3",
|
|
45
|
+
"vue3-quill": "^0.3.1",
|
|
37
46
|
"webpack": "^5.90.0",
|
|
38
47
|
"webpack-cli": "^5.1.4"
|
|
39
|
-
},
|
|
40
|
-
"dependencies": {
|
|
41
|
-
"@vueuse/core": "^10.11.0",
|
|
42
|
-
"axios": "^1.7.7",
|
|
43
|
-
"vue3-quill": "^0.3.1"
|
|
44
48
|
}
|
|
45
49
|
}
|
package/scripts/gulpfile.mjs
CHANGED
|
@@ -30,7 +30,7 @@ function buildThemeChalk() {
|
|
|
30
30
|
const sass = gulpSass(dartSass)
|
|
31
31
|
const stream = src(path.resolve(__dirname, '../src/theme/element/index.scss'))
|
|
32
32
|
.pipe(sass({
|
|
33
|
-
includePaths: ['../node_modules'] // 添加
|
|
33
|
+
includePaths: [path.resolve(__dirname, '../node_modules')] // 添加
|
|
34
34
|
}))
|
|
35
35
|
.pipe(autoprefixer({ cascade: false }))
|
|
36
36
|
.pipe(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const path = require('path')
|
|
2
|
-
const { VueLoaderPlugin } = require('vue-loader')
|
|
2
|
+
const { VueLoaderPlugin, default: loader } = require('vue-loader')
|
|
3
3
|
|
|
4
4
|
module.exports = {
|
|
5
5
|
mode: 'production',
|
|
@@ -24,7 +24,16 @@ module.exports = {
|
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
test: /\.vue$/,
|
|
27
|
-
|
|
27
|
+
use: [
|
|
28
|
+
{
|
|
29
|
+
loader: 'vue-loader',
|
|
30
|
+
options: {
|
|
31
|
+
compilerOptions: {
|
|
32
|
+
isCustomElement: tag => tag.startsWith('cmi-')
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
],
|
|
28
37
|
},
|
|
29
38
|
{
|
|
30
39
|
test: /\.less$/,
|
|
@@ -58,6 +67,7 @@ module.exports = {
|
|
|
58
67
|
},
|
|
59
68
|
externals: {
|
|
60
69
|
vue: 'vue',
|
|
70
|
+
'cmid-dev': 'cmid-dev',
|
|
61
71
|
'element-plus': 'element-plus',
|
|
62
72
|
'vue-router': 'vue-router',
|
|
63
73
|
'element-plus/es/hooks/index.mjs': 'element-plus/es/hooks/index.mjs',
|
package/src/index.jsx
CHANGED
|
@@ -276,10 +276,22 @@ export function parseRuleForRefCodeAndEvents(rule) {
|
|
|
276
276
|
const expressObj = JSON.parse(eventExpress)
|
|
277
277
|
const { conditions = [] } = expressObj
|
|
278
278
|
conditions.forEach(condition => {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
279
|
+
if (condition.refType == conditionType.COMPONENT || condition.targetType == conditionType.COMPONENT) {
|
|
280
|
+
if (condition.refType == conditionType.COMPONENT) {
|
|
281
|
+
codeRules.push({
|
|
282
|
+
key: tabpanelCode ? `${tabpanelCode}->${condition.refCode || condition.refValue}` : condition.refCode || condition.refValue,
|
|
283
|
+
rules: [rule]
|
|
284
|
+
})
|
|
285
|
+
}
|
|
286
|
+
if (condition.targetType == conditionType.COMPONENT) {
|
|
287
|
+
codeRules.push({
|
|
288
|
+
key: tabpanelCode ? `${tabpanelCode}->${condition.targetValue}` : condition.targetValue,
|
|
289
|
+
rules: [rule]
|
|
290
|
+
})
|
|
291
|
+
}
|
|
292
|
+
} else {
|
|
293
|
+
|
|
294
|
+
}
|
|
283
295
|
});
|
|
284
296
|
return codeRules
|
|
285
297
|
}
|
|
@@ -0,0 +1,412 @@
|
|
|
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
|
+
import { DISPLAY_HIDDEN, DISPLAY_SHOW } from '../utils'
|
|
21
|
+
import {
|
|
22
|
+
getConfigValue,
|
|
23
|
+
getCurrentComp,
|
|
24
|
+
greaterThan,
|
|
25
|
+
setFormVal,
|
|
26
|
+
lessThan
|
|
27
|
+
} from './ruleUtils'
|
|
28
|
+
|
|
29
|
+
const eventsMap = {
|
|
30
|
+
0: 'setHidden',
|
|
31
|
+
1: 'setRequired',
|
|
32
|
+
2: 'setDisable',
|
|
33
|
+
3: 'setClear',
|
|
34
|
+
4: 'setDefaultValue',
|
|
35
|
+
5: 'limitDataRange',
|
|
36
|
+
6: 'setPopup',
|
|
37
|
+
7: 'openThePage',
|
|
38
|
+
8: 'setShow',
|
|
39
|
+
9: 'setNoRequired',
|
|
40
|
+
10: 'setNoDisable',
|
|
41
|
+
11: 'setDisableNotEffect',
|
|
42
|
+
12: 'setRequiredNotEffect',
|
|
43
|
+
13: 'setNoRequiredNotEffect',
|
|
44
|
+
14: 'setNoDisableNotEffect',
|
|
45
|
+
16: 'setProps'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const allInitEvents = {
|
|
49
|
+
setHidden(event, isInit) {
|
|
50
|
+
const { targetObj: target } = event
|
|
51
|
+
if (!target) return
|
|
52
|
+
const targetObj = `${target}`
|
|
53
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
54
|
+
// 隐藏的效果需要晚点触发,才能正常执行清空等一些列需要组件操作
|
|
55
|
+
setTimeout(() => {
|
|
56
|
+
configs.forEach(labelInfo => {
|
|
57
|
+
labelInfo && (labelInfo.displayType = DISPLAY_HIDDEN)
|
|
58
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.displayType = DISPLAY_HIDDEN)
|
|
59
|
+
})
|
|
60
|
+
}, 0)
|
|
61
|
+
|
|
62
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
63
|
+
return () => {
|
|
64
|
+
configs.forEach((labelInfo) => {
|
|
65
|
+
labelInfo && (labelInfo.displayType = DISPLAY_SHOW)
|
|
66
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.displayType = DISPLAY_SHOW)
|
|
67
|
+
})
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
setRequired(event, isInit, tabpanelCode) {
|
|
71
|
+
const { targetObj: target } = event
|
|
72
|
+
if (!target) return
|
|
73
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
74
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
75
|
+
configs.forEach(labelInfo => {
|
|
76
|
+
labelInfo && (labelInfo.requiredFlag = '1')
|
|
77
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '1')
|
|
78
|
+
|
|
79
|
+
})
|
|
80
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
81
|
+
return () => {
|
|
82
|
+
configs.forEach(labelInfo => {
|
|
83
|
+
labelInfo && (labelInfo.requiredFlag = '0')
|
|
84
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '0')
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
setDisable(event, isInit, tabpanelCode) {
|
|
89
|
+
const { targetObj: target } = event
|
|
90
|
+
if (!target) return
|
|
91
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
92
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
93
|
+
configs.forEach(labelInfo => {
|
|
94
|
+
labelInfo && (labelInfo.editFlag = '0')
|
|
95
|
+
})
|
|
96
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
97
|
+
return () => {
|
|
98
|
+
configs.forEach(labelInfo => {
|
|
99
|
+
labelInfo && (labelInfo.editFlag = '1')
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
setClear(event, isInit, tabpanelCode) {
|
|
104
|
+
if (isInit) {
|
|
105
|
+
return
|
|
106
|
+
}
|
|
107
|
+
const { targetObj: target } = event
|
|
108
|
+
if (!target) return
|
|
109
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
110
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
111
|
+
configs.forEach(labelInfo => {
|
|
112
|
+
if (!labelInfo) return
|
|
113
|
+
let val = ''
|
|
114
|
+
if (valArrTypes.includes(labelInfo.labelType)) {
|
|
115
|
+
val = []
|
|
116
|
+
}
|
|
117
|
+
if (valBooleanTypes.includes(labelInfo.labelType)) {
|
|
118
|
+
val = false
|
|
119
|
+
}
|
|
120
|
+
hasOwn(labelInfo, 'refValue') && (labelInfo.refValue = val)
|
|
121
|
+
})
|
|
122
|
+
},
|
|
123
|
+
setDefaultValue(event, isInit, tabpanelCode) {
|
|
124
|
+
const { targetObj: target, targetObjVal } = event
|
|
125
|
+
if (!target) return
|
|
126
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
127
|
+
let val = ''
|
|
128
|
+
try {
|
|
129
|
+
val = JSON.parse(targetObjVal)
|
|
130
|
+
} catch (err) {
|
|
131
|
+
val = targetObjVal
|
|
132
|
+
}
|
|
133
|
+
if (typeof val === 'number') {
|
|
134
|
+
val = `${val}`
|
|
135
|
+
}
|
|
136
|
+
if (val === ARG_FLAGS.REF_VAL) {
|
|
137
|
+
const { config } = this
|
|
138
|
+
val = config?.bindValue
|
|
139
|
+
} else {
|
|
140
|
+
const _absoluteTarget = /^_absoluteTarget:(.+)$/
|
|
141
|
+
const matchs = val.match(_absoluteTarget)
|
|
142
|
+
if (typeof val === 'string' && matchs?.[1]) {
|
|
143
|
+
const { dynamicMapComp } = this
|
|
144
|
+
const targetConfig = dynamicMapComp?.[matchs[1]]
|
|
145
|
+
val = targetConfig?.bindValue || ''
|
|
146
|
+
} else {
|
|
147
|
+
const curVal = getConfigValue.call(this, targetObj, true)
|
|
148
|
+
if (curVal || curVal == '0') {
|
|
149
|
+
val = curVal
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
setFormVal.call(this, targetObj, val)
|
|
154
|
+
},
|
|
155
|
+
limitDataRange(event, isInit, tabpanelCode) {
|
|
156
|
+
const { targetObj: target, targetObjVal = '' } = event
|
|
157
|
+
if (!target) return
|
|
158
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
159
|
+
const range = targetObjVal.split('~')
|
|
160
|
+
if (range && range.length) {
|
|
161
|
+
const min = range[0]
|
|
162
|
+
const max = range[1]
|
|
163
|
+
const currentVal = getConfigValue.call(this, targetObj, true)
|
|
164
|
+
if (min && lessThan(currentVal, min)) {
|
|
165
|
+
setFormVal.call(this, targetObj, min)
|
|
166
|
+
}
|
|
167
|
+
if (max && greaterThan(currentVal, max)) {
|
|
168
|
+
setFormVal.call(this, targetObj, max)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
setPopup(event, isInit, tabpanelCode) {
|
|
173
|
+
const { targetMsg, targetMsgEn } = event
|
|
174
|
+
const msg = this.lang.value.indexOf('zh') > -1 ? targetMsg : targetMsgEn
|
|
175
|
+
this.$alert(msg, '', {
|
|
176
|
+
showCancelButton: false,
|
|
177
|
+
});
|
|
178
|
+
// commModal({
|
|
179
|
+
// msg: storage.get('aid-language').indexOf('zh') !== -1 ? targetMsg : targetMsgEn
|
|
180
|
+
// })
|
|
181
|
+
// document && document.body && document.body.click()
|
|
182
|
+
},
|
|
183
|
+
openThePage(event, isInit, tabpanelCode) {
|
|
184
|
+
const { targetObjVal } = event
|
|
185
|
+
if (targetObjVal) {
|
|
186
|
+
window.open(targetObjVal, '_blank')
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
setShow(event, isInit, tabpanelCode, rule) {
|
|
190
|
+
const { targetObj: target } = event
|
|
191
|
+
if (!target) return
|
|
192
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
193
|
+
// if (target.indexOf('isSpecialPriceingApproval') > -1) {
|
|
194
|
+
// console.log('rule===:', rule)
|
|
195
|
+
// debugger
|
|
196
|
+
// }
|
|
197
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
198
|
+
// const oldDisplayTypes = []
|
|
199
|
+
// if (target.indexOf('amountBilled') > -1) {
|
|
200
|
+
// debugger
|
|
201
|
+
// }
|
|
202
|
+
configs.forEach((labelInfo) => {
|
|
203
|
+
// const oldDisplayType = labelInfo && labelInfo.displayType
|
|
204
|
+
// oldDisplayTypes.push(oldDisplayType)
|
|
205
|
+
labelInfo && (labelInfo.displayType = '1')
|
|
206
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.displayType = '1')
|
|
207
|
+
})
|
|
208
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
209
|
+
return () => {
|
|
210
|
+
// 隐藏的效果需要晚点触发,才能正常执行清空等一些列需要组件操作
|
|
211
|
+
return setTimeout(() => {
|
|
212
|
+
// if (target.indexOf('isSpecialPriceingApproval') > -1) {
|
|
213
|
+
// console.log('rule===:', rule)
|
|
214
|
+
// debugger
|
|
215
|
+
// }
|
|
216
|
+
configs.forEach((labelInfo, idx) => {
|
|
217
|
+
// const oldDisplayType = oldDisplayTypes[idx]
|
|
218
|
+
labelInfo && (labelInfo.displayType = '0')
|
|
219
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.displayType = '0')
|
|
220
|
+
})
|
|
221
|
+
}, 0)
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
setNoRequired(event, isInit, tabpanelCode) {
|
|
225
|
+
const { targetObj: target } = event
|
|
226
|
+
if (!target) return
|
|
227
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
228
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
229
|
+
|
|
230
|
+
const callFns = []
|
|
231
|
+
configs.forEach(labelInfo => {
|
|
232
|
+
if (labelInfo && labelInfo.requiredFlag != '0') {
|
|
233
|
+
labelInfo && (labelInfo.requiredFlag = '0')
|
|
234
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
235
|
+
callFns.push(() => {
|
|
236
|
+
labelInfo && (labelInfo.requiredFlag = '1')
|
|
237
|
+
})
|
|
238
|
+
}
|
|
239
|
+
})
|
|
240
|
+
return () => {
|
|
241
|
+
callFns.forEach(fn => fn())
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
setNoDisable(event, isInit, tabpanelCode) {
|
|
245
|
+
const { targetObj: target } = event
|
|
246
|
+
if (!target) return
|
|
247
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
248
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
249
|
+
configs.forEach((labelInfo) => {
|
|
250
|
+
labelInfo && (labelInfo.editFlag = '1')
|
|
251
|
+
})
|
|
252
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
253
|
+
return () => {
|
|
254
|
+
configs.forEach((labelInfo) => {
|
|
255
|
+
labelInfo && (labelInfo.editFlag = '0')
|
|
256
|
+
})
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
setDisableNotEffect(event, isInit, tabpanelCode) {
|
|
260
|
+
const { targetObj: target } = event
|
|
261
|
+
if (!target) return
|
|
262
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
263
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
264
|
+
const oldEditFlags = []
|
|
265
|
+
configs.forEach(labelInfo => {
|
|
266
|
+
const oldEditFlag = labelInfo && labelInfo.editFlag
|
|
267
|
+
oldEditFlags.push(oldEditFlag)
|
|
268
|
+
labelInfo && (labelInfo.editFlag = '0')
|
|
269
|
+
})
|
|
270
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
271
|
+
return () => {
|
|
272
|
+
configs.forEach((labelInfo, idx) => {
|
|
273
|
+
const oldEditFlag = oldEditFlags[idx]
|
|
274
|
+
labelInfo && (labelInfo.editFlag = oldEditFlag)
|
|
275
|
+
})
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
setRequiredNotEffect(event, isInit, tabpanelCode) {
|
|
279
|
+
const { targetObj: target } = event
|
|
280
|
+
if (!target) return
|
|
281
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
282
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
283
|
+
|
|
284
|
+
const oldRequiredFlags = []
|
|
285
|
+
configs.forEach(labelInfo => {
|
|
286
|
+
const oldRequiredFlag = labelInfo && labelInfo.requiredFlag
|
|
287
|
+
oldRequiredFlags.push(oldRequiredFlag)
|
|
288
|
+
labelInfo && (labelInfo.requiredFlag = '1')
|
|
289
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = '1')
|
|
290
|
+
})
|
|
291
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
292
|
+
return () => {
|
|
293
|
+
configs.forEach((labelInfo, idx) => {
|
|
294
|
+
const oldRequiredFlag = oldRequiredFlags[idx]
|
|
295
|
+
labelInfo && (labelInfo.requiredFlag = oldRequiredFlag)
|
|
296
|
+
labelInfo && labelInfo.refConfig && (labelInfo.refConfig.requiredFlag = oldRequiredFlag)
|
|
297
|
+
})
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
setNoRequiredNotEffect(event, isInit, tabpanelCode) {
|
|
301
|
+
const { targetObj: target } = event
|
|
302
|
+
if (!target) return
|
|
303
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
304
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
305
|
+
|
|
306
|
+
const oldRequiredFlags = []
|
|
307
|
+
configs.forEach(labelInfo => {
|
|
308
|
+
const oldRequiredFlag = labelInfo && labelInfo.requiredFlag
|
|
309
|
+
oldRequiredFlags.push(oldRequiredFlag)
|
|
310
|
+
labelInfo && (labelInfo.requiredFlag = '0')
|
|
311
|
+
})
|
|
312
|
+
|
|
313
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
314
|
+
return () => {
|
|
315
|
+
configs.forEach((labelInfo, idx) => {
|
|
316
|
+
const oldRequiredFlag = oldRequiredFlags[idx]
|
|
317
|
+
labelInfo && (labelInfo.requiredFlag = oldRequiredFlag)
|
|
318
|
+
})
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
setNoDisableNotEffect(event, isInit, tabpanelCode) {
|
|
322
|
+
const { targetObj: target } = event
|
|
323
|
+
if (!target) return
|
|
324
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
325
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
326
|
+
const oldEditFlags = []
|
|
327
|
+
configs.forEach((labelInfo) => {
|
|
328
|
+
const oldEditFlag = labelInfo && labelInfo.editFlag
|
|
329
|
+
oldEditFlags.push(oldEditFlag)
|
|
330
|
+
labelInfo && (labelInfo.editFlag = '1')
|
|
331
|
+
})
|
|
332
|
+
|
|
333
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
334
|
+
return () => {
|
|
335
|
+
configs.forEach((labelInfo, idx) => {
|
|
336
|
+
const oldEditFlag = oldEditFlags[idx]
|
|
337
|
+
labelInfo && (labelInfo.editFlag = oldEditFlag)
|
|
338
|
+
})
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
setProps(event, isInit, tabpanelCode, rule) {
|
|
342
|
+
const { targetObj: target, targetObjVal } = event
|
|
343
|
+
if (!target) return
|
|
344
|
+
|
|
345
|
+
const targetObj = `${tabpanelCode ? tabpanelCode + '->' : ''}${target}`
|
|
346
|
+
const { config } = this
|
|
347
|
+
let val = ''
|
|
348
|
+
try {
|
|
349
|
+
val = parseExtendAttr(
|
|
350
|
+
{
|
|
351
|
+
extendAttr: targetObjVal,
|
|
352
|
+
metaCode: `event setPorps code:${config.metaCode}`
|
|
353
|
+
},
|
|
354
|
+
config?.bindValue
|
|
355
|
+
)
|
|
356
|
+
} catch (err) {
|
|
357
|
+
val = ''
|
|
358
|
+
}
|
|
359
|
+
if (!isPlainObject(val)) return
|
|
360
|
+
|
|
361
|
+
const configs = getCurrentComp.call(this, targetObj)
|
|
362
|
+
const oldPorpsList = []
|
|
363
|
+
const porpsKeys = Object.keys(val)
|
|
364
|
+
// if (target.indexOf('amountBilled') > -1) {
|
|
365
|
+
// debugger
|
|
366
|
+
// }
|
|
367
|
+
configs.forEach((labelInfo) => {
|
|
368
|
+
let updateFlag = false
|
|
369
|
+
const oldProps = {}
|
|
370
|
+
if (!labelInfo) return
|
|
371
|
+
porpsKeys.forEach(key => {
|
|
372
|
+
oldProps[key] = labelInfo[key]
|
|
373
|
+
if (!hasOwn(labelInfo, key)) {
|
|
374
|
+
// 如果有一个属性没有,就需要更新下组件,防止渲染不及时
|
|
375
|
+
updateFlag = true
|
|
376
|
+
}
|
|
377
|
+
if ((typeof val[key]) === 'string') {
|
|
378
|
+
const { config } = this
|
|
379
|
+
const bindValue = config?.bindValue
|
|
380
|
+
labelInfo[key] = val[key].replace(/\{([^}]+)\}/g, (originVal, matchVal) => {
|
|
381
|
+
if (matchVal.trimEnd().trimStart() === ARG_FLAGS.REF_VAL) {
|
|
382
|
+
return bindValue
|
|
383
|
+
}
|
|
384
|
+
if (matchVal.trimEnd().trimStart() === ARG_FLAGS.CURRENT_DATE) {
|
|
385
|
+
return formatDate(new Date(), 'yyyy-MM-dd')
|
|
386
|
+
}
|
|
387
|
+
return originVal
|
|
388
|
+
})
|
|
389
|
+
} else {
|
|
390
|
+
labelInfo[key] = val[key]
|
|
391
|
+
}
|
|
392
|
+
})
|
|
393
|
+
oldPorpsList.push(oldProps)
|
|
394
|
+
if (updateFlag) {
|
|
395
|
+
labelInfo?.wrapVm?.ctx?.$forceUpdate?.()
|
|
396
|
+
}
|
|
397
|
+
})
|
|
398
|
+
// 有的事件在不满足条件的情况下,需要进行恢复
|
|
399
|
+
return () => {
|
|
400
|
+
// 需要晚点触发,才能正常执行清空等一些列需要组件操作
|
|
401
|
+
return setTimeout(() => {
|
|
402
|
+
configs.forEach((labelInfo, idx) => {
|
|
403
|
+
const oldProps = oldPorpsList[idx]
|
|
404
|
+
if (!labelInfo) return
|
|
405
|
+
porpsKeys.forEach(key => {
|
|
406
|
+
labelInfo[key] = oldProps[key]
|
|
407
|
+
})
|
|
408
|
+
})
|
|
409
|
+
}, 0)
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/utils/render.jsx
CHANGED
|
@@ -488,7 +488,7 @@ function generateFormItemPc (config, lang, compProps, params,) {
|
|
|
488
488
|
return node
|
|
489
489
|
}
|
|
490
490
|
|
|
491
|
-
if (!config.needformItem && !config.
|
|
491
|
+
if (!config.needformItem && !config.showFormItem) {
|
|
492
492
|
return node
|
|
493
493
|
}
|
|
494
494
|
const slots = {}
|
|
@@ -504,7 +504,7 @@ function generateFormItemPc (config, lang, compProps, params,) {
|
|
|
504
504
|
|
|
505
505
|
function generateFormItemH5(config, lang, compProps, params) {
|
|
506
506
|
return node => {
|
|
507
|
-
if (!config.needformItem && !config.
|
|
507
|
+
if (!config.needformItem && !config.showFormItem) {
|
|
508
508
|
return node
|
|
509
509
|
}
|
|
510
510
|
const props = {
|