+ |
+
+
+ {{ r.colNro }}
+
+ |
{{ r.fieldName }} |
{
- console.log(event.target.result)
- });
- reader.readAsDataURL(ld.xlsFile);
-
- */
reader.onload = function (e) {
const uin = new Uint8Array(e.target.result)
@@ -413,6 +455,9 @@ const processXLS = function () {
colType: '',
ba: 'B',
showInSlip: false,
+ combinedFields: [],
+ combinedFieldsNro: [],
+ formula: '',
})
}
}
@@ -429,10 +474,13 @@ const processXLS = function () {
tmpl.alanlar.push({
colNro: ndx,
- fieldName: name,
- showInSlip: false,
+ fieldName: name.trim(),
colType: '',
ba: 'B',
+ showInSlip: false,
+ combinedFields: [],
+ combinedFieldsNro: [],
+ formula: '',
})
lastCol = ndx
@@ -455,6 +503,9 @@ const fillCriteria = function () {
tmpl.kriterler[f.fieldName] = {
colNro: f.colNro,
+ combinedFields: [...(f.combinedFields || [])],
+ combinedFieldsNro: [...(f.combinedFieldsNro || [])],
+
valFields: [],
/*
[
@@ -478,10 +529,29 @@ const fillCriteria = function () {
const kval = row[tmpl.kontrolKolonu]
if ((kval !== null) && (kval !== undefined) && (kval !== '')) {
Object.keys(tmpl.kriterler).forEach(k => {
- const kriterVal = row[tmpl.kriterler[k].colNro]
+
+ let kriterVal = ''
+ if (tmpl.kriterler[k].colNro >= 0) {
+ // sabit kriter alanı
+ kriterVal = row[tmpl.kriterler[k].colNro]
+ } else {
+ // birleştirilmiş / combine kriter alanı
+ const tmpValues = []
+ tmpl.kriterler[k].combinedFieldsNro.forEach(cf => {
+ let tmpKriterVal = row[cf]
+ if ((tmpKriterVal === null ) || (tmpKriterVal === undefined)) {
+ tmpKriterVal = ''
+ }
+ tmpValues.push(tmpKriterVal)
+ })
+
+ kriterVal = tmpValues.join(' ').trim()
+ }
+
if ((kriterVal !== null) && (kriterVal !== undefined) && (kriterVal !== '')) {
tmpl.kriterler[k].mappings[kriterVal] = {}
}
+
})
}
}
@@ -512,6 +582,46 @@ const delMapping = function (k, valField) {
})
}
+const fieldOptions = computed(() => {
+ const ls = tmpl.alanlar.filter(f => {return f.colNro >= 0})
+ const opts = []
+ ls.forEach(f => {
+ opts.push({ colNro: f.colNro, fieldName: f.fieldName })
+ })
+ return opts
+})
+
+const addCombinedField = function () {
+ ld.isDirty = true
+
+ const combinedFields = []
+ const combinedFieldsNro = []
+
+ ld.combinedFields.forEach(f => {
+ combinedFields.push(f.fieldName)
+ combinedFieldsNro.push(f.colNro)
+ })
+ const fName = combinedFields.join(' : ')
+
+ tmpl.alanlar.push({
+ colNro: -1,
+ fieldName: fName,
+ colType: '',
+ ba: 'B',
+ showInSlip: false,
+ combinedFields: [...combinedFields],
+ combinedFieldsNro: [...combinedFieldsNro],
+ formula: '',
+ })
+
+ ld.combinedFields.splice(0)
+}
+
+const delCombinedField = function (ndx) {
+ ld.isDirty = true
+ tmpl.alanlar.splice(ndx, 1)
+}
+
|