Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-03-06 12:13:30 +03:00
parent ffa8b30b81
commit 46f4d15ac7
5 changed files with 138 additions and 119 deletions

View File

@@ -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 = {}
}