|
- <template>
- <div class="page">
- <h2>Estimates</h2>
-
- <section class="form inputs">
- <h3>Default Fees</h3>
-
- <div
- v-for="(fee, indx) in fees"
- :key="fee.name + indx" class="fee"
- >
- <label @click="() => edit = fee">
- ${{fee.amount/100}}{{ fee.perc ? ` ${fee.perc}%` : ''}} - {{fee.name}}<br>
- {{fee.type}}
- </label>
- <img width="21" height="21" src="/assets/image/icon/x-red.svg"
- @click="() => remove(indx, 1)">
- </div>
- <button @click="() => edit = {}">New Fee</button>
- </section>
-
- <fee-dialog v-if="edit"
- :heading="'Fee'"
- :initial="edit"
- :price="0"
- @close="() => edit = null"
- @save="newFee"
- />
-
-
-
- <section class="inputs">
- <h3>Saved Estimates</h3>
-
- </section>
-
- </div>
- </template>
-
- <script setup>
- import { ref, computed, onMounted } from 'vue'
- import FeeDialog from "./fee-dialog.vue"
-
- const props = defineProps(['user', 'fees'])
- let edit = ref(null)
-
- function newFee(fee, isDebit) {
- this.edit = null
- }
-
- function newType() {
-
- }
-
- function remove() {
-
- }
-
- function getEstimates() {
- const token = getCookie("skouter")
-
- return fetch(`/api/estimates`,
- {method: 'GET',
- headers: {
- "Accept": "application/json",
- "Authorization": `Bearer ${token}`,
- },
- }).then(response => {
- if (response.ok) { return response.json() }
- }).then (result => {
- if (!result || !result.length) return // Exit if token is invalid or no fees are saved
- this.fees = result
- })
-
- }
-
- onMounted(() => {
- // getEstimates()
- })
- </script>
|