From 64479793ea35949c05a9d29a542e8c2a4556e577 Mon Sep 17 00:00:00 2001 From: ctengiz Date: Thu, 18 Apr 2024 14:43:06 +0300 Subject: [PATCH] map sheet select --- ui/src/pages/map.vue | 73 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 15 deletions(-) diff --git a/ui/src/pages/map.vue b/ui/src/pages/map.vue index efda2ca..3300789 100644 --- a/ui/src/pages/map.vue +++ b/ui/src/pages/map.vue @@ -36,22 +36,33 @@
+ + + - +
@@ -73,6 +84,10 @@ const $q = useQuasar() const ld = reactive({ companyID: null, companies: [], + + sheets: [], + bordroSheet: '', + xlsFileName: null, selectedVal: '', alreadySelectedValFields: {}, @@ -171,6 +186,9 @@ const load = function () { }) } + +let workbook = null + const loadFile = function () { const reader = new FileReader() /* @@ -181,19 +199,38 @@ const loadFile = function () { */ - $q.loading.show() + reader.onload = function (e) { const uin = new Uint8Array(e.target.result) - readXLS(uin) - $q.loading.hide() + + ld.sheets.splice(0) + workbook = read(uin) + ld.sheets.push(...workbook.SheetNames) } - reader.readAsArrayBuffer(ld.xlsFileName) + try { + $q.loading.show() + reader.readAsArrayBuffer(ld.xlsFileName) + } catch (err) { + showAxiosError(err) + } finally { + $q.loading.hide() + } } -const readXLS = function (inb) { - const workbook = read(inb) - const sheet = workbook.Sheets[workbook.SheetNames[0]] +const doProcess = function () { + try { + $q.loading.show() + processXLS() + } catch (err) { + showAxiosError(err) + } finally { + $q.loading.hide() + } +} + +const processXLS = function () { + const sheet = workbook.Sheets[ld.bordroSheet] const rawData = utils.sheet_to_json(sheet, { header: 1 }) const bordro = [] @@ -220,10 +257,16 @@ const readXLS = function (inb) { const kriter = tmpl.kriterler[k] const kriterVal = row[kriter.colNro] const map = kriter.mappings[kriterVal] - const tmpHesapKod = map[veri.fieldName] - if (tmpHesapKod) { - hesapKod = tmpHesapKod + + if ((map !== undefined) && (map !== null)) { + const tmpHesapKod = map[veri.fieldName] + if (tmpHesapKod) { + hesapKod = tmpHesapKod + } + } else { + console.log(kriter) } + }) bordroRow['Hesap'] = hesapKod