소스 검색

fix:左右脚程序

DESKTOP-1OI7FFK\WZTX 8 달 전
부모
커밋
a2603d12ae
1개의 변경된 파일46개의 추가작업 그리고 9개의 파일을 삭제
  1. 46 9
      frontend/src/views/Setting/index.vue

+ 46 - 9
frontend/src/views/Setting/index.vue

@@ -250,20 +250,24 @@
             </el-radio-group>
           </el-form-item>
           <el-form-item label="相机高度(mm)">
-            <el-input v-model="editRowData.camera_height" @change="changeNum('camera_high_motor')" :min="0" :max="400" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.camera_height" @change="changeNum('camera_high_motor',0, 400)" :min="0" :max="400" :step="1"  style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小0,最大400</div>
           </el-form-item>
           <el-form-item label="相机倾角">
-            <el-input v-model="editRowData.camera_angle" :min="-40" :max="40" :step=".1" @change="changeNum('camera_steering')" style="width: 170px;" type="number">
+            <el-input v-model="editRowData.camera_angle" :min="-40" :max="40" :step=".1" @change="changeNum('camera_steering',-40, 40)" style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小-40,最大40</div>
           </el-form-item>
           <el-form-item label="转盘前后位置">
-            <el-input v-model="editRowData.turntable_position" @change="changeNum('turntable_position_motor')" :min="0" :max="800" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.turntable_position" @change="changeNum('turntable_position_motor',0, 800)" :min="0" :max="800" :step="1"  style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小0,最大800</div>
           </el-form-item>
           <el-form-item label="转盘角度">
-            <el-input v-model="editRowData.turntable_angle" @change="changeNum('turntable_steering')" :min="-720" :max="720" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.turntable_angle" @change="changeNum('turntable_steering',-720, 720)" :min="-720" :max="720" :step="1"  style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小-720,最大720</div>
           </el-form-item>
           <el-form-item label="鞋子翻转">
             <div class="flex-row">
@@ -281,16 +285,19 @@
             </el-radio-group>
           </el-form-item>
           <el-form-item label="对焦次数">
-            <el-input v-model="editRowData.number_focus" @change="changeNum('take_picture')" :min="0" :max="1" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.number_focus" @change="changeNum('take_picture',0, 1)" :min="0" :max="1" :step="1"  style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小0,最大1</div>
           </el-form-item>
           <el-form-item label="拍照前延时(秒)">
-            <el-input v-model="editRowData.pre_delay" :min="0" :max="99" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.pre_delay" :min="0" :max="99" :step="1" @change="changeNum('pre_delay',0, 99)" style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小0,最大99</div>
           </el-form-item>
           <el-form-item label="拍照后延时(秒)">
-            <el-input v-model="editRowData.after_delay" :min="0" :max="99" :step="1"  style="width: 170px;" type="number">
+            <el-input v-model="editRowData.after_delay" :min="0" :max="99" :step="1" @change="changeNum('after_delay',0, 99)" style="width: 170px;" type="number">
             </el-input>
+            <div class="error-msg">最小0,最大99</div>
           </el-form-item>
           <!-- <el-form-item label="是否等待">
             <el-radio-group v-model="editRowData.wait_user">
@@ -766,8 +773,7 @@ const resetConfig = () => {
  * 修改设备配置数值。
  * @param {string} type - 配置类型
  */
-async function changeNum(type) {
-  if (isDefault.value) {
+async function changeNum(type, min, max) {
     let socketValue = {
       'camera_high_motor': 'camera_height',
       'turntable_steering': 'turntable_angle',
@@ -777,6 +783,21 @@ async function changeNum(type) {
       'laser_position': 'led_switch',
       'take_picture': 'number_focus',
     };
+    if(min || max){
+      if(editRowData.value[socketValue[type]] < min || editRowData.value[socketValue[type]] > max){
+        if(editRowData.value[socketValue[type]] < min){
+          editRowData.value[socketValue[type]] = min;
+        }else{
+          editRowData.value[socketValue[type]] = max;
+        }
+        ElMessage.error(`${type}值应在${min}到${max}之间`);
+        return;
+      }
+    }
+    if(type=='pre_delay' || type=='after_delay'){
+      return
+    }
+  if (isDefault.value) {
     socketStore.sendMessage({
       type: 'control_mcu',
       data: {
@@ -1067,6 +1088,7 @@ body {
       }
       .el-form-item__content {
         width: 190px;
+        position: relative;
         height: 41px;
         background: #FFFFFF;
         padding-left: 7px;
@@ -1074,6 +1096,21 @@ body {
         .el-input__wrapper {
           box-shadow: none;
         }
+        .error-msg{
+          display: none;
+          position: absolute;
+          top: 41px;
+          top: 28px;
+          left: 8px;
+          z-index: 22;
+          color: #dc2626;
+          font-size: 12px;
+        }
+        &:hover{
+          .error-msg{
+            display: block;
+          }
+        }
 
         // 确保number类型输入框的上下箭头始终显示
         input[type="number"]::-webkit-inner-spin-button,