diff --git a/src/pages/menuPages/configuration/SettingValueField.vue b/src/pages/menuPages/configuration/SettingValueField.vue
index 05fded4..811a73a 100644
--- a/src/pages/menuPages/configuration/SettingValueField.vue
+++ b/src/pages/menuPages/configuration/SettingValueField.vue
@@ -32,13 +32,24 @@
+
+
{
+const priceValue = computed(() => {
const n = parseFloat(String(props.modelValue || '').replace(/,/g, ''))
return Number.isFinite(n) ? n : undefined
})
-function onNumberChange(val: number | string | null) {
+function onPriceChange(val: number | string | null) {
if (val === null || val === undefined || val === '') {
emit('update:value', '')
return
}
emit('update:value', String(val))
}
+
+function normalizePlainNumberInput(value: string): string {
+ const latin = value.replace(/[۰-۹]/g, (d) => String('۰۱۲۳۴۵۶۷۸۹'.indexOf(d)))
+ let out = ''
+ let hasDot = false
+ for (const ch of latin.replace(/,/g, '')) {
+ if (ch >= '0' && ch <= '9') out += ch
+ else if (ch === '.' && !hasDot) {
+ hasDot = true
+ out += ch
+ }
+ }
+ return out
+}
+
+function onPlainNumberChange(val: string) {
+ emit('update:value', normalizePlainNumberInput(val ?? ''))
+}