From 82470fcda5ebd466cce3f533986136094f106367 Mon Sep 17 00:00:00 2001 From: Net Date: Tue, 27 Aug 2024 16:17:41 +0700 Subject: [PATCH] refactor: currentFileSelected --- src/components/upload-file/UploadFile.vue | 45 ++++++++++++++++------- 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/src/components/upload-file/UploadFile.vue b/src/components/upload-file/UploadFile.vue index c063ee16..75fa09a2 100644 --- a/src/components/upload-file/UploadFile.vue +++ b/src/components/upload-file/UploadFile.vue @@ -4,7 +4,7 @@ import { SaveButton, UndoButton } from 'components/button'; import { VuePDF, usePDF } from '@tato30/vue-pdf'; -const groupSelected = defineModel('selected'); +const currentFileSelected = ref(''); const file = defineModel< { group?: string; @@ -25,12 +25,12 @@ const currentIndexDropdownList = ref(0); const props = withDefaults( defineProps<{ - tree?: { label: string; children: { label: string }[] }[]; - dropdownList?: string[]; + treeFile: { lable: string; file: { lable: string }[] }[]; + dropdownList?: { label: string; value: string }[]; hideAction?: boolean; }>(), { - tree: () => [], + treeFile: () => [], }, ); @@ -61,24 +61,34 @@ function change(e: Event) { if (_file && file.value[currentIndex.value]) { file.value[currentIndex.value].file = _file; + file.value[currentIndex.value].group = + props.dropdownList?.[currentIndexDropdownList.value].value; } else { file.value.push({ - group: props.dropdownList?.[currentIndexDropdownList.value], + group: props.dropdownList?.[currentIndexDropdownList.value].value, file: _file, }); } emit( 'sendOcr', - props.dropdownList?.[currentIndexDropdownList.value] || '', + props.dropdownList?.[currentIndexDropdownList.value].value || '', inputFile?.files?.[0], ); } } +watch(currentFileSelected, () => { + file.value.findIndex((v, i) => { + if (v.url?.includes(currentFileSelected.value)) { + currentIndex.value = i; + } + }); +}); + const emit = defineEmits<{ (e: 'sendOcr', dropdown: string, file?: File): void; - (e: 'save', file?: File): void; + (e: 'save', เgroup: string, file?: File): void; }>(); const { pdf, pages } = usePDF(computed(() => currentFile.value?.url)); @@ -89,7 +99,7 @@ const { pdf, pages } = usePDF(computed(() => currentFile.value?.url));
- + currentFile.value?.url)); " > - {{ v }} + {{ $t(v.label) }} @@ -110,10 +120,12 @@ const { pdf, pages } = usePDF(computed(() => currentFile.value?.url));
@@ -183,6 +195,7 @@ const { pdf, pages } = usePDF(computed(() => currentFile.value?.url)); :page="page" :scale="scale" /> +
@@ -199,7 +212,13 @@ const { pdf, pages } = usePDF(computed(() => currentFile.value?.url));