增加平板支持

This commit is contained in:
shefengchun 2023-02-27 17:36:04 +08:00
parent 243516ca6d
commit 3f499105d9
8 changed files with 300 additions and 76 deletions

View File

@ -50,27 +50,27 @@
</div> </div>
<div> <div>
<div class="row q-py-md" v-show="now_v_h == 'vertical'"> <div class="row q-md-py-md" v-show="now_v_h == 'vertical'">
<div class="col-1"></div> <div class="col-1"></div>
<div class="col-2 q-px-md"> <q-select class="q-pt-md" :label="$t('vertical point')" <div class="col-2 q-md-px-md"> <q-select class="q-pt-md" :label="$t('vertical point')"
@update:model-value="(val) => { chang_point_amount(val, 'v') }" :dense="true" filled @update:model-value="(val) => { chang_point_amount(val, 'v') }" :dense="true" filled
v-model="value_v_point_amount" :options="options_value_v_point_amount" emit-value map-options /></div> v-model="value_v_point_amount" :options="options_value_v_point_amount" emit-value map-options /></div>
<div class="col-2 q-pt-md q-px-md"><q-btn color="white" @click="()=>{add_dialog=true;value_point_amount_tmp_v=value_v_point_amount}" text-color="black" <div class="col-2 q-pt-md "><q-btn color="white" @click="()=>{add_dialog=true;value_point_amount_tmp_v=value_v_point_amount}" text-color="black"
:label="$t('add control points')" /></div> :label="$t('add control points')" /></div>
<div class="col-2 q-pt-md q-px-md"><q-btn color="white" @click="() => { del_dialog = true }" <div class="col-2 q-pt-md "><q-btn color="white" @click="() => { del_dialog = true }"
:disable="value_v_point_amount <= 5" text-color="black" :label="$t('reduce control points')" /></div> :disable="value_v_point_amount <= 5" text-color="black" :label="$t('reduce control points')" /></div>
<div class="q-pt-md q-px-md col-5"> <q-btn color="white" @click="resetall_all" text-color="black" <div class="q-pt-md col-5"> <q-btn color="white" @click="resetall_all" text-color="black"
:label="$t('Reset all program control points')" /></div> :label="$t('Reset all program control points')" /></div>
</div> </div>
<div class="row" v-show="now_v_h == 'vertical'"> <div class="row" v-show="now_v_h == 'vertical'">
<div class="col-1"></div> <div class="col-1"></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_v"> <q-select class="q-pt-md " :label="$t('vertical')" <div class="col-2" @mousewheel="details_selsect_v"> <q-select class="q-pt-md " :label="$t('vertical')"
@update:model-value="(val) => { options_v = val }" :dense="true" filled v-model="options_model_v" @update:model-value="(val) => { options_v = val }" :dense="true" filled v-model="options_model_v"
:options="options_v" emit-value map-options /></div> :options="options_v" emit-value map-options /></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'v')"> <q-input v-if="value_v[options_model_v]" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'v')"> <q-input v-if="value_v[options_model_v]"
filled type="number" class="q-pt-md" :dense="true" v-model="value_v[options_model_v].y" filled type="number" class="q-pt-md" :dense="true" v-model="value_v[options_model_v].y"
@update:model-value="chang(options_model_v, $event, 'v')" lazy-rules /> @update:model-value="chang(options_model_v, $event, 'v')" lazy-rules @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" />
</div> </div>
<div class="q-pt-md col-2"> <div class="q-pt-md col-2">
<q-btn color="white" @click="reset(options_model_v, true, 'v')" text-color="black" :label="$t('reset')" /> <q-btn color="white" @click="reset(options_model_v, true, 'v')" text-color="black" :label="$t('reset')" />
@ -82,7 +82,7 @@
</div> </div>
<div> <div>
<div class="row q-py-md" v-show="now_v_h == 'level'"> <div class="row q-md-py-md" v-show="now_v_h == 'level'">
<div class="col-1"></div> <div class="col-1"></div>
<div class="col-2 q-px-md"> <q-select class="q-pt-md" :label="$t('level point')" <div class="col-2 q-px-md"> <q-select class="q-pt-md" :label="$t('level point')"
@update:model-value="(val) => { chang_point_amount(val, 'h') }" :dense="true" filled @update:model-value="(val) => { chang_point_amount(val, 'h') }" :dense="true" filled
@ -102,7 +102,7 @@
:options="options_h" emit-value map-options /></div> :options="options_h" emit-value map-options /></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'h')"> <q-input v-if="value_h[options_model_h]" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'h')"> <q-input v-if="value_h[options_model_h]"
filled type="number" class="q-pt-md" :dense="true" v-model="value_h[options_model_h].x" filled type="number" class="q-pt-md" :dense="true" v-model="value_h[options_model_h].x"
@update:model-value="chang(options_model_h, $event, 'h')" lazy-rules /> @update:model-value="chang(options_model_h, $event, 'h')" lazy-rules @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" />
</div> </div>
<div class="q-pt-md col-2"> <div class="q-pt-md col-2">
<q-btn color="white" @click="reset(options_model_h, true, 'h')" text-color="black" :label="$t('reset')" /> <q-btn color="white" @click="reset(options_model_h, true, 'h')" text-color="black" :label="$t('reset')" />
@ -174,6 +174,31 @@
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
<q-dialog v-model="ipad_chang">
<q-card style="width: 40vw; max-width: 80vw;">
<q-card-section>
<div class="text-h6">{{ $t('modification point') +(now_v_h == 'level'?options_model_h+1:options_model_v+1)}}</div>
</q-card-section>
<q-card-section class="q-pt-none">
<div class="row" v-show="now_v_h != 'level'">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_up" @touchstart="handlerTouchstart('y','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row" >
<div class="col-6" style="text-align: center;"><q-btn color="white" v-show="now_v_h == 'level'" text-color="black" icon="keyboard_arrow_left" @touchstart="handlerTouchstart('x','-')" @touchend="handlerTouchend" /></div>
<div class="col-6" style="text-align: center;"><q-btn color="white" v-show="now_v_h == 'level'" text-color="black" icon="keyboard_arrow_right" @touchstart="handlerTouchstart('x','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row" v-show="now_v_h != 'level'">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_down" @touchstart="handlerTouchstart('y','-')" @touchend="handlerTouchend" /></div>
</div>
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal">
<q-btn flat :label="$t('close')" color="primary" v-close-popup />
</q-card-actions>
</q-card>
</q-dialog>
</template> </template>
<style scoped> <style scoped>
@ -226,6 +251,14 @@ export default defineComponent({
const configselsect = computed(() => { const configselsect = computed(() => {
return $store.state.selected_projector; return $store.state.selected_projector;
}); });
/**
* 平板弹窗修改
*/
const ipad_chang=ref(false)
/**
* 当前url路径
*/
let url = window.location.href;
// //
let allconfig = JSON.parse($store.state.fusion_configuration); let allconfig = JSON.parse($store.state.fusion_configuration);
@ -1050,6 +1083,33 @@ export default defineComponent({
*/ */
const value_point_amount_tmp_v = ref(0) const value_point_amount_tmp_v = ref(0)
const value_point_amount_tmp_h = ref(0) const value_point_amount_tmp_h = ref(0)
/**
* 长按实现
*/
let loop: NodeJS.Timeout
const handlerTouchstart = (type: string, fun: string) => {
loop = setInterval(() => {
if (type == 'x') {
if (fun == '+') {
value_h.value[options_model_h.value].x++
} else {
value_h.value[options_model_h.value].x--
}
chang(options_model_h.value, value_h.value[options_model_h.value].x, "h")
} else {
if (fun == '+') {
value_v.value[options_model_v.value].y++
} else {
value_v.value[options_model_v.value].y--
}
chang(options_model_v.value, value_v.value[options_model_v.value].y, "v")
}
// chang(options_model.value, 0, '')
}, 10)
}
const handlerTouchend = () => {
clearInterval(loop)
}
defineExpose({ defineExpose({
now_v_h, now_v_h,
options_model_v, options_model_v,
@ -1095,7 +1155,11 @@ export default defineComponent({
resetall_all, resetall_all,
details_selsect_h, details_selsect_h,
details_selsect_v, details_selsect_v,
details_selsect_val details_selsect_val,
handlerTouchstart,
handlerTouchend,
ipad_chang,
url
} }
} }
}) })

View File

@ -23,12 +23,11 @@
v-model="options_model" @update:model-value="(val) => { options_model = val }" :options="options" emit-value v-model="options_model" @update:model-value="(val) => { options_model = val }" :options="options" emit-value
map-options /></div> map-options /></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'x')"> <q-input filled type="number" class="q-pt-md" :dense="true" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'x')"> <q-input filled type="number" class="q-pt-md" :dense="true"
v-model="value[options_model].x" @update:model-value="chang(options_model, $event, 'h')" label="x" v-model="value[options_model].x" @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" @update:model-value="chang(options_model, $event, 'h')" label="x"
lazy-rules /> lazy-rules />
</div> </div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'y')"> <q-input filled type="number" class="q-pt-md" :dense="true" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'y')"> <q-input filled type="number" class="q-pt-md" :dense="true"
v-model="value[options_model].y" @update:model-value="chang(options_model, $event, 'h')" label="y" v-model="value[options_model].y" @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" @update:model-value="chang(options_model, $event, 'h')" label="y"
lazy-rules /></div> lazy-rules /></div>
<div class="q-pt-md col-2"> <div class="q-pt-md col-2">
<q-btn color="white" @click="reset(options_model, true, 'h')" text-color="black" :label="$t('reset')" /> <q-btn color="white" @click="reset(options_model, true, 'h')" text-color="black" :label="$t('reset')" />
@ -37,8 +36,29 @@
<div><q-btn color="white" @click="resetall" text-color="black" :label="$t('resetall')" /></div> <div><q-btn color="white" @click="resetall" text-color="black" :label="$t('resetall')" /></div>
</div> </div>
</div> </div>
</div> </div>
<q-dialog v-model="ipad_chang">
<q-card style="width: 40vw; max-width: 80vw;">
<q-card-section>
<div class="text-h6">{{ $t('modification point') +(options_model+1 )}}</div>
</q-card-section>
<q-card-section class="q-pt-none">
<div class="row">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_up" @touchstart="handlerTouchstart('y','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row">
<div class="col-6" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_left" @touchstart="handlerTouchstart('x','-')" @touchend="handlerTouchend" /></div>
<div class="col-6" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_right" @touchstart="handlerTouchstart('x','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_down" @touchstart="handlerTouchstart('y','-')" @touchend="handlerTouchend" /></div>
</div>
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal">
<q-btn flat :label="$t('close')" color="primary" v-close-popup />
</q-card-actions>
</q-card>
</q-dialog>
</template> </template>
<style scoped> <style scoped>
@ -78,7 +98,9 @@ import { config } from "process";
import { QSelect, QInput, QBtn } from "quasar"; import { QSelect, QInput, QBtn } from "quasar";
import { div } from "zrender/lib/core/vector"; import { div } from "zrender/lib/core/vector";
import GlobalData from "src/common/GlobalData"; import GlobalData from "src/common/GlobalData";
import { number } from "@intlify/core-base";
export default defineComponent({ export default defineComponent({
name: "ComponentDensityCorrection", name: "ComponentDensityCorrection",
@ -101,6 +123,14 @@ export default defineComponent({
const ste_status = ref(0); const ste_status = ref(0);
let allconfig = JSON.parse($store.state.fusion_configuration); let allconfig = JSON.parse($store.state.fusion_configuration);
/**
* 平板弹窗修改
*/
const ipad_chang=ref(false)
/**
* 当前url路径
*/
let url = window.location.href;
const configselsect = computed(() => { const configselsect = computed(() => {
return $store.state.selected_projector; return $store.state.selected_projector;
}); });
@ -462,7 +492,32 @@ export default defineComponent({
} }
chang(options_model.value,"","") chang(options_model.value,"","")
} }
/**
* 长按实现
*/
let loop: NodeJS.Timeout
const handlerTouchstart=(type:string,fun:string)=>{
loop=setInterval(()=>{
if(type=='x'){
if(fun=='+'){
value.value[options_model.value].x++
}else{
value.value[options_model.value].x--
}
}else{
if(fun=='+'){
value.value[options_model.value].y++
}else{
value.value[options_model.value].y--
}
}
chang(options_model.value,0,'')
},10)
}
const handlerTouchend=()=>{
clearInterval(loop)
}
defineExpose({ defineExpose({
options_model, options_model,
}); });
@ -482,7 +537,11 @@ export default defineComponent({
value_point_amount, value_point_amount,
chang_point_amount, chang_point_amount,
options, options,
details_selsect_val details_selsect_val,
ipad_chang,
url,
handlerTouchstart,
handlerTouchend
} }
} }
}) })

View File

@ -551,7 +551,6 @@ export default defineComponent({
$store.commit("setenablefusion", enablefusion.value); $store.commit("setenablefusion", enablefusion.value);
}; };
const left_right_auto_add = (difference: number) => { const left_right_auto_add = (difference: number) => {
console.log("🚀 ~ file: FusionLocale.vue:616 ~ setup ~ difference:", difference)
let tmpobjall = JSON.parse($store.state.fusion_configuration) let tmpobjall = JSON.parse($store.state.fusion_configuration)
if ($store.getters.GetTheCurrentlySelectedCamera[1] == 0) { if ($store.getters.GetTheCurrentlySelectedCamera[1] == 0) {
@ -566,8 +565,6 @@ export default defineComponent({
set_cache_tmp = tmp set_cache_tmp = tmp
} }
if (ste_status.value == 0) { if (ste_status.value == 0) {
//set_cache_tmp[1].value = Number(set_cache_tmp[1].value) + difference
if (difference == -1) { if (difference == -1) {
set_cache_tmp[1].isshow = array[2].isshow set_cache_tmp[1].isshow = array[2].isshow
} else { } else {

View File

@ -17,17 +17,18 @@
</div> </div>
</div> </div>
<div> <div>
<div class="row q-py-xl"> <div class="row row q-md-py-xl">
<div class="col-1"></div> <div class="col-1"></div>
<div class="col-2 q-px-md"> <div class="col-2 q-px-md">
<div class="col-2"> <q-select class="q-pt-md" :label="$t('point amount')" <div class="col-2"> <q-select class="q-pt-md" :label="$t('point amount')"
@update:model-value="(val) => {now_amount=val; chang_point_amount(val) }" :dense="true" filled v-model="value_point_amount" @update:model-value="(val) => { now_amount = val; chang_point_amount(val) }" :dense="true" filled
:options="options_value_point_amount" emit-value map-options /> v-model="value_point_amount" :options="options_value_point_amount" emit-value map-options />
</div> </div>
</div> </div>
<div class="col-2"> <div class="col-2">
<div class="col-1 q-pt-md "><q-btn color="white" @click="() => { add_dialog = true;value_point_amount_tmp=value_point_amount;now_amount= value_point_amount}" text-color="black" <div class="col-1 q-pt-md "><q-btn color="white"
:label="$t('add control points')" /></div> @click="() => { add_dialog = true; value_point_amount_tmp = value_point_amount; now_amount = value_point_amount }"
text-color="black" :label="$t('add control points')" /></div>
</div> </div>
<div class="col-2"> <div class="col-2">
@ -41,21 +42,23 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-1"></div> <div class="col-1"></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect"> <q-select class="q-pt-md" :label="$t('point')" :dense="true" filled <div class="col-2 q-px-md" @mousewheel="details_selsect"> <q-select class="q-pt-md" :label="$t('point')"
v-model="options_model" @update:model-value="(val) => { options_model = val }" :options="options" emit-value :dense="true" filled v-model="options_model" @update:model-value="(val) => { options_model = val }"
map-options /></div> :options="options" emit-value map-options /></div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'x')"> <q-input v-if="value[options_model]" filled type="number" class="q-pt-md" :dense="true" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'x')"> <q-input v-if="value[options_model]"
v-model="value[options_model].x" @update:model-value="chang(options_model, $event, 'h')" label="x" lazy-rules /> filled type="number" class="q-pt-md" :dense="true" v-model="value[options_model].x"
@update:model-value="chang(options_model, $event, 'h')" label="x" lazy-rules @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" />
</div> </div>
<div class="col-2 q-px-md" @mousewheel="details_selsect_val($event,'y')"><q-input v-if="value[options_model]" filled type="number" class="q-pt-md" :dense="true" <div class="col-2 q-px-md" @mousewheel="details_selsect_val($event, 'y')"><q-input v-if="value[options_model]" filled
v-model="value[options_model].y" @update:model-value="chang(options_model, $event, 'h')" label="y" lazy-rules /> type="number" class="q-pt-md" :dense="true" v-model="value[options_model].y"
@update:model-value="chang(options_model, $event, 'h')" label="y" lazy-rules @click="()=>{url.indexOf('pad')!=-1?ipad_chang=true:''}" :readonly="url.indexOf('pad')!=-1" />
</div> </div>
<div class="q-pt-md col-2"> <div class="q-pt-md col-2">
<q-btn color="white" @click="reset(options_model, true, 'h')" text-color="black" :label="$t('reset')" /> <q-btn color="white" @click="reset(options_model, true, 'h')" text-color="black" :label="$t('reset')" />
</div> </div>
<div class="q-pt-md q-px-md col-3"> <q-btn color="white" @click="resetall" text-color="black" <div class="q-pt-md q-px-md col-3"> <q-btn color="white" @click="resetall" text-color="black"
:label="$t('reset all')+value_point_amount+$t('point')" /></div> :label="$t('reset all') + value_point_amount + $t('point')" /></div>
</div> </div>
@ -85,7 +88,8 @@
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<div class="row"> <div class="row">
<div class="col-10"><q-input filled v-model="now_amount" min="3" disable type="number" <div class="col-10"><q-input filled v-model="now_amount" min="3" disable type="number"
:label="$t('Please enter the points you need to add')" @update:model-value="(val: any) => { preview(val) }" /> :label="$t('Please enter the points you need to add')"
@update:model-value="(val: any) => { preview(val) }" />
</div> </div>
<div class="col-1 q-pa-sm"> <q-btn color="white" text-color="black" label="↑" <div class="col-1 q-pa-sm"> <q-btn color="white" text-color="black" label="↑"
@click="() => { preview(Math.sqrt(now_amount) + 1) }" /> </div> @click="() => { preview(Math.sqrt(now_amount) + 1) }" /> </div>
@ -95,11 +99,37 @@
</q-card-section> </q-card-section>
<q-card-actions align="right" class="bg-white text-teal"> <q-card-actions align="right" class="bg-white text-teal">
<q-btn flat :label="$t('Cancel')" @click="()=>{preview(Math.sqrt(value_point_amount_tmp))}" color="primary" v-close-popup /> <q-btn flat :label="$t('Cancel')" @click="() => { preview(Math.sqrt(value_point_amount_tmp)) }" color="primary"
v-close-popup />
<q-btn flat :label="$t('ok')" @click="add" color="primary" v-close-popup /> <q-btn flat :label="$t('ok')" @click="add" color="primary" v-close-popup />
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
<q-dialog v-model="ipad_chang">
<q-card style="width: 40vw; max-width: 80vw;">
<q-card-section>
<div class="text-h6">{{ $t('modification point') +(options_model+1 )}}</div>
</q-card-section>
<q-card-section class="q-pt-none">
<div class="row">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_up" @touchstart="handlerTouchstart('y','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row">
<div class="col-6" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_left" @touchstart="handlerTouchstart('x','-')" @touchend="handlerTouchend" /></div>
<div class="col-6" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_right" @touchstart="handlerTouchstart('x','+')" @touchend="handlerTouchend" /></div>
</div>
<div class="row">
<div class="col-12" style="text-align: center;"><q-btn color="white" text-color="black" icon="keyboard_arrow_down" @touchstart="handlerTouchstart('y','-')" @touchend="handlerTouchend" /></div>
</div>
</q-card-section>
<q-card-actions align="right" class="bg-white text-teal">
<q-btn flat :label="$t('close')" color="primary" v-close-popup />
</q-card-actions>
</q-card>
</q-dialog>
</template> </template>
<style scoped> <style scoped>
@ -155,6 +185,15 @@ export default defineComponent({
return $store.state.selected_projector; return $store.state.selected_projector;
}); });
/**
* 平板弹窗修改
*/
const ipad_chang=ref(false)
/**
* 当前url路径
*/
let url = window.location.href;
// //
let serverconfig = JSON.parse($store.state.fusion_configuration); let serverconfig = JSON.parse($store.state.fusion_configuration);
const selectedprojector = computed(() => { const selectedprojector = computed(() => {
@ -416,7 +455,7 @@ export default defineComponent({
save_set_cache() save_set_cache()
} }
const resetall_all = () => { const resetall_all = () => {
let amount_tmp=value_point_amount.value let amount_tmp = value_point_amount.value
for (let index = 0; index < value_point.value.length; index++) { for (let index = 0; index < value_point.value.length; index++) {
value.value[index].x = value.value[index].def_x value.value[index].x = value.value[index].def_x
value.value[index].y = value.value[index].def_y value.value[index].y = value.value[index].def_y
@ -641,18 +680,18 @@ export default defineComponent({
* 滚轮切换 * 滚轮切换
* @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 {
options_model.value++ options_model.value++
} }
}else{ } else {
if(options_model.value<=1){ if (options_model.value <= 1) {
options_model.value=value_point.value.length-1 options_model.value = value_point.value.length - 1
}else{ } else {
options_model.value-- options_model.value--
} }
@ -680,12 +719,38 @@ export default defineComponent({
} }
break; break;
} }
chang(options_model.value,"","") chang(options_model.value, "", "")
} }
/** /**
* 在增加时 实现回退 * 在增加时 实现回退
*/ */
const value_point_amount_tmp=ref(0) const value_point_amount_tmp = ref(0)
/**
* 长按实现
*/
let loop: NodeJS.Timeout
const handlerTouchstart = (type: string, fun: string) => {
loop = setInterval(() => {
if (type == 'x') {
if (fun == '+') {
value.value[options_model.value].x++
} else {
value.value[options_model.value].x--
}
} else {
if (fun == '+') {
value.value[options_model.value].y++
} else {
value.value[options_model.value].y--
}
}
chang(options_model.value, 0, '')
}, 10)
}
const handlerTouchend = () => {
clearInterval(loop)
}
defineExpose({ defineExpose({
options_model, options_model,
}); });
@ -714,7 +779,11 @@ export default defineComponent({
add, add,
now_amount, now_amount,
preview, preview,
details_selsect_val details_selsect_val,
ipad_chang,
url,
handlerTouchstart,
handlerTouchend
} }
} }
}) })

View File

@ -49,7 +49,7 @@
<hr> <hr>
<div> <div>
<div class="col-3 q-px-md"> <q-select class="q-pt-md " :label="$t('change resolution')" <div class="col-3 q-px-md "> <q-select class="q-pt-md overflow-hidden" :label="$t('change resolution')"
@update:model-value="(val) => { dialog(val,set_resolution,'resolution') }" :dense="true" filled v-model="now_resolution" @update:model-value="(val) => { dialog(val,set_resolution,'resolution') }" :dense="true" filled v-model="now_resolution"
:options="options_resolution" emit-value map-options /></div> :options="options_resolution" emit-value map-options /></div>
<div class="col-3 q-px-md"> <q-select class="q-pt-md " :label="$t('Change projector layout')" <div class="col-3 q-px-md"> <q-select class="q-pt-md " :label="$t('Change projector layout')"
@ -100,7 +100,7 @@
</q-card> </q-card>
<q-dialog v-model="medium"> <q-dialog v-model="medium">
<q-card style="width: 700px; max-width: 80vw;"> <q-card style="width: 40vw; max-width: 80vw;">
<q-card-section> <q-card-section>
<div class="text-h6">{{ $t('Whether to save the configuration') }}</div> <div class="text-h6">{{ $t('Whether to save the configuration') }}</div>
</q-card-section> </q-card-section>
@ -125,7 +125,7 @@
<q-dialog v-model="select_configuration"> <q-dialog v-model="select_configuration">
<q-card style="width: 700px; max-width: 80vw;"> <q-card style="width: 40vw; max-width: 80vw;">
<q-card-section> <q-card-section>
<div class="text-h6">{{ $t('read saved configuration') }}</div> <div class="text-h6">{{ $t('read saved configuration') }}</div>
</q-card-section> </q-card-section>
@ -151,7 +151,7 @@
</q-dialog> </q-dialog>
<q-dialog v-model="del_dialog"> <q-dialog v-model="del_dialog">
<q-card style="width: 700px; max-width: 80vw;"> <q-card style="width: 40vw; max-width: 80vw;">
<q-card-section> <q-card-section>
<div class="text-h6">{{ $t('confirm delete') }}</div> <div class="text-h6">{{ $t('confirm delete') }}</div>
</q-card-section> </q-card-section>
@ -167,7 +167,7 @@
<q-dialog v-model="confirm"> <q-dialog v-model="confirm">
<q-card style="width: 500px; max-width: 80vw;"> <q-card style="width: 40vw; max-width: 80vw;">
<q-card-section> <q-card-section>
<div class="text-h6">{{ $t('Do you confirm the modification') }}</div> <div class="text-h6">{{ $t('Do you confirm the modification') }}</div>
</q-card-section> </q-card-section>

View File

@ -506,4 +506,5 @@ export default {
"Whether to change the projector layout to", "Whether to change the projector layout to",
"after upgrade, please clear browser cache Or refresh hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)": "after upgrade, please clear browser cache Or refresh hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)":
"After Upgrade, Please Clear Browser Cache Or Refresh Hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)", "After Upgrade, Please Clear Browser Cache Or Refresh Hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)",
"modification point":"modification point",
}; };

View File

@ -772,4 +772,5 @@ export default {
"Whether to change the projector layout to": "是否更改投影机布局为", "Whether to change the projector layout to": "是否更改投影机布局为",
"after upgrade, please clear browser cache Or refresh hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)": "after upgrade, please clear browser cache Or refresh hard (Ctrl/Shift + F5 Or Ctrl + Shift + R)":
"升级完成后请清空浏览器缓存或者进行硬刷新(Ctrl/Shift + F5 或者 CTRL + SHIFT + R)", "升级完成后请清空浏览器缓存或者进行硬刷新(Ctrl/Shift + F5 或者 CTRL + SHIFT + R)",
"modification point":"修改点"
}; };

View File

@ -193,6 +193,24 @@
{{ $t("background image setting") }} {{ $t("background image setting") }}
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item
clickable
v-close-popup
@click="
$refs.fusion_settings_dialog.showDialog();
getconfig();
"
v-if="$store.state.custom_defines.function_fusion"
>
<q-item-section avatar>
<q-icon name="open_with" />
</q-item-section>
<q-item-section>
{{ $t("fusion settings") }}
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="switchLanguage"> <q-item clickable v-close-popup @click="switchLanguage">
<q-item-section avatar> <q-item-section avatar>
<q-icon name="img:pad/toolbar/cn_en.png" /> <q-icon name="img:pad/toolbar/cn_en.png" />
@ -235,6 +253,9 @@
<advanced-debug-dialog ref="advanced_debug_dialog" /> <advanced-debug-dialog ref="advanced_debug_dialog" />
<window-rect-edit-dialog ref="window_rect_edit_dialog" /> <window-rect-edit-dialog ref="window_rect_edit_dialog" />
<system-setting-dialog ref="system_setting_dialog" /> <system-setting-dialog ref="system_setting_dialog" />
<fusion-settings-dialog ref="fusion_settings_dialog" />
</template> </template>
<script lang="ts"> <script lang="ts">
@ -242,6 +263,9 @@ import { defineComponent, Ref, ref, computed, watch } from "vue";
import { Cookies, SessionStorage, useQuasar } from "quasar"; import { Cookies, SessionStorage, useQuasar } from "quasar";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
import { useStore } from "src/store"; import { useStore } from "src/store";
import FusionSettingsDialog from "src/components/FusionSettingsDialog.vue";
import BackgroundImageDialog from "src/components/BackgroundImageDialog.vue"; import BackgroundImageDialog from "src/components/BackgroundImageDialog.vue";
import FileManageDialog from "src/components/FileManageDialog.vue"; import FileManageDialog from "src/components/FileManageDialog.vue";
import SubtitleDialog from "src/components/SubtitleDialog.vue"; import SubtitleDialog from "src/components/SubtitleDialog.vue";
@ -265,12 +289,13 @@ export default defineComponent({
AdvancedDebugDialog, AdvancedDebugDialog,
WindowRectEditDialog, WindowRectEditDialog,
SystemSettingDialog, SystemSettingDialog,
FusionSettingsDialog
}, },
setup() { setup() {
const $store = useStore(); const $store = useStore();
const $q = useQuasar(); const $q = useQuasar();
const $t = useI18n(); const $t = useI18n();
let set = GlobalData.getInstance().getCurrentClient();
const window_rect_edit_dialog: Ref<any> = ref(null); const window_rect_edit_dialog: Ref<any> = ref(null);
const plan_running = computed( const plan_running = computed(
@ -288,7 +313,15 @@ export default defineComponent({
} }
} }
); );
const getconfig = () => {
try {
set?.GetBlendingConfig("").then((res) => {
let tmp = JSON.parse(res ? res.config : "");
$store.commit("setEnablefusion", tmp.enable);
$store.commit("setfusion_configuration", res?.config);
});
} catch (error) {}
};
return { return {
plan_running, plan_running,
window_rect_edit_dialog, window_rect_edit_dialog,