|
|
|
|
@ -18,7 +18,6 @@
|
|
|
|
|
<div |
|
|
|
|
class="flow-time" |
|
|
|
|
:danger="shouldHighlight(item)" |
|
|
|
|
:title="getOvertimeTip(item)" |
|
|
|
|
> |
|
|
|
|
<span class="second mr-8">用时</span> |
|
|
|
|
<span class="primary">{{ |
|
|
|
|
@ -63,22 +62,16 @@ function getConsumingTime(crtTime, index) {
|
|
|
|
|
} |
|
|
|
|
return moment(crtTime).diff(moment(actionHistory.value[index - 1].crtTime), "seconds") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 直接使用后端计算的 timeoutFlag 判断是否高亮 |
|
|
|
|
const catchStore = useCatchStore(); |
|
|
|
|
// 触发字典加载 |
|
|
|
|
catchStore.getDicts(["approveShouldHighlight"]); |
|
|
|
|
// 在 computed 中通过 store 直接访问 |
|
|
|
|
const highlightKeywords = computed(() => catchStore.dict.approveShouldHighlight || []); |
|
|
|
|
const shouldHighlight = (item) => { |
|
|
|
|
return item.timeoutFlag === true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 使用后端计算的 overtimeStatus 和 overtimeDuration 构建提示 |
|
|
|
|
const getOvertimeTip = (item) => { |
|
|
|
|
if (!item.timeoutFlag || !item.duration) { |
|
|
|
|
return ''; |
|
|
|
|
} |
|
|
|
|
const overtimeSeconds = item.overtimeDuration || 0; |
|
|
|
|
const days = Math.floor(overtimeSeconds / 86400); |
|
|
|
|
const hours = Math.floor((overtimeSeconds % 86400) / 3600); |
|
|
|
|
const minutes = Math.floor((overtimeSeconds % 3600) / 60); |
|
|
|
|
return `超时 ${days}天${hours}时${minutes}分`; |
|
|
|
|
debugger |
|
|
|
|
const keywords = highlightKeywords.value; |
|
|
|
|
const matchKeyword = keywords.some(k => item.actionName?.includes(k.dictLabel)); |
|
|
|
|
return item.duration > 86400 && matchKeyword; |
|
|
|
|
} |
|
|
|
|
const activeHistory = ref({}) |
|
|
|
|
function handleShowDetai(item) { |
|
|
|
|
|