From c5afc23437b37d717e892b16b23923907825d2cd Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 13 十月 2025 23:09:20 +0800
Subject: [PATCH] 钉钉推送完善,任务取消优化
---
代码管理/WCS/WIDESEAWCS_Client/src/views/deviceMonitoring/AuxiliaryWarehouse.vue | 138 +++++++++++++++++++++++++++++-----------------
1 files changed, 87 insertions(+), 51 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/deviceMonitoring/AuxiliaryWarehouse.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/deviceMonitoring/AuxiliaryWarehouse.vue"
index 52eb37e..dc53e33 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/deviceMonitoring/AuxiliaryWarehouse.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/deviceMonitoring/AuxiliaryWarehouse.vue"
@@ -1,24 +1,23 @@
<template>
<div id="title">
<div id="bkuang" style="border-top: none">
-
<div class="skuang">
<div class="zhuname">鍏ュ簱8005绔欏彴</div>
<div class="zhankuang">
<div class="xname">鏀捐揣瀹屾垚(鍐�):</div>
- <div class="xzhi" :title="data.W_PutFinish5">{{ data.W_PutFinish5 }}</div>
+ <div class="xzhi" :title="flData.W_PutFinish5">{{ flData.W_PutFinish5 || '-' }}</div>
</div>
<div class="zhankuang">
<div class="xname">鍏ュ簱鍒颁綅鎸囦护(璇�):</div>
- <div class="xzhi" :title="data.R_ConveyArrivaled5">{{ data.R_ConveyArrivaled5 }}</div>
+ <div class="xzhi" :title="flData.R_ConveyArrivaled5">{{ flData.R_ConveyArrivaled5 || '-' }}</div>
</div>
<div class="zhankuang">
<div class="xname">鍒颁綅鎵樼洏鍙�(璇�):</div>
- <div class="xzhi" :title="data.R_Barcode5">{{ data.R_Barcode5 }}</div>
+ <div class="xzhi" :title="flData.R_Barcode5">{{ flData.R_Barcode5 || '-' }}</div>
</div>
<div class="zhankuang">
<div class="xname">鍒颁綅浠诲姟鍙�(璇�):</div>
- <div class="xzhi" :title="data.R_TaskNum5">{{ data.R_TaskNum5 }}</div>
+ <div class="xzhi" :title="flData.R_TaskNum5">{{ flData.R_TaskNum5 || '-' }}</div>
</div>
</div>
@@ -26,20 +25,19 @@
<div class="zhuname">鍑哄簱8001绔欏彴</div>
<div class="zhankuang">
<div class="xname">鏀捐揣瀹屾垚(鍐�):</div>
- <div class="xzhi" :title="data.W_PutFinish1">{{ data.W_PutFinish1 }}</div>
+ <div class="xzhi" :title="flData.W_PutFinish1">{{ flData.W_PutFinish1 || '-' }}</div>
</div>
<div class="zhankuang">
<div class="xname">鏄惁鍏佽鏀捐揣(璇�):</div>
- <div class="xzhi" :title="data.R_IsCanPut">{{ data.R_IsCanPut }}</div>
+ <div class="xzhi" :title="flData.R_IsCanPut">{{ flData.R_IsCanPut || '-' }}</div>
</div>
</div>
</div>
-
</div>
</template>
<script>
-import { ref, nextTick } from "vue";
+import { ref, nextTick, watch, onUnmounted } from "vue";
import { useStore } from "vuex";
import { onMounted } from "vue";
@@ -49,69 +47,106 @@
xuan: 0
};
},
- methods: {
- },
setup() {
const store = useStore();
- const data = ref({});
+ // 浠呭瓨鍌‵L鐩稿叧鏁版嵁
+ const flData = ref({});
- // 1. 瀹氫箟鏅�氬瓧娈电殑鏄犲皠瑙勫垯
- const statusMap = {
-
+ // 寤惰繜鏇存柊閰嶇疆锛岃В鍐抽棯鐑侀棶棰�
+ const UPDATE_DELAY = 300; // 300ms寤惰繜锛屽钩琛″疄鏃舵�у拰鐣岄潰绋冲畾鎬�
+ let updateTimer = null; // 瀹氭椂鍣ㄥ疄渚�
+
+ // FL鏁版嵁鏄犲皠瑙勫垯閰嶇疆
+ const flStatusConfig = {
+ // FL boolean绫诲瀷瀛楁鏄犲皠
+ booleanFields: {
+ keys: [
+ "W_PutFinish5", "W_PutFinish1",
+ "R_IsCanPut", "R_ConveyArrivaled5"
+ ],
+ map: { true: "鏄�", false: "鍚�" }
+ }
};
- // 2. 瀹氫箟闇�瑕佸叡鐢ㄦ槧灏勮鍒欑殑瀛楁鍒楄〃鍜屽搴旂殑鏄犲皠瑙勫垯
- const booleanFields = [
- "W_PutFinish5", "W_PutFinish1",
- "R_IsCanPut", "R_ConveyArrivaled5",
- ];
- const booleanMap = {
- true: "鏄�",
- false: "鍚�"
- };
-
- // 澶勭悊鏁版嵁锛屽厛澶勭悊鏅�氭槧灏勶紝鍐嶆壒閲忓鐞嗗叡鐢ㄦ槧灏勭殑瀛楁
- const processData = (rawData) => {
+ // 澶勭悊FL鍘熷鏁版嵁
+ const processFLData = (rawData) => {
if (!rawData) return {};
const processed = { ...rawData };
- // 澶勭悊鏅�氬瓧娈垫槧灏�
- Object.keys(statusMap).forEach(key => {
+ // 澶勭悊boolean绫诲瀷瀛楁
+ flStatusConfig.booleanFields.keys.forEach(key => {
if (processed.hasOwnProperty(key)) {
- const map = statusMap[key];
- processed[key] = map[processed[key]] || processed[key];
- }
- });
-
- // 鎵归噺澶勭悊鍏辩敤鏄犲皠瑙勫垯鐨勫瓧娈�
- booleanFields.forEach(key => {
- if (processed.hasOwnProperty(key)) {
- processed[key] = booleanMap[processed[key]] || processed[key];
+ processed[key] = flStatusConfig.booleanFields.map[processed[key]] || processed[key];
}
});
return processed;
};
- onMounted(() => {
- nextTick(() => {
- setInterval(() => {
- const rawData = store.state.homedata;
- data.value = processData(rawData);
- const xian = document.getElementsByClassName("xzhi");
- for (let i = 0; i < xian.length; i++) {
- if (xian[i].innerHTML === "鏄�") {
- xian[i].style.color = "yellow";
- } else if (xian[i].innerHTML === "鍚�") {
- xian[i].style.color = "red";
+ // 寤惰繜鏇存柊FL鏁版嵁锛岄伩鍏嶉珮棰戝埛鏂板鑷寸殑闂儊
+ const delayedUpdateFLData = (newRawData) => {
+ if (updateTimer) clearTimeout(updateTimer);
+
+ updateTimer = setTimeout(() => {
+ // 妫�鏌ユ槸鍚﹀寘鍚獸L鐗瑰緛瀛楁
+ const hasFLFields = flStatusConfig.booleanFields.keys.some(key =>
+ newRawData && newRawData[key] !== undefined
+ );
+
+ if (hasFLFields) {
+ flData.value = processFLData(newRawData);
+
+ // 鏇存柊鏍峰紡
+ nextTick(() => {
+ const valueElements = document.getElementsByClassName("xzhi");
+ for (let i = 0; i < valueElements.length; i++) {
+ const text = valueElements[i].innerHTML;
+ if (text === "鏄�") {
+ valueElements[i].style.color = "yellow";
+ } else if (text === "鍚�") {
+ valueElements[i].style.color = "red";
+ }
}
+ });
+ }
+ }, UPDATE_DELAY);
+ };
+
+ onMounted(() => {
+ // 鍒濆鍔犺浇鏁版嵁
+ const initialData = store.state.homedata;
+ const hasFLFields = flStatusConfig.booleanFields.keys.some(key =>
+ initialData && initialData[key] !== undefined
+ );
+
+ if (hasFLFields) {
+ flData.value = processFLData(initialData);
+ }
+
+ // 鐩戝惉鏁版嵁鍙樺寲锛屽彧澶勭悊FL鏁版嵁
+ const unwatch = watch(
+ () => store.state.homedata,
+ (newData) => {
+ const hasFLFields = flStatusConfig.booleanFields.keys.some(key =>
+ newData && newData[key] !== undefined
+ );
+
+ if (hasFLFields) {
+ delayedUpdateFLData(newData);
}
- });
+ },
+ { deep: true }
+ );
+
+ // 缁勪欢鍗歌浇鏃舵竻鐞嗚祫婧�
+ onUnmounted(() => {
+ unwatch();
+ if (updateTimer) clearTimeout(updateTimer);
});
});
return {
- data,
+ flData
};
}
};
@@ -255,3 +290,4 @@
border-radius: 10px;
}
</style>
+
\ No newline at end of file
--
Gitblit v1.9.3