map sheet select

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

View File

@@ -36,10 +36,21 @@
<div class="row q-gutter-y-sm q-col-gutter-md"> <div class="row q-gutter-y-sm q-col-gutter-md">
<q-file <q-file
dense dense
class="col-12" class="col"
v-model="ld.xlsFileName" v-model="ld.xlsFileName"
label="Bordro Dosyası" label="Bordro Dosyası"
clearable 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> <template v-slot:after>
<q-btn <q-btn
@@ -47,11 +58,11 @@
color="pcolor1" color="pcolor1"
label="Bordro Fişi Oluştur" label="Bordro Fişi Oluştur"
no-caps no-caps
@click="loadFile" @click="doProcess"
:disable="!ld.xlsFileName" :disable="!ld.bordroSheet"
/> />
</template> </template>
</q-file> </q-select>
</div> </div>
</q-card-section> </q-card-section>
</q-card> </q-card>
@@ -73,6 +84,10 @@ const $q = useQuasar()
const ld = reactive({ const ld = reactive({
companyID: null, companyID: null,
companies: [], companies: [],
sheets: [],
bordroSheet: '',
xlsFileName: null, xlsFileName: null,
selectedVal: '', selectedVal: '',
alreadySelectedValFields: {}, alreadySelectedValFields: {},
@@ -171,6 +186,9 @@ const load = function () {
}) })
} }
let workbook = null
const loadFile = function () { const loadFile = function () {
const reader = new FileReader() const reader = new FileReader()
/* /*
@@ -181,19 +199,38 @@ const loadFile = function () {
*/ */
$q.loading.show()
reader.onload = function (e) { reader.onload = function (e) {
const uin = new Uint8Array(e.target.result) const uin = new Uint8Array(e.target.result)
readXLS(uin)
ld.sheets.splice(0)
workbook = read(uin)
ld.sheets.push(...workbook.SheetNames)
}
try {
$q.loading.show()
reader.readAsArrayBuffer(ld.xlsFileName)
} catch (err) {
showAxiosError(err)
} finally {
$q.loading.hide() $q.loading.hide()
} }
reader.readAsArrayBuffer(ld.xlsFileName)
} }
const readXLS = function (inb) { const doProcess = function () {
const workbook = read(inb) try {
const sheet = workbook.Sheets[workbook.SheetNames[0]] $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 rawData = utils.sheet_to_json(sheet, { header: 1 })
const bordro = [] const bordro = []
@@ -220,10 +257,16 @@ const readXLS = function (inb) {
const kriter = tmpl.kriterler[k] const kriter = tmpl.kriterler[k]
const kriterVal = row[kriter.colNro] const kriterVal = row[kriter.colNro]
const map = kriter.mappings[kriterVal] const map = kriter.mappings[kriterVal]
if ((map !== undefined) && (map !== null)) {
const tmpHesapKod = map[veri.fieldName] const tmpHesapKod = map[veri.fieldName]
if (tmpHesapKod) { if (tmpHesapKod) {
hesapKod = tmpHesapKod hesapKod = tmpHesapKod
} }
} else {
console.log(kriter)
}
}) })
bordroRow['Hesap'] = hesapKod bordroRow['Hesap'] = hesapKod