From 4dde172ed76ee076fe6d89cdf73702d67b2e74d7 Mon Sep 17 00:00:00 2001 From: adonis Date: Mon, 10 Aug 2026 16:47:39 +0330 Subject: [PATCH] Add formula price controls to the product editor. Admins can enable a reference-based formula (P/W/MG) with live calculated unit price preview, matching the colleague-app pricing flow. Co-authored-by: Cursor --- src/model/product.ts | 2 + .../base/components/FormulaPriceSection.vue | 134 +++++++++++ .../base/components/ProductEditorFormBody.vue | 51 ++++- src/pages/menuPages/products/base/index.vue | 25 ++- .../products/base/productFormValidation.ts | 7 + src/utils/formulaPrice.ts | 209 ++++++++++++++++++ src/utils/productEditorPrice.ts | 32 +++ 7 files changed, 450 insertions(+), 10 deletions(-) create mode 100644 src/pages/menuPages/products/base/components/FormulaPriceSection.vue create mode 100644 src/utils/formulaPrice.ts diff --git a/src/model/product.ts b/src/model/product.ts index 3607cac..2850840 100644 --- a/src/model/product.ts +++ b/src/model/product.ts @@ -37,6 +37,8 @@ export interface Product{ prices: MethodePrices[] direct_price: number app_price?: boolean + price_formula_enabled?: boolean + price_formula?: string | null price: number price_profit?: number price_offset_percent?: number diff --git a/src/pages/menuPages/products/base/components/FormulaPriceSection.vue b/src/pages/menuPages/products/base/components/FormulaPriceSection.vue new file mode 100644 index 0000000..4881b20 --- /dev/null +++ b/src/pages/menuPages/products/base/components/FormulaPriceSection.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue b/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue index 2a69ef8..3869f61 100644 --- a/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue +++ b/src/pages/menuPages/products/base/components/ProductEditorFormBody.vue @@ -94,7 +94,7 @@ قیمت صفحه اصلی اپلیکیشن -
+