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() { function browse() {
inputFile.files = null;
inputFile?.click(); inputFile?.click();
} }

View file

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