Pārlūkot izejas kodu

Merge pull request 'insist-dev' (#2) from insist-dev into master

Reviewed-on: http://git.aizuda.com/aizuda/aizuda-web-vue3/pulls/2
aizuda 1 gadu atpakaļ
vecāks
revīzija
824846f3bb

+ 14 - 5
src/components/Flow/FlowTypeDot.vue

@@ -17,14 +17,23 @@
 
 		<!-- 状态 -->
 		<div class="badge">
-			<template v-if="type === 3">
-				<svg-icon icon-class="reject" />
+			<template v-if="type === 1">
+				<svg-icon icon-class="approval"/>
 			</template>
-			<template v-else-if="status === 1">
-				<svg-icon icon-class="active" color="#2a5eff" />
+			<template v-else-if="type === 2">
+				<svg-icon icon-class="active"/>
+			</template>
+			<template v-else-if="type === 3">
+				<svg-icon icon-class="approval"/>
+			</template>
+			<template v-else-if="type === 4">
+				<svg-icon icon-class="reject"/>
+			</template>
+			<template v-else-if="type === 15">
+				<svg-icon icon-class="close_all"/>
 			</template>
 			<template v-else>
-				<svg-icon icon-class="approval" />
+				<svg-icon icon-class="approval"/>
 			</template>
 		</div>
 	</div>

+ 18 - 0
src/utils/index.ts

@@ -232,6 +232,24 @@ export const format_milliseconds = (milliseconds: number) => {
 	return timeString
 }
 
+/**
+ * 毫秒转分钟 不到一分钟显示秒
+ * @param ms
+ */
+export const millisecondsToMinutesAndSeconds = (milliseconds: number) => {
+	let seconds = Math.floor(milliseconds / 1000); // 先将毫秒转换为秒
+	let minutes = Math.floor(seconds / 60); // 将秒转换为分钟
+	seconds = seconds % 60; // 计算剩余的秒数
+
+	// 如果不到一分钟,则只显示秒
+	if (minutes === 0) {
+		return seconds + '秒';
+	} else {
+		// 否则显示分钟和秒
+		return minutes + '分钟' + (seconds > 0 ? seconds + '秒' : '');
+	}
+}
+
 // 静态图标
 export const ImageArr = [
 	'approval',

+ 1 - 1
src/views/approve/components/approvedContent.vue

@@ -56,7 +56,7 @@
 						<el-timeline style="margin-left: 50px">
 							<el-timeline-item v-for="active in activeData" :key="active.id" hollow :timestamp="active.local_timestamp">
 								<template #dot>
-									<FlowTypeDot :status="active.id ? 0 : 1" :type="active.taskType" :name="active.createBy" />
+									<FlowTypeDot :status="active.id ? 0 : 1" :type="active.type" :name="active.createBy" />
 								</template>
 								<div v-show="active.type === 0" class="timeline-box flex-1">
 									<span style="color: #86909c; display: block; margin-bottom: 3px; padding-left: 4px">评论</span>

+ 3 - 3
src/views/approve/components/approvedItem.vue

@@ -92,11 +92,11 @@
 							</div>
 							<div v-if="i.duration" class="summary-item">
 								<div class="label">处理耗时:</div>
-								<div class="value">{{ format_milliseconds(i.duration) }}</div>
+								<div class="value">{{ millisecondsToMinutesAndSeconds(i.duration) }}</div>
 							</div>
 						</template>
 
-						<div v-if="i.currentNodeName !== 'complete'" class="summary-item">
+						<div v-if="i.currentNodeName !== 'complete' && i.endTime ==null" class="summary-item">
 							<div class="label">当前所在节点:</div>
 							<div class="value">{{ i.currentNodeName }}</div>
 						</div>
@@ -124,7 +124,7 @@ import FlowNodeAvatar from '@/components/Flow/FlowNodeAvatar.vue'
 // import { Search, Filter, Refresh } from '@element-plus/icons-vue'
 import EditPopover from '@/components/EditPopover.vue'
 import { computed, onMounted, reactive, ref, watch } from 'vue'
-import { format_milliseconds } from '@/utils'
+import { millisecondsToMinutesAndSeconds } from '@/utils'
 import {
 	processTaskPagePendingApprovalApi,
 	processTaskPageMyApplicationApi,

+ 1 - 1
src/views/approve/pendingApproval/detail.vue

@@ -37,7 +37,7 @@
 					<el-timeline style="margin-left: 50px">
 						<el-timeline-item v-for="active in activeData" :key="active.id" hollow :timestamp="active.taskName" placement="top">
 							<template #dot>
-								<FlowTypeDot :status="active.taskState" :type="active.taskType" />
+								<FlowTypeDot :status="active.taskState" :type="active.type" />
 							</template>
 
 							<div class="timeline-box flex-1">