adtec-core-package 1.2.4 → 1.2.6

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 (190) hide show
  1. package/README.en.md +36 -36
  2. package/eslint.config.js +11 -21
  3. package/package.json +66 -64
  4. package/src/api/BasicApi.ts +26 -26
  5. package/src/api/DeptInfoApi.ts +19 -19
  6. package/src/api/DocumentApi.ts +27 -27
  7. package/src/api/EmployeeInfoApi.ts +17 -17
  8. package/src/api/SysDictCacheApi.ts +29 -29
  9. package/src/api/SysUserApi.ts +35 -35
  10. package/src/api/framework.ts +12 -12
  11. package/src/api/workflow/workflow.ts +31 -31
  12. package/src/api/workflow/workflowInstApi.ts +72 -72
  13. package/src/assets/style/ant.scss +19 -19
  14. package/src/assets/style/index.less +180 -180
  15. package/src/components/ElFlex/ElFlex.vue +297 -297
  16. package/src/components/ElTotalTools.vue +70 -70
  17. package/src/components/OperationAuth/operationAuth.vue +26 -26
  18. package/src/components/RichTextEditor/RichTextEditor.vue +144 -144
  19. package/src/components/Scrollbars/ElScrollbars.vue +21 -21
  20. package/src/components/Search/ElIconSearch.vue +267 -267
  21. package/src/components/Search/ElSearch.vue +154 -154
  22. package/src/components/SelectInDicators/SelectInDicators.vue +225 -225
  23. package/src/components/SelectInDicators/api/DataIndicatorsApi.ts +28 -28
  24. package/src/components/SelectInDicators/interface/IComIndex.ts +26 -26
  25. package/src/components/SelectInDicators/interface/IComIndexAttri.ts +18 -18
  26. package/src/components/Table/ElTableColumnDynamic.vue +25 -25
  27. package/src/components/Table/ElTableColumnEdit.vue +264 -263
  28. package/src/components/Table/ElTableTool.ts +37 -37
  29. package/src/components/Title/ElTitle.vue +53 -53
  30. package/src/components/autoToolTip/ElAutoToolTip.vue +62 -62
  31. package/src/components/baseEcharts/index.vue +48 -48
  32. package/src/components/bpmntree/api/modules/role.ts +31 -31
  33. package/src/components/bpmntree/api/modules/user.ts +17 -17
  34. package/src/components/bpmntree/components/AdvancedFilter/Operator.vue +112 -112
  35. package/src/components/bpmntree/components/AdvancedFilter/Trigger.vue +23 -23
  36. package/src/components/bpmntree/components/AdvancedFilter/index.vue +230 -230
  37. package/src/components/bpmntree/components/AdvancedFilter/type.ts +20 -20
  38. package/src/components/bpmntree/components/FlowIcon/index.scss +7 -7
  39. package/src/components/bpmntree/components/FlowIcon/index.tsx +68 -68
  40. package/src/components/bpmntree/components/Render/render.vue +90 -90
  41. package/src/components/bpmntree/components/Render/type.ts +12 -12
  42. package/src/components/bpmntree/components/RoleSelector/RolePicker.vue +264 -264
  43. package/src/components/bpmntree/components/RoleSelector/RoleTag.vue +48 -48
  44. package/src/components/bpmntree/components/RoleSelector/index.vue +113 -113
  45. package/src/components/bpmntree/components/UserSelector/UserTag.vue +73 -73
  46. package/src/components/bpmntree/components/UserSelector/index.vue +140 -140
  47. package/src/components/bpmntree/hooks/useDraggableScroll.ts +44 -44
  48. package/src/components/bpmntree/typings/index.d.ts +1 -1
  49. package/src/components/bpmntree/views/flowDesign/index.vue +652 -652
  50. package/src/components/bpmntree/views/flowDesign/nodes/Add.vue +184 -184
  51. package/src/components/bpmntree/views/flowDesign/nodes/ApprovalNode.vue +127 -127
  52. package/src/components/bpmntree/views/flowDesign/nodes/CcNode.vue +93 -93
  53. package/src/components/bpmntree/views/flowDesign/nodes/ConcurrentNode.vue +61 -61
  54. package/src/components/bpmntree/views/flowDesign/nodes/ConditionNode.vue +59 -59
  55. package/src/components/bpmntree/views/flowDesign/nodes/EndNode.vue +80 -80
  56. package/src/components/bpmntree/views/flowDesign/nodes/ExclusiveNode.vue +20 -20
  57. package/src/components/bpmntree/views/flowDesign/nodes/GatewayNode.vue +173 -173
  58. package/src/components/bpmntree/views/flowDesign/nodes/InclusiveNode.vue +20 -20
  59. package/src/components/bpmntree/views/flowDesign/nodes/JumpNode.vue +49 -49
  60. package/src/components/bpmntree/views/flowDesign/nodes/Node.vue +346 -346
  61. package/src/components/bpmntree/views/flowDesign/nodes/NotifyNode.vue +115 -115
  62. package/src/components/bpmntree/views/flowDesign/nodes/ParallelNode.vue +20 -20
  63. package/src/components/bpmntree/views/flowDesign/nodes/PopoverView.vue +78 -78
  64. package/src/components/bpmntree/views/flowDesign/nodes/StartNode.vue +84 -84
  65. package/src/components/bpmntree/views/flowDesign/nodes/TimerNode.vue +50 -50
  66. package/src/components/bpmntree/views/flowDesign/nodes/TreeNode.vue +45 -45
  67. package/src/components/bpmntree/views/flowDesign/nodes/type.ts +192 -192
  68. package/src/components/bpmntree/views/flowDesign/panels/ApprovalPanel.vue +516 -516
  69. package/src/components/bpmntree/views/flowDesign/panels/AssigneePanel.vue +120 -120
  70. package/src/components/bpmntree/views/flowDesign/panels/CcPanel.vue +99 -99
  71. package/src/components/bpmntree/views/flowDesign/panels/ConditionPanel.vue +41 -41
  72. package/src/components/bpmntree/views/flowDesign/panels/EndPanel.vue +18 -18
  73. package/src/components/bpmntree/views/flowDesign/panels/ExecutionListeners.vue +110 -110
  74. package/src/components/bpmntree/views/flowDesign/panels/JumpPanel.vue +32 -32
  75. package/src/components/bpmntree/views/flowDesign/panels/NotifyPanel.vue +101 -101
  76. package/src/components/bpmntree/views/flowDesign/panels/ParaPanel.vue +248 -248
  77. package/src/components/bpmntree/views/flowDesign/panels/StartPanel.vue +159 -159
  78. package/src/components/bpmntree/views/flowDesign/panels/TaskListeners.vue +110 -110
  79. package/src/components/bpmntree/views/flowDesign/panels/TimerPanel.vue +51 -51
  80. package/src/components/bpmntree/views/flowDesign/panels/index.vue +85 -85
  81. package/src/components/bpmntree/views/view.index.vue +291 -291
  82. package/src/components/business/comp.userForm.vue +292 -286
  83. package/src/components/business/userSelect.vue +413 -413
  84. package/src/components/icon/ElIconBtn.vue +210 -210
  85. package/src/components/upload/ElUploads.vue +285 -285
  86. package/src/components/upload/FileView.vue +159 -159
  87. package/src/components/upload/FileViewComponents.vue +56 -56
  88. package/src/components/workflow/TaskOperation.vue +212 -212
  89. package/src/components/workflow/WorkflowTodoDialog.vue +81 -81
  90. package/src/components/workflow/components/AddOrMinusMultiDialog.vue +159 -159
  91. package/src/components/workflow/components/CheckDialog.vue +315 -316
  92. package/src/components/workflow/components/ProcessDetailComp.vue +133 -133
  93. package/src/components/workflow/components/ProcessDetailDialog.vue +129 -129
  94. package/src/components/workflow/components/ProcessInstance.vue +117 -117
  95. package/src/components/workflow/components/ProcessInstanceStep.vue +226 -226
  96. package/src/components/workflow/components/SelectAssigneeDialog.vue +109 -109
  97. package/src/components/workflow/components/SelectReturnActivityDialog.vue +104 -104
  98. package/src/config/ElementPlusConfig.ts +95 -95
  99. package/src/config/VxeTableConfig.ts +35 -0
  100. package/src/css/elementUI/autocomplete.scss +89 -89
  101. package/src/css/elementUI/common/var.scss +1549 -1549
  102. package/src/css/elementUI/date-picker/picker.scss +219 -219
  103. package/src/css/elementUI/descriptions.scss +152 -152
  104. package/src/css/elementUI/drawer.scss +164 -164
  105. package/src/css/elementUI/table.scss +694 -694
  106. package/src/css/elementUI/tabs.scss +659 -659
  107. package/src/css/vxeTableUI/all.scss +7 -0
  108. package/src/css/vxeTableUI/base.scss +16 -0
  109. package/src/css/vxeTableUI/components/colgroup.scss +0 -0
  110. package/src/css/vxeTableUI/components/column.scss +0 -0
  111. package/src/css/vxeTableUI/components/grid.scss +83 -0
  112. package/src/css/vxeTableUI/components/icon.scss +205 -0
  113. package/src/css/vxeTableUI/components/old-icon.scss +715 -0
  114. package/src/css/vxeTableUI/components/table-module/all.scss +7 -0
  115. package/src/css/vxeTableUI/components/table-module/custom.scss +491 -0
  116. package/src/css/vxeTableUI/components/table-module/edit.scss +0 -0
  117. package/src/css/vxeTableUI/components/table-module/export.scss +130 -0
  118. package/src/css/vxeTableUI/components/table-module/filter.scss +128 -0
  119. package/src/css/vxeTableUI/components/table-module/keyboard.scss +0 -0
  120. package/src/css/vxeTableUI/components/table-module/menu.scss +86 -0
  121. package/src/css/vxeTableUI/components/table-module/validator.scss +0 -0
  122. package/src/css/vxeTableUI/components/table.scss +2242 -0
  123. package/src/css/vxeTableUI/components/toolbar.scss +100 -0
  124. package/src/css/vxeTableUI/components/ui.scss +0 -0
  125. package/src/css/vxeTableUI/components/v-x-e-table.scss +0 -0
  126. package/src/css/vxeTableUI/cssvar.scss +3 -0
  127. package/src/css/vxeTableUI/default.scss +3 -0
  128. package/src/css/vxeTableUI/helpers/baseMixin.scss +82 -0
  129. package/src/css/vxeTableUI/icon/iconfont.ttf +0 -0
  130. package/src/css/vxeTableUI/icon/iconfont.woff +0 -0
  131. package/src/css/vxeTableUI/icon/iconfont.woff2 +0 -0
  132. package/src/css/vxeTableUI/index.scss +4 -0
  133. package/src/css/vxeTableUI/modules.scss +5 -0
  134. package/src/css/vxeTableUI/theme/base.scss +89 -0
  135. package/src/css/vxeTableUI/theme/dark.scss +46 -0
  136. package/src/css/vxeTableUI/theme/light.scss +42 -0
  137. package/src/css/vxeTableUI/variable.scss +41 -0
  138. package/src/directives/vKeydown.ts +91 -91
  139. package/src/hooks/useDictHooks.ts +119 -119
  140. package/src/hooks/useEcharts.ts +58 -58
  141. package/src/hooks/useFileView.ts +34 -11
  142. package/src/hooks/useMessageHooks.ts +132 -132
  143. package/src/hooks/usePermissionToolHooks.ts +21 -21
  144. package/src/hooks/useResetRefHooks.ts +18 -18
  145. package/src/hooks/userWorkflowHooks.ts +92 -92
  146. package/src/interface/BaseEntity.ts +30 -30
  147. package/src/interface/IMdmDept.ts +84 -84
  148. package/src/interface/IMdmEmployee.ts +134 -134
  149. package/src/interface/IMdmEmployeeQuery.ts +20 -19
  150. package/src/interface/IMdmOrg.ts +29 -29
  151. package/src/interface/IMdmOrgQuery.ts +13 -13
  152. package/src/interface/IOrgDeptInfo.ts +12 -12
  153. package/src/interface/ISysDictDataCacheVo.ts +46 -46
  154. package/src/interface/ISysDictType.ts +37 -37
  155. package/src/interface/ISysMenuDataVo.ts +22 -22
  156. package/src/interface/ISysMenuInfoVo.ts +83 -83
  157. package/src/interface/ISysMenuOperationVo.ts +21 -21
  158. package/src/interface/ISysUploadFiles.ts +16 -16
  159. package/src/interface/ISysUserInfo.ts +70 -70
  160. package/src/interface/IUserPermissionVo.ts +34 -34
  161. package/src/interface/Message.ts +73 -73
  162. package/src/interface/PageData.ts +17 -17
  163. package/src/interface/ResponseData.ts +16 -16
  164. package/src/interface/dictMapType.ts +11 -11
  165. package/src/interface/enum/MessageEnum.ts +41 -41
  166. package/src/interface/workflow/IWfProcessDefVo.ts +14 -14
  167. package/src/interface/workflow/IWfReturnNodeVo.ts +15 -16
  168. package/src/interface/workflow/IWfTaskAskVo.ts +61 -65
  169. package/src/interface/workflow/IWfTaskQueryVo.ts +30 -30
  170. package/src/interface/workflow/IWfTaskUsersVo.ts +21 -21
  171. package/src/interface/workflow/IWfTaskVo.ts +187 -187
  172. package/src/interface/workflow/workflow.ts +22 -22
  173. package/src/mixin/globalMixin.ts +45 -45
  174. package/src/packages/index.ts +18 -18
  175. package/src/packages/text.vue +13 -13
  176. package/src/plugins/echartsConfig.ts +73 -73
  177. package/src/plugins/plugins.ts +12 -12
  178. package/src/plugins/renderDialog.ts +74 -74
  179. package/src/stores/dictStore.ts +51 -51
  180. package/src/stores/messageStore.ts +49 -49
  181. package/src/stores/permissionStore.ts +108 -108
  182. package/src/stores/storeConfig.ts +23 -23
  183. package/src/stores/userInfoStore.ts +31 -31
  184. package/src/utils/AxiosConfig.ts +219 -219
  185. package/src/utils/modules.ts +8 -8
  186. package/src/utils/request.ts +76 -76
  187. package/adtec-core-package/adtec-core-package.css +0 -1
  188. package/adtec-core-package/adtec-core-package.js +0 -41605
  189. package/adtec-core-package/adtec-core-package.umd.cjs +0 -79
  190. package/adtec-core-package/favicon.ico +0 -0
