added percent in product fee 5

This commit is contained in:
2026-07-04 22:13:37 +03:30
parent 5690f83657
commit bcf7b2f0ae
4 changed files with 25 additions and 21 deletions
@@ -263,9 +263,10 @@
v-model:value="form.cash_fee_buy"
:addon-before="form.cash_fee_buy_is_percent ? '%' : 'ریال'"
:type="form.cash_fee_buy_is_percent ? 'number' : 'price'"
:step="form.cash_fee_buy_is_percent ? 'any' : undefined"
size="large"
class="w-full product-cash-fee-input"
:placeHolder="form.cash_fee_buy_is_percent ? 'مثلاً 5' : 'مثلاً 100000'"
:placeHolder="form.cash_fee_buy_is_percent ? 'مثلاً 0.5 یا 5' : 'مثلاً 100000'"
/>
</div>
</a-form-item>
@@ -286,9 +287,10 @@
v-model:value="form.cash_fee_sell"
:addon-before="form.cash_fee_sell_is_percent ? '%' : 'ریال'"
:type="form.cash_fee_sell_is_percent ? 'number' : 'price'"
:step="form.cash_fee_sell_is_percent ? 'any' : undefined"
size="large"
class="w-full product-cash-fee-input"
:placeHolder="form.cash_fee_sell_is_percent ? 'مثلاً 10' : 'مثلاً 200000'"
:placeHolder="form.cash_fee_sell_is_percent ? 'مثلاً 0.5 یا 10' : 'مثلاً 200000'"
/>
</div>
</a-form-item>
@@ -463,12 +465,12 @@ const inventoryHelp: DashboardHelp = {
const cashFeeBuyHelp: DashboardHelp = {
description: 'مبلغ اضافه روی قیمت پایه برای خرید — نقدی (ریال ثابت) یا درصدی از مظنه.',
formula: 'نقدی: +۱۰۰٬۰۰۰ ریال | درصدی: ۵٪ از قیمت پایه',
formula: 'نقدی: +۱۰۰٬۰۰۰ ریال | درصدی: ۰.۵٪ یا ۵٪ از قیمت پایه',
}
const cashFeeSellHelp: DashboardHelp = {
description: 'مبلغ کسر از قیمت پایه برای فروش — نقدی (ریال ثابت) یا درصدی از مظنه.',
formula: 'نقدی: −۲۰۰٬۰۰۰ ریال | درصدی: ۱۰٪ از قیمت پایه',
formula: 'نقدی: −۲۰۰٬۰۰۰ ریال | درصدی: ۰.۵٪ یا ۱۰٪ از قیمت پایه',
}
const showInAssetsHelp: DashboardHelp = {
@@ -1,25 +1,13 @@
import type { BaseTableColumn } from '@core/type/baseTable'
import CustomTag from '@/components/CustomTag.vue'
import { isStoreApp } from '@/utils/config'
import { formatAdminCashFeeLabel } from '@/utils/productCashFee'
import { usePrice } from '@core/utils/usePrice'
function formatMoney(value: number | null | undefined) {
return usePrice(value ?? 0, true, '').trim()
}
function formatProductCashFee(value: number | null | undefined, isPercent?: boolean | null) {
const raw = Number(value ?? 0)
if (!raw) {
return '۰'
}
if (isPercent) {
return `${raw}%`
}
return formatMoney(raw)
}
const inventoryColumn: BaseTableColumn = {
title: 'موجودی',
dataIndex: 'inventory',
@@ -99,14 +87,14 @@ export function getProductColumns(): BaseTableColumn[] {
dataIndex: 'cash_fee_buy',
key: 'cash_fee_buy',
type: 'Number',
customRender: ({ record }) => formatProductCashFee(record.cash_fee_buy, record.cash_fee_buy_is_percent)
customRender: ({ record }) => formatAdminCashFeeLabel(record.cash_fee_buy, record.cash_fee_buy_is_percent)
},
{
title: 'هزینه فروش',
dataIndex: 'cash_fee_sell',
key: 'cash_fee_sell',
type: 'Number',
customRender: ({ record }) => formatProductCashFee(record.cash_fee_sell, record.cash_fee_sell_is_percent)
customRender: ({ record }) => formatAdminCashFeeLabel(record.cash_fee_sell, record.cash_fee_sell_is_percent)
},
...(isStoreApp() ? [inventoryColumn] : []),
{