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.
Files changed (210) hide show
  1. package/dist/h5/index.js +1 -1
  2. package/package.json +1 -1
  3. package/src/components/packages-H5/CustomComponentCollapseH5.vue +6 -2
  4. package/src-bak/analysisComponent.jsx +343 -0
  5. package/src-bak/api/builtIn.js +10 -0
  6. package/src-bak/bpm/bpmInstance.js +388 -0
  7. package/src-bak/bpm/udc-sdk-esm/cjs/impl/application.js +8 -0
  8. package/src-bak/bpm/udc-sdk-esm/cjs/impl/component.js +97 -0
  9. package/src-bak/bpm/udc-sdk-esm/cjs/impl/datasource.js +88 -0
  10. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/index.js +3 -0
  11. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/UdcComponent.js +76 -0
  12. package/src-bak/bpm/udc-sdk-esm/cjs/impl/iframe/udcSdkForIframe/index.js +201 -0
  13. package/src-bak/bpm/udc-sdk-esm/cjs/impl/index.js +69 -0
  14. package/src-bak/bpm/udc-sdk-esm/cjs/impl/page.js +56 -0
  15. package/src-bak/bpm/udc-sdk-esm/cjs/impl/utils.js +76 -0
  16. package/src-bak/bpm/udc-sdk-esm/cjs/index.js +46 -0
  17. package/src-bak/bpm/udc-sdk-esm/cjs/utils.js +21 -0
  18. package/src-bak/components/childDialog/index.js +39 -0
  19. package/src-bak/components/childDialog/src/index.vue +185 -0
  20. package/src-bak/components/cmiFormItem/index.js +1 -0
  21. package/src-bak/components/cmiFormItem/src/index.vue +112 -0
  22. package/src-bak/components/confirmInstance-H5/index.js +53 -0
  23. package/src-bak/components/confirmInstance-H5/src/index.vue +54 -0
  24. package/src-bak/components/helper/FormPolyfill.jsx +25 -0
  25. package/src-bak/components/helper/calcTooltip.jsx +134 -0
  26. package/src-bak/components/helper/dock.js +141 -0
  27. package/src-bak/components/helper/eventOrchestration.js +763 -0
  28. package/src-bak/components/helper/resolver.js +163 -0
  29. package/src-bak/components/helper/table.jsx +103 -0
  30. package/src-bak/components/icons/date.vue +33 -0
  31. package/src-bak/components/icons/info.vue +62 -0
  32. package/src-bak/components/icons/loading.vue +19 -0
  33. package/src-bak/components/icons/question-filled.vue +8 -0
  34. package/src-bak/components/loading/index.js +6 -0
  35. package/src-bak/components/loading/loading.js +98 -0
  36. package/src-bak/components/loading/loading.scss +74 -0
  37. package/src-bak/components/loading/loading.vue +89 -0
  38. package/src-bak/components/loadingComponent/LoadingComponent.vue +33 -0
  39. package/src-bak/components/modal/index.js +9 -0
  40. package/src-bak/components/modal/modal.scss +195 -0
  41. package/src-bak/components/modal/modal.vue +201 -0
  42. package/src-bak/components/options/OptionsDefault.vue +47 -0
  43. package/src-bak/components/packages-H5/CmiButton.vue +120 -0
  44. package/src-bak/components/packages-H5/CmiCalendar.vue +152 -0
  45. package/src-bak/components/packages-H5/CmiCell.vue +87 -0
  46. package/src-bak/components/packages-H5/CmiCheckbox.vue +82 -0
  47. package/src-bak/components/packages-H5/CmiDatetimePicker.vue +98 -0
  48. package/src-bak/components/packages-H5/CmiDivider.vue +30 -0
  49. package/src-bak/components/packages-H5/CmiDropdownMenu.vue +58 -0
  50. package/src-bak/components/packages-H5/CmiInput.vue +69 -0
  51. package/src-bak/components/packages-H5/CmiLink.vue +28 -0
  52. package/src-bak/components/packages-H5/CmiPicker.vue +229 -0
  53. package/src-bak/components/packages-H5/CmiRadio.vue +29 -0
  54. package/src-bak/components/packages-H5/CmiSearch.vue +39 -0
  55. package/src-bak/components/packages-H5/CmiSelect.vue +84 -0
  56. package/src-bak/components/packages-H5/CustomComponentCardH5.vue +129 -0
  57. package/src-bak/components/packages-H5/CustomComponentColH5.vue +8 -0
  58. package/src-bak/components/packages-H5/CustomComponentCollapseH5.vue +137 -0
  59. package/src-bak/components/packages-H5/CustomComponentFormLayoutH5.vue +54 -0
  60. package/src-bak/components/packages-H5/CustomComponentTabPaneH5.vue +38 -0
  61. package/src-bak/components/packages-H5/CustomComponentTableH5.vue +352 -0
  62. package/src-bak/components/packages-H5/CustomComponentTabsH5.vue +170 -0
  63. package/src-bak/components/packages-web/CustomComponentCard.vue +40 -0
  64. package/src-bak/components/packages-web/CustomComponentCol.vue +66 -0
  65. package/src-bak/components/packages-web/CustomComponentCollapse.vue +164 -0
  66. package/src-bak/components/packages-web/CustomComponentCycle.vue +95 -0
  67. package/src-bak/components/packages-web/CustomComponentCycleTabPane.vue +155 -0
  68. package/src-bak/components/packages-web/CustomComponentDialog.vue +192 -0
  69. package/src-bak/components/packages-web/CustomComponentEditor.vue +50 -0
  70. package/src-bak/components/packages-web/CustomComponentFileExport.vue +60 -0
  71. package/src-bak/components/packages-web/CustomComponentFileImport.vue +60 -0
  72. package/src-bak/components/packages-web/CustomComponentFormLayout.vue +65 -0
  73. package/src-bak/components/packages-web/CustomComponentGrid.vue +29 -0
  74. package/src-bak/components/packages-web/CustomComponentGridCol.vue +29 -0
  75. package/src-bak/components/packages-web/CustomComponentInputDialog.vue +144 -0
  76. package/src-bak/components/packages-web/CustomComponentNativeTabPane.vue +84 -0
  77. package/src-bak/components/packages-web/CustomComponentPlain.vue +243 -0
  78. package/src-bak/components/packages-web/CustomComponentRow.vue +83 -0
  79. package/src-bak/components/packages-web/CustomComponentSelectEmployees.vue +203 -0
  80. package/src-bak/components/packages-web/CustomComponentSendMail.vue +62 -0
  81. package/src-bak/components/packages-web/CustomComponentSteps.vue +41 -0
  82. package/src-bak/components/packages-web/CustomComponentTabPane.vue +20 -0
  83. package/src-bak/components/packages-web/CustomComponentTable.jsx +813 -0
  84. package/src-bak/components/packages-web/CustomComponentTabs.vue +126 -0
  85. package/src-bak/components/packages-web/CustomComponentTree.vue +28 -0
  86. package/src-bak/components/packages-web/ElButton.vue +146 -0
  87. package/src-bak/components/packages-web/ElCheckbox.vue +97 -0
  88. package/src-bak/components/packages-web/ElDatePicker.vue +93 -0
  89. package/src-bak/components/packages-web/ElInput copy.jsx +393 -0
  90. package/src-bak/components/packages-web/ElInput.jsx +312 -0
  91. package/src-bak/components/packages-web/ElInputNumber.vue +81 -0
  92. package/src-bak/components/packages-web/ElPagination.vue +61 -0
  93. package/src-bak/components/packages-web/ElRadio.vue +47 -0
  94. package/src-bak/components/packages-web/ElSelect.jsx +249 -0
  95. package/src-bak/components/packages-web/ElSelect_bak.vue +155 -0
  96. package/src-bak/components/packages-web/ElText.jsx +187 -0
  97. package/src-bak/components/packages-web/ElTextaa.vue +169 -0
  98. package/src-bak/components/packages-web/ElTimePicker.vue +39 -0
  99. package/src-bak/components/patchComponents-H5.js +46 -0
  100. package/src-bak/components/patchComponents-web.js +46 -0
  101. package/src-bak/components/simpleFormItemPc/index.js +1 -0
  102. package/src-bak/components/simpleFormItemPc/src/index.vue +94 -0
  103. package/src-bak/components/table/index.ts +29 -0
  104. package/src-bak/components/table/src/composables/use-scrollbar.ts +30 -0
  105. package/src-bak/components/table/src/config.ts +256 -0
  106. package/src-bak/components/table/src/filter-panel.vue +260 -0
  107. package/src-bak/components/table/src/h-helper.ts +34 -0
  108. package/src-bak/components/table/src/layout-observer.ts +78 -0
  109. package/src-bak/components/table/src/store/current.ts +85 -0
  110. package/src-bak/components/table/src/store/expand.ts +76 -0
  111. package/src-bak/components/table/src/store/helper.ts +74 -0
  112. package/src-bak/components/table/src/store/index.ts +246 -0
  113. package/src-bak/components/table/src/store/tree.ts +230 -0
  114. package/src-bak/components/table/src/store/watcher.ts +543 -0
  115. package/src-bak/components/table/src/table/defaults.ts +402 -0
  116. package/src-bak/components/table/src/table/key-render-helper.ts +27 -0
  117. package/src-bak/components/table/src/table/style-helper.ts +378 -0
  118. package/src-bak/components/table/src/table/utils-helper.ts +47 -0
  119. package/src-bak/components/table/src/table-body/defaults.ts +52 -0
  120. package/src-bak/components/table/src/table-body/events-helper.ts +203 -0
  121. package/src-bak/components/table/src/table-body/index.ts +119 -0
  122. package/src-bak/components/table/src/table-body/render-helper.ts +283 -0
  123. package/src-bak/components/table/src/table-body/styles-helper.ts +164 -0
  124. package/src-bak/components/table/src/table-column/defaults.ts +237 -0
  125. package/src-bak/components/table/src/table-column/index.ts +202 -0
  126. package/src-bak/components/table/src/table-column/render-helper.ts +214 -0
  127. package/src-bak/components/table/src/table-column/watcher-helper.ts +88 -0
  128. package/src-bak/components/table/src/table-footer/index.ts +128 -0
  129. package/src-bak/components/table/src/table-footer/mapState-helper.ts +33 -0
  130. package/src-bak/components/table/src/table-footer/style-helper.ts +51 -0
  131. package/src-bak/components/table/src/table-header/event-helper.ts +213 -0
  132. package/src-bak/components/table/src/table-header/index.ts +244 -0
  133. package/src-bak/components/table/src/table-header/style.helper.ts +119 -0
  134. package/src-bak/components/table/src/table-header/utils-helper.ts +94 -0
  135. package/src-bak/components/table/src/table-layout.ts +259 -0
  136. package/src-bak/components/table/src/table.vue +389 -0
  137. package/src-bak/components/table/src/tableColumn.ts +3 -0
  138. package/src-bak/components/table/src/tokens.ts +5 -0
  139. package/src-bak/components/table/src/util.ts +521 -0
  140. package/src-bak/components/table/style/css.ts +5 -0
  141. package/src-bak/components/table/style/index.ts +5 -0
  142. package/src-bak/components/tabs/index.js +8 -0
  143. package/src-bak/components/tabs/src/constants.js +23 -0
  144. package/src-bak/components/tabs/src/tab-bar.js +8 -0
  145. package/src-bak/components/tabs/src/tab-bar.vue +92 -0
  146. package/src-bak/components/tabs/src/tab-nav.jsx +424 -0
  147. package/src-bak/components/tabs/src/tab-pane.js +16 -0
  148. package/src-bak/components/tabs/src/tab-pane.vue +80 -0
  149. package/src-bak/components/tabs/src/tabs.jsx +223 -0
  150. package/src-bak/components/tabs/style/css.js +2 -0
  151. package/src-bak/components/tabs/style/index.js +2 -0
  152. package/src-bak/components/thirdPartyFrame/index.js +32 -0
  153. package/src-bak/components/thirdPartyFrame/src/ThirdPartyFrame.vue +125 -0
  154. package/src-bak/enums/index.js +16 -0
  155. package/src-bak/hooks/configLoad.js +45 -0
  156. package/src-bak/hooks/index.js +189 -0
  157. package/src-bak/hooks/mock.js +6960 -0
  158. package/src-bak/hooks/pageConfig.js +127 -0
  159. package/src-bak/index.jsx +440 -0
  160. package/src-bak/renderer.jsx +77 -0
  161. package/src-bak/resolver-H5.vue +88 -0
  162. package/src-bak/resolver-common.vue +129 -0
  163. package/src-bak/resolver-web.vue +91 -0
  164. package/src-bak/rules/eventsSupplement.js +573 -0
  165. package/src-bak/rules/parseCondition.js +378 -0
  166. package/src-bak/rules/ruleUtils.js +273 -0
  167. package/src-bak/rules/rulesDriver.js +118 -0
  168. package/src-bak/rulesImp/events.js +588 -0
  169. package/src-bak/rulesImp/index.js +33 -0
  170. package/src-bak/rulesImp/ruleInstance.js +231 -0
  171. package/src-bak/rulesImp/ruleUtils.js +124 -0
  172. package/src-bak/theme/element/components/button.scss +122 -0
  173. package/src-bak/theme/element/components/card.scss +8 -0
  174. package/src-bak/theme/element/components/checkbox.scss +19 -0
  175. package/src-bak/theme/element/components/collapse.scss +174 -0
  176. package/src-bak/theme/element/components/common.scss +30 -0
  177. package/src-bak/theme/element/components/cycle.scss +0 -0
  178. package/src-bak/theme/element/components/date.scss +13 -0
  179. package/src-bak/theme/element/components/dialog.scss +44 -0
  180. package/src-bak/theme/element/components/form.scss +104 -0
  181. package/src-bak/theme/element/components/index.scss +55 -0
  182. package/src-bak/theme/element/components/input.scss +36 -0
  183. package/src-bak/theme/element/components/message.scss +48 -0
  184. package/src-bak/theme/element/components/pagination.scss +47 -0
  185. package/src-bak/theme/element/components/popper.scss +3 -0
  186. package/src-bak/theme/element/components/radio.scss +40 -0
  187. package/src-bak/theme/element/components/scrollbar.scss +14 -0
  188. package/src-bak/theme/element/components/select.scss +82 -0
  189. package/src-bak/theme/element/components/steps.scss +6 -0
  190. package/src-bak/theme/element/components/table.scss +218 -0
  191. package/src-bak/theme/element/components/tabs.scss +128 -0
  192. package/src-bak/theme/element/components/tag.scss +6 -0
  193. package/src-bak/theme/element/components/text.scss +20 -0
  194. package/src-bak/theme/element/components/textarea.scss +3 -0
  195. package/src-bak/theme/element/components/tree.scss +0 -0
  196. package/src-bak/theme/element/index.scss +55 -0
  197. package/src-bak/utils/cipher.js +141 -0
  198. package/src-bak/utils/common.js +664 -0
  199. package/src-bak/utils/const.js +259 -0
  200. package/src-bak/utils/defaultVal.js +92 -0
  201. package/src-bak/utils/dom.js +36 -0
  202. package/src-bak/utils/format.js +19 -0
  203. package/src-bak/utils/index.js +4 -0
  204. package/src-bak/utils/is.js +74 -0
  205. package/src-bak/utils/loadModule.js +75 -0
  206. package/src-bak/utils/preserveFunc.js +33 -0
  207. package/src-bak/utils/render.jsx +1138 -0
  208. package/src-bak/utils/request.js +136 -0
  209. package/src-bak/utils/respone.js +70 -0
  210. 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,8 @@
1
+ /**
2
+ * 获取应用信息
3
+ * 维护者: 钟明亮
4
+ *
5
+ */
6
+ export const getUdcAppInfo = (runtimeContext) => {
7
+ throw Error("getUdcAppInfo ONLY work under UDC app");
8
+ };
@@ -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,3 @@
1
+ import UdcSdkForIfame from "./udcSdkForIframe";
2
+ const sdkForIfame = new UdcSdkForIfame();
3
+ export const getUdcSdkForIframe = () => sdkForIfame;
@@ -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
+ }