|
|
@@ -43,6 +43,12 @@
|
|
|
</el-input>
|
|
|
<div class="error-msg">最小-5,最大30</div>
|
|
|
</el-form-item>
|
|
|
+ <!-- 相机焦段距离 - 仅当设备支持时显示 -->
|
|
|
+ <el-form-item label="相机焦段距离(mm)" v-if="hasCameraFocal" :class="{'is-disabled': isMultiCameraMode && editRowData.is_move_device === 0}">
|
|
|
+ <el-input v-model="editRowData.camera_focal_distance" @change="changeNum('camera_focal_distance', 0, maxFocalDistance)" :min="0" :max="maxFocalDistance" :step="1" style="width: 170px;" type="number" :disabled="isMultiCameraMode && editRowData.is_move_device === 0">
|
|
|
+ </el-input>
|
|
|
+ <div class="error-msg">最小0,最大{{ maxFocalDistance }}</div>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="转盘前后位置" :class="{'is-disabled': isMultiCameraMode && editRowData.is_move_device === 0}">
|
|
|
<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" :disabled="isMultiCameraMode && editRowData.is_move_device === 0">
|
|
|
</el-input>
|
|
|
@@ -158,6 +164,8 @@ const initStatus = ref(false)
|
|
|
const isDefault = ref(true); // 是否为默认配置
|
|
|
const editRowData = ref({}); // 当前编辑行的数据
|
|
|
const maxCameraHeight = ref(350); // 相机高度最大值,默认350,通过get_device_info从后端获取
|
|
|
+const hasCameraFocal = ref(false); // 是否支持相机焦段距离
|
|
|
+const maxFocalDistance = ref(8000); // 相机焦段距离最大值,默认8000,通过get_device_info从后端获取
|
|
|
|
|
|
// 监听点位变化,切换预览
|
|
|
watch(() => editRowData.value.point_name, (newPoint, oldPoint) => {
|
|
|
@@ -181,6 +189,14 @@ async function fetchDeviceInfo() {
|
|
|
if (result.code === 0 && result.data?.camera_height) {
|
|
|
maxCameraHeight.value = result.data.camera_height;
|
|
|
}
|
|
|
+ // 解析相机焦段距离信息
|
|
|
+ if (result.code === 0 && result.data?.camera_focal_data) {
|
|
|
+ const focalData = result.data.camera_focal_data;
|
|
|
+ hasCameraFocal.value = focalData.is_camera_has_focal === true;
|
|
|
+ if (focalData.camera_focal_distance) {
|
|
|
+ maxFocalDistance.value = Number(focalData.camera_focal_distance);
|
|
|
+ }
|
|
|
+ }
|
|
|
clientStore.ipc.removeAllListeners(icpList.socket.message + '_get_device_info');
|
|
|
});
|
|
|
}
|
|
|
@@ -219,12 +235,14 @@ onMounted(async ()=>{
|
|
|
fun = getDeviceConfigDetailQuery
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
const result = await fun(params)
|
|
|
|
|
|
if(result.code == 0 && result.data){
|
|
|
editRowData.value = result.data;
|
|
|
+ // 新增时设置相机焦段距离默认值
|
|
|
+ if (!props.id && hasCameraFocal.value) {
|
|
|
+ editRowData.value.camera_focal_distance = 0;
|
|
|
+ }
|
|
|
// 多相机模式默认值处理
|
|
|
if (isMultiCameraMode.value) {
|
|
|
// 验证点位是否有效,无效则使用第一个可用点位
|
|
|
@@ -254,6 +272,7 @@ async function changeNum(type, min, max) {
|
|
|
'overturn_steering': 'shoe_upturn',
|
|
|
'laser_position': 'led_switch',
|
|
|
'take_picture': 'number_focus',
|
|
|
+ 'camera_focal_distance': 'camera_focal_distance',
|
|
|
};
|
|
|
if(min || max){
|
|
|
if(editRowData.value[socketValue[type]] < min || editRowData.value[socketValue[type]] > max){
|
|
|
@@ -306,6 +325,8 @@ function testShoesFlip(){
|
|
|
take_picture:false,
|
|
|
pre_delay:0,
|
|
|
after_delay:0,
|
|
|
+ // 相机焦段距离(可选字段)
|
|
|
+ camera_focal_distance: hasCameraFocal.value ? Number(editRowData.value.camera_focal_distance || 0) : undefined,
|
|
|
// 多相机模式参数
|
|
|
point_name: isMultiCameraMode.value ? (editRowData.value.point_name || 'A') : undefined,
|
|
|
is_move_device: isMultiCameraMode.value ? editRowData.value.is_move_device : undefined,
|