support showing transaction detail dialog / page

This commit is contained in:
MaysWind
2025-08-10 14:51:27 +08:00
parent eadcf7768f
commit 55bf8b9e30
3 changed files with 9 additions and 10 deletions
+1 -6
View File
@@ -556,8 +556,7 @@
</div>
</td>
</tr>
<tr class="transaction-table-row-data text-sm"
:class="{ 'cursor-pointer': transaction.type !== TransactionType.ModifyBalance }"
<tr class="transaction-table-row-data text-sm cursor-pointer"
@click="show(transaction)">
<td class="transaction-table-column-time">
<div class="d-flex flex-column">
@@ -1653,10 +1652,6 @@ function exportTransactions(fileExtension: string): void {
}
function show(transaction: Transaction): void {
if (transaction.type === TransactionType.ModifyBalance) {
return;
}
editDialog.value?.open({
id: transaction.id,
currentTransaction: transaction
+7 -3
View File
@@ -3,7 +3,7 @@
<f7-navbar>
<f7-nav-left :back-link="tt('Back')"></f7-nav-left>
<f7-nav-title :title="tt(title)"></f7-nav-title>
<f7-nav-right>
<f7-nav-right v-if="mode !== TransactionEditPageMode.View || transaction.type !== TransactionType.ModifyBalance">
<f7-link icon-f7="ellipsis" @click="showMoreActionSheet = true"></f7-link>
<f7-link :class="{ 'disabled': inputIsEmpty || submitting }" :text="tt(saveButtonTitle)" @click="save" v-if="mode !== TransactionEditPageMode.View"></f7-link>
</f7-nav-right>
@@ -34,7 +34,7 @@
class="transaction-edit-amount ebk-large-amount"
header="Expense Amount" title="0.00">
</f7-list-item>
<f7-list-item class="list-item-with-header-and-title list-item-title-hide-overflow" header="Category" title="Category Names"></f7-list-item>
<f7-list-item class="list-item-with-header-and-title list-item-title-hide-overflow" header="Category" title="Category Names" v-if="transaction.type !== TransactionType.ModifyBalance"></f7-list-item>
<f7-list-item class="list-item-with-header-and-title" header="Account" title="Account Name"></f7-list-item>
<f7-list-item class="list-item-with-header-and-title" header="Transaction Time" title="YYYY/MM/DD HH:mm:ss" v-if="pageTypeAndMode?.type === TransactionEditPageType.Transaction"></f7-list-item>
<f7-list-item class="list-item-with-header-and-title" header="Scheduled Transaction Frequency" title="Every XXXXX" v-if="pageTypeAndMode?.type === TransactionEditPageType.Template && transaction instanceof TransactionTemplate && transaction.templateType === TemplateType.Schedule.type"></f7-list-item>
@@ -452,7 +452,7 @@
<f7-actions-group v-if="pageTypeAndMode?.type === TransactionEditPageType.Transaction && (mode === TransactionEditPageMode.Add || mode === TransactionEditPageMode.Edit) && isTransactionPicturesEnabled() && !showTransactionPictures">
<f7-actions-button @click="showTransactionPictures = true">{{ tt('Add Picture') }}</f7-actions-button>
</f7-actions-group>
<f7-actions-group v-if="pageTypeAndMode?.type === TransactionEditPageType.Transaction && mode === TransactionEditPageMode.View">
<f7-actions-group v-if="pageTypeAndMode?.type === TransactionEditPageType.Transaction && mode === TransactionEditPageMode.View && transaction.type !== TransactionType.ModifyBalance">
<f7-actions-button @click="duplicate(false, false)">{{ tt('Duplicate') }}</f7-actions-button>
<f7-actions-button @click="duplicate(true, false)">{{ tt('Duplicate (With Time)') }}</f7-actions-button>
<f7-actions-button @click="duplicate(false, true)" v-if="transaction.geoLocation">{{ tt('Duplicate (With Geographic Location)') }}</f7-actions-button>
@@ -881,6 +881,10 @@ function init(): void {
queryType >= TransactionType.Income &&
queryType <= TransactionType.Transfer) {
transaction.value.type = queryType;
} else if (queryType === TransactionType.ModifyBalance &&
pageTypeAndMode.type === TransactionEditPageType.Transaction &&
mode.value === TransactionEditPageMode.View) {
transaction.value.type = queryType;
}
if (mode.value === TransactionEditPageMode.Add) {
+1 -1
View File
@@ -215,7 +215,7 @@
<f7-list-item swipeout chevron-center accordion-item
class="transaction-info"
:id="getTransactionDomId(transaction)"
:link="transaction.type !== TransactionType.ModifyBalance ? `/transaction/detail?id=${transaction.id}&type=${transaction.type}` : null"
:link="`/transaction/detail?id=${transaction.id}&type=${transaction.type}`"
:key="transaction.id"
v-for="(transaction, idx) in transactionMonthList.items"
>