From 47d4fb44df086b7b40883c714ecf87b62a56e809 Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Mon, 2 Nov 2026 18:20:13 +0330 Subject: [PATCH] fix(user): keep the chosen alert product and split convert weight across both wires Alerts store the selected product instead of falling back to gold, and the convert sliders turn the chosen asset amount into complementary 1.5 and 2.5 rings. Co-authored-by: Cursor --- .../abshode-domain-lookup/learned-notes.md | 4 + src/components/BasicPacks/BasicSelect.vue | 3 +- .../components/CopperConvertCalculator.vue | 104 +++++++++--------- .../composables/useCopperConvertPage.ts | 79 ++++++++++--- .../base/priceTrigger/components/Item.vue | 13 ++- .../components/PriceTriggerForm.vue | 4 +- .../composables/usePriceTriggerPage.ts | 45 +++++++- src/views/base/priceTrigger/index.vue | 4 +- 8 files changed, 171 insertions(+), 85 deletions(-) diff --git a/.cursor/skills/abshode-domain-lookup/learned-notes.md b/.cursor/skills/abshode-domain-lookup/learned-notes.md index ca48421..e0a7ea3 100644 --- a/.cursor/skills/abshode-domain-lookup/learned-notes.md +++ b/.cursor/skills/abshode-domain-lookup/learned-notes.md @@ -57,4 +57,8 @@ - 2026-11-01 | جای واحد و عدد در تبدیل | `CopperConvertCalculator.vue` + `useCopperConvertPage.ts` | ریال/کیلو/عدد با `bdi` داخل `measure` قبل از عدد؛ باکس مقدار `dir=ltr` - 2026-11-01 | ماشین‌حساب اجرت/سود/مالیات | `components/GoldDayCalculatorModal.vue` | اجرت ساخت مفتول؛ سود مورد انتظار جدا؛ مالیات ارزش افزوده روی (هزینه+اجرت+سود) - 2026-11-01 | پلیس‌هولدر هشدار قیمت | user `priceTrigger/components/PriceTriggerForm.vue` + admin `priceTriggers/components/PriceTriggerEditorFormBody.vue` | «آبشده، سکه، نقره و ...» → «کاتد مس، مفتول مس و...» +- 2026-11-02 | هشدار کاتد→طلا | user `priceTrigger/` + `BasicSelect.vue` + server `Customer/PriceTriggerController.php` | شناسه عددی محصول ارسال شود؛ fallback عنوان «طلا» نباشد. محصول پیش‌فرض const برابر id=1 است +- 2026-11-02 | زبانه تبدیل کشیدنی | `convert/components/CopperConvertCalculator.vue` | `dragHandleOnly` در capture؛ لمس ریل مقدار را جابه‌جا نمی‌کند، فقط کشیدن دستگیره +- 2026-11-02 | سه زبانه تبدیل از اول | همان `CopperConvertCalculator.vue` | زبانه ۱.۵ و ۲.۵ دیگر پشت `remainderAmount > 0` نیستند؛ زیر زبانه مقدار، قبل از نتیجه +- 2026-11-02 | زبانه سیم مکمل | `useCopperConvertPage.ts` | بودجه = ارزش مقدار انتخاب‌شده؛ نصف به ۱.۵ و بقیه به ۲.۵؛ جابه‌جایی یکی دیگری را پر می‌کند - 2026-11-01 | تاریخچه برداشت کیف پول | `wallet/mobile/MobileWalletView.vue` + `desktop/DesktopWalletView.vue` + `useWalletPageData.ts` | `walletWithdrawItems` از قبل لود می‌شد؛ زیر راهنمای برداشت و زیر حساب‌های دسکتاپ نشان داده می‌شود diff --git a/src/components/BasicPacks/BasicSelect.vue b/src/components/BasicPacks/BasicSelect.vue index 03ca780..7a216ed 100644 --- a/src/components/BasicPacks/BasicSelect.vue +++ b/src/components/BasicPacks/BasicSelect.vue @@ -23,8 +23,9 @@
{{ noData }}
diff --git a/src/views/base/convert/components/CopperConvertCalculator.vue b/src/views/base/convert/components/CopperConvertCalculator.vue index 47da9e3..ebf8b5d 100644 --- a/src/views/base/convert/components/CopperConvertCalculator.vue +++ b/src/views/base/convert/components/CopperConvertCalculator.vue @@ -76,9 +76,8 @@

{{ assetUnit }}{{ formatAssetAmount(assetAmount) }}
- -
-
- خروجی - نتیجه تبدیل -
- -
-
- ۱.۵ mm² -

{{ formatRings(result.rings15ByValue) }}

-

حلقه سیم

-
-
- ۲.۵ mm² -

{{ formatRings(result.rings25ByValue) }}

-

حلقه سیم

-
-
- -
-
- ارزش معادل - ریال{{ formatRial(result.totalValueRial) }} -
-
- معادل مفتول - کیلو{{ formatKg(result.equivalentMaftoulKg) }} -
-
-
- -
-
- مانده دارایی - تقسیم بین دو سیم -

- مانده {{ assetUnit }}{{ formatAssetAmount(remainderAmount) }} است. هر زبانه فقط عدد صحیح حلقه است؛ اعشاری که به یک حلقه نرسد در دارایی می‌ماند. + با این مقدار می‌توانید {{ wire15Rings }} حلقه سیم ۱.۵ و {{ wire25Rings }} حلقه سیم ۲.۵ ببرید. این دو زبانه مکمل‌اند و با هم روی همین مقدار تنظیم می‌شوند.

@@ -144,9 +106,8 @@
عدد حلقه{{ maxRings25 }}
+
+
+
+ خروجی + نتیجه تبدیل +
+ +
+
+ ۱.۵ mm² +

{{ wire15Rings }}

+

حلقه می‌توانید ببرید

+
+
+ ۲.۵ mm² +

{{ wire25Rings }}

+

حلقه می‌توانید ببرید

+
+
+ +
+
+ ارزش معادل + ریال{{ formatRial(result.totalValueRial) }} +
+
+ معادل مفتول + کیلو{{ formatKg(result.equivalentMaftoulKg) }} +
+
+
+ +

- اعشار مانده: {{ assetUnit }}{{ formatAssetAmount(leftoverAmount) }} نگه داشته می‌شود. + از مقدار انتخاب‌شده، {{ assetUnit }}{{ formatAssetAmount(leftoverAmount) }} به حلقهٔ کامل نمی‌رسد و در دارایی می‌ماند. باقی دارایی که روی زبانه انتخاب نشده هم دست‌نخورده می‌ماند.

sliderAmount.value > 0) +function dragHandleOnly(event: Event) { + const target = event.target + if (target instanceof Element && target.closest('.ant-slider-handle')) { + return + } + event.stopPropagation() +} + const sourceOptions = computed(() => [ { label: 'کاتد', value: 'katod' as CopperConvertSource }, { label: 'مفتول', value: 'maftoul' as CopperConvertSource }, @@ -274,12 +274,6 @@ function formatKg(value: number) { if (value >= 10) return value.toFixed(2) return value.toFixed(3) } - -function formatRings(value: number) { - if (value >= 100) return value.toFixed(1) - if (value >= 10) return value.toFixed(2) - return value.toFixed(3) -}