resolver-egretimp-plus 0.1.114 → 0.1.115
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 +1 -1
- package/package.json +1 -1
- package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
- package/src-bak/analysisComponent.jsx +343 -0
- package/src-bak/api/builtIn.js +10 -0
- package/src-bak/bpm/bpmInstance.js +388 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
- package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
- package/src-bak/components/childDialog/index.js +39 -0
- package/src-bak/components/childDialog/src/index.vue +185 -0
- package/src-bak/components/cmiFormItem/index.js +1 -0
- package/src-bak/components/cmiFormItem/src/index.vue +112 -0
- package/src-bak/components/confirmInstance-H5/index.js +53 -0
- package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
- package/src-bak/components/helper/FormPolyfill.jsx +25 -0
- package/src-bak/components/helper/calcTooltip.jsx +134 -0
- package/src-bak/components/helper/dock.js +141 -0
- package/src-bak/components/helper/eventOrchestration.js +763 -0
- package/src-bak/components/helper/resolver.js +163 -0
- package/src-bak/components/helper/table.jsx +103 -0
- package/src-bak/components/icons/date.vue +33 -0
- package/src-bak/components/icons/info.vue +62 -0
- package/src-bak/components/icons/loading.vue +19 -0
- package/src-bak/components/icons/question-filled.vue +8 -0
- package/src-bak/components/loading/index.js +6 -0
- package/src-bak/components/loading/loading.js +98 -0
- package/src-bak/components/loading/loading.scss +74 -0
- package/src-bak/components/loading/loading.vue +89 -0
- package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
- package/src-bak/components/modal/index.js +9 -0
- package/src-bak/components/modal/modal.scss +195 -0
- package/src-bak/components/modal/modal.vue +201 -0
- package/src-bak/components/options/OptionsDefault.vue +47 -0
- package/src-bak/components/packages-H5/CmiButton.vue +120 -0
- package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
- package/src-bak/components/packages-H5/CmiCell.vue +87 -0
- package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
- package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
- package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
- package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
- package/src-bak/components/packages-H5/CmiInput.vue +69 -0
- package/src-bak/components/packages-H5/CmiLink.vue +28 -0
- package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
- package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
- package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
- package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
- package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
- package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
- package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +137 -0
- package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
- package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
- package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
- package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
- package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
- package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
- package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
- package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
- package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
- package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
- package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
- package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
- package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
- package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
- package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
- package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
- package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
- package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
- package/src-bak/components/packages-web/CustomComponentPlain.vue +243 -0
- package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
- package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
- package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
- package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
- package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
- package/src-bak/components/packages-web/CustomComponentTable.jsx +813 -0
- package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
- package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
- package/src-bak/components/packages-web/ElButton.vue +146 -0
- package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
- package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
- package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
- package/src-bak/components/packages-web/ElInput.jsx +312 -0
- package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
- package/src-bak/components/packages-web/ElPagination.vue +61 -0
- package/src-bak/components/packages-web/ElRadio.vue +47 -0
- package/src-bak/components/packages-web/ElSelect.jsx +249 -0
- package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
- package/src-bak/components/packages-web/ElText.jsx +187 -0
- package/src-bak/components/packages-web/ElTextaa.vue +169 -0
- package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
- package/src-bak/components/patchComponents-H5.js +46 -0
- package/src-bak/components/patchComponents-web.js +46 -0
- package/src-bak/components/simpleFormItemPc/index.js +1 -0
- package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
- package/src-bak/components/table/index.ts +29 -0
- package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
- package/src-bak/components/table/src/config.ts +256 -0
- package/src-bak/components/table/src/filter-panel.vue +260 -0
- package/src-bak/components/table/src/h-helper.ts +34 -0
- package/src-bak/components/table/src/layout-observer.ts +78 -0
- package/src-bak/components/table/src/store/current.ts +85 -0
- package/src-bak/components/table/src/store/expand.ts +76 -0
- package/src-bak/components/table/src/store/helper.ts +74 -0
- package/src-bak/components/table/src/store/index.ts +246 -0
- package/src-bak/components/table/src/store/tree.ts +230 -0
- package/src-bak/components/table/src/store/watcher.ts +543 -0
- package/src-bak/components/table/src/table/defaults.ts +402 -0
- package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
- package/src-bak/components/table/src/table/style-helper.ts +378 -0
- package/src-bak/components/table/src/table/utils-helper.ts +47 -0
- package/src-bak/components/table/src/table-body/defaults.ts +52 -0
- package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
- package/src-bak/components/table/src/table-body/index.ts +119 -0
- package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
- package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
- package/src-bak/components/table/src/table-column/defaults.ts +237 -0
- package/src-bak/components/table/src/table-column/index.ts +202 -0
- package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
- package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
- package/src-bak/components/table/src/table-footer/index.ts +128 -0
- package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
- package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
- package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
- package/src-bak/components/table/src/table-header/index.ts +244 -0
- package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
- package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
- package/src-bak/components/table/src/table-layout.ts +259 -0
- package/src-bak/components/table/src/table.vue +389 -0
- package/src-bak/components/table/src/tableColumn.ts +3 -0
- package/src-bak/components/table/src/tokens.ts +5 -0
- package/src-bak/components/table/src/util.ts +521 -0
- package/src-bak/components/table/style/css.ts +5 -0
- package/src-bak/components/table/style/index.ts +5 -0
- package/src-bak/components/tabs/index.js +8 -0
- package/src-bak/components/tabs/src/constants.js +23 -0
- package/src-bak/components/tabs/src/tab-bar.js +8 -0
- package/src-bak/components/tabs/src/tab-bar.vue +92 -0
- package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
- package/src-bak/components/tabs/src/tab-pane.js +16 -0
- package/src-bak/components/tabs/src/tab-pane.vue +80 -0
- package/src-bak/components/tabs/src/tabs.jsx +223 -0
- package/src-bak/components/tabs/style/css.js +2 -0
- package/src-bak/components/tabs/style/index.js +2 -0
- package/src-bak/components/thirdPartyFrame/index.js +32 -0
- package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
- package/src-bak/enums/index.js +16 -0
- package/src-bak/hooks/configLoad.js +45 -0
- package/src-bak/hooks/index.js +189 -0
- package/src-bak/hooks/mock.js +6960 -0
- package/src-bak/hooks/pageConfig.js +127 -0
- package/src-bak/index.jsx +440 -0
- package/src-bak/renderer.jsx +77 -0
- package/src-bak/resolver-H5.vue +88 -0
- package/src-bak/resolver-common.vue +129 -0
- package/src-bak/resolver-web.vue +91 -0
- package/src-bak/rules/eventsSupplement.js +573 -0
- package/src-bak/rules/parseCondition.js +378 -0
- package/src-bak/rules/ruleUtils.js +273 -0
- package/src-bak/rules/rulesDriver.js +118 -0
- package/src-bak/rulesImp/events.js +588 -0
- package/src-bak/rulesImp/index.js +33 -0
- package/src-bak/rulesImp/ruleInstance.js +231 -0
- package/src-bak/rulesImp/ruleUtils.js +124 -0
- package/src-bak/theme/element/components/button.scss +122 -0
- package/src-bak/theme/element/components/card.scss +8 -0
- package/src-bak/theme/element/components/checkbox.scss +19 -0
- package/src-bak/theme/element/components/collapse.scss +174 -0
- package/src-bak/theme/element/components/common.scss +30 -0
- package/src-bak/theme/element/components/cycle.scss +0 -0
- package/src-bak/theme/element/components/date.scss +13 -0
- package/src-bak/theme/element/components/dialog.scss +44 -0
- package/src-bak/theme/element/components/form.scss +104 -0
- package/src-bak/theme/element/components/index.scss +55 -0
- package/src-bak/theme/element/components/input.scss +36 -0
- package/src-bak/theme/element/components/message.scss +48 -0
- package/src-bak/theme/element/components/pagination.scss +47 -0
- package/src-bak/theme/element/components/popper.scss +3 -0
- package/src-bak/theme/element/components/radio.scss +40 -0
- package/src-bak/theme/element/components/scrollbar.scss +14 -0
- package/src-bak/theme/element/components/select.scss +82 -0
- package/src-bak/theme/element/components/steps.scss +6 -0
- package/src-bak/theme/element/components/table.scss +218 -0
- package/src-bak/theme/element/components/tabs.scss +128 -0
- package/src-bak/theme/element/components/tag.scss +6 -0
- package/src-bak/theme/element/components/text.scss +20 -0
- package/src-bak/theme/element/components/textarea.scss +3 -0
- package/src-bak/theme/element/components/tree.scss +0 -0
- package/src-bak/theme/element/index.scss +55 -0
- package/src-bak/utils/cipher.js +141 -0
- package/src-bak/utils/common.js +664 -0
- package/src-bak/utils/const.js +259 -0
- package/src-bak/utils/defaultVal.js +92 -0
- package/src-bak/utils/dom.js +36 -0
- package/src-bak/utils/format.js +19 -0
- package/src-bak/utils/index.js +4 -0
- package/src-bak/utils/is.js +74 -0
- package/src-bak/utils/loadModule.js +75 -0
- package/src-bak/utils/preserveFunc.js +33 -0
- package/src-bak/utils/render.jsx +1138 -0
- package/src-bak/utils/request.js +136 -0
- package/src-bak/utils/respone.js +70 -0
- package/src-bak/utils/valid.js +89 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { ready } from './udc-sdk-esm/cjs'
|
|
2
|
+
|
|
3
|
+
export const SUBMIT_TYPE = {
|
|
4
|
+
SEND: 'SEND', // 发送,
|
|
5
|
+
SUBMIT:'SUBMIT', // 提交
|
|
6
|
+
AGREE: 'AGREE', // 同意
|
|
7
|
+
READ: 'READ', // 已阅,
|
|
8
|
+
DIS_AGREE: 'DIS_AGREE', // 不同意
|
|
9
|
+
TEMPORARY: 'TEMPORARY', // 暂存
|
|
10
|
+
DRAFT: 'DRAFT', // 发起人保存草稿
|
|
11
|
+
DRAFT_HANDLE: 'DRAFT_HANDLE', // 处理人保存待办
|
|
12
|
+
BACK:'BACK', // 回退
|
|
13
|
+
UNDO: 'UNDO', // 撤销
|
|
14
|
+
TERMINATION: 'TERMINATION', // 终止
|
|
15
|
+
TRANSFER: 'TRANSFER', // 移交,
|
|
16
|
+
NODE_ADD: 'NODE_ADD', // 加签
|
|
17
|
+
NODE_DEL: 'NODE_DEL', // 减签
|
|
18
|
+
AFFAIR_CONSULT: 'AFFAIR_CONSULT', // 咨询,
|
|
19
|
+
RETRIEVE: 'RETRIEVE', // 取回,
|
|
20
|
+
URGE: 'URGE', // 催办
|
|
21
|
+
FORWARD: 'FORWARD', // 转发
|
|
22
|
+
NOTICE: 'NOTICE', // 只会,
|
|
23
|
+
GIVE: 'GIVE', // 会签,
|
|
24
|
+
PROCESS_SHOW: 'PROCESS_SHOW', // 查看流程图
|
|
25
|
+
DELETE_DRAFT: 'DELETE_DRAFT', // 删除待发,
|
|
26
|
+
MULTI_COOPERATE: 'MULTI_COOPERATE', // 多人填写,
|
|
27
|
+
PAUSE: 'PAUSE', // 挂起,
|
|
28
|
+
CANCEL_PAUSE: 'CANCEL_PAUSE', // 取消挂起
|
|
29
|
+
TRACK: 'TRACK' // 关注
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const MESSAGE_TYPE = {
|
|
33
|
+
GET_FORM_DATA: 'GET_FORM_DATA',
|
|
34
|
+
PROCESS_ACTION_SUCCESS: 'PROCESS_ACTION_SUCCESS',
|
|
35
|
+
}
|
|
36
|
+
export let bpmInstance = null
|
|
37
|
+
|
|
38
|
+
export class Bpm {
|
|
39
|
+
commonActionKey = 'common'
|
|
40
|
+
showCopyModalCb = null
|
|
41
|
+
params = {}
|
|
42
|
+
bpmConfigs = {
|
|
43
|
+
// getDetailReq, // 保存成功之后获取详情传递的数据
|
|
44
|
+
// customValidate, // 提交的时候需要的 额外的校验
|
|
45
|
+
// saveValidate, // 保存 时候的校验
|
|
46
|
+
// saveAfter // 保存成功之后的回调
|
|
47
|
+
}
|
|
48
|
+
eventData = null
|
|
49
|
+
postOptions = null
|
|
50
|
+
sdkInstance = null
|
|
51
|
+
postMessageData = null
|
|
52
|
+
actions = {}
|
|
53
|
+
nativeMethods = {}
|
|
54
|
+
saveResponse = null
|
|
55
|
+
constructor(postMessageData, actions, bpmConfigs, params) {
|
|
56
|
+
this.postMessageData = postMessageData
|
|
57
|
+
this.actions = actions
|
|
58
|
+
this.bpmConfigs = bpmConfigs || {}
|
|
59
|
+
this.params = params || {}
|
|
60
|
+
this.setNativeMethods()
|
|
61
|
+
this.init()
|
|
62
|
+
}
|
|
63
|
+
init() {
|
|
64
|
+
if (window.parent !== window) {
|
|
65
|
+
window.parent.postMessage({ hasListener: true }, "*")
|
|
66
|
+
}
|
|
67
|
+
window.addEventListener("message", this.messageListener.bind(this))
|
|
68
|
+
}
|
|
69
|
+
setNativeMethods() {
|
|
70
|
+
const { validate: nativeValidate, dynamicMapComp, bpmSubmitBtn, toExecuteLoadServices, messageInstance } = this.params
|
|
71
|
+
const { getDetailReq, customValidate, saveValidate } = this.bpmConfigs
|
|
72
|
+
|
|
73
|
+
const toSave = async (eventData) => {
|
|
74
|
+
if (saveValidate && typeof saveValidate === 'function') {
|
|
75
|
+
const saveVliad = await saveValidate()
|
|
76
|
+
if (!saveVliad) {
|
|
77
|
+
return
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const saveButton = dynamicMapComp[bpmSubmitBtn]
|
|
81
|
+
|
|
82
|
+
const createAfterRequestService = (fn) => {
|
|
83
|
+
return async (ret) => {
|
|
84
|
+
const { saveAfter } = this.bpmConfigs
|
|
85
|
+
this.saveResponse = ret
|
|
86
|
+
// ======= 刚开始保存的弹框复制单号逻辑 ===== start======
|
|
87
|
+
const { copyModal, lang, calcShowCopyModal } = this.params
|
|
88
|
+
try {
|
|
89
|
+
const tipMsgPath = calcShowCopyModal(ret, eventData)
|
|
90
|
+
if (tipMsgPath) {
|
|
91
|
+
const { submitType } = eventData
|
|
92
|
+
this.showCopyModalCb = () => {
|
|
93
|
+
const msgSubmit = lang?.value?.indexOf('zh') > -1 ? '提交成功' : 'Submit Success'
|
|
94
|
+
const msgSave = lang?.value?.indexOf('zh') > -1 ? '保存成功' : 'Save Success'
|
|
95
|
+
const isSubmit = [SUBMIT_TYPE.SEND, SUBMIT_TYPE.SUBMIT, SUBMIT_TYPE.AGREE].includes(submitType)
|
|
96
|
+
const successMsg = isSubmit ? msgSubmit : msgSave
|
|
97
|
+
this.showCopyModalCb = null
|
|
98
|
+
|
|
99
|
+
return new Promise(resolve => {
|
|
100
|
+
copyModal?.({
|
|
101
|
+
lang: lang?.value,
|
|
102
|
+
type: 'check',
|
|
103
|
+
showcopy: true,
|
|
104
|
+
copytype: lang?.value?.indexOf('zh') > -1 ? '申请单号' : 'Application No.',
|
|
105
|
+
copymsg: tipMsgPath,
|
|
106
|
+
showCancle: false,
|
|
107
|
+
msg: successMsg,
|
|
108
|
+
handleOk: async () => {
|
|
109
|
+
resolve(true)
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// ======= 刚开始保存的弹框复制单号逻辑 ===== end======
|
|
116
|
+
|
|
117
|
+
await saveAfter?.(ret, eventData)
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.error('saveAfter error, error:', error)
|
|
120
|
+
}
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
fn?.(ret)
|
|
123
|
+
}, 0);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return new Promise((resolve) => {
|
|
127
|
+
const afterRequestService = createAfterRequestService((ret) => { resolve(ret) })
|
|
128
|
+
|
|
129
|
+
if (saveButton) {
|
|
130
|
+
saveButton?.vm?.click({
|
|
131
|
+
// 保存成功的回调
|
|
132
|
+
afterRequestService,
|
|
133
|
+
})
|
|
134
|
+
} else {
|
|
135
|
+
// messageInstance?.warning?.('no set bpmSubmitBtn, or bpmSubmitBtn is invalid.')
|
|
136
|
+
console.log('no set bpmSubmitBtn, or bpmSubmitBtn is invalid.')
|
|
137
|
+
afterRequestService({data: {success: true}})
|
|
138
|
+
}
|
|
139
|
+
})
|
|
140
|
+
}
|
|
141
|
+
const getDetail = () => {
|
|
142
|
+
const params = getDetailReq?.(this.saveResponse)
|
|
143
|
+
toExecuteLoadServices(true, true, { params })
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const validate = async (eventData) => {
|
|
147
|
+
let valid = await new Promise((resolve) => {
|
|
148
|
+
nativeValidate((val) => {
|
|
149
|
+
resolve(val)
|
|
150
|
+
})
|
|
151
|
+
})
|
|
152
|
+
if (!valid) return false
|
|
153
|
+
if (customValidate && typeof customValidate === 'function') {
|
|
154
|
+
return customValidate(eventData)
|
|
155
|
+
}
|
|
156
|
+
return true
|
|
157
|
+
}
|
|
158
|
+
this.nativeMethods = {
|
|
159
|
+
nativeValidate,
|
|
160
|
+
customValidate,
|
|
161
|
+
validate,
|
|
162
|
+
toSave,
|
|
163
|
+
getDetail
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
messageListener(event) {
|
|
167
|
+
console.log('message event===:', event)
|
|
168
|
+
let data = event.data || {}
|
|
169
|
+
if (!data?.isFromBPM) {
|
|
170
|
+
return
|
|
171
|
+
}
|
|
172
|
+
const options = this.postOptions
|
|
173
|
+
this.postOptions = null
|
|
174
|
+
this.eventData = data
|
|
175
|
+
this.handleMessage && this.handleMessage(event, options)
|
|
176
|
+
}
|
|
177
|
+
async handleMessage(event, options) {
|
|
178
|
+
let eventData = this.eventData || {}
|
|
179
|
+
const { messageType, submitType } = eventData
|
|
180
|
+
const actionType = eventData?.bpmInfo?.actionType
|
|
181
|
+
console.log('messageType==:', messageType)
|
|
182
|
+
console.log('submitType==:', submitType)
|
|
183
|
+
console.log('actionType==:', actionType)
|
|
184
|
+
if (MESSAGE_TYPE.GET_FORM_DATA === messageType) {
|
|
185
|
+
// 如果有传入这个类型操作,就用传递进来的这个操作
|
|
186
|
+
let action = this.actions?.[submitType]?.formAction
|
|
187
|
+
if (!action) {
|
|
188
|
+
action = this.actions?.[this.commonActionKey]?.formAction
|
|
189
|
+
}
|
|
190
|
+
if (!action) {
|
|
191
|
+
action = this.getDefaultAction(eventData)
|
|
192
|
+
}
|
|
193
|
+
if (action) {
|
|
194
|
+
let valid = await action?.({
|
|
195
|
+
eventData: this.eventData,
|
|
196
|
+
nativeMethods: this.nativeMethods,
|
|
197
|
+
})
|
|
198
|
+
if (valid === false) {
|
|
199
|
+
return
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
let postMessageData = this.actions?.[submitType]?.postMessageData
|
|
203
|
+
if (!postMessageData) {
|
|
204
|
+
postMessageData = this.postMessageData
|
|
205
|
+
}
|
|
206
|
+
if (typeof postMessageData === 'function') {
|
|
207
|
+
postMessageData = await postMessageData({
|
|
208
|
+
eventData: this.eventData,
|
|
209
|
+
})
|
|
210
|
+
}
|
|
211
|
+
this.postMessage(postMessageData)
|
|
212
|
+
} else if (MESSAGE_TYPE.PROCESS_ACTION_SUCCESS === messageType) {
|
|
213
|
+
let closeFlag = true
|
|
214
|
+
closeFlag = ![SUBMIT_TYPE.PROCESS_SHOW, SUBMIT_TYPE.BACK, SUBMIT_TYPE.DRAFT_HANDLE].includes(submitType)
|
|
215
|
+
|
|
216
|
+
await this.showCopyModalCb?.()
|
|
217
|
+
// 如果有传入这个类型操作,就用传递进来的这个操作
|
|
218
|
+
let action = this.actions?.[submitType]?.successAction
|
|
219
|
+
if (!action) {
|
|
220
|
+
action = this.actions?.[this.commonActionKey]?.successAction
|
|
221
|
+
}
|
|
222
|
+
if (!action) {
|
|
223
|
+
action = this.getDefaultAction(eventData)
|
|
224
|
+
}
|
|
225
|
+
if (action) {
|
|
226
|
+
closeFlag = await action?.({
|
|
227
|
+
eventData: this.eventData,
|
|
228
|
+
originCloseFlag: closeFlag,
|
|
229
|
+
nativeMethods: this.nativeMethods,
|
|
230
|
+
})
|
|
231
|
+
}
|
|
232
|
+
this.postMessage(null, { closeFlag: !!closeFlag })
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
setSaveMessage() {
|
|
236
|
+
this.eventData = {
|
|
237
|
+
submitType: "DRAFT_HANDLE",
|
|
238
|
+
messageType: "GET_FORM_DATA",
|
|
239
|
+
url: '*'
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
async postMessage(formData = {}, options) {
|
|
243
|
+
console.log('postmessage formData ===:', formData, options)
|
|
244
|
+
this.postOptions = options
|
|
245
|
+
const closeFlag = options?.closeFlag
|
|
246
|
+
if (closeFlag) {
|
|
247
|
+
console.log('走进判断关闭页面====')
|
|
248
|
+
if (window.parent !== window) {
|
|
249
|
+
window.parent.postMessage(
|
|
250
|
+
{
|
|
251
|
+
messageType: 'CLOSE_WINDOW',
|
|
252
|
+
},
|
|
253
|
+
'*'
|
|
254
|
+
)
|
|
255
|
+
}
|
|
256
|
+
} else {
|
|
257
|
+
let preventCloseFlag = ['BACK'].includes(this.eventData?.submitType) ? false : true
|
|
258
|
+
console.log('eventData==:', this.eventData)
|
|
259
|
+
if (window.parent !== window) {
|
|
260
|
+
const postData = {
|
|
261
|
+
success: true, //表单数据验证成功或不需要验证时传true,否则传false
|
|
262
|
+
submitType: this.eventData?.submitType, //将此字段值回传
|
|
263
|
+
messageType: this.eventData?.messageType, //获取表单数据消息
|
|
264
|
+
actionInfo: {
|
|
265
|
+
preventClose: preventCloseFlag, // true 不关闭页面
|
|
266
|
+
},
|
|
267
|
+
//表单数据放这里
|
|
268
|
+
formData: {
|
|
269
|
+
...formData
|
|
270
|
+
},
|
|
271
|
+
}
|
|
272
|
+
console.log('url==:', this.eventData.url)
|
|
273
|
+
console.log('postData==:', postData)
|
|
274
|
+
window.parent.postMessage(
|
|
275
|
+
postData,
|
|
276
|
+
this.eventData?.url
|
|
277
|
+
)
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
getDefaultAction(eventData) {
|
|
282
|
+
const { messageType, submitType } = eventData
|
|
283
|
+
if (MESSAGE_TYPE.GET_FORM_DATA === messageType) {
|
|
284
|
+
switch (submitType) {
|
|
285
|
+
case SUBMIT_TYPE.SEND:
|
|
286
|
+
case SUBMIT_TYPE.SUBMIT:
|
|
287
|
+
case SUBMIT_TYPE.AGREE:
|
|
288
|
+
return async () => {
|
|
289
|
+
const { validate, toSave, getDetail } = this.nativeMethods
|
|
290
|
+
const valid = await validate(eventData)
|
|
291
|
+
if (valid) {
|
|
292
|
+
const ret = await toSave(eventData)
|
|
293
|
+
if (ret?.data?.success) {
|
|
294
|
+
getDetail()
|
|
295
|
+
return true
|
|
296
|
+
} else {
|
|
297
|
+
return false
|
|
298
|
+
}
|
|
299
|
+
} else {
|
|
300
|
+
return false
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
case SUBMIT_TYPE.NOTICE:
|
|
304
|
+
case SUBMIT_TYPE.GIVE:
|
|
305
|
+
case SUBMIT_TYPE.DRAFT_HANDLE:
|
|
306
|
+
case SUBMIT_TYPE.MULTI_COOPERATE:
|
|
307
|
+
return async () => {
|
|
308
|
+
const actionType = eventData?.bpmInfo?.actionType
|
|
309
|
+
const { toSave, getDetail } = this.nativeMethods
|
|
310
|
+
if (!actionType) {
|
|
311
|
+
const ret = await toSave(eventData)
|
|
312
|
+
if (ret?.data?.success) {
|
|
313
|
+
getDetail()
|
|
314
|
+
return true
|
|
315
|
+
} else {
|
|
316
|
+
return false
|
|
317
|
+
}
|
|
318
|
+
} else {
|
|
319
|
+
return true
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
// 暂时没用到=======start======
|
|
326
|
+
on(key, fn) {
|
|
327
|
+
let fns = this.actions[key] || (this.actions[key] = [])
|
|
328
|
+
const existFn = fns.find(item => item === fn)
|
|
329
|
+
if (!existFn) {
|
|
330
|
+
fns?.push(fn)
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
remove(key, fn) {
|
|
334
|
+
let fns = this.actions[key] || (this.actions[key] = [])
|
|
335
|
+
const fdIdx = fns.findIndex(item => item === fn)
|
|
336
|
+
if (fdIdx !== -1) {
|
|
337
|
+
fns?.splice(fdIdx, 1)
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
// 暂时没用到=======end======
|
|
341
|
+
// 获取bpm那边提供的sdk实例
|
|
342
|
+
async getSdkInstance() {
|
|
343
|
+
console.log('to get sdk====')
|
|
344
|
+
if (this.sdkInstance) return this.sdkInstance
|
|
345
|
+
else {
|
|
346
|
+
return new Promise((resolve) => {
|
|
347
|
+
ready({
|
|
348
|
+
// 固定值,不允许修改
|
|
349
|
+
mode: 'iframe',
|
|
350
|
+
//固定值,不允许修改
|
|
351
|
+
tenant: 'CMI',
|
|
352
|
+
},(instance) => {
|
|
353
|
+
console.log('instance===:', instance)
|
|
354
|
+
this.sdkInstance = instance
|
|
355
|
+
resolve(instance)
|
|
356
|
+
})
|
|
357
|
+
})
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
// 切换志愿框隐藏显示
|
|
361
|
+
changeSlide(toggle) {
|
|
362
|
+
this.getSdkInstance().then(instance => {
|
|
363
|
+
console.log('切换致远弹框===:', true)
|
|
364
|
+
instance?.getCustomApi()?.changeLayoutAreaStatus({
|
|
365
|
+
hiddenArea: toggle ? [] : ['header', 'left', 'right', 'footer'],
|
|
366
|
+
})
|
|
367
|
+
})
|
|
368
|
+
}
|
|
369
|
+
insertBtn(btns, position = 3) {
|
|
370
|
+
this.getSdkInstance().then((instance) => {
|
|
371
|
+
console.log('insert btns==:', btns, position)
|
|
372
|
+
instance?.getCustomApi()?.insertBtnForToolbar({
|
|
373
|
+
// 按钮插入位置
|
|
374
|
+
position,
|
|
375
|
+
btns,
|
|
376
|
+
})
|
|
377
|
+
})
|
|
378
|
+
}
|
|
379
|
+
destroy() {
|
|
380
|
+
window.removeEventListener("message", this.messageListener)
|
|
381
|
+
this.sdkInstance = null
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
export function initBpm(...arg) {
|
|
386
|
+
bpmInstance = new Bpm(...arg)
|
|
387
|
+
return bpmInstance
|
|
388
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取组件 value 及其 pairValue
|
|
3
|
+
* pairValue 是随着组件 value 变化而变化的可变值
|
|
4
|
+
*
|
|
5
|
+
* 维护者: 李伦
|
|
6
|
+
*/
|
|
7
|
+
export const getUdcComponentValue = (runtimeContext, options) => {
|
|
8
|
+
throw Error("getUdcComponentValue ONLY work under UDC app");
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* 设置组件 value 及其 pairValue
|
|
12
|
+
*
|
|
13
|
+
* 维护者: 李伦
|
|
14
|
+
*/
|
|
15
|
+
export const setUdcComponentValue = (runtimeContext, params, options) => {
|
|
16
|
+
throw Error("setUdcComponentValue ONLY work under UDC app");
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* 获取组件 viewState
|
|
20
|
+
*
|
|
21
|
+
* 维护者: 李伦
|
|
22
|
+
*/
|
|
23
|
+
export const getUdcComponentViewState = (runtimeContext, options) => {
|
|
24
|
+
throw Error("getUdcComponentViewState ONLY work under UDC app");
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 设置组件的 viewState
|
|
28
|
+
*
|
|
29
|
+
* 维护者: 李伦
|
|
30
|
+
*/
|
|
31
|
+
export const setUdcComponentViewState = (runtimeContext, state, options) => {
|
|
32
|
+
throw Error("setUdcComponentViewState ONLY work under UDC app");
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* 获取组件签名
|
|
36
|
+
*
|
|
37
|
+
* 维护者: 李伦
|
|
38
|
+
*/
|
|
39
|
+
export const getUdcComponentSignature = (runtimeContext) => {
|
|
40
|
+
throw Error("getUdcComponentSignature ONLY work under UDC app");
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* 获取组件信息
|
|
44
|
+
*
|
|
45
|
+
* 维护者: 李伦
|
|
46
|
+
*/
|
|
47
|
+
export const getUdcComponentInfo = (runtimeContext) => {
|
|
48
|
+
throw Error("getUdcComponentInfo ONLY work under UDC app");
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* 获取组件父组件信息
|
|
52
|
+
*
|
|
53
|
+
* 维护者: 李伦
|
|
54
|
+
*/
|
|
55
|
+
export const getUdcParentComponentInfo = (runtimeContext) => {
|
|
56
|
+
throw Error("getUdcParentComponentInfo ONLY work under UDC app");
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* 获取组件数据容器组件信息
|
|
60
|
+
*
|
|
61
|
+
* 维护者: 李伦
|
|
62
|
+
*/
|
|
63
|
+
export const getUdcDataContainerComponentInfo = (runtimeContext) => {
|
|
64
|
+
throw Error("getUdcDataContainerComponentInfo ONLY work under UDC app");
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* 从 UiModuelNode 信息获取组件 value
|
|
68
|
+
*
|
|
69
|
+
* 维护者: 李伦
|
|
70
|
+
*/
|
|
71
|
+
export const getComponentValueFromUiModelNode = (runtimeContext, s) => {
|
|
72
|
+
throw Error("getComponentValueFromUiModelNode ONLY work under UDC app");
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* 根据 UiModuelNode 信息获取设置组件 value
|
|
76
|
+
*
|
|
77
|
+
* 维护者: 李伦
|
|
78
|
+
*/
|
|
79
|
+
export const setComponentValueFromUiModelNode = (runtimeContext, s, value, pairValue) => {
|
|
80
|
+
throw Error("setComponentValueFromUiModelNode ONLY work under UDC app");
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* 获取组件子视图状态
|
|
84
|
+
*
|
|
85
|
+
* 维护者: 李伦
|
|
86
|
+
*/
|
|
87
|
+
export const getUdcSubComponentViewState = (runtimeContext) => {
|
|
88
|
+
throw Error("getUdcSubComponentViewState ONLY work under UDC app");
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* 设置组件子视图状态
|
|
92
|
+
*
|
|
93
|
+
* 维护者: 李伦
|
|
94
|
+
*/
|
|
95
|
+
export const setUdcSubComponentViewState = (runtimeContext, value) => {
|
|
96
|
+
throw Error("setUdcSubComponentViewState ONLY work under UDC app");
|
|
97
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取实体数据详情
|
|
3
|
+
*
|
|
4
|
+
* 维护者: 王宇
|
|
5
|
+
*/
|
|
6
|
+
export const queryUdcDatasourceDetail = (runtimeContext, options) => {
|
|
7
|
+
throw Error("queryUdcDatasourceDetail ONLY work under UDC app");
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* 获取实体列表
|
|
11
|
+
*
|
|
12
|
+
* 维护者: 王宇
|
|
13
|
+
*/
|
|
14
|
+
export const queryUdcDatasourceList = (runtimeContext, options) => {
|
|
15
|
+
throw Error("queryUdcDatasourceList ONLY work under UDC app");
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 获取列表数据总条
|
|
19
|
+
*
|
|
20
|
+
* 维护者: 王宇
|
|
21
|
+
*/
|
|
22
|
+
export const queryUdcDatasourceListSummary = (runtimeContext, options) => {
|
|
23
|
+
throw Error("queryUdcDatasourceListSummary ONLY work under UDC app");
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* 保存实体数据
|
|
27
|
+
*
|
|
28
|
+
* 维护者: 王宇
|
|
29
|
+
*/
|
|
30
|
+
export const saveUdcDatasourceData = (runtimeContext, data) => {
|
|
31
|
+
throw Error("saveUdcDatasourceData ONLY work under UDC app");
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* 保存列表数据
|
|
35
|
+
*
|
|
36
|
+
* 维护者: 王宇
|
|
37
|
+
*/
|
|
38
|
+
export const saveUdcDatasourceListData = (runtimeContext, list) => {
|
|
39
|
+
throw Error("saveUdcDatasourceListData ONLY work under UDC app");
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* 删除数据(服务端)
|
|
43
|
+
*
|
|
44
|
+
* 维护者: 王宇
|
|
45
|
+
*/
|
|
46
|
+
export const deleteAndSaveUdcDatasourceData = (runtimeContext, ids, silent) => {
|
|
47
|
+
throw Error("deleteAndSaveUdcDatasourceData ONLY work under UDC app");
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* 插入行
|
|
51
|
+
*
|
|
52
|
+
* 维护者: 王宇
|
|
53
|
+
*/
|
|
54
|
+
export const createUdcDatasourceData = (runtimeContext, options) => {
|
|
55
|
+
throw Error("createUdcDatasourceData ONLY work under UDC app");
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* 复制行
|
|
59
|
+
*
|
|
60
|
+
* 维护者: 王宇
|
|
61
|
+
*/
|
|
62
|
+
export const createUdcDatasourceDataFromSelectRows = (runtimeContext, ids) => {
|
|
63
|
+
throw Error("createUdcDatasourceDataFromSelectRows ONLY work under UDC app");
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* 删除数据(前端)
|
|
67
|
+
*
|
|
68
|
+
* 维护者: 王宇
|
|
69
|
+
*/
|
|
70
|
+
export const deleteUdcDatasourceData = (runtimeContext, ids, silent) => {
|
|
71
|
+
throw Error("deleteUdcDatasourceData ONLY work under UDC app");
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* 获取数据源数据
|
|
75
|
+
*
|
|
76
|
+
* 维护者: 王宇
|
|
77
|
+
*/
|
|
78
|
+
export const getUdcDatasourceData = (runtimeContext, options) => {
|
|
79
|
+
throw Error("getUdcDatasourceData ONLY work under UDC app");
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* 获取数据源元信息
|
|
83
|
+
*
|
|
84
|
+
* 维护者: 王宇
|
|
85
|
+
*/
|
|
86
|
+
export const getUdcDatasouceMetaInfo = (runtimeContext, componentId) => {
|
|
87
|
+
throw Error("getUdcDatasouceMetaInfo ONLY work under UDC app");
|
|
88
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { MessageTypeEnum, MethodNameEnum, } from ".";
|
|
2
|
+
export default class UdcComponent {
|
|
3
|
+
constructor(msgSdkInstance, context) {
|
|
4
|
+
if (context) {
|
|
5
|
+
this.context = {
|
|
6
|
+
subComponents: [],
|
|
7
|
+
...context,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
this.msgSdkInstance = msgSdkInstance;
|
|
11
|
+
}
|
|
12
|
+
context = null;
|
|
13
|
+
/** IframeToolkit例 */
|
|
14
|
+
msgSdkInstance = null;
|
|
15
|
+
/** 生成组件UUID */
|
|
16
|
+
createComponentUUID = (componentType) => {
|
|
17
|
+
const uuid = "xxxx".replace(/[xy]/g, (c) => {
|
|
18
|
+
const r = (Math.random() * 16) | 0;
|
|
19
|
+
const v = c === "x" ? r : (r & 0x3) | 0x8;
|
|
20
|
+
return `${v.toString(16)}`;
|
|
21
|
+
});
|
|
22
|
+
return `${componentType}_${uuid}_from_message`;
|
|
23
|
+
};
|
|
24
|
+
/** 获取组件上下文 */
|
|
25
|
+
getContext = () => this.context;
|
|
26
|
+
/** 插入组件 */
|
|
27
|
+
insertComponent(components, methodConfig) {
|
|
28
|
+
try {
|
|
29
|
+
components.forEach((component) => {
|
|
30
|
+
const componentContext = component.getContext();
|
|
31
|
+
componentContext.props?.customEvents?.forEach((customEvent) => {
|
|
32
|
+
this.msgSdkInstance.registerComponentCustomEvents({
|
|
33
|
+
id: componentContext.id,
|
|
34
|
+
...customEvent,
|
|
35
|
+
});
|
|
36
|
+
delete customEvent.func;
|
|
37
|
+
});
|
|
38
|
+
this.context.subComponents?.push(component.getContext());
|
|
39
|
+
});
|
|
40
|
+
this.msgSdkInstance?.postMessage({
|
|
41
|
+
type: MessageTypeEnum.callMethod,
|
|
42
|
+
methodName: MethodNameEnum.insertComponent,
|
|
43
|
+
methodConfig,
|
|
44
|
+
data: this.context,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.error(e);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** 改变外框蒙层状态 */
|
|
52
|
+
changeLayoutMaskStatus(data) {
|
|
53
|
+
this.msgSdkInstance?.postMessage({
|
|
54
|
+
type: MessageTypeEnum.callMethod,
|
|
55
|
+
methodName: MethodNameEnum.changeLayoutMaskStatus,
|
|
56
|
+
data: data,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/** 控制外框区域显隐 */
|
|
60
|
+
changeLayoutAreaStatus(data) {
|
|
61
|
+
this.msgSdkInstance?.postMessage({
|
|
62
|
+
type: MessageTypeEnum.callMethod,
|
|
63
|
+
methodName: MethodNameEnum.changeLayoutAreaStatus,
|
|
64
|
+
data: data,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/** 创建组件 */
|
|
68
|
+
createComponent(component) {
|
|
69
|
+
component.isContract = true; // 创建的组件,也属于契约组件
|
|
70
|
+
component.isCreateByMessage = true; // 由消息创建的标识
|
|
71
|
+
component.id = !component.id
|
|
72
|
+
? this.createComponentUUID(component.type)
|
|
73
|
+
: component.id;
|
|
74
|
+
return new UdcComponent(this.msgSdkInstance, component);
|
|
75
|
+
}
|
|
76
|
+
}
|