From 10b84d6cfe5500e474b042adf680935f1697e37a Mon Sep 17 00:00:00 2001 From: adonis Date: Sat, 4 Jul 2026 17:55:05 +0330 Subject: [PATCH] added percent in product fee --- src/model/product.ts | 2 + .../menuPages/configuration/settingTypes.ts | 1 + .../components/ProductArchiveInfoSheet.vue | 17 ++++++- .../base/components/ProductEditorFormBody.vue | 45 ++++++++++++++++--- .../components/ProductMobileDetailSheet.vue | 8 +++- .../products/base/hooks/productColumns.tsx | 21 +++++++-- src/pages/menuPages/products/base/index.vue | 12 ++++- 7 files changed, 91 insertions(+), 15 deletions(-) diff --git a/src/model/product.ts b/src/model/product.ts index df0c7c7..eb6e059 100644 --- a/src/model/product.ts +++ b/src/model/product.ts @@ -11,8 +11,10 @@ export interface Product{ amount: number, percent_fee_buy: number, cash_fee_buy: number, + cash_fee_buy_is_percent?: boolean, percent_fee_sell: number, cash_fee_sell: number, + cash_fee_sell_is_percent?: boolean, order_limit_enabled?: boolean, min_order_cash?: number | null, max_order_cash?: number | null, diff --git a/src/pages/menuPages/configuration/settingTypes.ts b/src/pages/menuPages/configuration/settingTypes.ts index 13db8ed..eb2ddf8 100644 --- a/src/pages/menuPages/configuration/settingTypes.ts +++ b/src/pages/menuPages/configuration/settingTypes.ts @@ -464,6 +464,7 @@ export const SETTING_LOCKED_KEYS = new Set([ 'group_sms', 'has_page_earn_money', 'is_store', + 'sms_panel', 'logo_login', 'logo_register', 'title_pwa', 'title_fav', 'main_product', 'main_wallet_products', 'metal_type', 'main_metal', 'montify_name', diff --git a/src/pages/menuPages/products/archive/components/ProductArchiveInfoSheet.vue b/src/pages/menuPages/products/archive/components/ProductArchiveInfoSheet.vue index 40bc436..f75b2d4 100644 --- a/src/pages/menuPages/products/archive/components/ProductArchiveInfoSheet.vue +++ b/src/pages/menuPages/products/archive/components/ProductArchiveInfoSheet.vue @@ -24,8 +24,8 @@ - - + + @@ -87,4 +87,17 @@ const visibleProxy = computed({ get: () => props.visible, set: (value: boolean) => emit('update:visible', value), }) + +function formatCashFee(value?: number | null, isPercent?: boolean | null) { + const raw = Number(value ?? 0) + if (!raw) { + return '۰' + } + + if (isPercent) { + return `${raw}%` + } + + return usePrice(raw) +} diff --git a/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue b/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue index 09290fa..0ab5025 100644 --- a/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue +++ b/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue @@ -248,15 +248,41 @@
- +
+ + +
- +
+ + +