Complete migration two transactions store

This commit is contained in:
2022-02-28 13:13:21 +00:00
parent a3e12df2e2
commit bc75757ac7
5 changed files with 26 additions and 34 deletions

View File

@ -6,6 +6,7 @@ import TransactionInputRow from "../components/TransactionInputRow.vue";
import { useAccountStore } from "../stores/budget-account";
import EditAccount from "../dialogs/EditAccount.vue";
import Button from "../components/Button.vue";
import { useTransactionsStore } from "../stores/transactions";
defineProps<{
budgetid: string
@ -13,27 +14,28 @@ defineProps<{
}>()
const accounts = useAccountStore();
const transactions = useTransactionsStore();
const TargetReconcilingBalance = ref(0);
function setReconciled(event: Event) {
const target = event.target as HTMLInputElement;
accounts.SetReconciledForAllTransactions(target.checked);
transactions.SetReconciledForAllTransactions(target.checked);
}
function cancelReconcilation() {
accounts.SetReconciledForAllTransactions(false);
accounts.Reconciling = false;
transactions.SetReconciledForAllTransactions(false);
transactions.Reconciling = false;
}
function submitReconcilation() {
accounts.SubmitReconcilation(0);
accounts.Reconciling = false;
transactions.SubmitReconcilation(0);
transactions.Reconciling = false;
}
function createReconcilationTransaction() {
const diff = TargetReconcilingBalance.value - accounts.ReconcilingBalance;
accounts.SubmitReconcilation(diff);
accounts.Reconciling = false;
const diff = TargetReconcilingBalance.value - transactions.ReconcilingBalance;
transactions.SubmitReconcilation(diff);
transactions.Reconciling = false;
}
</script>
@ -57,25 +59,25 @@ function createReconcilationTransaction() {
<span
class="border-2 border-blue-500 rounded-lg bg-blue-500 ml-2 p-1"
v-if="!accounts.Reconciling"
@click="accounts.Reconciling = true"
v-if="!transactions.Reconciling"
@click="transactions.Reconciling = true"
>
Reconciled:
<Currency :value="accounts.CurrentAccount?.ReconciledBalance" />
</span>
</div>
<span v-if="accounts.Reconciling" class="border-2 block bg-gray-200 rounded-lg p-2">
<span v-if="transactions.Reconciling" class="border-2 block bg-gray-200 rounded-lg p-2">
Is
<Currency :value="accounts.ReconcilingBalance" />your current balance?
<Currency :value="transactions.ReconcilingBalance" />your current balance?
<Button class="bg-blue-500 mx-3" @click="submitReconcilation">Yes!</Button>
<br />No, it's:
<input class="text-right" type="number" v-model="TargetReconcilingBalance" />
Difference:
<Currency :value="accounts.ReconcilingBalance - TargetReconcilingBalance" />
<Currency :value="transactions.ReconcilingBalance - TargetReconcilingBalance" />
<Button
class="bg-orange-500 mx-3"
v-if="Math.abs(accounts.ReconcilingBalance - TargetReconcilingBalance) > 0.01"
v-if="Math.abs(transactions.ReconcilingBalance - TargetReconcilingBalance) > 0.01"
@click="createReconcilationTransaction"
>Create reconciling Transaction</Button>
<Button class="bg-red-500 mx-3" @click="cancelReconcilation">Cancel</Button>
@ -91,13 +93,13 @@ function createReconcilationTransaction() {
<td class="text-right">Amount</td>
<td style="width: 20px;"></td>
<td style="width: 40px;"></td>
<td style="width: 20px;" v-if="accounts.Reconciling">
<td style="width: 20px;" v-if="transactions.Reconciling">
<input type="checkbox" @input="setReconciled" />
</td>
</tr>
<TransactionInputRow :budgetid="budgetid" :accountid="accountid" />
<TransactionRow
v-for="(transaction, index) in accounts.TransactionsList"
v-for="(transaction, index) in transactions.TransactionsList"
:key="transaction.ID"
:transaction="transaction"
:index="index"