added percent in product fee 2

This commit is contained in:
2026-07-04 18:04:57 +03:30
parent 10b84d6cfe
commit a3b624754f
@@ -246,41 +246,49 @@
<BaseCollapse title="کارمزد و محدودیت‌ها" active-key="2" :actives="activeKey">
<template #content>
<div class="grid gap-4 md:grid-cols-2">
<a-form-item name="cash_fee_buy" :rules="requiredPriceRules('هزینه نقدی موقع خرید')">
<a-form-item name="cash_fee_buy" :rules="requiredPriceRules('هزینه نقدی موقع خرید')" class="md:col-span-2">
<template #label>
<DashboardLabelWithHelp label="هزینه خرید" :help="cashFeeBuyHelp" size="sm" />
</template>
<div class="flex flex-col gap-2 sm:flex-row sm:items-center">
<a-select
<div class="product-cash-fee-field">
<a-radio-group
v-model:value="form.cash_fee_buy_is_percent"
class="w-full sm:w-36"
:options="cashFeeModeOptions"
/>
button-style="solid"
class="product-cash-fee-mode"
>
<a-radio-button :value="false">نقدی (ریال)</a-radio-button>
<a-radio-button :value="true">درصدی (%)</a-radio-button>
</a-radio-group>
<BasicInput
v-model:value="form.cash_fee_buy"
:addon-before="form.cash_fee_buy_is_percent ? '%' : 'ریال'"
:type="form.cash_fee_buy_is_percent ? 'number' : 'price'"
class="flex-1"
:placeholder="form.cash_fee_buy_is_percent ? 'مثلاً 5' : undefined"
size="large"
class="w-full"
:placeHolder="form.cash_fee_buy_is_percent ? 'مثلاً 5' : 'مثلاً 100000'"
/>
</div>
</a-form-item>
<a-form-item name="cash_fee_sell" :rules="requiredPriceRules('هزینه نقدی موقع فروش')">
<a-form-item name="cash_fee_sell" :rules="requiredPriceRules('هزینه نقدی موقع فروش')" class="md:col-span-2">
<template #label>
<DashboardLabelWithHelp label="هزینه فروش" :help="cashFeeSellHelp" size="sm" />
</template>
<div class="flex flex-col gap-2 sm:flex-row sm:items-center">
<a-select
<div class="product-cash-fee-field">
<a-radio-group
v-model:value="form.cash_fee_sell_is_percent"
class="w-full sm:w-36"
:options="cashFeeModeOptions"
/>
button-style="solid"
class="product-cash-fee-mode"
>
<a-radio-button :value="false">نقدی (ریال)</a-radio-button>
<a-radio-button :value="true">درصدی (%)</a-radio-button>
</a-radio-group>
<BasicInput
v-model:value="form.cash_fee_sell"
:addon-before="form.cash_fee_sell_is_percent ? '%' : 'ریال'"
:type="form.cash_fee_sell_is_percent ? 'number' : 'price'"
class="flex-1"
:placeholder="form.cash_fee_sell_is_percent ? 'مثلاً 10' : undefined"
size="large"
class="w-full"
:placeHolder="form.cash_fee_sell_is_percent ? 'مثلاً 10' : 'مثلاً 200000'"
/>
</div>
</a-form-item>
@@ -463,11 +471,6 @@ const cashFeeSellHelp: DashboardHelp = {
formula: 'نقدی: −۲۰۰٬۰۰۰ ریال | درصدی: ۱۰٪ از قیمت پایه',
}
const cashFeeModeOptions = [
{ value: false, label: 'نقدی' },
{ value: true, label: 'درصدی' },
]
const showInAssetsHelp: DashboardHelp = {
description: 'روشن: این محصول در صفحه دارایی‌های مشتری نمایش داده می‌شود.',
}
@@ -688,4 +691,30 @@ defineExpose({
text-overflow: unset;
line-height: 1.4;
}
.product-cash-fee-field {
display: flex;
flex-direction: column;
gap: 0.75rem;
width: 100%;
}
.product-cash-fee-mode {
display: flex;
width: 100%;
}
.product-cash-fee-mode :deep(.ant-radio-button-wrapper) {
flex: 1;
height: 40px;
line-height: 38px;
text-align: center;
}
.product-editor-form :deep(.product-cash-fee-field .ant-input-group-lg),
.product-editor-form :deep(.product-cash-fee-field .ant-input-group-lg .ant-input),
.product-editor-form :deep(.product-cash-fee-field .ant-input-group-lg .ant-input-group-addon) {
min-height: 44px;
font-size: 15px;
}
</style>