Use type instead of isAccount flag
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -6,23 +6,26 @@ import { useBudgetsStore } from "../stores/budget";
|
||||
export interface Suggestion {
|
||||
ID: string
|
||||
Name: string
|
||||
Type: string
|
||||
}
|
||||
|
||||
const props = defineProps<{
|
||||
text: String,
|
||||
id: String | undefined,
|
||||
model: String
|
||||
model: String,
|
||||
type?: string | undefined,
|
||||
}>();
|
||||
|
||||
const SearchQuery = ref(props.text || "");
|
||||
const Suggestions = ref<Array<Suggestion>>([]);
|
||||
const emit = defineEmits(["update:id", "update:text"]);
|
||||
const emit = defineEmits(["update:id", "update:text", "update:type"]);
|
||||
watch(SearchQuery, () => {
|
||||
load(SearchQuery.value);
|
||||
});
|
||||
function load(text: String) {
|
||||
emit('update:id', null);
|
||||
emit('update:text', text);
|
||||
emit('update:type', undefined);
|
||||
if (text == "") {
|
||||
Suggestions.value = [];
|
||||
return;
|
||||
@ -53,6 +56,7 @@ function keypress(e: KeyboardEvent) {
|
||||
function selectElement(element: Suggestion) {
|
||||
emit('update:id', element.ID);
|
||||
emit('update:text', element.Name);
|
||||
emit('update:type', element.Type);
|
||||
Suggestions.value = [];
|
||||
};
|
||||
function select(e: MouseEvent) {
|
||||
@ -67,6 +71,7 @@ function select(e: MouseEvent) {
|
||||
function clear() {
|
||||
emit('update:id', null);
|
||||
emit('update:text', SearchQuery.value);
|
||||
emit('update:type', undefined);
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import { computed } from "vue";
|
||||
import { computed, ref } from "vue";
|
||||
import Autocomplete from './Autocomplete.vue'
|
||||
import { useAccountStore } from '../stores/budget-account'
|
||||
import DateInput from "./DateInput.vue";
|
||||
@ -10,12 +10,14 @@ const props = defineProps<{
|
||||
|
||||
const accountStore = useAccountStore();
|
||||
const TX = accountStore.Transactions.get(props.transactionid)!;
|
||||
const payeeType = ref<string|undefined>(undefined);
|
||||
|
||||
const payload = computed(() => JSON.stringify({
|
||||
date: TX.Date.toISOString().split("T")[0],
|
||||
payee: {
|
||||
Name: TX.Payee,
|
||||
ID: TX.PayeeID,
|
||||
Type: payeeType.value,
|
||||
},
|
||||
categoryId: TX.CategoryID,
|
||||
memo: TX.Memo,
|
||||
@ -36,7 +38,7 @@ function saveTransaction(e: MouseEvent) {
|
||||
<DateInput class="border-b-2 border-black" v-model="TX.Date" />
|
||||
</td>
|
||||
<td style="max-width: 150px;">
|
||||
<Autocomplete v-model:text="TX.Payee" v-model:id="TX.PayeeID" model="payees" />
|
||||
<Autocomplete v-model:text="TX.Payee" v-model:id="TX.PayeeID" v-model:type="payeeType" model="payees" />
|
||||
</td>
|
||||
<td style="max-width: 200px;">
|
||||
<Autocomplete v-model:text="TX.Category" v-model:id="TX.CategoryID" model="categories" />
|
||||
|
@ -24,6 +24,8 @@ const TX = ref<Transaction>({
|
||||
TransferAccount: "",
|
||||
});
|
||||
|
||||
const payeeType = ref<string|undefined>(undefined);
|
||||
|
||||
const payload = computed(() => JSON.stringify({
|
||||
budgetId: props.budgetid,
|
||||
accountId: props.accountid,
|
||||
@ -31,6 +33,7 @@ const payload = computed(() => JSON.stringify({
|
||||
payee: {
|
||||
Name: TX.value.Payee,
|
||||
ID: TX.value.PayeeID,
|
||||
Type: payeeType.value,
|
||||
},
|
||||
categoryId: TX.value.CategoryID,
|
||||
memo: TX.value.Memo,
|
||||
@ -51,7 +54,7 @@ function saveTransaction(e: MouseEvent) {
|
||||
<DateInput class="border-b-2 border-black" v-model="TX.Date" />
|
||||
</td>
|
||||
<td style="max-width: 150px;">
|
||||
<Autocomplete v-model:text="TX.Payee" v-model:id="TX.PayeeID" model="payees" />
|
||||
<Autocomplete v-model:text="TX.Payee" v-model:id="TX.PayeeID" v-model:type="payeeType" model="payees" />
|
||||
</td>
|
||||
<td style="max-width: 200px;">
|
||||
<Autocomplete v-model:text="TX.Category" v-model:id="TX.CategoryID" model="categories" />
|
||||
|
Reference in New Issue
Block a user