Files
boursecu_admin/src/pages/menuPages/accounting/components/AccountingMobileDetailSheet.vue
T
2026-06-28 21:48:17 +03:30

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>