adtec-core-package 2.2.0 → 2.2.2

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 (207) hide show
  1. package/README.en.md +36 -36
  2. package/eslint.config.js +11 -21
  3. package/package.json +71 -71
  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/ElCardList.vue +64 -64
  16. package/src/components/ElFlex/ElFlex.vue +297 -297
  17. package/src/components/ElTotalTools.vue +70 -70
  18. package/src/components/OperationAuth/operationAuth.vue +32 -32
  19. package/src/components/RichTextEditor/RichTextEditor.vue +414 -414
  20. package/src/components/Scrollbars/ElScrollbars.vue +21 -21
  21. package/src/components/Search/ElIconSearch.vue +267 -267
  22. package/src/components/Search/ElSearch.vue +154 -154
  23. package/src/components/SelectInDicators/SelectInDicators.vue +225 -225
  24. package/src/components/SelectInDicators/api/DataIndicatorsApi.ts +28 -28
  25. package/src/components/SelectInDicators/interface/IComIndex.ts +26 -26
  26. package/src/components/SelectInDicators/interface/IComIndexAttri.ts +18 -18
  27. package/src/components/Table/ElTableColumnDynamic.vue +25 -25
  28. package/src/components/Table/ElTableColumnEdit.vue +265 -265
  29. package/src/components/Table/ElTableTool.ts +37 -37
  30. package/src/components/Title/ElTitle.vue +53 -53
  31. package/src/components/autoToolTip/ElAutoToolTip.vue +62 -62
  32. package/src/components/baseEcharts/index.vue +48 -48
  33. package/src/components/bpmntree/api/modules/role.ts +31 -31
  34. package/src/components/bpmntree/api/modules/user.ts +17 -17
  35. package/src/components/bpmntree/components/AdvancedFilter/Operator.vue +112 -112
  36. package/src/components/bpmntree/components/AdvancedFilter/Trigger.vue +23 -23
  37. package/src/components/bpmntree/components/AdvancedFilter/index.vue +230 -230
  38. package/src/components/bpmntree/components/AdvancedFilter/type.ts +20 -20
  39. package/src/components/bpmntree/components/FlowIcon/index.scss +7 -7
  40. package/src/components/bpmntree/components/FlowIcon/index.tsx +68 -68
  41. package/src/components/bpmntree/components/Render/render.vue +90 -90
  42. package/src/components/bpmntree/components/Render/type.ts +12 -12
  43. package/src/components/bpmntree/components/RoleSelector/RolePicker.vue +264 -264
  44. package/src/components/bpmntree/components/RoleSelector/RoleTag.vue +48 -48
  45. package/src/components/bpmntree/components/RoleSelector/index.vue +113 -113
  46. package/src/components/bpmntree/components/UserSelector/UserTag.vue +73 -73
  47. package/src/components/bpmntree/components/UserSelector/index.vue +140 -140
  48. package/src/components/bpmntree/hooks/useDraggableScroll.ts +44 -44
  49. package/src/components/bpmntree/typings/index.d.ts +1 -1
  50. package/src/components/bpmntree/views/flowDesign/index.vue +653 -653
  51. package/src/components/bpmntree/views/flowDesign/nodes/Add.vue +184 -184
  52. package/src/components/bpmntree/views/flowDesign/nodes/ApprovalNode.vue +127 -127
  53. package/src/components/bpmntree/views/flowDesign/nodes/CcNode.vue +93 -93
  54. package/src/components/bpmntree/views/flowDesign/nodes/ConcurrentNode.vue +61 -61
  55. package/src/components/bpmntree/views/flowDesign/nodes/ConditionNode.vue +60 -60
  56. package/src/components/bpmntree/views/flowDesign/nodes/EndNode.vue +80 -80
  57. package/src/components/bpmntree/views/flowDesign/nodes/ExclusiveNode.vue +20 -20
  58. package/src/components/bpmntree/views/flowDesign/nodes/GatewayNode.vue +173 -173
  59. package/src/components/bpmntree/views/flowDesign/nodes/InclusiveNode.vue +20 -20
  60. package/src/components/bpmntree/views/flowDesign/nodes/JumpNode.vue +49 -49
  61. package/src/components/bpmntree/views/flowDesign/nodes/Node.vue +346 -346
  62. package/src/components/bpmntree/views/flowDesign/nodes/NotifyNode.vue +115 -115
  63. package/src/components/bpmntree/views/flowDesign/nodes/ParallelNode.vue +20 -20
  64. package/src/components/bpmntree/views/flowDesign/nodes/PopoverView.vue +78 -78
  65. package/src/components/bpmntree/views/flowDesign/nodes/StartNode.vue +84 -84
  66. package/src/components/bpmntree/views/flowDesign/nodes/TimerNode.vue +50 -50
  67. package/src/components/bpmntree/views/flowDesign/nodes/TreeNode.vue +45 -45
  68. package/src/components/bpmntree/views/flowDesign/nodes/type.ts +196 -196
  69. package/src/components/bpmntree/views/flowDesign/panels/ApprovalPanel.vue +553 -553
  70. package/src/components/bpmntree/views/flowDesign/panels/AssigneePanel.vue +120 -120
  71. package/src/components/bpmntree/views/flowDesign/panels/CcPanel.vue +99 -99
  72. package/src/components/bpmntree/views/flowDesign/panels/ConditionPanel.vue +41 -41
  73. package/src/components/bpmntree/views/flowDesign/panels/EndPanel.vue +18 -18
  74. package/src/components/bpmntree/views/flowDesign/panels/ExecutionListeners.vue +110 -110
  75. package/src/components/bpmntree/views/flowDesign/panels/JumpPanel.vue +32 -32
  76. package/src/components/bpmntree/views/flowDesign/panels/NotifyPanel.vue +101 -101
  77. package/src/components/bpmntree/views/flowDesign/panels/ParaPanel.vue +248 -248
  78. package/src/components/bpmntree/views/flowDesign/panels/StartPanel.vue +160 -160
  79. package/src/components/bpmntree/views/flowDesign/panels/TaskListeners.vue +110 -110
  80. package/src/components/bpmntree/views/flowDesign/panels/TimerPanel.vue +51 -51
  81. package/src/components/bpmntree/views/flowDesign/panels/index.vue +85 -85
  82. package/src/components/bpmntree/views/view.index.vue +291 -291
  83. package/src/components/business/comp.selectUser.vue +60 -60
  84. package/src/components/business/comp.userForm.vue +311 -311
  85. package/src/components/business/userSelect.vue +413 -413
  86. package/src/components/icon/ElIconBtn.vue +243 -243
  87. package/src/components/kFrame/IframeOptions.ts +116 -116
  88. package/src/components/kFrame/KFrame.vue +161 -161
  89. package/src/components/upload/ElUploads.vue +364 -331
  90. package/src/components/upload/FileView.vue +214 -214
  91. package/src/components/upload/FileViewComponents.vue +56 -56
  92. package/src/components/vxeGrid/index.vue +36 -0
  93. package/src/components/workflow/TaskOperation.vue +241 -240
  94. package/src/components/workflow/WorkflowTodoDialog.vue +83 -83
  95. package/src/components/workflow/components/AddOrMinusMultiDialog.vue +159 -159
  96. package/src/components/workflow/components/CheckDialog.vue +350 -350
  97. package/src/components/workflow/components/ProcessDetailComp.vue +149 -149
  98. package/src/components/workflow/components/ProcessDetailDialog.vue +129 -129
  99. package/src/components/workflow/components/ProcessInstance.vue +117 -117
  100. package/src/components/workflow/components/ProcessInstanceStep.vue +266 -266
  101. package/src/components/workflow/components/SelectAssigneeDialog.vue +109 -109
  102. package/src/components/workflow/components/SelectReturnActivityDialog.vue +104 -104
  103. package/src/config/ElementPlusConfig.ts +95 -95
  104. package/src/config/VxeTableConfig.ts +247 -247
  105. package/src/css/elementUI/autocomplete.scss +89 -89
  106. package/src/css/elementUI/checkbox.scss +298 -298
  107. package/src/css/elementUI/common/var.scss +1549 -1549
  108. package/src/css/elementUI/date-picker/picker.scss +219 -219
  109. package/src/css/elementUI/descriptions.scss +152 -152
  110. package/src/css/elementUI/drawer.scss +164 -164
  111. package/src/css/elementUI/radio.scss +215 -215
  112. package/src/css/elementUI/table.scss +697 -697
  113. package/src/css/elementUI/tabs.scss +659 -659
  114. package/src/css/vxeTableUI/all.scss +9 -9
  115. package/src/css/vxeTableUI/base.scss +16 -16
  116. package/src/css/vxeTableUI/components/colgroup.scss +0 -0
  117. package/src/css/vxeTableUI/components/column.scss +0 -0
  118. package/src/css/vxeTableUI/components/grid.scss +83 -83
  119. package/src/css/vxeTableUI/components/icon.scss +1017 -1017
  120. package/src/css/vxeTableUI/components/iconTable.scss +205 -205
  121. package/src/css/vxeTableUI/components/old-icon.scss +715 -715
  122. package/src/css/vxeTableUI/components/table-module/all.scss +6 -6
  123. package/src/css/vxeTableUI/components/table-module/custom.scss +490 -490
  124. package/src/css/vxeTableUI/components/table-module/edit.scss +0 -0
  125. package/src/css/vxeTableUI/components/table-module/export.scss +130 -130
  126. package/src/css/vxeTableUI/components/table-module/filter.scss +127 -127
  127. package/src/css/vxeTableUI/components/table-module/keyboard.scss +0 -0
  128. package/src/css/vxeTableUI/components/table-module/menu.scss +85 -85
  129. package/src/css/vxeTableUI/components/table-module/validator.scss +0 -0
  130. package/src/css/vxeTableUI/components/table.scss +2256 -2256
  131. package/src/css/vxeTableUI/components/toolbar.scss +99 -99
  132. package/src/css/vxeTableUI/components/ui.scss +0 -0
  133. package/src/css/vxeTableUI/components/v-x-e-table.scss +0 -0
  134. package/src/css/vxeTableUI/cssvar.scss +2 -2
  135. package/src/css/vxeTableUI/default.scss +2 -2
  136. package/src/css/vxeTableUI/helpers/baseMixin.scss +82 -82
  137. package/src/css/vxeTableUI/icon/iconfont.ttf +0 -0
  138. package/src/css/vxeTableUI/icon/iconfont.woff +0 -0
  139. package/src/css/vxeTableUI/icon/iconfont.woff2 +0 -0
  140. package/src/css/vxeTableUI/index.scss +4 -4
  141. package/src/css/vxeTableUI/modules.scss +5 -5
  142. package/src/css/vxeTableUI/theme/base.scss +88 -88
  143. package/src/css/vxeTableUI/theme/dark.scss +46 -46
  144. package/src/css/vxeTableUI/theme/light.scss +41 -41
  145. package/src/css/vxeTableUI/variable.scss +41 -41
  146. package/src/directives/vKeydown.ts +91 -91
  147. package/src/hooks/useDictHooks.ts +119 -119
  148. package/src/hooks/useEcharts.ts +58 -58
  149. package/src/hooks/useFileView.ts +11 -11
  150. package/src/hooks/useListenerHooks.ts +137 -137
  151. package/src/hooks/useMessageHooks.ts +132 -132
  152. package/src/hooks/usePermissionToolHooks.ts +21 -21
  153. package/src/hooks/useResetRefHooks.ts +18 -18
  154. package/src/hooks/userWorkflowHooks.ts +106 -106
  155. package/src/hooks/workflowTodo.ts +85 -85
  156. package/src/interface/BaseEntity.ts +30 -30
  157. package/src/interface/IMdmDept.ts +84 -84
  158. package/src/interface/IMdmEmployee.ts +153 -153
  159. package/src/interface/IMdmEmployeeQuery.ts +21 -21
  160. package/src/interface/IMdmOrg.ts +29 -29
  161. package/src/interface/IMdmOrgQuery.ts +13 -13
  162. package/src/interface/IOrgDeptInfo.ts +12 -12
  163. package/src/interface/ISortList.ts +6 -6
  164. package/src/interface/ISysDictDataCacheVo.ts +46 -46
  165. package/src/interface/ISysDictType.ts +37 -37
  166. package/src/interface/ISysMenuDataVo.ts +22 -22
  167. package/src/interface/ISysMenuInfoVo.ts +83 -83
  168. package/src/interface/ISysMenuOperationVo.ts +21 -21
  169. package/src/interface/ISysUploadFiles.ts +16 -16
  170. package/src/interface/ISysUserInfo.ts +70 -70
  171. package/src/interface/IUserBaseInfo.ts +90 -90
  172. package/src/interface/IUserPermissionVo.ts +41 -41
  173. package/src/interface/IVxeTable.ts +1 -1
  174. package/src/interface/Message.ts +72 -73
  175. package/src/interface/PageData.ts +17 -17
  176. package/src/interface/ResponseData.ts +16 -16
  177. package/src/interface/dictMapType.ts +11 -11
  178. package/src/interface/enum/MessageEnum.ts +41 -41
  179. package/src/interface/workflow/IWfProcessDefVo.ts +14 -14
  180. package/src/interface/workflow/IWfReturnNodeVo.ts +16 -16
  181. package/src/interface/workflow/IWfTaskAskVo.ts +65 -65
  182. package/src/interface/workflow/IWfTaskQueryVo.ts +30 -30
  183. package/src/interface/workflow/IWfTaskUsersVo.ts +21 -21
  184. package/src/interface/workflow/IWfTaskVo.ts +187 -187
  185. package/src/interface/workflow/workflow.ts +22 -22
  186. package/src/mixin/globalMixin.ts +48 -48
  187. package/src/packages/index.ts +18 -18
  188. package/src/packages/text.vue +13 -13
  189. package/src/plugins/echartsConfig.ts +74 -74
  190. package/src/plugins/plugins.ts +12 -12
  191. package/src/plugins/renderDialog.ts +74 -74
  192. package/src/stores/dictStore.ts +51 -51
  193. package/src/stores/messageStore.ts +49 -49
  194. package/src/stores/permissionStore.ts +112 -112
  195. package/src/stores/storeConfig.ts +23 -23
  196. package/src/stores/userInfoStore.ts +31 -31
  197. package/src/utils/AxiosConfig.ts +226 -226
  198. package/src/utils/FrameworkUtils.ts +358 -358
  199. package/src/utils/commonUtils.ts +115 -115
  200. package/src/utils/encrypt.ts +18 -18
  201. package/src/utils/modules.ts +8 -8
  202. package/src/utils/request.ts +76 -76
  203. package/src/utils/tree.ts +50 -50
  204. package/adtec-core-package/adtec-core-package.css +0 -1
  205. package/adtec-core-package/adtec-core-package.js +0 -41605
  206. package/adtec-core-package/adtec-core-package.umd.cjs +0 -79
  207. package/adtec-core-package/favicon.ico +0 -0
