From ffa8de2ab74c2397752f92d0239e0d7635fb9e7d Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 05 二月 2024 18:48:16 +0800
Subject: [PATCH] 拦截器增加跳转
---
src/views/dashboard/components/ProcessingInfo.vue | 93 +++++++++++++---------------------------------
1 files changed, 26 insertions(+), 67 deletions(-)
diff --git a/src/views/dashboard/components/ProcessingInfo.vue b/src/views/dashboard/components/ProcessingInfo.vue
index 6aaf8d9..ff2172b 100644
--- a/src/views/dashboard/components/ProcessingInfo.vue
+++ b/src/views/dashboard/components/ProcessingInfo.vue
@@ -1,24 +1,17 @@
<template>
<div class="processing-info">
<div class="step">
- <el-steps
- v-if="task?.AllProcedures"
- :active="task.CurrentProcedureIndex ?? 0"
- finish-status="success"
- class="steps"
- >
- <el-step v-for="(item, index) in task.AllProcedures" :key="index" icon="" :title="item"></el-step>
- </el-steps>
+ <TaskStep :active="task?.CurrentProcedureIndex ?? 0" :steps="task?.AllProcedures ?? []"></TaskStep>
</div>
<div class="details">
<div class="row">
- <div class="col">宸ュ崟缂栧彿: {{ task?.Order?.workOrderId || '' }}</div>
- <div class="col">璁㈠崟缂栧彿: {{ task?.Order?.orderId || '' }}</div>
+ <div class="col">宸ュ崟缂栧彿: {{ task?.Order?.workOrderId ?? '--' }}</div>
+ <div class="col">璁㈠崟缂栧彿: {{ task?.Order?.orderId ?? '--' }}</div>
</div>
<div class="row">
<div class="col">浜у搧鍚嶇О: {{ task?.Order?.productName || '--' }}</div>
- <div class="col">鏁伴噺: {{ task?.Order?.amount || 0 }}{{ task?.Order?.unit }}</div>
+ <div class="col">鏁伴噺: {{ task?.Order?.amount ?? '--' }}{{ task?.Order?.unit }}</div>
</div>
<div class="row">
<div class="col">浜よ揣鏃ユ湡: {{ task?.Order?.deliverDate || '--' }}</div>
@@ -33,8 +26,8 @@
<div class="col">閫氶亾: {{ isNumber(task?.Channel) ? CHANNEL_NAME_MAP[task?.Channel] : '--' }}</div>
</div>
<div class="row">
- <div class="col">瀹㈡埛鍚嶇О: {{ task?.Order?.customer || '' }}</div>
- <div class="col">鍙傛暟瑕佹眰: {{ task?.Order?.parameter || '' }}</div>
+ <div class="col">瀹㈡埛鍚嶇О: {{ task?.Order?.customer || '--' }}</div>
+ <div class="col">鍙傛暟瑕佹眰: {{ task?.Order?.parameter || '--' }}</div>
</div>
</div>
<div class="process">
@@ -55,13 +48,12 @@
<script setup lang="ts">
// 鍔犲伐淇℃伅缁勪欢
import type { Task } from '@/api/task'
-import { computed, onUnmounted, toRefs, watch } from 'vue'
+import { computed, toRefs } from 'vue'
import { useDateFormat } from '@vueuse/core'
-import { useRequest } from 'vue-hooks-plus'
-import { getProductProgress } from '@/api'
-import type { ProductProgressParams } from '@/api'
import { isNumber } from 'lodash-es'
import { CHANNEL_NAME_MAP } from '@/common/constants'
+import { usePLCStore } from '@/stores/plc'
+import TaskStep from '@/views/dashboard/components/TaskStep.vue'
const props = defineProps<{
task?: Task
@@ -94,60 +86,24 @@
return result > 100 ? 100 : result
}
+const plcStore = usePLCStore()
+
/**
* 璁$畻瀹屾垚杩涘害, 浠诲姟鐘舵�佹湭鐢熶骇鍥哄畾涓� 0% 宸插畬鎴愬浐瀹氫负 100% 鐢熶骇涓垯浠巔lc鑾峰彇
*/
const processingPercent = computed(() => {
- if (task?.value?.Procedure?.Status === 1) {
- return 0
- }
+ // if (task?.value?.Procedure?.Status === 1) {
+ // return 0
+ // }
if (task?.value?.Procedure?.Status === 3) {
return 100
}
+ // if (task?.value?.Procedure?.Status === 2 || task?.value?.Procedure?.Status === 1) {
+ // return calculateProgress(plcStore.plcInfo as Statistics)
+ // }
- if (task?.value?.Procedure?.Status === 2) {
- return calculateProgress(plcResponse?.value?.data as Statistics)
- }
-
- return 0
-})
-
-/**
- * 濡傛灉浠诲姟鐘舵�佹槸杩涜涓�, 鍒欒疆璇� plc 鍙栬繘搴�
- */
-const {
- data: plcResponse,
- run: startPLCPolling,
- cancel: cancelPLCPolling
-} = useRequest(
- () =>
- getProductProgress({
- channel: task?.value?.Channel,
- procedureId: task?.value?.Procedure.ID
- } as ProductProgressParams),
- {
- manual: true,
- pollingInterval: 6000,
- pollingWhenHidden: false
- }
-)
-
-/**
- * 浠诲姟鐘舵�佹槸鐢熶骇涓垯杞plc鍙栫洰鏍囨暟鍜屽畬鎴愭暟璁$畻瀹屾垚杩涘害
- */
-watch(
- () => task?.value,
- () => {
- cancelPLCPolling()
- if (task?.value?.Procedure?.Status === 2) {
- startPLCPolling()
- }
- }
-)
-
-onUnmounted(() => {
- cancelPLCPolling()
+ return calculateProgress(plcStore.plcInfo as Statistics)
})
/**
@@ -158,7 +114,7 @@
if (!timestamp) {
return '--'
}
- const time = useDateFormat(timestamp * 1000, 'YYYY-MM-DD', { locales: 'zh-cn' })
+ const time = useDateFormat(timestamp * 1000, 'YYYY-MM-DD HH:mm:ss', { locales: 'zh-cn' })
return time.value
}
</script>
@@ -167,9 +123,8 @@
.step {
width: 100%;
- height: 66px;
+ height: 46px;
overflow-x: auto;
- margin-top: -5px;
padding: 0 20px;
.steps {
height: 100%;
@@ -187,7 +142,7 @@
}
}
.details {
- font-size: 18px;
+ font-size: 17px;
padding: 10px 20px;
color: $text-color;
.row {
@@ -202,7 +157,7 @@
}
}
.process {
- font-size: 18px;
+ font-size: 17px;
padding: 10px 20px;
color: $text-color;
display: flex;
@@ -213,8 +168,12 @@
}
:deep(.el-progress-bar__outer) {
border-radius: 8px;
+ background-color: #13235a;
}
:deep(.el-progress-bar__inner) {
border-radius: 8px;
}
+:deep(.el-step__icon .is-icon) {
+ background-color: transparent;
+}
</style>
--
Gitblit v1.8.0