Повторный выбор аруко маркеров
Сделали возможным повторное нажатие на уже выбранный аруко маркер
This commit is contained in:
+20
-13
@@ -11,7 +11,7 @@ onMounted(()=>{
|
|||||||
|
|
||||||
for (let i = 0; i < 100; i++) {
|
for (let i = 0; i < 100; i++) {
|
||||||
numbers.value.push({
|
numbers.value.push({
|
||||||
variable: '',
|
variable: [],
|
||||||
x: i % 10,
|
x: i % 10,
|
||||||
y: 9 - Math.floor(i / 10),
|
y: 9 - Math.floor(i / 10),
|
||||||
index: i
|
index: i
|
||||||
@@ -20,26 +20,31 @@ onMounted(()=>{
|
|||||||
})
|
})
|
||||||
|
|
||||||
function setNumber(item) {
|
function setNumber(item) {
|
||||||
let valueOfMarker = item.variable;
|
let valueOfMarker = item.variable[0];
|
||||||
|
//если в клетке нет числа, то оно поставится
|
||||||
if (valueOfMarker === '') {
|
if (valueOfMarker === '') {
|
||||||
// Добавляем выбранную клетку
|
item.variable.push(String(clickCount.value));
|
||||||
item.variable = clickCount.value;
|
|
||||||
listOfTrips.value.push(item);
|
listOfTrips.value.push(item);
|
||||||
clickCount.value++;
|
clickCount.value++;
|
||||||
} else if (valueOfMarker === clickCount.value - 1) {
|
} else if (valueOfMarker === clickCount.value - 1) {
|
||||||
// Удаляем последнюю выбранную клетку
|
//если мы нажимаем на последнюю выбранную клетку, то у неё удаляется число
|
||||||
item.variable = '';
|
item.variable.splice(0, 1) ;
|
||||||
// Удаляем из списка по совпадению
|
|
||||||
const index = listOfTrips.value.indexOf(item);
|
const index = listOfTrips.value.indexOf(item);
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
listOfTrips.value.splice(index, 1);
|
listOfTrips.value.splice(index, 1);
|
||||||
}
|
}
|
||||||
clickCount.value--;
|
clickCount.value--;
|
||||||
} else {
|
} else {
|
||||||
izitoast.info({
|
//если нажимаем на ранее отмеченную клетку (не последнюю), то вывбодится ошибка
|
||||||
title: 'Информация',
|
listOfTrips.value.push(item)
|
||||||
message: "Удалять можно только последний пункт маршрута"
|
if (numbers.value[item.index].variable.at(-1) === clickCount.value-1) {
|
||||||
});
|
izitoast.error({title:'Ошибка', message:'Нельзя выбирать один и тот же aruco маркер 2 раза подряд'})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// numbers.value[item.index].variable = `${item.variable}, ${clickCount.value}`
|
||||||
|
numbers.value[item.index].variable.push(clickCount.value)
|
||||||
|
clickCount.value++;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,10 +61,12 @@ function saveResult() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function cleanResult() {
|
function cleanResult() {
|
||||||
|
clickCount.value = 1
|
||||||
numbers.value = []
|
numbers.value = []
|
||||||
|
listOfTrips.value = []
|
||||||
for (let i = 0; i < 100; i++) {
|
for (let i = 0; i < 100; i++) {
|
||||||
numbers.value.push({
|
numbers.value.push({
|
||||||
variable: '',
|
variable: [],
|
||||||
x: i % 10,
|
x: i % 10,
|
||||||
y: 9 - Math.floor(i / 10),
|
y: 9 - Math.floor(i / 10),
|
||||||
index: i
|
index: i
|
||||||
@@ -77,7 +84,7 @@ function cleanResult() {
|
|||||||
:key="index"
|
:key="index"
|
||||||
@click="setNumber(item)"
|
@click="setNumber(item)"
|
||||||
>
|
>
|
||||||
{{ item.variable }}
|
{{ numbers[index].variable.join(', ') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
|
|||||||
Reference in New Issue
Block a user