map sheet select

This commit is contained in:
ctengiz
2024-04-18 14:43:06 +03:00
parent 706529f11d
commit 64479793ea

View File

@@ -36,22 +36,33 @@
<div class="row q-gutter-y-sm q-col-gutter-md">
<q-file
dense
class="col-12"
class="col"
v-model="ld.xlsFileName"
label="Bordro Dosyası"
clearable
@update:modelValue="loadFile"
/>
<q-select
class="col"
v-model="ld.bordroSheet"
:options="ld.sheets"
label="Bordro Sayfası"
dense
:disable="!ld.xlsFileName"
>
<template v-slot:after>
<q-btn
outline
color="pcolor1"
label="Bordro Fişi Oluştur"
no-caps
@click="loadFile"
:disable="!ld.xlsFileName"
no-caps
@click="doProcess"
:disable="!ld.bordroSheet"
/>
</template>
</q-file>
</q-select>
</div>
</q-card-section>
</q-card>
@@ -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