From 792236ef78c2cdd3a989fb40a7f2e2487c4e17b6 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 26 十一月 2025 17:06:11 +0800
Subject: [PATCH] 添加各个设备基础可配置参数

---
 mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue |   91 ++++++++++++++++++++++++++++-----------------
 1 files changed, 57 insertions(+), 34 deletions(-)

diff --git a/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue b/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue
index 6b1f9d8..a765d95 100644
--- a/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue
+++ b/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue
@@ -2,27 +2,27 @@
   <div class="workstation-transfer-config">
     <el-row :gutter="20">
       <el-col :span="12">
-        <el-form-item label="鎵爜闂撮殧(ms)">
+        <el-form-item label="鎵爜闂撮殧(绉�)">
           <el-input-number
-            v-model="config.scanIntervalMs"
-            :min="1000"
-            :max="60000"
-            :step="1000"
+            v-model="scanIntervalSeconds"
+            :min="1"
+            :max="60"
+            :step="1"
             style="width: 100%;"
           />
-          <span class="form-tip">瀹氭椂鏌ヨ鏈�杩戞壂鐮佺幓鐠冪殑鏃堕棿闂撮殧锛岄粯璁�10000ms锛�10绉掞級</span>
+          <span class="form-tip">瀹氭椂鏌ヨ鏈�杩戞壂鐮佺幓鐠冪殑鏃堕棿闂撮殧锛岄粯璁�10绉�</span>
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="缂撳啿鍒ゅ畾鏃堕棿(ms)">
+        <el-form-item label="缂撳啿鍒ゅ畾鏃堕棿(绉�)">
           <el-input-number
-            v-model="config.transferDelayMs"
-            :min="5000"
-            :max="120000"
-            :step="1000"
+            v-model="transferDelaySeconds"
+            :min="5"
+            :max="120"
+            :step="1"
             style="width: 100%;"
           />
-          <span class="form-tip">30绉掑唴鏃犳柊鐜荤拑鎵爜鍒欏垽瀹氫负鏈�鍚庝竴鐗囷紝榛樿30000ms锛�30绉掞級</span>
+          <span class="form-tip">30绉掑唴鏃犳柊鐜荤拑鎵爜鍒欏垽瀹氫负鏈�鍚庝竴鐗囷紝榛樿30绉�</span>
         </el-form-item>
       </el-col>
     </el-row>
@@ -41,15 +41,15 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="鐩戞帶闂撮殧(ms)">
+        <el-form-item label="鐩戞帶闂撮殧(绉�)">
           <el-input-number
-            v-model="config.monitorIntervalMs"
-            :min="1000"
-            :max="60000"
-            :step="1000"
+            v-model="monitorIntervalSeconds"
+            :min="1"
+            :max="60"
+            :step="1"
             style="width: 100%;"
           />
-          <span class="form-tip">鎵规澶勭悊鐩戞帶闂撮殧锛岄粯璁や娇鐢╯canIntervalMs</span>
+          <span class="form-tip">鎵规澶勭悊鐩戞帶闂撮殧锛岄粯璁や娇鐢ㄦ壂鐮侀棿闅�</span>
         </el-form-item>
       </el-col>
     </el-row>
@@ -80,15 +80,6 @@
         </el-form-item>
       </el-col>
     </el-row>
-
-    <el-row :gutter="20">
-      <el-col :span="12">
-        <el-form-item label="鑷姩纭">
-          <el-switch v-model="config.autoAck" />
-          <span class="form-tip">鏄惁鑷姩纭MES鍙戦�佺殑鐜荤拑淇℃伅</span>
-        </el-form-item>
-      </el-col>
-    </el-row>
   </div>
 </template>
 
@@ -111,9 +102,13 @@
   vehicleCapacity: 6000,
   monitorIntervalMs: 10000,
   workLine: null,
-  inPosition: null,
-  autoAck: true
+  inPosition: null
 })
+
+// 鏃堕棿瀛楁锛堢锛�- 鐢ㄤ簬鍓嶇鏄剧ず鍜岃緭鍏�
+const scanIntervalSeconds = ref(10)
+const transferDelaySeconds = ref(30)
+const monitorIntervalSeconds = ref(10)
 
 // 鐩戝惉props鍙樺寲
 watch(() => props.modelValue, (newVal) => {
@@ -124,15 +119,43 @@
       vehicleCapacity: newVal.vehicleCapacity ?? 6000,
       monitorIntervalMs: newVal.monitorIntervalMs ?? newVal.scanIntervalMs ?? 10000,
       workLine: newVal.workLine ?? null,
-      inPosition: newVal.inPosition ?? null,
-      autoAck: newVal.autoAck ?? true
+      inPosition: newVal.inPosition ?? null
     }
+    // 灏嗘绉掕浆鎹负绉掔敤浜庢樉绀�
+    scanIntervalSeconds.value = (config.value.scanIntervalMs ?? 10000) / 1000
+    transferDelaySeconds.value = (config.value.transferDelayMs ?? 30000) / 1000
+    monitorIntervalSeconds.value = (config.value.monitorIntervalMs ?? 10000) / 1000
   }
 }, { immediate: true, deep: true })
 
-// 鐩戝惉config鍙樺寲锛屽悓姝ュ埌鐖剁粍浠�
-watch(config, (newVal) => {
-  emit('update:modelValue', { ...newVal })
+// 鐩戝惉绉掑瓧娈靛彉鍖栵紝杞崲涓烘绉掑苟鏇存柊config
+watch(scanIntervalSeconds, (val) => {
+  config.value.scanIntervalMs = Math.round(val * 1000)
+  // 濡傛灉monitorIntervalMs鏈缃紝鍒欎娇鐢╯canIntervalMs
+  if (!props.modelValue?.monitorIntervalMs) {
+    config.value.monitorIntervalMs = config.value.scanIntervalMs
+    monitorIntervalSeconds.value = val
+  }
+  emit('update:modelValue', { ...config.value })
+})
+
+watch(transferDelaySeconds, (val) => {
+  config.value.transferDelayMs = Math.round(val * 1000)
+  emit('update:modelValue', { ...config.value })
+})
+
+watch(monitorIntervalSeconds, (val) => {
+  config.value.monitorIntervalMs = Math.round(val * 1000)
+  emit('update:modelValue', { ...config.value })
+})
+
+// 鐩戝惉config鍏朵粬瀛楁鍙樺寲锛屽悓姝ュ埌鐖剁粍浠�
+watch(() => [
+  config.value.vehicleCapacity,
+  config.value.workLine,
+  config.value.inPosition
+], () => {
+  emit('update:modelValue', { ...config.value })
 }, { deep: true })
 </script>
 

--
Gitblit v1.8.0