@@ -1,291 +1,291 @@
1
- <script setup lang="ts">
2
- import FlowDesign from './flowDesign/index.vue'
3
- import type { Field } from '../components/Render/type'
4
- import type {
5
- EndNode,
6
- FlowNode,
7
- StartNode,
8
- } from './flowDesign/nodes/type'
9
- import workflowApi from '../../../api/workflow/workflow'
10
- import { ElMessage } from 'element-plus'
11
- import type { SysWorkflowVerType } from '../../../interface/workflow/workflow'
12
-
13
- import frameworkUtils from '../../../utils/FrameworkUtils.ts'
14
- import { onMounted, onUnmounted, ref, watch } from 'vue'
15
- import { useEventBus } from '@vueuse/core'
16
- const props = withDefaults(
17
- defineProps<{
18
- verId?: string
19
- readonly: boolean
20
- }>(),
21
- {
22
- verId: '',
23
- readonly: false,
24
- },
25
- )
26
- const loading = ref<boolean>(false)
27
- const ver = ref<SysWorkflowVerType>()
28
- const initProcess = {
29
- id: 'root',
30
- pid: undefined,
31
- type: 'start',
32
- name: '发起人',
33
- executionListeners: [],
34
- formProperties: [],
35
- child: {
36
- id: 'end',
37
- pid: 'root',
38
- type: 'end',
39
- name: '流程结束',
40
- executionListeners: [],
41
- child: undefined,
42
- } as EndNode,
43
- } as StartNode
44
- // 流程节点
45
- const process = ref<FlowNode>({ ...initProcess })
46
- // 表单字段
47
- const fields = ref<Field[]>([
48
- // {
49
- // id: 'field_da2w55',
50
- // type: 'formItem',
51
- // label: '请假人',
52
- // name: 'UserSelector',
53
- // value: null,
54
- // readonly: false,
55
- // required: true,
56
- // hidden: false,
57
- // props: {
58
- // multiple: false,
59
- // disabled: false,
60
- // placeholder: '请选择用户',
61
- // style: {
62
- // width: '100%'
63
- // }
64
- // }
65
- // },
66
- // {
67
- // id: 'field_fa2w40',
68
- // type: 'formItem',
69
- // label: '请假天数',
70
- // name: 'ElInputNumber',
71
- // value: null,
72
- // readonly: false,
73
- // required: true,
74
- // hidden: false,
75
- // props: {
76
- // disabled: false,
77
- // placeholder: '请假天数',
78
- // style: {
79
- // width: '100%'
80
- // },
81
- // min: 0,
82
- // max: 100,
83
- // step: 1,
84
- // precision: 0
85
- // }
86
- // },
87
- // {
88
- // id: 'field_d42t45',
89
- // type: 'formItem',
90
- // label: '请假事由',
91
- // name: 'ElSelect',
92
- // value: null,
93
- // readonly: false,
94
- // required: true,
95
- // hidden: false,
96
- // props: {
97
- // disabled: false,
98
- // multiple: false,
99
- // placeholder: '请选择请假事由',
100
- // options: [
101
- // {
102
- // label: '事假',
103
- // value: '事假'
104
- // },
105
- // {
106
- // label: '病假',
107
- // value: '病假'
108
- // },
109
- // {
110
- // label: '婚假',
111
- // value: '婚假'
112
- // },
113
- // {
114
- // label: '产假',
115
- // value: '产假'
116
- // },
117
- // {
118
- // label: '丧假',
119
- // value: '丧假'
120
- // },
121
- // {
122
- // label: '其他',
123
- // value: '其他'
124
- // }
125
- // ],
126
- // style: {
127
- // width: '100%'
128
- // }
129
- // }
130
- // },
131
- // {
132
- // id: 'field_522g58',
133
- // type: 'formItem',
134
- // label: '请假原因',
135
- // name: 'ElInput',
136
- // value: null,
137
- // readonly: false,
138
- // required: true,
139
- // hidden: false,
140
- // props: {
141
- // type: 'textarea',
142
- // placeholder: '请输入请假原因',
143
- // autosize: {
144
- // minRows: 3,
145
- // maxRows: 3
146
- // },
147
- // disabled: false,
148
- // style: {
149
- // width: '100%'
150
- // }
151
- // }
152
- // }
153
- ])
154
- // 是否只读
155
- const readOnly = ref(props.readonly)
156
- const bpmnView = ref(false)
157
- // 是否暗黑模式
158
- const isDark = ref(false)
159
- // const handleToggleDark = () => {
160
- // if (isDark.value) {
161
- // document.documentElement.classList.add('dark')
162
- // } else {
163
- // document.documentElement.classList.remove('dark')
164
- // }
165
- // }
166
- const saveVer = async () => {
167
- if (ver.value?.id) {
168
- try {
169
- loading.value = true
170
- const newVer = await workflowApi.editVerXml({
171
- id: ver.value.id,
172
- workflowCode: ver.value.workflowCode,
173
- processJson: JSON.stringify(process.value),
174
- processFields: JSON.stringify(fields.value),
175
- })
176
- ver.value.xml = newVer?.xml ?? ''
177
- ElMessage.success('保存成功!')
178
- } catch (err: any) {
179
- frameworkUtils.messageError(err)
180
- } finally {
181
- loading.value = false
182
- }
183
- } else {
184
- ElMessage.warning('对应版本不存在!')
185
- }
186
- }
187
- const init = async (verId: string) => {
188
- console.log('workflowDesign:', verId)
189
- if (!verId) {
190
- ver.value = undefined
191
- process.value = { ...initProcess }
192
- fields.value = []
193
- }
194
- loading.value = true
195
- try {
196
- ver.value = await workflowApi.getVerInfo(verId)
197
- if (ver.value?.processJson) {
198
- process.value = JSON.parse(ver.value.processJson)
199
- } else {
200
- process.value = { ...initProcess }
201
- }
202
- if (ver.value?.processFields) {
203
- fields.value = JSON.parse(ver.value.processFields)
204
- } else {
205
- fields.value = []
206
- }
207
- } catch (err: any) {
208
- frameworkUtils.messageError(err)
209
- // ElMessage.error('获取版本信息失败:' + err.msg)
210
- } finally {
211
- loading.value = false
212
- }
213
- }
214
- const bus = useEventBus<string>('workflow_design_init')
215
-
216
- onMounted(async () => {
217
- bus.on(init)
218
- await init(props.verId)
219
- })
220
- onUnmounted(() => {
221
- bus.off(init)
222
- })
223
- defineExpose({
224
- init,
225
- })
226
- </script>
227
-
228
- <template>
229
- <FlowDesign
230
- v-loading="loading"
231
- :process="process"
232
- :fields="fields"
233
- :readOnly="readOnly"
234
- :bpmn-view="bpmnView"
235
- :bpmn-xml="ver?.xml"
236
- >
237
- <!-- <el-switch-->
238
- <!-- inline-prompt-->
239
- <!-- active-text="正常模式"-->
240
- <!-- inactive-text="暗黑模式"-->
241
- <!-- @change="handleToggleDark"-->
242
- <!-- v-model="isDark"-->
243
- <!-- />-->
244
- <el-space>
245
- <el-switch
246
- v-show="false"
247
- v-model="readOnly"
248
- active-text="只读模式"
249
- inactive-text="编辑模式"
250
- inline-prompt
251
- :active-value="true"
252
- :inactive-value="false"
253
- @change="bpmnView = false"
254
- />
255
- <el-switch
256
- v-show="false"
257
- v-if="ver?.xml && readOnly"
258
- v-model="bpmnView"
259
- active-text="BPMN"
260
- inactive-text="树状"
261
- inline-prompt
262
- :active-value="true"
263
- :inactive-value="false"
264
- />
265
- <el-icon-btn
266
- v-if="ver?.id && !readOnly && ver?.isValid == 0"
267
- @click="saveVer"
268
- type="primary"
269
- size="large"
270
- model-value="adtec-save"
271
- tip="保存"
272
- ></el-icon-btn>
273
- </el-space>
274
- <!-- <el-button-group v-if="!readOnly">-->
275
- <!-- <el-button-->
276
- <!-- v-if="props.verId && !readOnly"-->
277
- <!-- size="small"-->
278
- <!-- round-->
279
- <!-- @click="saveVer"-->
280
- <!-- type="primary"-->
281
- <!-- icon="Download"-->
282
- <!-- >保存-->
283
- <!-- </el-button>-->
284
- <!-- </el-button-group>-->
285
- <!-- <el-button-group>-->
286
- <!-- <el-button @click="converterBpmn" type="primary" icon="Download"> 转bpmn</el-button>-->
287
- <!-- </el-button-group>-->
288
- </FlowDesign>
289
- </template>
290
-
291
- <style scoped lang="scss"></style>
1
+ <script setup lang="ts">
2
+ import FlowDesign from './flowDesign/index.vue'
3
+ import type { Field } from '../components/Render/type'
4
+ import type {
5
+ EndNode,
6
+ FlowNode,
7
+ StartNode,
8
+ } from './flowDesign/nodes/type'
9
+ import workflowApi from '../../../api/workflow/workflow'
10
+ import { ElMessage } from 'element-plus'
11
+ import type { SysWorkflowVerType } from '../../../interface/workflow/workflow'
12
+
13
+ import frameworkUtils from '../../../utils/FrameworkUtils.ts'
14
+ import { onMounted, onUnmounted, ref, watch } from 'vue'
15
+ import { useEventBus } from '@vueuse/core'
16
+ const props = withDefaults(
17
+ defineProps<{
18
+ verId?: string
19
+ readonly: boolean
20
+ }>(),
21
+ {
22
+ verId: '',
23
+ readonly: false,
24
+ },
25
+ )
26
+ const loading = ref<boolean>(false)
27
+ const ver = ref<SysWorkflowVerType>()
28
+ const initProcess = {
29
+ id: 'root',
30
+ pid: undefined,
31
+ type: 'start',
32
+ name: '发起人',
33
+ executionListeners: [],
34
+ formProperties: [],
35
+ child: {
36
+ id: 'end',
37
+ pid: 'root',
38
+ type: 'end',
39
+ name: '流程结束',
40
+ executionListeners: [],
41
+ child: undefined,
42
+ } as EndNode,
43
+ } as StartNode
44
+ // 流程节点
45
+ const process = ref<FlowNode>({ ...initProcess })
46
+ // 表单字段
47
+ const fields = ref<Field[]>([
48
+ // {
49
+ // id: 'field_da2w55',
50
+ // type: 'formItem',
51
+ // label: '请假人',
52
+ // name: 'UserSelector',
53
+ // value: null,
54
+ // readonly: false,
55
+ // required: true,
56
+ // hidden: false,
57
+ // props: {
58
+ // multiple: false,
59
+ // disabled: false,
60
+ // placeholder: '请选择用户',
61
+ // style: {
62
+ // width: '100%'
63
+ // }
64
+ // }
65
+ // },
66
+ // {
67
+ // id: 'field_fa2w40',
68
+ // type: 'formItem',
69
+ // label: '请假天数',
70
+ // name: 'ElInputNumber',
71
+ // value: null,
72
+ // readonly: false,
73
+ // required: true,
74
+ // hidden: false,
75
+ // props: {
76
+ // disabled: false,
77
+ // placeholder: '请假天数',
78
+ // style: {
79
+ // width: '100%'
80
+ // },
81
+ // min: 0,
82
+ // max: 100,
83
+ // step: 1,
84
+ // precision: 0
85
+ // }
86
+ // },
87
+ // {
88
+ // id: 'field_d42t45',
89
+ // type: 'formItem',
90
+ // label: '请假事由',
91
+ // name: 'ElSelect',
92
+ // value: null,
93
+ // readonly: false,
94
+ // required: true,
95
+ // hidden: false,
96
+ // props: {
97
+ // disabled: false,
98
+ // multiple: false,
99
+ // placeholder: '请选择请假事由',
100
+ // options: [
101
+ // {
102
+ // label: '事假',
103
+ // value: '事假'
104
+ // },
105
+ // {
106
+ // label: '病假',
107
+ // value: '病假'
108
+ // },
109
+ // {
110
+ // label: '婚假',
111
+ // value: '婚假'
112
+ // },
113
+ // {
114
+ // label: '产假',
115
+ // value: '产假'
116
+ // },
117
+ // {
118
+ // label: '丧假',
119
+ // value: '丧假'
120
+ // },
121
+ // {
122
+ // label: '其他',
123
+ // value: '其他'
124
+ // }
125
+ // ],
126
+ // style: {
127
+ // width: '100%'
128
+ // }
129
+ // }
130
+ // },
131
+ // {
132
+ // id: 'field_522g58',
133
+ // type: 'formItem',
134
+ // label: '请假原因',
135
+ // name: 'ElInput',
136
+ // value: null,
137
+ // readonly: false,
138
+ // required: true,
139
+ // hidden: false,
140
+ // props: {
141
+ // type: 'textarea',
142
+ // placeholder: '请输入请假原因',
143
+ // autosize: {
144
+ // minRows: 3,
145
+ // maxRows: 3
146
+ // },
147
+ // disabled: false,
148
+ // style: {
149
+ // width: '100%'
150
+ // }
151
+ // }
152
+ // }
153
+ ])
154
+ // 是否只读
155
+ const readOnly = ref(props.readonly)
156
+ const bpmnView = ref(false)
157
+ // 是否暗黑模式
158
+ const isDark = ref(false)
159
+ // const handleToggleDark = () => {
160
+ // if (isDark.value) {
161
+ // document.documentElement.classList.add('dark')
162
+ // } else {
163
+ // document.documentElement.classList.remove('dark')
164
+ // }
165
+ // }
166
+ const saveVer = async () => {
167
+ if (ver.value?.id) {
168
+ try {
169
+ loading.value = true
170
+ const newVer = await workflowApi.editVerXml({
171
+ id: ver.value.id,
172
+ workflowCode: ver.value.workflowCode,
173
+ processJson: JSON.stringify(process.value),
174
+ processFields: JSON.stringify(fields.value),
175
+ })
176
+ ver.value.xml = newVer?.xml ?? ''
177
+ ElMessage.success('保存成功!')
178
+ } catch (err: any) {
179
+ frameworkUtils.messageError(err)
180
+ } finally {
181
+ loading.value = false
182
+ }
183
+ } else {
184
+ ElMessage.warning('对应版本不存在!')
185
+ }
186
+ }
187
+ const init = async (verId: string) => {
188
+ console.log('workflowDesign:', verId)
189
+ if (!verId) {
190
+ ver.value = undefined
191
+ process.value = { ...initProcess }
192
+ fields.value = []
193
+ }
194
+ loading.value = true
195
+ try {
196
+ ver.value = await workflowApi.getVerInfo(verId)
197
+ if (ver.value?.processJson) {
198
+ process.value = JSON.parse(ver.value.processJson)
199
+ } else {
200
+ process.value = { ...initProcess }
201
+ }
202
+ if (ver.value?.processFields) {
203
+ fields.value = JSON.parse(ver.value.processFields)
204
+ } else {
205
+ fields.value = []
206
+ }
207
+ } catch (err: any) {
208
+ frameworkUtils.messageError(err)
209
+ // ElMessage.error('获取版本信息失败:' + err.msg)
210
+ } finally {
211
+ loading.value = false
212
+ }
213
+ }
214
+ const bus = useEventBus<string>('workflow_design_init')
215
+
216
+ onMounted(async () => {
217
+ bus.on(init)
218
+ await init(props.verId)
219
+ })
220
+ onUnmounted(() => {
221
+ bus.off(init)
222
+ })
223
+ defineExpose({
224
+ init,
225
+ })
226
+ </script>
227
+
228
+ <template>
229
+ <FlowDesign
230
+ v-loading="loading"
231
+ :process="process"
232
+ :fields="fields"
233
+ :readOnly="readOnly"
234
+ :bpmn-view="bpmnView"
235
+ :bpmn-xml="ver?.xml"
236
+ >
237
+ <!-- <el-switch-->
238
+ <!-- inline-prompt-->
239
+ <!-- active-text="正常模式"-->
240
+ <!-- inactive-text="暗黑模式"-->
241
+ <!-- @change="handleToggleDark"-->
242
+ <!-- v-model="isDark"-->
243
+ <!-- />-->
244
+ <el-space>
245
+ <el-switch
246
+ v-show="false"
247
+ v-model="readOnly"
248
+ active-text="只读模式"
249
+ inactive-text="编辑模式"
250
+ inline-prompt
251
+ :active-value="true"
252
+ :inactive-value="false"
253
+ @change="bpmnView = false"
254
+ />
255
+ <el-switch
256
+ v-show="false"
257
+ v-if="ver?.xml && readOnly"
258
+ v-model="bpmnView"
259
+ active-text="BPMN"
260
+ inactive-text="树状"
261
+ inline-prompt
262
+ :active-value="true"
263
+ :inactive-value="false"
264
+ />
265
+ <el-icon-btn
266
+ v-if="ver?.id && !readOnly && ver?.isValid == 0"
267
+ @click="saveVer"
268
+ type="primary"
269
+ size="large"
270
+ model-value="adtec-save"
271
+ tip="保存"
272
+ ></el-icon-btn>
273
+ </el-space>
274
+ <!-- <el-button-group v-if="!readOnly">-->
275
+ <!-- <el-button-->
276
+ <!-- v-if="props.verId && !readOnly"-->
277
+ <!-- size="small"-->
278
+ <!-- round-->
279
+ <!-- @click="saveVer"-->
280
+ <!-- type="primary"-->
281
+ <!-- icon="Download"-->
282
+ <!-- >保存-->
283
+ <!-- </el-button>-->
284
+ <!-- </el-button-group>-->
285
+ <!-- <el-button-group>-->
286
+ <!-- <el-button @click="converterBpmn" type="primary" icon="Download"> 转bpmn</el-button>-->
287
+ <!-- </el-button-group>-->
288
+ </FlowDesign>
289
+ </template>
290
+
291
+ <style scoped lang="scss"></style>