@@ -1,149 +1,149 @@
1
- <!--创建人 xux-->
2
- <!--说明: ProcessDetailComp-->
3
- <!--创建时间: 2025/4/4 下午3:24-->
4
- <!--修改时间: 2024/4/4 下午3:24-->
5
- <template>
6
- <el-flex
7
- :vertical="true"
8
- class="border"
9
- style="border-radius: var(--el-border-radius-base); background: #ffffff"
10
- v-loading="loading"
11
- >
12
- <el-title v-if="showTitle" title="流程详情" level="1" style="padding-left: 8px; border-bottom: var(--border)">
13
- </el-title>
14
- <el-flex height="100px" v-if="showDescriptions">
15
- <el-descriptions
16
- border
17
- style="padding: 8px; width: 100%"
18
- width="25%"
19
- label-width="25%"
20
- column="4"
21
- direction="vertical"
22
- >
23
- <el-descriptions-item width="25%" label-width="25%" label="流程名称">
24
- <span>{{ data?.procDefName }}</span>
25
- </el-descriptions-item>
26
- <el-descriptions-item width="25%" label-width="25%" label="流程发起人">{{
27
- data?.startUserName
28
- }}</el-descriptions-item>
29
- <el-descriptions-item label-width="25%" width="25%" label="流程创建时间">{{
30
- data?.procStartTime
31
- }}</el-descriptions-item>
32
- <el-descriptions-item label-width="25%" width="25%" label="流程结束时间">{{
33
- data?.procEndTime
34
- }}</el-descriptions-item>
35
- </el-descriptions>
36
- </el-flex>
37
- <el-flex>
38
- <el-tabs v-model="activeName" style="width: 100%; height: 100%; padding: 0 8px 8px">
39
- <el-tab-pane label="审批记录" name="0" style="height: 100%">
40
- <template #label>
41
- <span style="display: flex; align-items: center">
42
- <el-icons model-value="adtec-ar" style="margin-right: 5px" />
43
- <span>审批记录</span>
44
- </span>
45
- </template>
46
- <div v-show="isEmpty" class="el-table__empty-block">
47
- <span class="el-table__empty-text">暂无数据</span>
48
- </div>
49
- <process-instance-step @view-detail="viewDetail" :source="source" v-show="!isEmpty" style="padding-top: 10px" ref="stepRef"></process-instance-step>
50
- </el-tab-pane>
51
- <el-tab-pane label="流程步骤" name="1" style="height: 100%">
52
- <template #label>
53
- <el-icons model-value="adtec-flowdef" style="margin-right: 5px" />
54
- <span>流程步骤</span>
55
- </template>
56
- <el-flex>
57
- <div v-show="isEmpty" class="el-table__empty-block">
58
- <span class="el-table__empty-text">暂无数据</span>
59
- </div>
60
- <process-instance v-show="!isEmpty" ref="bpmnRef"></process-instance>
61
- </el-flex>
62
- </el-tab-pane>
63
- </el-tabs>
64
- </el-flex>
65
- </el-flex>
66
- </template>
67
- <script setup lang="ts">
68
- import { ref, watch } from 'vue'
69
- import { ElMessage } from 'element-plus'
70
- import ProcessInstanceStep from './ProcessInstanceStep.vue'
71
- import ProcessInstance from './ProcessInstance.vue'
72
- import type { IWfTaskVo } from '../../../interface/workflow/IWfTaskVo'
73
- import workflowInstApi from '../../../api/workflow/workflowInstApi'
74
- import frameworkUtils from '../../../utils/FrameworkUtils.ts'
75
-
76
- const props = withDefaults(
77
- defineProps<{
78
- businessId: string
79
- task: IWfTaskVo
80
- showTitle?: boolean
81
- showDescriptions: boolean
82
- source?: string
83
- }>(),
84
- {
85
- task: undefined,
86
- businessId: undefined,
87
- showTitle: false,
88
- showDescriptions: false,
89
- source: ''
90
- },
91
- )
92
- const emit = defineEmits(['viewDetail'])
93
- const activeName = ref('0')
94
- const loading = ref(false)
95
- const bpmnRef = ref<InstanceType<typeof ProcessInstance>>()
96
- const stepRef = ref<InstanceType<typeof ProcessInstanceStep>>()
97
- const data = ref<IWfTaskVo>()
98
- const isEmpty = ref(false)
99
- const open = async () => {
100
- if (props.task?.procInsId && props.task?.procDefKey) {
101
- try {
102
- data.value = props.task
103
- loading.value = true
104
- bpmnRef.value?.init(props.task.procDefKey, props.task.procInsId)
105
- stepRef.value?.init(props.task.procInsId)
106
- } catch (err: any) {
107
- frameworkUtils.messageError(err)
108
- } finally {
109
- loading.value = false
110
- }
111
- } else if (props.businessId) {
112
- try {
113
- loading.value = true
114
- isEmpty.value = false
115
- data.value = await workflowInstApi.getWfTaskByBusinessId(props.businessId)
116
- if (data.value.procDefKey && data.value.procInsId) {
117
- bpmnRef.value?.init(data.value.procDefKey, data.value.procInsId)
118
- stepRef.value?.init(data.value.procInsId)
119
- } else {
120
- ElMessage.warning('流程信息缺失!')
121
- }
122
- } catch (err: any) {
123
- // frameworkUtils.messageError(err)
124
- //暂无数据
125
- isEmpty.value = true
126
- } finally {
127
- loading.value = false
128
- }
129
- } else {
130
- ElMessage.warning('缺少必要参数')
131
- }
132
- }
133
- const viewDetail = (task: IWfTaskVo) => {
134
- emit('viewDetail', task)
135
- }
136
- watch(
137
- [
138
- () => props.task?.procInsId,
139
- () => props.businessId
140
- ],
141
- ([newProcInsId, newBusinessId]) => {
142
- if (newProcInsId || newBusinessId) {
143
- open();
144
- }
145
- },
146
- { immediate: true } // 若不需要在组件挂载时立即触发,可以设置为 false
147
- );
148
- </script>
149
- <style scoped lang="scss"></style>
1
+ <!--创建人 xux-->
2
+ <!--说明: ProcessDetailComp-->
3
+ <!--创建时间: 2025/4/4 下午3:24-->
4
+ <!--修改时间: 2024/4/4 下午3:24-->
5
+ <template>
6
+ <el-flex
7
+ :vertical="true"
8
+ class="border"
9
+ style="border-radius: var(--el-border-radius-base); background: #ffffff"
10
+ v-loading="loading"
11
+ >
12
+ <el-title v-if="showTitle" title="流程详情" level="1" style="padding-left: 8px; border-bottom: var(--border)">
13
+ </el-title>
14
+ <el-flex height="100px" v-if="showDescriptions">
15
+ <el-descriptions
16
+ border
17
+ style="padding: 8px; width: 100%"
18
+ width="25%"
19
+ label-width="25%"
20
+ column="4"
21
+ direction="vertical"
22
+ >
23
+ <el-descriptions-item width="25%" label-width="25%" label="流程名称">
24
+ <span>{{ data?.procDefName }}</span>
25
+ </el-descriptions-item>
26
+ <el-descriptions-item width="25%" label-width="25%" label="流程发起人">{{
27
+ data?.startUserName
28
+ }}</el-descriptions-item>
29
+ <el-descriptions-item label-width="25%" width="25%" label="流程创建时间">{{
30
+ data?.procStartTime
31
+ }}</el-descriptions-item>
32
+ <el-descriptions-item label-width="25%" width="25%" label="流程结束时间">{{
33
+ data?.procEndTime
34
+ }}</el-descriptions-item>
35
+ </el-descriptions>
36
+ </el-flex>
37
+ <el-flex>
38
+ <el-tabs v-model="activeName" style="width: 100%; height: 100%; padding: 0 8px 8px">
39
+ <el-tab-pane label="审批记录" name="0" style="height: 100%">
40
+ <template #label>
41
+ <span style="display: flex; align-items: center">
42
+ <el-icons model-value="adtec-ar" style="margin-right: 5px" />
43
+ <span>审批记录</span>
44
+ </span>
45
+ </template>
46
+ <div v-show="isEmpty" class="el-table__empty-block">
47
+ <span class="el-table__empty-text">暂无数据</span>
48
+ </div>
49
+ <process-instance-step @view-detail="viewDetail" :source="source" v-show="!isEmpty" style="padding-top: 10px" ref="stepRef"></process-instance-step>
50
+ </el-tab-pane>
51
+ <el-tab-pane label="流程步骤" name="1" style="height: 100%">
52
+ <template #label>
53
+ <el-icons model-value="adtec-flowdef" style="margin-right: 5px" />
54
+ <span>流程步骤</span>
55
+ </template>
56
+ <el-flex>
57
+ <div v-show="isEmpty" class="el-table__empty-block">
58
+ <span class="el-table__empty-text">暂无数据</span>
59
+ </div>
60
+ <process-instance v-show="!isEmpty" ref="bpmnRef"></process-instance>
61
+ </el-flex>
62
+ </el-tab-pane>
63
+ </el-tabs>
64
+ </el-flex>
65
+ </el-flex>
66
+ </template>
67
+ <script setup lang="ts">
68
+ import { ref, watch } from 'vue'
69
+ import { ElMessage } from 'element-plus'
70
+ import ProcessInstanceStep from './ProcessInstanceStep.vue'
71
+ import ProcessInstance from './ProcessInstance.vue'
72
+ import type { IWfTaskVo } from '../../../interface/workflow/IWfTaskVo'
73
+ import workflowInstApi from '../../../api/workflow/workflowInstApi'
74
+ import frameworkUtils from '../../../utils/FrameworkUtils.ts'
75
+
76
+ const props = withDefaults(
77
+ defineProps<{
78
+ businessId: string
79
+ task: IWfTaskVo
80
+ showTitle?: boolean
81
+ showDescriptions: boolean
82
+ source?: string
83
+ }>(),
84
+ {
85
+ task: undefined,
86
+ businessId: undefined,
87
+ showTitle: false,
88
+ showDescriptions: false,
89
+ source: ''
90
+ },
91
+ )
92
+ const emit = defineEmits(['viewDetail'])
93
+ const activeName = ref('0')
94
+ const loading = ref(false)
95
+ const bpmnRef = ref<InstanceType<typeof ProcessInstance>>()
96
+ const stepRef = ref<InstanceType<typeof ProcessInstanceStep>>()
97
+ const data = ref<IWfTaskVo>()
98
+ const isEmpty = ref(false)
99
+ const open = async () => {
100
+ if (props.task?.procInsId && props.task?.procDefKey) {
101
+ try {
102
+ data.value = props.task
103
+ loading.value = true
104
+ bpmnRef.value?.init(props.task.procDefKey, props.task.procInsId)
105
+ stepRef.value?.init(props.task.procInsId)
106
+ } catch (err: any) {
107
+ frameworkUtils.messageError(err)
108
+ } finally {
109
+ loading.value = false
110
+ }
111
+ } else if (props.businessId) {
112
+ try {
113
+ loading.value = true
114
+ isEmpty.value = false
115
+ data.value = await workflowInstApi.getWfTaskByBusinessId(props.businessId)
116
+ if (data.value.procDefKey && data.value.procInsId) {
117
+ bpmnRef.value?.init(data.value.procDefKey, data.value.procInsId)
118
+ stepRef.value?.init(data.value.procInsId)
119
+ } else {
120
+ ElMessage.warning('流程信息缺失!')
121
+ }
122
+ } catch (err: any) {
123
+ // frameworkUtils.messageError(err)
124
+ //暂无数据
125
+ isEmpty.value = true
126
+ } finally {
127
+ loading.value = false
128
+ }
129
+ } else {
130
+ ElMessage.warning('缺少必要参数')
131
+ }
132
+ }
133
+ const viewDetail = (task: IWfTaskVo) => {
134
+ emit('viewDetail', task)
135
+ }
136
+ watch(
137
+ [
138
+ () => props.task?.procInsId,
139
+ () => props.businessId
140
+ ],
141
+ ([newProcInsId, newBusinessId]) => {
142
+ if (newProcInsId || newBusinessId) {
143
+ open();
144
+ }
145
+ },
146
+ { immediate: true } // 若不需要在组件挂载时立即触发,可以设置为 false
147
+ );
148
+ </script>
149
+ <style scoped lang="scss"></style>
@@ -1,129 +1,129 @@
1
- <!--创建人 xux-->
2
- <!--说明: ProcessDetail-->
3
- <!--创建时间: 2024/12/3 下午3:24-->
4
- <!--修改时间: 2024/12/3 下午3:24-->
5
- <template>
6
- <el-drawer
7
- title="流程查看"
8
- v-model="dialogVisible"
9
- size="800"
10
- @open="open"
11
- @close="dialogVisible = false"
12
- >
13
- <el-flex
14
- :vertical="true"
15
- class="border"
16
- style="border-radius: var(--el-border-radius-base); margin-left: 8px; background: #ffffff"
17
- v-loading="loading"
18
- >
19
- <el-title title="流程详情" style="padding-left: 8px; border-bottom: var(--border)">
20
- </el-title>
21
- <el-flex height="100px">
22
- <el-descriptions
23
- border
24
- style="padding: 8px; width: 100%"
25
- width="25%"
26
- label-width="25%"
27
- column="4"
28
- direction="vertical"
29
- >
30
- <el-descriptions-item width="25%" label-width="25%" label="流程名称">
31
- <span>{{ data?.procDefName }}</span>
32
- </el-descriptions-item>
33
- <el-descriptions-item width="25%" label-width="25%" label="流程发起人">{{
34
- data?.startUserName
35
- }}</el-descriptions-item>
36
- <el-descriptions-item label-width="25%" width="25%" label="流程创建时间">{{
37
- data?.procStartTime
38
- }}</el-descriptions-item>
39
- <el-descriptions-item label-width="25%" width="25%" label="流程结束时间">{{
40
- data?.procEndTime
41
- }}</el-descriptions-item>
42
- </el-descriptions>
43
- </el-flex>
44
- <el-flex>
45
- <el-tabs v-model="activeName" style="width: 100%; height: 100%; padding: 0 8px 8px">
46
- <el-tab-pane label="审批记录" name="0" style="height: 100%">
47
- <template #label>
48
- <span style="display: flex; align-items: center">
49
- <el-icons model-value="adtec-ar" style="margin-right: 5px" />
50
- <span>审批记录</span>
51
- </span>
52
- </template>
53
- <process-instance-step style="padding-top: 10px" ref="stepRef"></process-instance-step>
54
- </el-tab-pane>
55
- <el-tab-pane label="流程步骤" name="1" style="height: 100%">
56
- <template #label>
57
- <el-icons model-value="adtec-flowdef" style="margin-right: 5px" />
58
- <span>流程步骤</span>
59
- </template>
60
- <el-flex>
61
- <process-instance ref="bpmnRef"></process-instance>
62
- </el-flex>
63
- </el-tab-pane>
64
- </el-tabs>
65
- </el-flex>
66
- </el-flex>
67
- </el-drawer>
68
- </template>
69
- <script setup lang="ts">
70
- import { useVModel } from '@vueuse/core'
71
- import { ref } from 'vue'
72
- import { ElMessage } from 'element-plus'
73
- import ProcessInstanceStep from './ProcessInstanceStep.vue'
74
- import ProcessInstance from './ProcessInstance.vue'
75
- import type { IWfTaskVo } from '../../../interface/workflow/IWfTaskVo'
76
- import workflowInstApi from '../../../api/workflow/workflowInstApi'
77
- import frameworkUtils from '../../../utils/FrameworkUtils.ts'
78
-
79
- const props = withDefaults(
80
- defineProps<{
81
- modelValue: boolean
82
- businessId: string
83
- task: IWfTaskVo
84
- }>(),
85
- {
86
- task: undefined,
87
- businessId: undefined,
88
- },
89
- )
90
- const emit = defineEmits(['update:modelValue'])
91
- const dialogVisible = useVModel(props, 'modelValue', emit)
92
- const activeName = ref('0')
93
- const loading = ref(false)
94
- const bpmnRef = ref<InstanceType<typeof ProcessInstance>>()
95
- const stepRef = ref<InstanceType<typeof ProcessInstanceStep>>()
96
- const data = ref<IWfTaskVo>()
97
- const open = async () => {
98
- if (props.task?.procInsId && props.task?.procDefKey) {
99
- try {
100
- data.value = props.task
101
- loading.value = true
102
- bpmnRef.value?.init(props.task.procDefKey, props.task.procInsId)
103
- stepRef.value?.init(props.task.procInsId)
104
- } catch (err: any) {
105
- frameworkUtils.messageError(err)
106
- } finally {
107
- loading.value = false
108
- }
109
- } else if (props.businessId) {
110
- try {
111
- loading.value = true
112
- data.value = await workflowInstApi.getWfTaskByBusinessId(props.businessId)
113
- if (data.value.procDefKey && data.value.procInsId) {
114
- bpmnRef.value?.init(data.value.procDefKey, data.value.procInsId)
115
- stepRef.value?.init(data.value.procInsId)
116
- } else {
117
- ElMessage.warning('流程信息缺失!')
118
- }
119
- } catch (err: any) {
120
- frameworkUtils.messageError(err)
121
- } finally {
122
- loading.value = false
123
- }
124
- } else {
125
- ElMessage.warning('缺少必要参数')
126
- }
127
- }
128
- </script>
129
- <style scoped lang="scss"></style>
1
+ <!--创建人 xux-->
2
+ <!--说明: ProcessDetail-->
3
+ <!--创建时间: 2024/12/3 下午3:24-->
4
+ <!--修改时间: 2024/12/3 下午3:24-->
5
+ <template>
6
+ <el-drawer
7
+ title="流程查看"
8
+ v-model="dialogVisible"
9
+ size="800"
10
+ @open="open"
11
+ @close="dialogVisible = false"
12
+ >
13
+ <el-flex
14
+ :vertical="true"
15
+ class="border"
16
+ style="border-radius: var(--el-border-radius-base); margin-left: 8px; background: #ffffff"
17
+ v-loading="loading"
18
+ >
19
+ <el-title title="流程详情" style="padding-left: 8px; border-bottom: var(--border)">
20
+ </el-title>
21
+ <el-flex height="100px">
22
+ <el-descriptions
23
+ border
24
+ style="padding: 8px; width: 100%"
25
+ width="25%"
26
+ label-width="25%"
27
+ column="4"
28
+ direction="vertical"
29
+ >
30
+ <el-descriptions-item width="25%" label-width="25%" label="流程名称">
31
+ <span>{{ data?.procDefName }}</span>
32
+ </el-descriptions-item>
33
+ <el-descriptions-item width="25%" label-width="25%" label="流程发起人">{{
34
+ data?.startUserName
35
+ }}</el-descriptions-item>
36
+ <el-descriptions-item label-width="25%" width="25%" label="流程创建时间">{{
37
+ data?.procStartTime
38
+ }}</el-descriptions-item>
39
+ <el-descriptions-item label-width="25%" width="25%" label="流程结束时间">{{
40
+ data?.procEndTime
41
+ }}</el-descriptions-item>
42
+ </el-descriptions>
43
+ </el-flex>
44
+ <el-flex>
45
+ <el-tabs v-model="activeName" style="width: 100%; height: 100%; padding: 0 8px 8px">
46
+ <el-tab-pane label="审批记录" name="0" style="height: 100%">
47
+ <template #label>
48
+ <span style="display: flex; align-items: center">
49
+ <el-icons model-value="adtec-ar" style="margin-right: 5px" />
50
+ <span>审批记录</span>
51
+ </span>
52
+ </template>
53
+ <process-instance-step style="padding-top: 10px" ref="stepRef"></process-instance-step>
54
+ </el-tab-pane>
55
+ <el-tab-pane label="流程步骤" name="1" style="height: 100%">
56
+ <template #label>
57
+ <el-icons model-value="adtec-flowdef" style="margin-right: 5px" />
58
+ <span>流程步骤</span>
59
+ </template>
60
+ <el-flex>
61
+ <process-instance ref="bpmnRef"></process-instance>
62
+ </el-flex>
63
+ </el-tab-pane>
64
+ </el-tabs>
65
+ </el-flex>
66
+ </el-flex>
67
+ </el-drawer>
68
+ </template>
69
+ <script setup lang="ts">
70
+ import { useVModel } from '@vueuse/core'
71
+ import { ref } from 'vue'
72
+ import { ElMessage } from 'element-plus'
73
+ import ProcessInstanceStep from './ProcessInstanceStep.vue'
74
+ import ProcessInstance from './ProcessInstance.vue'
75
+ import type { IWfTaskVo } from '../../../interface/workflow/IWfTaskVo'
76
+ import workflowInstApi from '../../../api/workflow/workflowInstApi'
77
+ import frameworkUtils from '../../../utils/FrameworkUtils.ts'
78
+
79
+ const props = withDefaults(
80
+ defineProps<{
81
+ modelValue: boolean
82
+ businessId: string
83
+ task: IWfTaskVo
84
+ }>(),
85
+ {
86
+ task: undefined,
87
+ businessId: undefined,
88
+ },
89
+ )
90
+ const emit = defineEmits(['update:modelValue'])
91
+ const dialogVisible = useVModel(props, 'modelValue', emit)
92
+ const activeName = ref('0')
93
+ const loading = ref(false)
94
+ const bpmnRef = ref<InstanceType<typeof ProcessInstance>>()
95
+ const stepRef = ref<InstanceType<typeof ProcessInstanceStep>>()
96
+ const data = ref<IWfTaskVo>()
97
+ const open = async () => {
98
+ if (props.task?.procInsId && props.task?.procDefKey) {
99
+ try {
100
+ data.value = props.task
101
+ loading.value = true
102
+ bpmnRef.value?.init(props.task.procDefKey, props.task.procInsId)
103
+ stepRef.value?.init(props.task.procInsId)
104
+ } catch (err: any) {
105
+ frameworkUtils.messageError(err)
106
+ } finally {
107
+ loading.value = false
108
+ }
109
+ } else if (props.businessId) {
110
+ try {
111
+ loading.value = true
112
+ data.value = await workflowInstApi.getWfTaskByBusinessId(props.businessId)
113
+ if (data.value.procDefKey && data.value.procInsId) {
114
+ bpmnRef.value?.init(data.value.procDefKey, data.value.procInsId)
115
+ stepRef.value?.init(data.value.procInsId)
116
+ } else {
117
+ ElMessage.warning('流程信息缺失!')
118
+ }
119
+ } catch (err: any) {
120
+ frameworkUtils.messageError(err)
121
+ } finally {
122
+ loading.value = false
123
+ }
124
+ } else {
125
+ ElMessage.warning('缺少必要参数')
126
+ }
127
+ }
128
+ </script>
129
+ <style scoped lang="scss"></style>