|
1 | 1 | <template>
|
2 | 2 | <form @submit.stop.prevent="salvarMovimentacao()">
|
3 |
| - <select v-model="novaMovimentacao.tipo"> |
4 |
| - <option>Selecione uma conta</option> |
| 3 | + <select required v-model="novaMovimentacao.tipo"> |
| 4 | + <option :value="null">Selecione um tipo</option> |
5 | 5 | <option v-for="tipo in mState.store.tiposMovimentacao" :key="tipo.id" :value="tipo">
|
6 | 6 | {{ tipo.descricao }}
|
7 |
| - </option> |
8 |
| - </select> |
9 |
| - <input placeholder="valor" /> |
| 7 | + </option></select |
| 8 | + ><br /> |
| 9 | + <select required v-model="novaMovimentacao.conta"> |
| 10 | + <option :value="null">Selecione uma conta</option> |
| 11 | + <option v-for="conta in cState.store.contas" :key="conta.id" :value="conta"> |
| 12 | + {{ conta.descricao }} |
| 13 | + </option></select |
| 14 | + ><br /> |
| 15 | + <input required placeholder="descrição" v-model="novaMovimentacao.descricao" /><br /> |
| 16 | + <input required placeholder="valor" v-model="novaMovimentacao.valor" /> |
10 | 17 | <button type="submit">salvar</button>
|
11 | 18 | </form>
|
12 | 19 | </template>
|
13 | 20 | <script setup>
|
14 | 21 | import { useMovimentacaoStore } from '@/stores/movimentacaoStore'
|
15 |
| -import { reactive } from 'vue' |
| 22 | +import { onMounted, reactive } from 'vue' |
| 23 | +import { useContaStore } from '@/stores/contaStore' |
16 | 24 |
|
17 | 25 | const mState = useMovimentacaoStore()
|
| 26 | +const cState = useContaStore() |
18 | 27 |
|
19 | 28 | const novaMovimentacao = reactive({
|
20 |
| - tipo: { id: 2, descricao: 'SAIDA' } |
| 29 | + tipo: null, |
| 30 | + conta: null, |
| 31 | + descricao: '', |
| 32 | + valor: 0 |
21 | 33 | })
|
22 | 34 |
|
23 |
| -const salvarMovimentacao = async () => {} |
| 35 | +const salvarMovimentacao = async () => { |
| 36 | + await mState.salvarMovimentacao({ |
| 37 | + descricao: novaMovimentacao.descricao, |
| 38 | + valor: novaMovimentacao.valor, |
| 39 | + conta_id: novaMovimentacao.conta?.id, |
| 40 | + tipo_conta_id: novaMovimentacao?.tipo.id |
| 41 | + }) |
| 42 | + await cState.sincronizarContas() |
| 43 | + await mState.sincronizarMovimentacoes() |
| 44 | +} |
| 45 | +
|
| 46 | +onMounted(async () => { |
| 47 | + await cState.sincronizarContas() |
| 48 | + await mState.sincronizarMovimentacoes() |
| 49 | +}) |
24 | 50 | </script>
|
25 | 51 | <style scoped></style>
|
0 commit comments