|
|
@@ -1,4 +1,15 @@
|
|
|
<template>
|
|
|
+ <headerBar
|
|
|
+ title="设置"
|
|
|
+ :menu="[
|
|
|
+ {
|
|
|
+ type:'setting'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type:'remoteControl'
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
<div class="container">
|
|
|
<nav class="settings-nav">
|
|
|
<div class="nav-item" :class="{'active': activeIndex === 0}" @click="activeIndex = 0">
|
|
|
@@ -194,20 +205,20 @@
|
|
|
<div class="form-table">
|
|
|
<div class="btnBox">
|
|
|
<div class="primary-btn" @click="addRow">新增一行</div>
|
|
|
- <div class="normal-btn">重新初始化</div>
|
|
|
+ <div class="normal-btn" @click="resetConfig">重新初始化</div>
|
|
|
</div>
|
|
|
<el-table height="200px" :data="activeTab === 'left' ? lefttableData : righttableData" style="width: 100%" border>
|
|
|
- <el-table-column prop="id" label="ID" />
|
|
|
- <el-table-column prop="name" label="步骤" />
|
|
|
- <el-table-column prop="value" label="是否拍照" width="200px">
|
|
|
+ <el-table-column prop="id" label="id" />
|
|
|
+ <el-table-column prop="action_name" label="步骤" />
|
|
|
+ <el-table-column prop="take_picture" label="是否拍照" width="200px">
|
|
|
<template #default="scope">
|
|
|
- <el-radio-group v-model="scope.row.value">
|
|
|
- <el-radio :label="1">拍照</el-radio>
|
|
|
- <el-radio :label="0">不拍照</el-radio>
|
|
|
+ <el-radio-group v-model="scope.row.take_picture">
|
|
|
+ <el-radio :label="true">拍照</el-radio>
|
|
|
+ <el-radio :label="false">不拍照</el-radio>
|
|
|
</el-radio-group>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="value" label="排序" >
|
|
|
+ <el-table-column prop="action_index" label="排序" >
|
|
|
<template #default="{row, $index}">
|
|
|
<a v-if="$index !== 0" class="cursor-pointer" @click="upRow(row)">上移</a>
|
|
|
<a class="mar-left-10 cursor-pointer" v-if="$index !== activeTab === 'left' ? lefttableData.length - 1 : righttableData.length - 1" @click="downRow(row)">下移</a>
|
|
|
@@ -224,83 +235,83 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="text-center mt-8">
|
|
|
- <button class="bg-gradient-to-r from-primary" @click="saveSetting">
|
|
|
+ <button class="bg-gradient-to-r from-primary" @click="saveSetting" v-if="activeIndex !== 4">
|
|
|
保存
|
|
|
</button>
|
|
|
</div>
|
|
|
- <el-dialog custom-class="editDialog" v-model="dialogVisible" :title="editTitle" width="620px">
|
|
|
- <div class="config-type">配置类型:执行{{ activeTab === 'left' ? '左脚' : '右脚' }}程序 <el-checkbox v-model="editRowData.isDefault">开启运动调试</el-checkbox></div>
|
|
|
+ <el-dialog custom-class="editDialog" v-model="dialogVisible" :title="editTitle" width="660px">
|
|
|
+ <div class="config-type">配置类型:执行{{ activeTab === 'left' ? '左脚' : '右脚' }}程序 <el-checkbox v-model="isDefault">开启运动调试</el-checkbox></div>
|
|
|
<el-form class="editForm" :model="editRowData" label-width="100px">
|
|
|
<el-form-item label="动作名称">
|
|
|
- <el-input v-model="editRowData.name" style="width: 170px;"/>
|
|
|
+ <el-input v-model="editRowData.action_name" style="width: 170px;"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否拍照">
|
|
|
- <el-radio-group v-model="editRowData.value">
|
|
|
- <el-radio :label="1">拍照</el-radio>
|
|
|
- <el-radio :label="0">不拍照</el-radio>
|
|
|
+ <el-radio-group v-model="editRowData.take_picture">
|
|
|
+ <el-radio :label="true">拍照</el-radio>
|
|
|
+ <el-radio :label="false">不拍照</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="相机高度(mm)">
|
|
|
- <el-input v-model="editRowData.cameraHeight" style="width: 170px;" type="number">
|
|
|
+ <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>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="相机倾角">
|
|
|
- <el-input v-model="editRowData.cameraAngle" style="width: 170px;" type="number">
|
|
|
+ <el-input v-model="editRowData.camera_angle" :min="-40" :max="40" :step=".1" @change="changeNum('camera_steering')" style="width: 170px;" type="number">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="转盘前后位置">
|
|
|
- <el-input v-model="editRowData.position" style="width: 170px;" type="number">
|
|
|
+ <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>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="转盘角度">
|
|
|
- <el-input v-model="editRowData.angle" style="width: 170px;" type="number">
|
|
|
+ <el-input v-model="editRowData.turntable_angle" @change="changeNum('turntable_steering')" :min="-720" :max="720" :step="1" style="width: 170px;" type="number">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="鞋子翻转">
|
|
|
<div class="flex-row">
|
|
|
- <el-radio-group v-model="editRowData.shoesFlip">
|
|
|
- <el-radio :label="1">翻转</el-radio>
|
|
|
- <el-radio :label="0">不翻转</el-radio>
|
|
|
+ <el-radio-group v-model="editRowData.shoe_upturn">
|
|
|
+ <el-radio :label="true">翻转</el-radio>
|
|
|
+ <el-radio :label="false">不翻转</el-radio>
|
|
|
</el-radio-group>
|
|
|
- <a class="cursor-pointer" @click="testShoesFlip">测试翻转</a>
|
|
|
+ <a class="cursor-pointer" @click="changeNum('shoe_upturn')">测试翻转</a>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="LED灯光开光">
|
|
|
- <el-radio-group v-model="editRowData.ledLight">
|
|
|
- <el-radio :label="0">关闭</el-radio>
|
|
|
- <el-radio :label="1">开启</el-radio>
|
|
|
+ <el-form-item label="LED灯光开光" @change="changeNum('laser_position')">
|
|
|
+ <el-radio-group v-model="editRowData.led_switch">
|
|
|
+ <el-radio :label="false">关闭</el-radio>
|
|
|
+ <el-radio :label="true">开启</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="对焦次数">
|
|
|
- <el-input v-model="editRowData.focusTimes" style="width: 170px;" type="number">
|
|
|
+ <el-input v-model="editRowData.number_focus" @change="changeNum('take_picture')" :min="0" :max="1" :step="1" style="width: 170px;" type="number">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="拍照前延时(秒)">
|
|
|
- <el-input v-model="editRowData.photoDelay" style="width: 170px;" type="number">
|
|
|
+ <el-input v-model="editRowData.pre_delay" :min="0" :max="99" :step="1" style="width: 170px;" type="number">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="拍照后延时(秒)">
|
|
|
- <el-input v-model="editRowData.photoAfterDelay" style="width: 170px;" type="number">
|
|
|
+ <el-input v-model="editRowData.after_delay" :min="0" :max="99" :step="1" style="width: 170px;" type="number">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否等待">
|
|
|
- <el-radio-group v-model="editRowData.wait">
|
|
|
- <el-radio :label="0">否</el-radio>
|
|
|
- <el-radio :label="1">是</el-radio>
|
|
|
+ <!-- <el-form-item label="是否等待">
|
|
|
+ <el-radio-group v-model="editRowData.wait_user">
|
|
|
+ <el-radio :label="false">否</el-radio>
|
|
|
+ <el-radio :label="true">是</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="待用户确认照片">
|
|
|
- <el-radio-group v-model="editRowData.confirmPhoto">
|
|
|
- <el-radio :label="0">否</el-radio>
|
|
|
- <el-radio :label="1">是</el-radio>
|
|
|
+ <el-radio-group v-model="editRowData.confirm_photo">
|
|
|
+ <el-radio :label="false">否</el-radio>
|
|
|
+ <el-radio :label="true">是</el-radio>
|
|
|
</el-radio-group>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="btn-row">
|
|
|
- <div class="normal-btn" @click="dialogVisible = false">后退</div>
|
|
|
- <div class="primary-btn" @click="testShoesFlip">拍照测试</div>
|
|
|
- <div class="primary-btn" @click="saveRow">保存并后退</div>
|
|
|
+ <div class="normal-btn" @click="dialogVisible = false">关闭</div>
|
|
|
+ <!-- <div class="primary-btn" @click="testShoesFlip">拍照测试</div> -->
|
|
|
+ <div class="primary-btn" @click="saveRow">保存并关闭</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
@@ -312,15 +323,20 @@
|
|
|
import { ref, reactive } from 'vue';
|
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
|
import { onMounted, watch } from 'vue';
|
|
|
+import socket from "@/stores/modules/socket";
|
|
|
+import headerBar from '@/components/header-bar/index.vue'
|
|
|
|
|
|
import client from "@/stores/modules/client";
|
|
|
import icpList from '@/utils/ipc'
|
|
|
const clientStore = client();
|
|
|
+import { ElMessage ,ElMessageBox } from 'element-plus'
|
|
|
|
|
|
const route = useRoute();
|
|
|
const router = useRouter();
|
|
|
const folderPath = ref('');
|
|
|
const activeIndex = ref(0);
|
|
|
+
|
|
|
+const socketStore = socket()
|
|
|
const formData = reactive({
|
|
|
captureOneFolder: '',
|
|
|
mainImageSize: '',
|
|
|
@@ -418,22 +434,16 @@ const downList = ref([
|
|
|
{ label: '左右移', value: '3' },
|
|
|
]);
|
|
|
const lefttableData = ref([
|
|
|
- { id: 1, name: '步骤1', value: 1, order: 1, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 2, name: '步骤2', value: 1, order: 2, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 3, name: '步骤3', value: 1, order: 3, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 4, name: '步骤4', value: 1, order: 4, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
+
|
|
|
]);
|
|
|
const righttableData = ref([
|
|
|
- { id: 1, name: '步骤1', value: 1, order: 1, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 2, name: '步骤2', value: 1, order: 2, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 3, name: '步骤3', value: 1, order: 3, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
- { id: 4, name: '步骤4', value: 1, order: 4, operation: 1, confirmPhoto: 0, wait: 0, photoDelay: 0, photoAfterDelay: 0, focusTimes: 0, ledLight: 0, shoesFlip: 0, position: 0, angle: 0, cameraHeight: 0, cameraAngle: 0, isDefault: false },
|
|
|
]);
|
|
|
const dialogVisible = ref(false);
|
|
|
const editTitle = ref('');
|
|
|
const editRowData = ref({});
|
|
|
const activeTab = ref('left');
|
|
|
const editIndex = ref(0);
|
|
|
+const isDefault = ref(false);
|
|
|
// Watch for changes in the route query parameter 'type'
|
|
|
watch(() => route.query.type, (newType) => {
|
|
|
if (newType) {
|
|
|
@@ -443,17 +453,39 @@ watch(() => route.query.type, (newType) => {
|
|
|
activeIndex.value = typeValue;
|
|
|
}
|
|
|
if(newType === '4'){
|
|
|
- console.log(1)
|
|
|
+ activeTab.value = 'left';
|
|
|
clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
- clientStore.ipc.send(icpList.setting.getDeviceConfigList);
|
|
|
+ clientStore.ipc.send(icpList.setting.getDeviceConfigList, {
|
|
|
+ mode_type:'执行左脚程序'
|
|
|
+ });
|
|
|
clientStore.ipc.on(icpList.setting.getDeviceConfigList, (event, result) => {
|
|
|
- console.log(result);
|
|
|
+ lefttableData.value = result.data.list;
|
|
|
clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}, { immediate: true });
|
|
|
-
|
|
|
+watch(() => activeTab.value, (newTab) => {
|
|
|
+ if(newTab === 'left'){
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ clientStore.ipc.send(icpList.setting.getDeviceConfigList, {
|
|
|
+ mode_type:'执行左脚程序'
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.getDeviceConfigList, (event, result) => {
|
|
|
+ lefttableData.value = result.data.list;
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ clientStore.ipc.send(icpList.setting.getDeviceConfigList, {
|
|
|
+ mode_type:'执行右脚程序'
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.getDeviceConfigList, (event, result) => {
|
|
|
+ righttableData.value = result.data.list;
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ });
|
|
|
+ }
|
|
|
+});
|
|
|
// Update the URL when activeIndex changes
|
|
|
watch(() => activeIndex.value, (newIndex) => {
|
|
|
router.push({
|
|
|
@@ -487,66 +519,158 @@ const saveSetting = () => {
|
|
|
}
|
|
|
const addRow = () => {
|
|
|
if (activeTab.value === 'left') {
|
|
|
- lefttableData.value.push({ id: lefttableData.value.length + 1, name: '步骤' + (lefttableData.value.length + 1), value: 1, order: lefttableData.value.length + 1, operation: 1 });
|
|
|
- } else {
|
|
|
- righttableData.value.push({ id: righttableData.value.length + 1, name: '步骤' + (righttableData.value.length + 1), value: 1, order: righttableData.value.length + 1, operation: 1 });
|
|
|
- }
|
|
|
-}
|
|
|
-const upRow = (row) => {
|
|
|
- if (activeTab.value === 'left') {
|
|
|
- const index = lefttableData.value.indexOf(row);
|
|
|
- if (index > 0) {
|
|
|
- const temp = lefttableData.value[index - 1];
|
|
|
- lefttableData.value[index - 1] = row;
|
|
|
- lefttableData.value[index] = temp;
|
|
|
+ editRowData.value = {
|
|
|
+ mode_type:'执行左脚程序',
|
|
|
+ action_name:'',
|
|
|
+ take_picture:false,
|
|
|
+ camera_height:0,
|
|
|
+ camera_angle:0,
|
|
|
+ turntable_position:0,
|
|
|
+ turntable_angle:0,
|
|
|
+ shoe_upturn:false,
|
|
|
+ led_switch:false,
|
|
|
+ number_focus:0,
|
|
|
+ pre_delay:0,
|
|
|
+ after_delay:0,
|
|
|
}
|
|
|
+ dialogVisible.value = true;
|
|
|
+ editTitle.value = '新增步骤';
|
|
|
} else {
|
|
|
- const index = righttableData.value.indexOf(row);
|
|
|
- if (index > 0) {
|
|
|
- const temp = righttableData.value[index - 1];
|
|
|
- righttableData.value[index - 1] = row;
|
|
|
- righttableData.value[index] = temp;
|
|
|
+ editRowData.value = {
|
|
|
+ mode_type:'执行右脚程序',
|
|
|
+ action_name:'',
|
|
|
+ take_picture:false,
|
|
|
+ camera_height:0,
|
|
|
+ camera_angle:0,
|
|
|
+ turntable_position:0,
|
|
|
+ turntable_angle:0,
|
|
|
+ shoe_upturn:false,
|
|
|
+ led_switch:false,
|
|
|
+ number_focus:0,
|
|
|
+ pre_delay:0,
|
|
|
+ after_delay:0,
|
|
|
}
|
|
|
+ dialogVisible.value = true;
|
|
|
+ editTitle.value = '新增步骤';
|
|
|
}
|
|
|
}
|
|
|
-const downRow = (row) => {
|
|
|
- if (activeTab.value === 'left') {
|
|
|
- const index = lefttableData.value.indexOf(row);
|
|
|
- if (index < lefttableData.value.length - 1) {
|
|
|
- const temp = lefttableData.value[index + 1];
|
|
|
- lefttableData.value[index + 1] = row;
|
|
|
- lefttableData.value[index] = temp;
|
|
|
- }
|
|
|
- } else {
|
|
|
- const index = righttableData.value.indexOf(row);
|
|
|
- if (index < righttableData.value.length - 1) {
|
|
|
- const temp = righttableData.value[index + 1];
|
|
|
- righttableData.value[index + 1] = row;
|
|
|
- righttableData.value[index] = temp;
|
|
|
+const getList = () => {
|
|
|
+ console.log(1)
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ clientStore.ipc.send(icpList.setting.getDeviceConfigList, {
|
|
|
+ mode_type: activeTab.value === 'left' ? '执行左脚程序' : '执行右脚程序'
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.getDeviceConfigList, (event, result) => {
|
|
|
+ if(result.code==0){
|
|
|
+ if(activeTab.value === 'left'){
|
|
|
+ lefttableData.value = result.data.list;
|
|
|
+ }else{
|
|
|
+ righttableData.value = result.data.list;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ ElMessage.error('获取列表失败');
|
|
|
}
|
|
|
- }
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigList);
|
|
|
+ });
|
|
|
+}
|
|
|
+const upRow = (row) => {
|
|
|
+
|
|
|
+}
|
|
|
+const downRow = (row) => {
|
|
|
+
|
|
|
}
|
|
|
const editRow = (row, index) => {
|
|
|
dialogVisible.value = true;
|
|
|
- editTitle.value = row.name+'编辑';
|
|
|
- editRowData.value = row;
|
|
|
+ editTitle.value = row.action_name+'编辑';
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigDetail);
|
|
|
+ clientStore.ipc.send(icpList.setting.getDeviceConfigDetail, {
|
|
|
+ id: row.id
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.getDeviceConfigDetail, (event, result) => {
|
|
|
+ editRowData.value = result.data;
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.getDeviceConfigDetail);
|
|
|
+ });
|
|
|
editIndex.value = index;
|
|
|
}
|
|
|
const deleteRow = (row, index) => {
|
|
|
- if (activeTab.value === 'left') {
|
|
|
- lefttableData.value = lefttableData.value.filter(item => item.id !== row.id);
|
|
|
- } else {
|
|
|
- righttableData.value = righttableData.value.filter(item => item.id !== row.id);
|
|
|
- }
|
|
|
+ ElMessageBox.confirm('确定删除该步骤吗?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ clientStore.ipc.send(icpList.setting.removeDeviceConfig, {
|
|
|
+ id: row.id
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.removeDeviceConfig, (event, result) => {
|
|
|
+ console.log(result);
|
|
|
+ if(result.code==0){
|
|
|
+ getList();
|
|
|
+ ElMessage.success('删除成功');
|
|
|
+ }else{
|
|
|
+ ElMessage.error('删除失败');
|
|
|
+ }
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.removeDeviceConfig);
|
|
|
+ });
|
|
|
+ })
|
|
|
}
|
|
|
const saveRow = () => {
|
|
|
- if (activeTab.value === 'left') {
|
|
|
- lefttableData.value[editIndex.value] = editRowData.value;
|
|
|
- } else {
|
|
|
- righttableData.value[editIndex.value] = editRowData.value;
|
|
|
+ clientStore.ipc.send(icpList.setting.saveDeviceConfig, {
|
|
|
+ ...editRowData.value
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.saveDeviceConfig, (event, result) => {
|
|
|
+ if(result.code==0){
|
|
|
+ getList();
|
|
|
+ ElMessage.success('保存成功');
|
|
|
+ dialogVisible.value = false;
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.saveDeviceConfig);
|
|
|
+ }else{
|
|
|
+ ElMessage.error('保存失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+const resetConfig = () => {
|
|
|
+ ElMessageBox.confirm(`确定初始化执行${activeTab.value === 'left' ? '左脚' : '右脚'}程序吗?`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ clientStore.ipc.send(icpList.setting.resetDeviceConfig,{
|
|
|
+ mode_type: activeTab.value === 'left' ? '执行左脚程序' : '执行右脚程序'
|
|
|
+ });
|
|
|
+ clientStore.ipc.on(icpList.setting.resetDeviceConfig, (event, result) => {
|
|
|
+ if(result.code==0){
|
|
|
+ getList();
|
|
|
+ ElMessage.success('重置成功');
|
|
|
+ }else{
|
|
|
+ ElMessage.error('重置失败');
|
|
|
+ }
|
|
|
+ clientStore.ipc.removeAllListeners(icpList.setting.resetDeviceConfig);
|
|
|
+ });
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+async function changeNum(type){
|
|
|
+ if(isDefault.value){
|
|
|
+ let socketValue = {
|
|
|
+ 'camera_high_motor':'camera_height',
|
|
|
+ 'turntable_steering':'turntable_angle',
|
|
|
+ 'turntable_position_motor':'turntable_position',
|
|
|
+ 'camera_steering':'camera_angle',
|
|
|
+ 'shoe_upturn':'shoe_upturn',
|
|
|
+ 'laser_position':'led_switch',
|
|
|
+ 'take_picture':'number_focus',
|
|
|
+ }
|
|
|
+ await socketStore.connectSocket();
|
|
|
+ socketStore.sendMessage({
|
|
|
+ type: 'control_mcu',
|
|
|
+ data:{
|
|
|
+ device_name: type,
|
|
|
+ value:type=='laser_position'?(editRowData.led_switch?1:0): editRowData.value[socketValue[type]]
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
- dialogVisible.value = false;
|
|
|
}
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@@ -698,6 +822,7 @@ body {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
padding: 30px 0;
|
|
|
+ height: 100px;
|
|
|
}
|
|
|
.form-table{
|
|
|
margin-top: 10px;
|
|
|
@@ -815,7 +940,7 @@ body {
|
|
|
:deep(.el-form-item) {
|
|
|
margin-bottom: 0;
|
|
|
.el-form-item__label {
|
|
|
- width: 105px !important;
|
|
|
+ width: 120px !important;
|
|
|
padding-right: 0 !important;
|
|
|
background: #FBFCFF;
|
|
|
border: 1px solid #EEEEEE;
|