加入 投影机最大数量限制
This commit is contained in:
parent
966fe44583
commit
740ff764e5
|
@ -894,13 +894,13 @@ export default defineComponent({
|
||||||
add_control_points(Number(now_amount.value), tmp);
|
add_control_points(Number(now_amount.value), tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 滚轮切换
|
* 滚轮切换
|
||||||
* @param details
|
* @param details
|
||||||
*/
|
*/
|
||||||
const details_selsect_v=(details:any) => {
|
const details_selsect_v=(details:any) => {
|
||||||
let spt=details.deltaY/100
|
let spt=details.deltaY/100
|
||||||
if(spt>0){
|
if(spt<0){
|
||||||
if(options_model_v.value>=value_v_point.value.length-1){
|
if(options_model_v.value>=value_v_point.value.length-1){
|
||||||
options_model_v.value=0
|
options_model_v.value=0
|
||||||
}else{
|
}else{
|
||||||
|
@ -916,7 +916,7 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
const details_selsect_h=(details:any) => {
|
const details_selsect_h=(details:any) => {
|
||||||
let spt=details.deltaY/100
|
let spt=details.deltaY/100
|
||||||
if(spt>0){
|
if(spt<0){
|
||||||
if(options_model_h.value>=value_h_point.value.length-1){
|
if(options_model_h.value>=value_h_point.value.length-1){
|
||||||
options_model_h.value=0
|
options_model_h.value=0
|
||||||
}else{
|
}else{
|
||||||
|
@ -939,7 +939,7 @@ export default defineComponent({
|
||||||
let spt = details.deltaY / 100
|
let spt = details.deltaY / 100
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'v':
|
case 'v':
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value_v.value[options_model_v.value].y++
|
value_v.value[options_model_v.value].y++
|
||||||
} else {
|
} else {
|
||||||
value_v.value[options_model_v.value].y--
|
value_v.value[options_model_v.value].y--
|
||||||
|
@ -947,7 +947,7 @@ export default defineComponent({
|
||||||
chang(options_model_v.value,value_v.value[options_model_v.value].y,"v")
|
chang(options_model_v.value,value_v.value[options_model_v.value].y,"v")
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value_h.value[options_model_h.value].x++
|
value_h.value[options_model_h.value].x++
|
||||||
} else {
|
} else {
|
||||||
value_h.value[options_model_h.value].x--
|
value_h.value[options_model_h.value].x--
|
||||||
|
|
|
@ -364,7 +364,7 @@ export default defineComponent({
|
||||||
*/
|
*/
|
||||||
const details_selsect=(details:any) => {
|
const details_selsect=(details:any) => {
|
||||||
let spt=details.deltaY/100
|
let spt=details.deltaY/100
|
||||||
if(spt>0){
|
if(spt<0){
|
||||||
if(options_model.value>=value_point.value.length-1){
|
if(options_model.value>=value_point.value.length-1){
|
||||||
options_model.value=0
|
options_model.value=0
|
||||||
}else{
|
}else{
|
||||||
|
@ -387,14 +387,14 @@ export default defineComponent({
|
||||||
let spt = details.deltaY / 100
|
let spt = details.deltaY / 100
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'x':
|
case 'x':
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value.value[options_model.value].x++
|
value.value[options_model.value].x++
|
||||||
} else {
|
} else {
|
||||||
value.value[options_model.value].x--
|
value.value[options_model.value].x--
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value.value[options_model.value].y++
|
value.value[options_model.value].y++
|
||||||
} else {
|
} else {
|
||||||
value.value[options_model.value].y--
|
value.value[options_model.value].y--
|
||||||
|
|
|
@ -637,13 +637,13 @@ export default defineComponent({
|
||||||
options_model.value = 1
|
options_model.value = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 滚轮切换
|
* 滚轮切换
|
||||||
* @param details
|
* @param details 鼠标返回对象
|
||||||
*/
|
*/
|
||||||
const details_selsect=(details:any) => {
|
const details_selsect=(details:any) => {
|
||||||
let spt=details.deltaY/100
|
let spt=details.deltaY/100
|
||||||
if(spt>0){
|
if(spt<0){
|
||||||
if(options_model.value>=value_point.value.length-1){
|
if(options_model.value>=value_point.value.length-1){
|
||||||
options_model.value=0
|
options_model.value=0
|
||||||
}else{
|
}else{
|
||||||
|
@ -666,14 +666,14 @@ export default defineComponent({
|
||||||
let spt = details.deltaY / 100
|
let spt = details.deltaY / 100
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'x':
|
case 'x':
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value.value[options_model.value].x++
|
value.value[options_model.value].x++
|
||||||
} else {
|
} else {
|
||||||
value.value[options_model.value].x--
|
value.value[options_model.value].x--
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (spt > 0) {
|
if (spt < 0) {
|
||||||
value.value[options_model.value].y++
|
value.value[options_model.value].y++
|
||||||
} else {
|
} else {
|
||||||
value.value[options_model.value].y--
|
value.value[options_model.value].y--
|
||||||
|
|
|
@ -33,15 +33,25 @@
|
||||||
<div class="col-2" style="border-right: 1px solid #b0bec5">
|
<div class="col-2" style="border-right: 1px solid #b0bec5">
|
||||||
<p class="text-center">{{ $t("Projector") }}</p>
|
<p class="text-center">{{ $t("Projector") }}</p>
|
||||||
<!-- row 在前col在后 -->
|
<!-- row 在前col在后 -->
|
||||||
<div v-for="(item, index_row) in config.row">
|
<!-- <div v-for="(item, index_row) in config.row">
|
||||||
|
<projector-item v-for="(item, index_col) in config.col" class="w-100" :llabel="
|
||||||
|
$t('Projector') + (index_row * config.col + index_col + 1)
|
||||||
|
" :lvalue="index_row + '/' + index_col"
|
||||||
|
@click="currently_selected_projector(index_row + '-' + index_col)"></projector-item>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div v-for="(item, index_row) in projectors_that_can_display.row">
|
||||||
<projector-item v-for="(item, index_col) in config.col" class="w-100" :llabel="
|
<projector-item v-for="(item, index_col) in config.col" class="w-100" :llabel="
|
||||||
$t('Projector') + (index_row * config.col + index_col + 1)
|
$t('Projector') + (index_row * config.col + index_col + 1)
|
||||||
" :lvalue="index_row + '/' + index_col"
|
" :lvalue="index_row + '/' + index_col"
|
||||||
@click="currently_selected_projector(index_row + '-' + index_col)"></projector-item>
|
@click="currently_selected_projector(index_row + '-' + index_col)"></projector-item>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<projector-item v-for="(item, index_col) in projectors_that_can_display.remain" class="w-100" :llabel="
|
||||||
|
$t('Projector') + (projectors_that_can_display.row * config.col + index_col + 1)
|
||||||
|
" :lvalue="projectors_that_can_display.row + '/' + index_col"
|
||||||
|
@click="currently_selected_projector(projectors_that_can_display.row + '-' + index_col)"></projector-item>
|
||||||
|
</div>
|
||||||
<div class="col-12" style="text-align: center">
|
<div class="col-12" style="text-align: center">
|
||||||
{{
|
{{
|
||||||
$t("Enable projection mode")
|
$t("Enable projection mode")
|
||||||
|
@ -57,22 +67,7 @@
|
||||||
<div class="col-10">
|
<div class="col-10">
|
||||||
<div class="q-ta-md">
|
<div class="q-ta-md">
|
||||||
<q-btn-toggle :disable="!$store.state.enablefusion" no-caps v-model="options" toggle-color="primary"
|
<q-btn-toggle :disable="!$store.state.enablefusion" no-caps v-model="options" toggle-color="primary"
|
||||||
:options="[
|
:options="btn_options" />
|
||||||
{ label: $t('FusionLocale'), value: 'FusionLocale' },
|
|
||||||
{
|
|
||||||
label: $t('FourPointCalibration'),
|
|
||||||
value: 'FourPointCalibration',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: $t('SurfaceCorrection'),
|
|
||||||
value: 'SurfaceCorrection',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: $t('DensityCorrection'),
|
|
||||||
value: 'DensityCorrection',
|
|
||||||
},
|
|
||||||
{ label: $t('GridSettings'), value: 'GridSettings' },
|
|
||||||
]" />
|
|
||||||
<q-btn-toggle v-show="isdebug" no-caps v-model="options" toggle-color="primary" :options="[
|
<q-btn-toggle v-show="isdebug" no-caps v-model="options" toggle-color="primary" :options="[
|
||||||
{ label: $t('debugging'), value: 'Debugging' }
|
{ label: $t('debugging'), value: 'Debugging' }
|
||||||
]" />
|
]" />
|
||||||
|
@ -98,7 +93,7 @@
|
||||||
<q-btn color="white" @click="resetall" text-color="black" :label="$t('resetall config')" />
|
<q-btn color="white" @click="resetall" text-color="black" :label="$t('resetall config')" />
|
||||||
<div class="q-space" data-v-39efcd1f=""></div>
|
<div class="q-space" data-v-39efcd1f=""></div>
|
||||||
<q-btn flat :label="$t('Select saved configuration')" no-caps color="primary"
|
<q-btn flat :label="$t('Select saved configuration')" no-caps color="primary"
|
||||||
@click="select_configuration = true; get_scenes()" />
|
@click="select_configuration = true;select_configuration_name=''; get_scenes()" />
|
||||||
<q-btn flat :label="$t('Cancel')" no-caps color="primary" v-close-popup
|
<q-btn flat :label="$t('Cancel')" no-caps color="primary" v-close-popup
|
||||||
@click="$store.commit('setSelectedProjector', '0/0');" />
|
@click="$store.commit('setSelectedProjector', '0/0');" />
|
||||||
<q-btn flat :label="$t('save config')" no-caps color="primary" @click="save" />
|
<q-btn flat :label="$t('save config')" no-caps color="primary" @click="save" />
|
||||||
|
@ -210,6 +205,7 @@ import GridSettings from "src/components/FusionSettings/GridSettings.vue";
|
||||||
import SurfaceCorrection from "src/components/FusionSettings/SurfaceCorrection.vue";
|
import SurfaceCorrection from "src/components/FusionSettings/SurfaceCorrection.vue";
|
||||||
import DensityCorrection from "src/components/FusionSettings/DensityCorrection.vue";
|
import DensityCorrection from "src/components/FusionSettings/DensityCorrection.vue";
|
||||||
import Debugging from "src/components/FusionSettings/Debugging.vue";
|
import Debugging from "src/components/FusionSettings/Debugging.vue";
|
||||||
|
import { number } from "yargs";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ComponentFusionSettingsDialog",
|
name: "ComponentFusionSettingsDialog",
|
||||||
|
@ -234,6 +230,7 @@ export default defineComponent({
|
||||||
};
|
};
|
||||||
const select_configuration = ref(false)
|
const select_configuration = ref(false)
|
||||||
const del_dialog = ref(false)
|
const del_dialog = ref(false)
|
||||||
|
const config_projectors=ref(null)
|
||||||
const select_configuration_name = ref("")
|
const select_configuration_name = ref("")
|
||||||
const send_disable_blending_params = () => {
|
const send_disable_blending_params = () => {
|
||||||
set?.SetBlendingOption(disable_blending_params_id.value, disable_blending_params.value ? "1" : "0");
|
set?.SetBlendingOption(disable_blending_params_id.value, disable_blending_params.value ? "1" : "0");
|
||||||
|
@ -430,6 +427,7 @@ export default defineComponent({
|
||||||
|
|
||||||
const save = () => {
|
const save = () => {
|
||||||
medium.value = true
|
medium.value = true
|
||||||
|
save_cover_name.value=''
|
||||||
//读取场景
|
//读取场景
|
||||||
get_scenes()
|
get_scenes()
|
||||||
};
|
};
|
||||||
|
@ -474,6 +472,7 @@ export default defineComponent({
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
set?.GetBlendingConfig("").then((res) => {
|
set?.GetBlendingConfig("").then((res) => {
|
||||||
let tmp = JSON.parse(res ? res.config : "");
|
let tmp = JSON.parse(res ? res.config : "");
|
||||||
|
config_projectors.value=tmp
|
||||||
let local_options = [
|
let local_options = [
|
||||||
[disable_blending_params_id, disable_blending_params],
|
[disable_blending_params_id, disable_blending_params],
|
||||||
[show_blending_grids_id, show_blending_grids]
|
[show_blending_grids_id, show_blending_grids]
|
||||||
|
@ -505,14 +504,17 @@ export default defineComponent({
|
||||||
allconfig = {resolution: [{width: tmp.projector_width,height: tmp.projector_height}]};
|
allconfig = {resolution: [{width: tmp.projector_width,height: tmp.projector_height}]};
|
||||||
now_resolution.value=0
|
now_resolution.value=0
|
||||||
}
|
}
|
||||||
|
for (let index = 0; index < projectorlayout.length; index++) {
|
||||||
|
let arr = projectorlayout[index].label.split('x');
|
||||||
|
if(tmp.col==Number(arr[0])&&tmp.row==Number(arr[1])){
|
||||||
|
now_select_projectorlayout.value=index
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
get_scenes()
|
get_scenes()
|
||||||
set?.SetBlendingOption("blending_grids_select_ui", "blending")
|
set?.SetBlendingOption("blending_grids_select_ui", "blending")
|
||||||
optionsstr.value = "FusionLocale";
|
optionsstr.value = "FusionLocale";
|
||||||
}, 1000);
|
}, 1000);
|
||||||
// setTimeout(() => {
|
|
||||||
|
|
||||||
// }, 1000);
|
|
||||||
});
|
});
|
||||||
const save_cover_name = ref("")
|
const save_cover_name = ref("")
|
||||||
const plan_list = [
|
const plan_list = [
|
||||||
|
@ -529,6 +531,19 @@ export default defineComponent({
|
||||||
config.value.col = tmp.col;
|
config.value.col = tmp.col;
|
||||||
config.value.row = tmp.row;
|
config.value.row = tmp.row;
|
||||||
$store.commit("setfusion_configuration", res?.config);
|
$store.commit("setfusion_configuration", res?.config);
|
||||||
|
allconfig = tmp
|
||||||
|
for (let index = 0; index < options_resolution.value.length; index++) {
|
||||||
|
let arr = options_resolution.value[index].label.split('*');
|
||||||
|
if(tmp.projector_width==Number(arr[0])&&tmp.projector_height==Number(arr[1])){
|
||||||
|
now_resolution.value=index
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < projectorlayout.length; index++) {
|
||||||
|
let arr = projectorlayout[index].label.split('x');
|
||||||
|
if(tmp.row==Number(arr[0])&&tmp.col==Number(arr[1])){
|
||||||
|
now_select_projectorlayout.value=index
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let tmp = options.value
|
let tmp = options.value
|
||||||
|
@ -574,6 +589,8 @@ export default defineComponent({
|
||||||
const dialog_del_scenes = () => {
|
const dialog_del_scenes = () => {
|
||||||
set?.DeleteBlendingScene(name_to_be_deleted.value);
|
set?.DeleteBlendingScene(name_to_be_deleted.value);
|
||||||
plan_list.splice(plan_list.findIndex(item => item === name_to_be_deleted.value), 1)
|
plan_list.splice(plan_list.findIndex(item => item === name_to_be_deleted.value), 1)
|
||||||
|
name_to_be_deleted.value=''
|
||||||
|
select_configuration_name.value=''
|
||||||
}
|
}
|
||||||
const now_selsect_projector=ref("0-0")
|
const now_selsect_projector=ref("0-0")
|
||||||
const currently_selected_projector = (value: string) => {
|
const currently_selected_projector = (value: string) => {
|
||||||
|
@ -607,6 +624,31 @@ export default defineComponent({
|
||||||
getconfig()
|
getconfig()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const btn_options = computed(() => {
|
||||||
|
let tmp=[]
|
||||||
|
if(now_select_projectorlayout.value!=0){
|
||||||
|
tmp.push({ label: $t.t('FusionLocale'), value: 'FusionLocale' })
|
||||||
|
}else{
|
||||||
|
optionsstr.value = "FourPointCalibration";
|
||||||
|
}
|
||||||
|
tmp.push({label: $t.t('FourPointCalibration'), value: 'FourPointCalibration'})
|
||||||
|
tmp.push({label: $t.t('SurfaceCorrection'),value: 'SurfaceCorrection',})
|
||||||
|
tmp.push({label: $t.t('DensityCorrection'),value: 'DensityCorrection',})
|
||||||
|
tmp.push({ label: $t.t('GridSettings'), value: 'GridSettings' })
|
||||||
|
return tmp
|
||||||
|
})
|
||||||
|
/**
|
||||||
|
* 计算可以显示的投影机数量
|
||||||
|
*/
|
||||||
|
const projectors_that_can_display=computed(()=>{
|
||||||
|
let allconfig = JSON.parse($store.state.fusion_configuration);
|
||||||
|
let max = allconfig.max_projector_count
|
||||||
|
let row = max/allconfig.row|0
|
||||||
|
let remain=max%allconfig.row
|
||||||
|
// config_projectors
|
||||||
|
return {row,remain}
|
||||||
|
})
|
||||||
return {
|
return {
|
||||||
currently_selected_projector,
|
currently_selected_projector,
|
||||||
name_to_be_deleted,
|
name_to_be_deleted,
|
||||||
|
@ -646,7 +688,9 @@ export default defineComponent({
|
||||||
set_resolution,
|
set_resolution,
|
||||||
send_projectorlayout,
|
send_projectorlayout,
|
||||||
now_select_projectorlayout,
|
now_select_projectorlayout,
|
||||||
projectorlayout
|
projectorlayout,
|
||||||
|
btn_options,
|
||||||
|
projectors_that_can_display
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue