|
|
@@ -10,6 +10,11 @@
|
|
|
<img src="@/assets/images/setting/icon1a.png" class="nav-icon" v-else/>
|
|
|
<span>基础配置</span>
|
|
|
</div>
|
|
|
+ <div class="nav-item" v-if="configInfoStore.appModel === 1" :class="{'active': activeIndex === 3}" @click="toggleTab(3)" v-log="{ describe: { action: '点击切换设置Tab', tab: '相机配置' } }">
|
|
|
+ <img src="@/assets/images/setting/icon2.png" class="nav-icon" v-if="activeIndex !== 3"/>
|
|
|
+ <img src="@/assets/images/setting/icon2a.png" class="nav-icon" v-else/>
|
|
|
+ <span>相机配置</span>
|
|
|
+ </div>
|
|
|
<div class="nav-item" :class="{'active': activeIndex === 2}" @click="toggleTab(2)" v-log="{ describe: { action: '点击切换设置Tab', tab: '其他设置' } }">
|
|
|
<img src="@/assets/images/setting/icon3.png" class="nav-icon" v-if="activeIndex !== 2"/>
|
|
|
<img src="@/assets/images/setting/icon3a.png" class="nav-icon" v-else/>
|
|
|
@@ -71,47 +76,53 @@
|
|
|
<DebugPanel ref="debugPanel" />
|
|
|
</div>
|
|
|
<!--基础配置-->
|
|
|
+ <!--相机配置-->
|
|
|
+ <template v-if="activeIndex === 3">
|
|
|
+ <CameraConfig ref="cameraConfigRef"/>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ <!--相机配置-->
|
|
|
<!--其他设置-->
|
|
|
- <template v-if="activeIndex === 2">
|
|
|
-
|
|
|
- <div class="selectBox" style="padding-top: 0px" >
|
|
|
- <div class="form-item">
|
|
|
- <label>产品类型:</label>
|
|
|
- <div class="select-wrapper">
|
|
|
- <el-select v-model="formData.other_configs.product_type" placeholder="请选择">
|
|
|
- <el-option v-for="item in productTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-item">
|
|
|
- <label>默认抠图模式:</label>
|
|
|
- <div class="select-wrapper">
|
|
|
- <el-select v-model="formData.other_configs.cutout_mode" placeholder="请选择">
|
|
|
- <el-option v-for="item in defaultCutoutModeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-item">
|
|
|
- <label>设备运动速度:</label>
|
|
|
- <div class="select-wrapper">
|
|
|
- <el-select v-model="formData.other_configs.device_speed" placeholder="请选择">
|
|
|
- <el-option v-for="item in deviceSpeedList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- <div class="form-item">
|
|
|
- <label>运行模式:</label>
|
|
|
- <div class="select-wrapper">
|
|
|
- <el-select v-model="formData.other_configs.running_mode" placeholder="请选择">
|
|
|
- <el-option v-for="item in runModeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </div>-->
|
|
|
+ <template v-if="activeIndex === 2">
|
|
|
+
|
|
|
+ <div class="selectBox" style="padding-top: 0px" >
|
|
|
+ <div class="form-item">
|
|
|
+ <label>产品类型:</label>
|
|
|
+ <div class="select-wrapper">
|
|
|
+ <el-select v-model="formData.other_configs.product_type" placeholder="请选择">
|
|
|
+ <el-option v-for="item in productTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-item">
|
|
|
+ <label>默认抠图模式:</label>
|
|
|
+ <div class="select-wrapper">
|
|
|
+ <el-select v-model="formData.other_configs.cutout_mode" placeholder="请选择">
|
|
|
+ <el-option v-for="item in defaultCutoutModeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+ <div class="form-item">
|
|
|
+ <label>设备运动速度:</label>
|
|
|
+ <div class="select-wrapper">
|
|
|
+ <el-select v-model="formData.other_configs.device_speed" placeholder="请选择">
|
|
|
+ <el-option v-for="item in deviceSpeedList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <div class="form-item">
|
|
|
+ <label>运行模式:</label>
|
|
|
+ <div class="select-wrapper">
|
|
|
+ <el-select v-model="formData.other_configs.running_mode" placeholder="请选择">
|
|
|
+ <el-option v-for="item in runModeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>-->
|
|
|
+ </div>
|
|
|
|
|
|
- <other-config/>
|
|
|
- </template>
|
|
|
+ <other-config/>
|
|
|
+ </template>
|
|
|
<!--其他设置-->
|
|
|
<div class="selectBox" style="padding-top: 0px;padding-left: 0;" v-if="activeIndex === 4">
|
|
|
<actionConfig/>
|
|
|
@@ -148,6 +159,7 @@ import { useCheckInfo } from '@/composables/userCheck';
|
|
|
import { preview } from '@planckdev/element-plus/utils'
|
|
|
import actionConfig from './components/action_config.vue'
|
|
|
import otherConfig from './components/otherConfig'
|
|
|
+import CameraConfig from './components/CameraConfig';
|
|
|
useCheckInfo();
|
|
|
|
|
|
//点击三次 打开资源目录
|
|
|
@@ -155,6 +167,7 @@ useCheckInfo();
|
|
|
import DebugPanel from './components/DebugPanel.vue';
|
|
|
// 在setup函数中创建调试面板实例
|
|
|
const debugPanel = ref(null);
|
|
|
+const cameraConfigRef = ref(null);
|
|
|
// 添加设置点击计数器
|
|
|
const settingClickCount = ref(0);
|
|
|
|
|
|
@@ -336,7 +349,7 @@ watch(() => route.query.type, async (newType,oldType) => {
|
|
|
// await saveSetting(oldType)
|
|
|
}
|
|
|
const typeValue = parseInt(newType) || 0;
|
|
|
- if(typeValue === 4) return;
|
|
|
+ if([3,4].includes(typeValue)) return;
|
|
|
switch (typeValue) {
|
|
|
default:
|
|
|
clientStore.ipc.removeAllListeners(icpList.setting.getSysConfig);
|
|
|
@@ -414,13 +427,14 @@ const handleInput = (value) => {
|
|
|
};
|
|
|
|
|
|
const toggleTab = async (item) => {
|
|
|
- let oldType = activeIndex.value;
|
|
|
-
|
|
|
- if([0,1,2].includes(oldType)){
|
|
|
- const next = await saveSetting(oldType)
|
|
|
- if(next === false) return ;
|
|
|
+ const oldType = activeIndex.value;
|
|
|
+ // 切换前保存当前 Tab 配置(包含相机配置 3)
|
|
|
+ if ([0,1,2,3].includes(oldType)) {
|
|
|
+ const next = await saveSetting(oldType);
|
|
|
+ if (next === false) return false;
|
|
|
}
|
|
|
- activeIndex.value = item;
|
|
|
+ activeIndex.value = item;
|
|
|
+ return true;
|
|
|
};
|
|
|
|
|
|
const onSava = async (index)=>{
|
|
|
@@ -437,6 +451,12 @@ const onSava = async (index)=>{
|
|
|
*/
|
|
|
const saveSetting = async (index) => {
|
|
|
// 构建临时提交数据
|
|
|
+ if(index === 3) {
|
|
|
+ if (cameraConfigRef.value && typeof cameraConfigRef.value.save === 'function') {
|
|
|
+ return await cameraConfigRef.value.save()
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }
|
|
|
const submitData = {
|
|
|
...formData[indexKey[index]]
|
|
|
};
|