fix some bugs
This commit is contained in:
@@ -11,9 +11,19 @@
|
||||
<span class="text-gray-500">ریال:</span>
|
||||
<span class="font-600 text-gray-900">{{ cashLabel }}</span>
|
||||
</span>
|
||||
<span>
|
||||
<span class="text-gray-500">طلا:</span>
|
||||
<span class="font-700 text-gray-900">{{ goldLabel }}</span>
|
||||
<span v-if="metalEntries.length === 1">
|
||||
<span class="text-gray-500">{{ metalEntries[0].label }}:</span>
|
||||
<span class="font-700 text-gray-900">{{ metalEntries[0].display }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="metalEntries.length > 1"
|
||||
class="flex flex-wrap gap-x-3 gap-y-1 text-xs text-gray-600"
|
||||
>
|
||||
<span v-for="entry in metalEntries" :key="entry.metal_id">
|
||||
<span class="text-gray-500">{{ entry.label }}:</span>
|
||||
<span class="font-700 text-gray-900">{{ entry.display }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -24,9 +34,12 @@
|
||||
import type { Wallet } from '@/model/wallet'
|
||||
import MobileCard from '@/components/mobile/MobileCard.vue'
|
||||
import { usePrice } from '@core/utils/usePrice'
|
||||
import { formatMetalDisplayValue, metalCellValue } from '@/utils/metalWeight'
|
||||
import type { WalletMetalColumn } from '../hooks/walletColumns'
|
||||
|
||||
const props = defineProps<{
|
||||
item: Wallet
|
||||
metals?: WalletMetalColumn[]
|
||||
}>()
|
||||
|
||||
defineEmits<{
|
||||
@@ -35,9 +48,25 @@ defineEmits<{
|
||||
|
||||
const customerName = computed(() => props.item.customer?.name || '-')
|
||||
const cashLabel = computed(() => usePrice(props.item.cash ?? 0, true, ''))
|
||||
const goldLabel = computed(() => {
|
||||
const gold = props.item.gold
|
||||
if (gold == null) return '-'
|
||||
return `${Number(Number(gold).toFixed(3))} گرم`
|
||||
|
||||
function metalValue(metalId: number): number {
|
||||
return metalCellValue(props.item as Record<string, unknown>, metalId)
|
||||
}
|
||||
|
||||
const metalEntries = computed(() => {
|
||||
const metals = props.metals?.length
|
||||
? props.metals
|
||||
: [{ metal_id: 1, label: 'طلا' }]
|
||||
|
||||
return metals
|
||||
.map((metal) => {
|
||||
const value = metalValue(metal.metal_id)
|
||||
return {
|
||||
metal_id: metal.metal_id,
|
||||
label: metal.label,
|
||||
display: formatMetalDisplayValue(value, metal.metal_id)
|
||||
}
|
||||
})
|
||||
.filter((entry) => metalValue(entry.metal_id) !== 0)
|
||||
})
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user