Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -240,13 +240,13 @@
|
||||
|
||||
<!-- Detay tablosu -->
|
||||
<q-tr
|
||||
v-if="props.row._type === 'data' && expandedRows[props.row.belge_no]"
|
||||
v-if="props.row._type === 'data' && expandedRows[getRowExpandKey(props.row)]"
|
||||
class="sub-row"
|
||||
>
|
||||
<q-td colspan="100%">
|
||||
<q-table
|
||||
:rows="detailStore.getDetailsByBelge(props.row.belge_no)"
|
||||
:columns="detailColumns(props.row.belge_no)"
|
||||
:rows="detailStore.getDetailsByRowKey(getRowExpandKey(props.row))"
|
||||
:columns="detailColumns(getRowExpandKey(props.row))"
|
||||
row-key="Urun_Kodu"
|
||||
flat
|
||||
dense
|
||||
@@ -387,8 +387,8 @@ function buildColumns(data) {
|
||||
|
||||
const columns = computed(() => buildColumns(statementheaderStore.headers))
|
||||
|
||||
function detailColumns(belgeNo) {
|
||||
const details = detailStore.getDetailsByBelge(belgeNo)
|
||||
function detailColumns(rowOrBelgeNo) {
|
||||
const details = detailStore.getDetailsByRowKey(rowOrBelgeNo)
|
||||
return buildColumns(details)
|
||||
}
|
||||
|
||||
@@ -417,33 +417,57 @@ async function onFilterClick() {
|
||||
excludeopening: excludeOpening.value
|
||||
})
|
||||
|
||||
await detailStore.loadDetails({
|
||||
accountCode: selectedCari.value,
|
||||
startDate: dateFrom.value,
|
||||
endDate: dateTo.value,
|
||||
parislemler: selectedMonType.value
|
||||
})
|
||||
}
|
||||
|
||||
/* Grup satırları için özel rowKey */
|
||||
const rowKeyFn = (row) =>
|
||||
row._type === 'group' ? `grp-${row.para_birimi}` : row.belge_no
|
||||
row._type === 'group' ? `grp-${row.para_birimi}` : getRowExpandKey(row)
|
||||
|
||||
function getRowExpandKey (row) {
|
||||
return [
|
||||
String(row?.belge_no || '').trim(),
|
||||
String(row?.belge_tarihi || '').trim(),
|
||||
String(row?.para_birimi || '').trim(),
|
||||
String(row?.islem_tipi || '').trim(),
|
||||
String(row?.cari_kod || '').trim()
|
||||
].join('|')
|
||||
}
|
||||
|
||||
/* Detay açma sadece expand kontrolü */
|
||||
function toggleRowDetails(row) {
|
||||
async function toggleRowDetails(row) {
|
||||
if (row._type === 'group') return
|
||||
expandedRows.value[row.belge_no] = !expandedRows.value[row.belge_no]
|
||||
const key = getRowExpandKey(row)
|
||||
const next = !expandedRows.value[key]
|
||||
expandedRows.value[key] = next
|
||||
|
||||
if (!next) return
|
||||
if (!row?.belge_no || String(row.belge_no).trim() === 'Baslangic_devir') return
|
||||
if (detailStore.hasDetailsByRowKey(key)) return
|
||||
|
||||
await detailStore.loadDetails({
|
||||
accountCode: selectedCari.value,
|
||||
belgeNo: row.belge_no,
|
||||
rowKey: key
|
||||
})
|
||||
}
|
||||
|
||||
/* Tüm detayları aç/kapat */
|
||||
function toggleAllDetails() {
|
||||
async function toggleAllDetails() {
|
||||
allDetailsOpen.value = !allDetailsOpen.value
|
||||
if (allDetailsOpen.value) {
|
||||
const dataRows = []
|
||||
for (const row of statementheaderStore.headers) {
|
||||
if (row.belge_no) {
|
||||
expandedRows.value[row.belge_no] = true
|
||||
const key = getRowExpandKey(row)
|
||||
expandedRows.value[key] = true
|
||||
dataRows.push(row)
|
||||
}
|
||||
}
|
||||
await detailStore.preloadForRows({
|
||||
accountCode: selectedCari.value,
|
||||
rows: dataRows,
|
||||
getRowKey: getRowExpandKey
|
||||
})
|
||||
} else {
|
||||
expandedRows.value = {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user