Files
crater/resources/scripts/admin/views/estimates/create/EstimateCreateBasicFields.vue
Asif Takavala 787619b907 add v-calendar
2022-04-01 10:24:56 +00:00

105 lines
2.9 KiB
Vue

<template>
<div class="md:grid-cols-12 grid-cols-1 md:gap-x-6 mt-6 mb-8 grid gap-y-5">
<BaseCustomerSelectPopup
v-model="estimateStore.newEstimate.customer"
:valid="v.customer_id"
:content-loading="isLoading"
type="estimate"
class="col-span-5 pr-0"
/>
<BaseInputGrid class="col-span-7">
<BaseInputGroup
:label="$t('reports.estimates.estimate_date')"
:content-loading="isLoading"
required
:error="v.estimate_date.$error && v.estimate_date.$errors[0].$message"
>
<BaseDatePicker
v-model="estimateStore.newEstimate.estimate_date"
:content-loading="isLoading"
:calendar-button="true"
calendar-button-icon="calendar"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('estimates.expiry_date')"
:content-loading="isLoading"
>
<BaseDatePicker
v-model="estimateStore.newEstimate.expiry_date"
:content-loading="isLoading"
:calendar-button="true"
calendar-button-icon="calendar"
:show-extra-options="true"
:source-date="estimateStore.newEstimate.estimate_date"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('estimates.estimate_number')"
:content-loading="isLoading"
required
:error="
v.estimate_number.$error && v.estimate_number.$errors[0].$message
"
>
<BaseInput
v-model="estimateStore.newEstimate.estimate_number"
:content-loading="isLoading"
>
</BaseInput>
</BaseInputGroup>
<!-- <BaseInputGroup
:label="$t('estimates.ref_number')"
:content-loading="isLoading"
:error="
v.reference_number.$error && v.reference_number.$errors[0].$message
"
>
<BaseInput
v-model="estimateStore.newEstimate.reference_number"
:content-loading="isLoading"
@input="v.reference_number.$touch()"
>
<template #left="slotProps">
<BaseIcon name="HashtagIcon" :class="slotProps.class" />
</template>
</BaseInput>
</BaseInputGroup> -->
<ExchangeRateConverter
:store="estimateStore"
store-prop="newEstimate"
:v="v"
:is-loading="isLoading"
:is-edit="isEdit"
:customer-currency="estimateStore.newEstimate.currency_id"
/>
</BaseInputGrid>
</div>
</template>
<script setup>
import { useEstimateStore } from '@/scripts/admin/stores/estimate'
import ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'
const props = defineProps({
v: {
type: Object,
default: null,
},
isLoading: {
type: Boolean,
default: false,
},
isEdit: {
type: Boolean,
default: false,
},
})
const estimateStore = useEstimateStore()
</script>