From 8f3a85044b6e4b56a8dd0b104ca023933f1f129c Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 03 十二月 2025 16:58:36 +0800
Subject: [PATCH] 统一卧转立扫码、卧转立、大车、大理片笼的定时器逻辑和步骤状态;添加设备拓扑图清除数据、联机状态切换按钮,
---
mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue | 105 ++++++++++++++++++++++++++++++----------------------
1 files changed, 60 insertions(+), 45 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..8c7756a 100644
--- a/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue
+++ b/mes-web/src/views/device/components/DeviceLogicConfig/WorkstationTransferConfig.vue
@@ -2,27 +2,15 @@
<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="transferDelaySeconds"
+ :min="5"
+ :max="120"
+ :step="1"
style="width: 100%;"
/>
- <span class="form-tip">瀹氭椂鏌ヨ鏈�杩戞壂鐮佺幓鐠冪殑鏃堕棿闂撮殧锛岄粯璁�10000ms锛�10绉掞級</span>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="缂撳啿鍒ゅ畾鏃堕棿(ms)">
- <el-input-number
- v-model="config.transferDelayMs"
- :min="5000"
- :max="120000"
- :step="1000"
- 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 +29,30 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鐩戞帶闂撮殧(ms)">
+ <el-form-item label="鐜荤拑闂撮殭(mm)">
<el-input-number
- v-model="config.monitorIntervalMs"
- :min="1000"
- :max="60000"
- :step="1000"
+ v-model="config.glassGap"
+ :min="0"
+ :max="1000"
+ :step="10"
style="width: 100%;"
/>
- <span class="form-tip">鎵规澶勭悊鐩戞帶闂撮殧锛岄粯璁や娇鐢╯canIntervalMs</span>
+ <span class="form-tip">澶氬潡鐜荤拑涔嬮棿鐨勭墿鐞嗛棿闅旂┖闅欙紝榛樿200mm</span>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="鐩戞帶闂撮殧(绉�)">
+ <el-input-number
+ v-model="monitorIntervalSeconds"
+ :min="1"
+ :max="60"
+ :step="1"
+ style="width: 100%;"
+ />
+ <span class="form-tip">鎵规澶勭悊鐩戞帶闂撮殧锛岄粯璁や娇鐢ㄦ壂鐮侀棿闅�</span>
</el-form-item>
</el-col>
</el-row>
@@ -68,7 +71,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="浣嶇疆鍊�(鏍�)">
+ <el-form-item label="鍗ц浆绔嬬紪鍙�">
<el-input-number
v-model="config.inPosition"
:min="0"
@@ -76,16 +79,7 @@
:step="1"
style="width: 100%;"
/>
- <span class="form-tip">鍐欏叆PLC鐨刬nPosition鍊硷紙鏍煎瓙锛�</span>
- </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>
+ <span class="form-tip">鍐欏叆PLC鐨刬nPosition瀛楁锛岃〃绀哄崸杞珛缂栧彿</span>
</el-form-item>
</el-col>
</el-row>
@@ -106,33 +100,54 @@
// 閰嶇疆鏁版嵁
const config = ref({
- scanIntervalMs: 10000,
transferDelayMs: 30000,
vehicleCapacity: 6000,
+ glassGap: 200,
monitorIntervalMs: 10000,
workLine: null,
- inPosition: null,
- autoAck: true
+ inPosition: null
})
+
+// 鏃堕棿瀛楁锛堢锛�- 鐢ㄤ簬鍓嶇鏄剧ず鍜岃緭鍏�
+const transferDelaySeconds = ref(30)
+const monitorIntervalSeconds = ref(10)
// 鐩戝惉props鍙樺寲
watch(() => props.modelValue, (newVal) => {
if (newVal && Object.keys(newVal).length > 0) {
config.value = {
- scanIntervalMs: newVal.scanIntervalMs ?? 10000,
transferDelayMs: newVal.transferDelayMs ?? 30000,
vehicleCapacity: newVal.vehicleCapacity ?? 6000,
- monitorIntervalMs: newVal.monitorIntervalMs ?? newVal.scanIntervalMs ?? 10000,
+ glassGap: newVal.glassGap ?? 200,
+ monitorIntervalMs: newVal.monitorIntervalMs ?? 10000,
workLine: newVal.workLine ?? null,
- inPosition: newVal.inPosition ?? null,
- autoAck: newVal.autoAck ?? true
+ inPosition: newVal.inPosition ?? null
}
+ // 灏嗘绉掕浆鎹负绉掔敤浜庢樉绀�
+ 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(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.glassGap,
+ config.value.workLine,
+ config.value.inPosition
+], () => {
+ emit('update:modelValue', { ...config.value })
}, { deep: true })
</script>
--
Gitblit v1.8.0