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