39 lines
1.7 KiB
Vue
39 lines
1.7 KiB
Vue
<template>
|
|
<MobileDetailSheet v-model:visible="visibleProxy" :item="item" :title="sheetTitle">
|
|
<template #default="{ item: row }">
|
|
<MobileSheetHeader :title="sheetTitle" :show-title="isMobile" />
|
|
|
|
<MobileInfoGrid>
|
|
<MobileDetailRow label="نام مشتری" :value="row.customer_to?.name || '-'" />
|
|
<MobileDetailRow label="زمان ثبت" :value="row.created_at ? toJalali(row.created_at) : '-'" />
|
|
<MobileDetailRow label="نقد (ریال)" :value="usePrice(row.cash ?? 0, true, '')" />
|
|
<MobileDetailRow :label="metalLabel.goldUnit()" :value="`${row.gold ?? 0}`" />
|
|
<MobileDetailRow label="توضیحات" full-width :value="row.note || '-'" />
|
|
</MobileInfoGrid>
|
|
</template>
|
|
</MobileDetailSheet>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import type { TotalAccounting } from '@/model/accounting'
|
|
import MobileDetailRow from '@/components/mobile/MobileDetailRow.vue'
|
|
import MobileDetailSheet from '@/components/mobile/MobileDetailSheet.vue'
|
|
import MobileInfoGrid from '@/components/mobile/MobileInfoGrid.vue'
|
|
import MobileSheetHeader from '@/components/mobile/MobileSheetHeader.vue'
|
|
import { isMobile } from '@core/utils/is'
|
|
import { toJalali } from '@core/utils/useDataTime'
|
|
import { usePrice } from '@core/utils/usePrice'
|
|
import { metalLabel } from '@/utils/adminMetalLabels'
|
|
|
|
const props = defineProps<{ visible: boolean; item: TotalAccounting | null }>()
|
|
|
|
const emit = defineEmits<{ (e: 'update:visible', value: boolean): void }>()
|
|
|
|
const visibleProxy = computed({
|
|
get: () => props.visible,
|
|
set: (v) => emit('update:visible', v)
|
|
})
|
|
|
|
const sheetTitle = computed(() => props.item?.customer_to?.name || 'گزارش')
|
|
</script>
|