fix: unable to upload duplicate QR code.

This commit is contained in:
Thanaphon Frappet 2024-12-10 14:36:09 +07:00
parent 42585c859c
commit e83cc76a4f
2 changed files with 34 additions and 13 deletions

View file

@ -48,6 +48,7 @@ reader.addEventListener('load', () => {
});
function browse() {
inputFile.files = null;
inputFile?.click();
}

View file

@ -148,10 +148,10 @@ const currentAttachmentList = ref<
const statusQrCodeFile = ref<File | undefined>(undefined);
const statusQrCodeUrl = ref<string>('');
const statusDeletsQrCode = ref<boolean>(false);
const statusDeletesQrCode = ref<boolean>(false);
const deletsStatusQrCodeImag = ref(false);
const deletsStatusQrCodeBankImag = ref<number[]>([]);
const deletesStatusQrCodeImag = ref(false);
const deletesStatusQrCodeBankImag = ref<number[]>([]);
const currentIndexQrCodeBank = ref<number>(-1);
const refQrCodeUpload = ref();
const refImageUpload = ref();
@ -473,6 +473,8 @@ async function fetchBranchById(id: string) {
function clearData() {
formData.value = structuredClone(defaultFormData);
deletesStatusQrCodeImag.value = false;
deletesStatusQrCodeBankImag.value = [];
imageUrl.value = '';
qrCodeimageUrl.value = '';
currentEdit.value = {
@ -516,6 +518,7 @@ watch(modal, () => {
watch(modalDrawer, () => {
if (!modalDrawer.value) {
console.log('asdasd');
clearData();
}
});
@ -654,23 +657,24 @@ async function triggerDelete(id: string) {
function triggerEditQrCodeLine(opts?: { save?: boolean }) {
if (opts?.save === undefined) {
qrCodeDialog.value = true;
statusDeletsQrCode.value = false;
deletsStatusQrCodeImag.value = false;
statusDeletesQrCode.value = false;
deletesStatusQrCodeImag.value = false;
statusQrCodeUrl.value = qrCodeimageUrl.value;
} else {
qrCodeimageUrl.value = statusQrCodeUrl.value;
qrCodeFile.value = statusQrCodeFile.value;
deletsStatusQrCodeImag.value = statusDeletsQrCode.value;
deletesStatusQrCodeImag.value = statusDeletesQrCode.value;
statusDeletesQrCode.value = false;
}
}
function triggerEditQrCodeBank(opts?: { save?: boolean }) {
if (opts?.save === undefined) {
qrCodeDialog.value = true;
statusDeletsQrCode.value = false;
statusDeletesQrCode.value = false;
statusQrCodeUrl.value =
formBankBook.value[currentIndexQrCodeBank.value].bankUrl || '';
statusDeletsQrCode.value = false;
statusDeletesQrCode.value = false;
} else {
formBankBook.value[currentIndexQrCodeBank.value].bankUrl =
statusQrCodeUrl.value;
@ -678,10 +682,19 @@ function triggerEditQrCodeBank(opts?: { save?: boolean }) {
formBankBook.value[currentIndexQrCodeBank.value].bankQr =
statusQrCodeFile.value;
if (statusDeletsQrCode.value) {
deletsStatusQrCodeBankImag.value.push(currentIndexQrCodeBank.value);
if (statusDeletesQrCode.value === true) {
deletesStatusQrCodeBankImag.value.push(currentIndexQrCodeBank.value);
}
if (statusDeletesQrCode.value === false) {
deletesStatusQrCodeBankImag.value =
deletesStatusQrCodeBankImag.value.filter(
(item) => item !== currentIndexQrCodeBank.value,
);
}
console.log(deletesStatusQrCodeBankImag.value);
currentIndexQrCodeBank.value = -1;
statusDeletesQrCode.value = false;
}
}
@ -736,6 +749,11 @@ async function onSubmit(submitSelectedItem?: boolean) {
if (formType.value === 'edit' || submitSelectedItem) {
delete formData.value['code'];
console.log(
deletesStatusQrCodeImag.value,
deletesStatusQrCodeBankImag.value,
);
const res = await branchStore.editById(
currentEdit.value.id,
{
@ -745,8 +763,8 @@ async function onSubmit(submitSelectedItem?: boolean) {
qrCodeFile.value,
formBankBook.value,
{
deleteQrCodeImage: deletsStatusQrCodeImag.value,
indexDeleteQrCodeBank: deletsStatusQrCodeBankImag.value,
deleteQrCodeImage: deletesStatusQrCodeImag.value,
indexDeleteQrCodeBank: deletesStatusQrCodeBankImag.value,
},
);
@ -2355,6 +2373,7 @@ watch(currentHq, () => {
"
@edit-qr="
(i) => {
console.log(i);
currentIndexQrCodeBank = i;
refQrCodeUpload.browse();
}
@ -2558,6 +2577,7 @@ watch(currentHq, () => {
v-model:image-url="statusQrCodeUrl"
@save="
(_file) => {
console.log(currentIndexQrCodeBank);
qrCodeDialog = false;
if (currentIndexQrCodeBank === -1) {
triggerEditQrCodeLine({ save: true });
@ -2567,7 +2587,7 @@ watch(currentHq, () => {
}
}
"
@clear="statusDeletsQrCode = true"
@clear="statusDeletesQrCode = true"
clearButton
>
<template #error>