mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-11-03 14:03:18 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			103 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.8 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"
 | 
						|
        />
 | 
						|
      </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>
 |