resolver-egretimp-plus 0.0.78 → 0.0.80
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/h5/index.js +2 -2
- package/dist/web/index.js +2 -2
- package/package.json +1 -1
- package/src/analysisComponent.jsx +2 -0
- package/src/components/childDialog/index.js +6 -2
- package/src/components/childDialog/src/index.vue +4 -1
- package/src/components/helper/eventOrchestration.js +135 -25
- package/src/index.jsx +13 -5
- package/src/utils/common.js +8 -2
- package/src/utils/valid.js +0 -2
package/package.json
CHANGED
|
@@ -48,6 +48,7 @@ export default {
|
|
|
48
48
|
delete ret.onClick
|
|
49
49
|
return ret
|
|
50
50
|
})
|
|
51
|
+
const dialogReq = inject('_dialogReq', {})
|
|
51
52
|
const requestTraceId = inject('requestTraceId')
|
|
52
53
|
const polyfillConfigs = inject('_polyfillConfigs', {})
|
|
53
54
|
const buttonActions = inject('buttonActions', {})
|
|
@@ -202,6 +203,7 @@ export default {
|
|
|
202
203
|
messageCb,
|
|
203
204
|
buttonActions,
|
|
204
205
|
lang: lang?.value,
|
|
206
|
+
dialogReq,
|
|
205
207
|
appContext
|
|
206
208
|
})
|
|
207
209
|
}
|
|
@@ -4,13 +4,15 @@ import { createVNode, render } from 'vue'
|
|
|
4
4
|
let instance = null
|
|
5
5
|
|
|
6
6
|
export function openChildDialog(options = {}, appContext) {
|
|
7
|
+
const initData = options.initData || {}
|
|
7
8
|
if (instance) {
|
|
8
9
|
Object.keys(options).forEach(key => {
|
|
9
10
|
instance.props[key] = options[key]
|
|
10
11
|
|
|
11
|
-
instance.vm.exposed.dialogVisible.value = true
|
|
12
12
|
})
|
|
13
|
-
instance
|
|
13
|
+
instance.vm.exposed.dialogVisible.value = true
|
|
14
|
+
// instance?.vm?.exposed?.clearData()
|
|
15
|
+
instance?.vm?.exposed?.initData(initData)
|
|
14
16
|
return instance.close
|
|
15
17
|
}
|
|
16
18
|
const container = document.createElement('div')
|
|
@@ -30,5 +32,7 @@ export function openChildDialog(options = {}, appContext) {
|
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
vnode.component.exposed.dialogVisible.value = true
|
|
35
|
+
vnode.component.exposed?.initData(initData)
|
|
36
|
+
|
|
33
37
|
return instance.close
|
|
34
38
|
}
|
|
@@ -81,6 +81,9 @@ defineExpose({
|
|
|
81
81
|
dialogVisible,
|
|
82
82
|
clearData: () => {
|
|
83
83
|
formData.value = {}
|
|
84
|
+
},
|
|
85
|
+
initData: (data) => {
|
|
86
|
+
formData.value = data
|
|
84
87
|
}
|
|
85
88
|
})
|
|
86
89
|
</script>
|
|
@@ -101,7 +104,7 @@ defineExpose({
|
|
|
101
104
|
:busiIdentityId="busiIdentityId"
|
|
102
105
|
:lang="props.lang"
|
|
103
106
|
:buttonActions="props.buttonActions"
|
|
104
|
-
:
|
|
107
|
+
:dialogReq="props.loadEvnetsReq"
|
|
105
108
|
:polyfillConfigs="props.polyfillConfigs"
|
|
106
109
|
:axiosInstance="props.axiosInstance"
|
|
107
110
|
:axiosConfig="props.axiosConfig"
|
|
@@ -2,18 +2,18 @@ import { isArray, isHasVal } from "../../utils/is"
|
|
|
2
2
|
import { DATA_VALID_RULE_EXECUTE } from "../../api/builtIn"
|
|
3
3
|
import { getRelateConfigKeys } from "../../rules/ruleUtils"
|
|
4
4
|
import { RESULT_CODE, resultToast } from "../../utils/respone"
|
|
5
|
-
import { parseExtendAttr, unionWith } from "../../utils/index"
|
|
5
|
+
import { isPromise, parseExtendAttr, unionWith } from "../../utils/index"
|
|
6
6
|
|
|
7
|
-
export async function dispatchClickEvents ({serviceList = [], requestTraceId, axiosInstance, dynamicMapComp, rootValue, dynamicHireRelat, messageCb, compConfig, messageInstance}) {
|
|
7
|
+
export async function dispatchClickEvents ({serviceList = [], requestTraceId, axiosInstance, dialogReq, dynamicMapComp, rootValue, dynamicHireRelat, messageCb, compConfig, messageInstance, beforeRequestService, afterRequestService}) {
|
|
8
8
|
const dynamicMapCompKeys = Object.keys(dynamicMapComp)
|
|
9
9
|
const mixinServiceConfig = serviceList.find(service => service.serviceType === '1')
|
|
10
10
|
for (let i = 0; i < serviceList.length; i++) {
|
|
11
11
|
const service = serviceList[i]
|
|
12
|
-
dispatchClickEvent(service, {dynamicMapComp, requestTraceId, mixinServiceConfig, rootValue, dynamicMapCompKeys, dynamicHireRelat, axiosInstance, messageCb, compConfig, messageInstance})
|
|
12
|
+
dispatchClickEvent(service, {dynamicMapComp, requestTraceId, dialogReq, mixinServiceConfig, rootValue, dynamicMapCompKeys, dynamicHireRelat, axiosInstance, messageCb, compConfig, messageInstance, beforeRequestService, afterRequestService})
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export async function dispatchClickEvent(service, { dynamicMapComp, requestTraceId, mixinServiceConfig, rootValue, dynamicMapCompKeys, dynamicHireRelat, axiosInstance, messageCb, compConfig, messageInstance }) {
|
|
16
|
+
export async function dispatchClickEvent(service, { dynamicMapComp, requestTraceId, dialogReq, mixinServiceConfig, rootValue, dynamicMapCompKeys, dynamicHireRelat, axiosInstance, messageCb, compConfig, messageInstance, beforeRequestService, afterRequestService }) {
|
|
17
17
|
let reqData = rootValue || {}
|
|
18
18
|
let tableConfig = null
|
|
19
19
|
if (service.transactionType == '1') {
|
|
@@ -23,6 +23,10 @@ export async function dispatchClickEvent(service, { dynamicMapComp, requestTrace
|
|
|
23
23
|
reqData[service.pageNum || 'pageNum'] = tableConfig.vm.page?.pageNum
|
|
24
24
|
reqData[service.pageSize || 'pageSize'] = tableConfig.vm.page?.pageSize
|
|
25
25
|
}
|
|
26
|
+
reqData = {
|
|
27
|
+
...reqData,
|
|
28
|
+
// ...dialogReq
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
const url = service.serviceCode
|
|
28
32
|
const httpMethod = service.httpMethod || "post"
|
|
@@ -36,6 +40,25 @@ export async function dispatchClickEvent(service, { dynamicMapComp, requestTrace
|
|
|
36
40
|
},
|
|
37
41
|
...reqData
|
|
38
42
|
}
|
|
43
|
+
|
|
44
|
+
let beforeRequestServiceRet = true
|
|
45
|
+
if (beforeRequestService) {
|
|
46
|
+
beforeRequestServiceRet = beforeRequestService({
|
|
47
|
+
dynamicMapComp,
|
|
48
|
+
requestTraceId,
|
|
49
|
+
mixinServiceConfig,
|
|
50
|
+
rootValue,
|
|
51
|
+
dynamicHireRelat,
|
|
52
|
+
compConfig,
|
|
53
|
+
service,
|
|
54
|
+
reqData: reqResult
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
const beforeRequestServiceRetValid = await beforeRequestServiceRet
|
|
58
|
+
if (!beforeRequestServiceRetValid) {
|
|
59
|
+
return
|
|
60
|
+
}
|
|
61
|
+
|
|
39
62
|
const reqConfig = {
|
|
40
63
|
url,
|
|
41
64
|
method: httpMethod,
|
|
@@ -46,6 +69,8 @@ export async function dispatchClickEvent(service, { dynamicMapComp, requestTrace
|
|
|
46
69
|
delete reqConfig.data
|
|
47
70
|
}
|
|
48
71
|
const ret = await (axiosInstance && axiosInstance(reqConfig))
|
|
72
|
+
afterRequestService && afterRequestService(ret)
|
|
73
|
+
|
|
49
74
|
if (!resultToast(ret?.data, messageInstance, {messageCb, service, compConfig, noSuccessIip: httpMethod.toLocaleLowerCase() === 'get'})) {
|
|
50
75
|
await Promise.reject()
|
|
51
76
|
return
|
|
@@ -145,6 +170,7 @@ export function openDailg({
|
|
|
145
170
|
buttonActions,
|
|
146
171
|
openChildDialog,
|
|
147
172
|
appContext,
|
|
173
|
+
compConfig
|
|
148
174
|
}) {
|
|
149
175
|
const busiIdentityId = pagePopupMap.popupBusiIdentityId
|
|
150
176
|
const dynamicMapCompKeys = Object.keys(dynamicMapComp)
|
|
@@ -209,8 +235,45 @@ export function openDailg({
|
|
|
209
235
|
return retItem
|
|
210
236
|
})
|
|
211
237
|
}
|
|
212
|
-
|
|
213
|
-
|
|
238
|
+
// 定义的请求中间钩子
|
|
239
|
+
const middleOpenDialog = compConfig?.middleOpenDialog
|
|
240
|
+
|
|
241
|
+
let middleOpenDialogRet = outResult
|
|
242
|
+
if (middleOpenDialog) {
|
|
243
|
+
middleOpenDialogRet = middleOpenDialog({
|
|
244
|
+
dynamicMapComp,
|
|
245
|
+
rootValue,
|
|
246
|
+
dynamicHireRelat,
|
|
247
|
+
compConfig,
|
|
248
|
+
pagePopupMap,
|
|
249
|
+
inputParams: reqData,
|
|
250
|
+
outputParams: outResult
|
|
251
|
+
})
|
|
252
|
+
}
|
|
253
|
+
if (isPromise(middleOpenDialogRet)) {
|
|
254
|
+
middleOpenDialogRet.then(res => {
|
|
255
|
+
toInitOutParams(res)
|
|
256
|
+
})
|
|
257
|
+
} else {
|
|
258
|
+
toInitOutParams(middleOpenDialogRet)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function toInitOutParams(outData) {
|
|
262
|
+
initOutParamData(outParamMappingList, {dynamicMapComp, dynamicMapCompKeys, dynamicHireRelat, outResult: outData})
|
|
263
|
+
dialogClose?.()
|
|
264
|
+
|
|
265
|
+
// 定义的请求后钩子
|
|
266
|
+
const afterOpenDialog = compConfig?.afterOpenDialog
|
|
267
|
+
afterOpenDialog && afterOpenDialog({
|
|
268
|
+
dynamicMapComp,
|
|
269
|
+
rootValue,
|
|
270
|
+
dynamicHireRelat,
|
|
271
|
+
compConfig,
|
|
272
|
+
pagePopupMap,
|
|
273
|
+
inputParams: reqData,
|
|
274
|
+
outputParams: outData
|
|
275
|
+
})
|
|
276
|
+
}
|
|
214
277
|
}
|
|
215
278
|
}
|
|
216
279
|
}
|
|
@@ -225,23 +288,60 @@ export function openDailg({
|
|
|
225
288
|
}
|
|
226
289
|
}
|
|
227
290
|
const dialogProps = parseExtendAttr({extendAttr: pagePopupMap.extendAttr})
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
291
|
+
|
|
292
|
+
// 定义的请求前钩子
|
|
293
|
+
const beforeOpenDialog = compConfig?.beforeOpenDialog
|
|
294
|
+
// // 定义的请求后钩子
|
|
295
|
+
// const afterOpenDialog = compConfig?.afterOpenDialog
|
|
296
|
+
|
|
297
|
+
let beforeOpenDialogRet = true
|
|
298
|
+
if (beforeOpenDialog) {
|
|
299
|
+
beforeOpenDialogRet = beforeOpenDialog({
|
|
300
|
+
dynamicMapComp,
|
|
301
|
+
rootValue,
|
|
302
|
+
dynamicHireRelat,
|
|
303
|
+
compConfig,
|
|
304
|
+
pagePopupMap,
|
|
305
|
+
inputParams: reqData
|
|
306
|
+
})
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
if (beforeOpenDialogRet !== null && beforeOpenDialogRet !== undefined) {
|
|
310
|
+
if (isPromise(beforeOpenDialogRet)) {
|
|
311
|
+
beforeOpenDialogRet.then(res => {
|
|
312
|
+
if (res) {
|
|
313
|
+
toOpenDialog()
|
|
314
|
+
}
|
|
315
|
+
})
|
|
316
|
+
} else {
|
|
317
|
+
if (beforeOpenDialogRet) {
|
|
318
|
+
toOpenDialog()
|
|
319
|
+
}
|
|
243
320
|
}
|
|
244
|
-
}
|
|
321
|
+
} else {
|
|
322
|
+
toOpenDialog()
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
function toOpenDialog() {
|
|
326
|
+
dialogClose = openChildDialog({
|
|
327
|
+
buttonActions,
|
|
328
|
+
dialogProps,
|
|
329
|
+
parentRootValue: rootValue,
|
|
330
|
+
selectionsObj,
|
|
331
|
+
busiIdentityId,
|
|
332
|
+
axiosInstance: axiosInstance,
|
|
333
|
+
lang,
|
|
334
|
+
loadEvnetsReq: reqData,
|
|
335
|
+
initData: reqData,
|
|
336
|
+
polyfillConfigs: {
|
|
337
|
+
...initPolyfillConfigs,
|
|
338
|
+
...(polyfillConfigs || {})
|
|
339
|
+
},
|
|
340
|
+
rootStoreChange: (val) => {
|
|
341
|
+
rootStore = val
|
|
342
|
+
}
|
|
343
|
+
}, appContext)
|
|
344
|
+
}
|
|
245
345
|
}
|
|
246
346
|
|
|
247
347
|
// 数据校验服务
|
|
@@ -317,7 +417,7 @@ function closePage(lcpPageClosedMapVO) {
|
|
|
317
417
|
}
|
|
318
418
|
}
|
|
319
419
|
|
|
320
|
-
export async function executeEventOrchestration({props, requestTraceId, axiosInstance, polyfillConfigs, buttonActions, rootValue, confirmInstance, dynamicMapComp, messageInstance, openChildDialog, messageCb, lang, appContext } = {}) {
|
|
420
|
+
export async function executeEventOrchestration({props, requestTraceId, axiosInstance, polyfillConfigs, buttonActions, rootValue, confirmInstance, dialogReq, dynamicMapComp, messageInstance, openChildDialog, messageCb, lang, appContext } = {}) {
|
|
321
421
|
const lcpPageRuleVOLis = props.config?.lcpPageRuleVOList || []
|
|
322
422
|
const PageServiceMapVOList = props.config.lcpPageServiceMapVOList || []
|
|
323
423
|
const mixinServiceConfig = PageServiceMapVOList.find(service => service.serviceType === '1')
|
|
@@ -338,6 +438,11 @@ export async function executeEventOrchestration({props, requestTraceId, axiosIns
|
|
|
338
438
|
}
|
|
339
439
|
|
|
340
440
|
if (PageServiceMapVOList?.length) {
|
|
441
|
+
// 定义的请求前钩子
|
|
442
|
+
const beforeRequestService = props.config?.beforeRequestService
|
|
443
|
+
// 定义的请求后钩子
|
|
444
|
+
const afterRequestService = props.config?.afterRequestService
|
|
445
|
+
|
|
341
446
|
const dynamicHireRelat = props.config?.dynamicHireRelat
|
|
342
447
|
dispatchClickEvents({
|
|
343
448
|
serviceList: PageServiceMapVOList,
|
|
@@ -348,11 +453,15 @@ export async function executeEventOrchestration({props, requestTraceId, axiosIns
|
|
|
348
453
|
dynamicHireRelat,
|
|
349
454
|
messageInstance,
|
|
350
455
|
messageCb,
|
|
351
|
-
compConfig: props.config
|
|
456
|
+
compConfig: props.config,
|
|
457
|
+
dialogReq,
|
|
458
|
+
beforeRequestService,
|
|
459
|
+
afterRequestService
|
|
352
460
|
})
|
|
353
461
|
}
|
|
354
462
|
const lcpPagePopupMapVO = props.config.lcpPagePopupMapVO
|
|
355
463
|
if (lcpPagePopupMapVO) {
|
|
464
|
+
|
|
356
465
|
const dynamicHireRelat = props.config?.dynamicHireRelat
|
|
357
466
|
openDailg({
|
|
358
467
|
rootValue,
|
|
@@ -365,7 +474,8 @@ export async function executeEventOrchestration({props, requestTraceId, axiosIns
|
|
|
365
474
|
lang,
|
|
366
475
|
messageCb,
|
|
367
476
|
buttonActions,
|
|
368
|
-
openChildDialog
|
|
477
|
+
openChildDialog,
|
|
478
|
+
compConfig: props.config,
|
|
369
479
|
})
|
|
370
480
|
}
|
|
371
481
|
const lcpPageClosedMapVO = props.config.lcpPageClosedMapVO
|
package/src/index.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { provide, toRef, watch, computed, ref, defineExpose, reactive, getCurrentInstance } from "vue"
|
|
1
|
+
import { provide, toRef, watch, computed, ref, defineExpose, reactive, getCurrentInstance, toRaw } from "vue"
|
|
2
2
|
import Renderer from './renderer.jsx'
|
|
3
3
|
// import './style/index.scss'
|
|
4
4
|
import { usePageConfig } from './hooks/pageConfig'
|
|
@@ -99,6 +99,11 @@ export default {
|
|
|
99
99
|
type: Object,
|
|
100
100
|
default: () => ({})
|
|
101
101
|
},
|
|
102
|
+
// 在弹框里面的页面,通过弹窗传染的请求数据
|
|
103
|
+
dialogReq: {
|
|
104
|
+
type: Object,
|
|
105
|
+
default: () => ({})
|
|
106
|
+
},
|
|
102
107
|
// 加载服务中businessIdentity的额外参数
|
|
103
108
|
businessIdentityReqData: {
|
|
104
109
|
type: Object,
|
|
@@ -166,10 +171,11 @@ export default {
|
|
|
166
171
|
requestTraceId: props.requestTraceId,
|
|
167
172
|
messageInstance: toRef(props, 'messageInstance'),
|
|
168
173
|
axiosInstance,
|
|
169
|
-
reqData: props.loadEvnetsReq,
|
|
174
|
+
reqData: {...props.loadEvnetsReq, ...props.dialogReq},
|
|
170
175
|
respCb: (result) => {
|
|
171
176
|
nativeDataLoad.value = true
|
|
172
|
-
|
|
177
|
+
const val = deepMerge(props.modelValue, result, 'replace')
|
|
178
|
+
emit('update:modelValue', val)
|
|
173
179
|
emit('loadEvnetsCompleted', result)
|
|
174
180
|
}
|
|
175
181
|
}
|
|
@@ -195,15 +201,17 @@ export default {
|
|
|
195
201
|
messageInstance: toRef(props, 'messageInstance'),
|
|
196
202
|
businessIdentityReqData: props.businessIdentityReqData,
|
|
197
203
|
axiosInstance,
|
|
198
|
-
reqData: props.loadEvnetsReq,
|
|
204
|
+
reqData: {...props.loadEvnetsReq, ...props.dialogReq},
|
|
199
205
|
respCb: (result) => {
|
|
200
206
|
nativeDataLoad.value = true
|
|
201
|
-
|
|
207
|
+
const val = deepMerge(props.modelValue, result, 'replace')
|
|
208
|
+
emit('update:modelValue', val)
|
|
202
209
|
emit('loadEvnetsCompleted', result)
|
|
203
210
|
}
|
|
204
211
|
}
|
|
205
212
|
)
|
|
206
213
|
})
|
|
214
|
+
provide('_dialogReq', props.dialogReq)
|
|
207
215
|
provide('_messageCb', props.messageCb)
|
|
208
216
|
provide('_rootStore', rootStore)
|
|
209
217
|
provide('_openChildDialogInstance', toRef(props, 'openChildDialogInstance'))
|
package/src/utils/common.js
CHANGED
|
@@ -168,7 +168,13 @@ export function deepMerge(
|
|
|
168
168
|
if (!source) {
|
|
169
169
|
return target;
|
|
170
170
|
}
|
|
171
|
-
let ret = mergeWith(
|
|
171
|
+
let ret = mergeWith(source, target, (sourceValue, targetValue) => {
|
|
172
|
+
if (!targetValue) {
|
|
173
|
+
return sourceValue
|
|
174
|
+
}
|
|
175
|
+
if (!sourceValue) {
|
|
176
|
+
return targetValue
|
|
177
|
+
}
|
|
172
178
|
if (isArray(targetValue) && isArray(sourceValue)) {
|
|
173
179
|
switch (mergeArrays) {
|
|
174
180
|
case 'union':
|
|
@@ -186,7 +192,7 @@ export function deepMerge(
|
|
|
186
192
|
if (isPlainObject(targetValue) && isPlainObject(sourceValue)) {
|
|
187
193
|
return deepMerge(sourceValue, targetValue, mergeArrays);
|
|
188
194
|
}
|
|
189
|
-
return
|
|
195
|
+
return targetValue;
|
|
190
196
|
});
|
|
191
197
|
if (Array.isArray(source)) {
|
|
192
198
|
if (ret && !Array.isArray(ret)) {
|
package/src/utils/valid.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export function toValidate(formRef, cb, dynamicMapComp) {
|
|
2
2
|
if (!cb) {
|
|
3
3
|
return formRef.value && formRef.value.validate().catch(err => {
|
|
4
|
-
debugger
|
|
5
4
|
validFailAction(err, dynamicMapComp)
|
|
6
5
|
return Promise.reject(err)
|
|
7
6
|
})
|
|
8
7
|
}
|
|
9
8
|
return formRef.value && formRef.value.validate((valid, errInfo) => {
|
|
10
|
-
debugger
|
|
11
9
|
errInfo && validFailAction(errInfo, dynamicMapComp)
|
|
12
10
|
cb && cb(valid, errInfo)
|
|
13
11
|
})
|