加入限制

This commit is contained in:
shefengchun 2023-02-24 14:00:14 +08:00
parent aa0e83045b
commit 5027ba5233
6 changed files with 85 additions and 25 deletions

View File

@ -557,7 +557,8 @@ export default defineComponent({
let tmp = JSON.parse($store.state.fusion_configuration).options;
auxiliary_line.value = tmp.blending_grids_density_assistant_lines == "1"
now_v_h.value = "level"
start_point(5, 'all')
start_point(Number(options_value_h_point_amount.value[0]), 'h')
start_point(Number(options_value_v_point_amount.value[0]), 'v')
if (
sessionStorage.DensityCorrection &&
sessionStorage.DensityCorrection.length > 0
@ -931,7 +932,7 @@ export default defineComponent({
*/
const details_selsect_v = (details: any) => {
let spt = details.deltaY / 100
if (spt < 0) {
if (spt > 0) {
if (options_model_v.value >= value_v_point.value.length - 1) {
options_model_v.value = 0
} else {
@ -947,7 +948,7 @@ export default defineComponent({
}
const details_selsect_h = (details: any) => {
let spt = details.deltaY / 100
if (spt < 0) {
if (spt > 0) {
if (options_model_h.value >= value_h_point.value.length - 1) {
options_model_h.value = 0
} else {

View File

@ -62,7 +62,9 @@ import {
watch,
nextTick,
onBeforeUnmount,
defineExpose
defineExpose,
toRefs,
inject
} from "vue";
import { useStore } from "src/store";
import { useI18n } from "vue-i18n";
@ -83,7 +85,15 @@ export default defineComponent({
components: {
Vue3DraggableResizable
},
setup() {
props: {
col: {
type: String,
},
row: {
type: String,
}
},
setup(props) {
let set = GlobalData.getInstance().getCurrentClient();
let $store = useStore();
let $t = useI18n();
@ -227,12 +237,38 @@ export default defineComponent({
let tmp = coordinate_transformation_xy_to_value(obj_x, obj_y)
value.value[index].x = Math.round(tmp.x)
value.value[index].y = Math.round(tmp.y)
send_value(index, Math.round(tmp.x), Math.round(tmp.y))
/**
* 判断摄像机
*/
if(now_selsect_projector?.value=='0-0'){
if(index==1||index==3){
value.value[index].x = Math.round(tmp.x)>allconfig.projector_width?allconfig.projector_width:Math.round(tmp.x)
}
}
if(now_selsect_projector?.value=='0-1'){
if(index==0||index==2){
value.value[index].x = Math.round(tmp.x)<0?0:Math.round(tmp.x)
}
}
send_value(index, value.value[index].x , value.value[index].y)
save_set_cache()
}
const chang = (index: number, $event: any, type: string) => {
index = Number(index)
if (now_selsect_projector?.value == '0-0') {
if (index == 1 || index == 3) {
value.value[index].x > allconfig.projector_width ? value.value[index].x =allconfig.projector_width : value.value[index].x
}
}
if (now_selsect_projector?.value == '0-1') {
if (index == 0 || index == 2) {
value.value[index].x < 0 ? value.value[index].x= 0 : value.value[index].x
}
}
let tmp = coordinate_transformation_value_to_xy(value.value[index].x, value.value[index].y)
value_point.value[index].y = Math.round(tmp.y)
value_point.value[index].x = Math.round(tmp.x)
@ -365,7 +401,7 @@ export default defineComponent({
*/
const details_selsect=(details:any) => {
let spt=details.deltaY/100
if(spt<0){
if(spt>0){
if(options_model.value>=value_point.value.length-1){
options_model.value=0
}else{
@ -389,9 +425,28 @@ export default defineComponent({
switch (type) {
case 'x':
if (spt < 0) {
value.value[options_model.value].x++
if(now_selsect_projector?.value=='0-0'&&props.col=='2'){
if(options_model.value==1||options_model.value==3){
value.value[options_model.value].x>allconfig.projector_width?value.value[options_model.value].x = allconfig.projector_width:value.value[options_model.value].x++
}else{
value.value[options_model.value].x++
}
}else{
value.value[options_model.value].x++
}
} else {
value.value[options_model.value].x--
if(now_selsect_projector?.value=='0-1'&&props.col=='2'){
if(options_model.value==0||options_model.value==2){
value.value[options_model.value].x <0?value.value[options_model.value].x = 0:value.value[options_model.value].x --
}else{
value.value[options_model.value].x--
}
}else{
value.value[options_model.value].x --
}
}
break;
default:
@ -408,7 +463,9 @@ export default defineComponent({
defineExpose({
options_model,
});
const now_selsect_projector:any = inject<string>("now_selsect_projector");
return {
now_selsect_projector,
details_selsect,
resetall,
div,

View File

@ -184,6 +184,7 @@ import {
onBeforeUnmount,
reactive,
onMounted,
toRefs,
} from "vue";
import { useStore } from "src/store";
import { useI18n } from "vue-i18n";
@ -207,7 +208,7 @@ export default defineComponent({
{ alpha: 0, p: 0, gamma: 0, isshow: false, value: 0 },
{ alpha: 0, p: 0, gamma: 0, isshow: false, value: 0 },
]);
const auto_sync = ref(false)
const auto_sync = ref(true)
const auxiliary_line = ref(false)
const send_auxiliary_line = (val: boolean) => {
set?.SetBlendingOption("blending_grids_assistant_lines", val ? "1" : "0");

View File

@ -130,7 +130,7 @@ export default defineComponent({
const index = ref(0);
const color = reactive(["#ffffff", "#CCCCCC", "#000", "#000"]);
let model = reactive([20, 40, 20]);
let options = ref([10, 20, 30, 40, 50]);
let options = ref([10, 20, 30, 40, 50, 60 ,80]);
let line_width_options = ref([2,4,6,8,10, 20, 30, 40, 50]);
const submit = () => {
switch (index.value) {

View File

@ -183,8 +183,8 @@ export default defineComponent({
};
const use_server_config = () => {
value_point_amount.value = 9
let a = 9
value_point_amount.value = Number(Object.keys(config.multi_curved_surface)[0])
let a = value_point_amount.value
value.value = []
value_point.value = []
for (let index = 0; index < config.multi_curved_surface[a].length; index++) {
@ -372,7 +372,7 @@ export default defineComponent({
onMounted(() => {
Proportion.value.x = allconfig.projector_width / (div.value.offsetWidth - point.value.w)
Proportion.value.y = allconfig.projector_height / (div.value.offsetHeight - point.value.h)
start_point(9)
start()
use_server_config()
if (
@ -383,6 +383,7 @@ export default defineComponent({
use_set_cache();
}
options_value_point_amount.value = Object.keys(config.multi_curved_surface)
start_point(Number(options_value_point_amount.value[0]))
window.onresize = () => {
return (() => {
if (div != null) {
@ -536,9 +537,9 @@ export default defineComponent({
for (let key in tmpconfig.multi_curved_surface) {
options_value_point_amount.value.push(key)
}
value_point_amount.value = 9
amount = 9
now_amount.value = 9
value_point_amount.value = Number(options_value_point_amount.value[0])
amount = Number(options_value_point_amount.value[0])
now_amount.value = Number(options_value_point_amount.value[0])
$store.commit("setfusion_configuration", res?.config);
value.value = []
value_point.value = []
@ -642,7 +643,7 @@ export default defineComponent({
*/
const details_selsect=(details:any) => {
let spt=details.deltaY/100
if(spt<0){
if(spt>0){
if(options_model.value>=value_point.value.length-1){
options_model.value=0
}else{

View File

@ -71,7 +71,7 @@
]" />
</div>
<div style="min-height: 72vh">
<component ref="child" :is="options" />
<component ref="child" :is="options" :row="config.row" :col="config.col" />
</div>
</div>
</div>
@ -203,6 +203,7 @@ import {
computed,
onMounted,
onBeforeMount,
provide,
} from "vue";
import { useStore } from "src/store";
import { useQuasar, copyToClipboard } from "quasar";
@ -422,6 +423,7 @@ export default defineComponent({
case 'FourPointCalibration':
tmp = '4'
set?.SetBlendingOption("blending_grids_control_point_count", `4`)
set?.SetBlendingOption("blending_grids_select_point", `4:1`)
break;
case 'SurfaceCorrection':
tmp = '9'
@ -515,12 +517,7 @@ export default defineComponent({
config.value.col = tmp.col;
config.value.row = tmp.row;
$store.commit("setfusion_configuration", res?.config);
if(config.value.col==1&&config.value.row==1){
optionsstr.value = "FourPointCalibration"
}else{
optionsstr.value = "FusionLocale";
}
optionsstr.value = "FourPointCalibration";
allconfig = JSON.parse($store.state.fusion_configuration);
if(allconfig.resolution){
for (let index = 0; index < allconfig.resolution.length; index++) {
@ -624,7 +621,9 @@ export default defineComponent({
const currently_selected_projector = (value: string) => {
set?.SetBlendingOption('blending_grids_select_projector', value);
now_selsect_projector.value=value
}
provide("now_selsect_projector",now_selsect_projector);
/**
* 设置投影机布局
@ -703,6 +702,7 @@ export default defineComponent({
}
}
return {
now_selsect_projector,
re_match_data,
trigger_dialog,
confirm,