From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 102 insertions(+), 0 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
new file mode 100644
index 0000000..0af0310
--- /dev/null
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
@@ -0,0 +1,102 @@
+<template>
+ <div class="end-node-wrapper">
+ <div class="end-node-box cursor-pointer" :class="`${useTaskStatusClass(currentNode?.activityStatus)}`" @click="nodeClick">
+ <span class="node-fixed-name" title="缁撴潫">缁撴潫</span>
+ </div>
+ </div>
+ <el-dialog title="瀹℃壒淇℃伅" v-model="dialogVisible" width="1000px" append-to-body>
+ <el-row>
+ <el-table
+ :data="processInstanceInfos"
+ size="small"
+ border
+ header-cell-class-name="table-header-gray"
+ >
+ <el-table-column
+ label="搴忓彿"
+ header-align="center"
+ align="center"
+ type="index"
+ width="50"
+ />
+ <el-table-column
+ label="鍙戣捣浜�"
+ prop="assigneeUser.nickname"
+ min-width="100"
+ align="center"
+ />
+ <el-table-column label="閮ㄩ棬" min-width="100" align="center">
+ <template #default="scope">
+ {{ scope.row.assigneeUser?.deptName || scope.row.ownerUser?.deptName }}
+ </template>
+ </el-table-column>
+ <el-table-column
+ :formatter="dateFormatter"
+ align="center"
+ label="寮�濮嬫椂闂�"
+ prop="createTime"
+ min-width="140"
+ />
+ <el-table-column
+ :formatter="dateFormatter"
+ align="center"
+ label="缁撴潫鏃堕棿"
+ prop="endTime"
+ min-width="140"
+ />
+ <el-table-column align="center" label="瀹℃壒鐘舵��" prop="status" min-width="90">
+ <template #default="scope">
+ <dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS" :value="scope.row.status" />
+ </template>
+ </el-table-column>
+
+ <el-table-column align="center" label="鑰楁椂" prop="durationInMillis" width="100">
+ <template #default="scope">
+ {{ formatPast2(scope.row.durationInMillis) }}
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-row>
+ </el-dialog>
+</template>
+<script setup lang="ts">
+import { SimpleFlowNode } from '../consts'
+import { useWatchNode, useTaskStatusClass } from '../node'
+import { dateFormatter, formatPast2 } from '@/utils/formatTime'
+import { DICT_TYPE } from '@/utils/dict'
+defineOptions({
+ name: 'EndEventNode'
+})
+const props = defineProps({
+ flowNode: {
+ type: Object as () => SimpleFlowNode,
+ default: () => null
+ }
+})
+// 鐩戞帶鑺傜偣鍙樺寲
+const currentNode = useWatchNode(props)
+// 鏄惁鍙
+const readonly = inject<Boolean>('readonly')
+const processInstance = inject<Ref<any>>('processInstance', ref({}))
+// 瀹℃壒淇℃伅鐨勫脊绐楁樉绀猴紝鐢ㄤ簬鍙妯″紡
+const dialogVisible = ref(false) // 寮圭獥鍙鎬�
+const processInstanceInfos = ref<any[]>([]) // 娴佺▼鐨勫鎵逛俊鎭�
+
+const nodeClick = () => {
+ if (readonly) {
+ if(processInstance && processInstance.value){
+ processInstanceInfos.value = [
+ {
+ assigneeUser: processInstance.value.startUser,
+ createTime: processInstance.value.startTime,
+ endTime: processInstance.value.endTime,
+ status: processInstance.value.status,
+ durationInMillis: processInstance.value.durationInMillis
+ }
+ ]
+ dialogVisible.value = true
+ }
+ }
+}
+</script>
+<style lang="scss" scoped></style>
--
Gitblit v1.8.0