fix(admin): keep manual price input and stop false server-unavailable overlay
Manual mode no longer keeps formula/reference UI, and 500 messages containing "server" no longer lock the whole panel. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -88,12 +88,15 @@ _axios.interceptors.response.use(
|
||||
showServerUnavailableOverlay('خطا در برقراری ارتباط با سرور')
|
||||
return Promise.reject(error)
|
||||
}
|
||||
// PHP fatal / memory (گاهی بهجای 503 تمیز) — پنل را باز نگه ندار
|
||||
// PHP fatal / memory — فقط پیامهای واقعاً مهلک؛ «server» خام ممنوع
|
||||
// (هر 500 با URI مثل …/server/… یا مسیر /opt/.../server قبلاً کل پنل را قفل میکرد)
|
||||
if (
|
||||
error.response &&
|
||||
error.response.status >= 500 &&
|
||||
typeof error.response.data?.message === 'string' &&
|
||||
/Allowed memory size|Fatal error|server/i.test(error.response.data.message)
|
||||
/Allowed memory size|Fatal error|Out of memory|Maximum execution time/i.test(
|
||||
error.response.data.message,
|
||||
)
|
||||
) {
|
||||
showServerUnavailableOverlay('خطا در برقراری ارتباط با سرور')
|
||||
return Promise.reject(error)
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
</a-radio-group>
|
||||
</div>
|
||||
<div v-if="methodOption === '1'" class="grid items-start gap-4 md:grid-cols-4">
|
||||
<a-form-item v-if="!form.price_formula_enabled" name="price" class="!mb-0 md:col-span-2">
|
||||
<a-form-item name="price" class="!mb-0 md:col-span-2">
|
||||
<template #label>
|
||||
<DashboardLabelWithHelp label="قیمت وسط" :help="manualPriceHelp" size="sm" />
|
||||
</template>
|
||||
@@ -173,16 +173,8 @@
|
||||
</AButton>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<FormulaPriceSection
|
||||
:class="form.price_formula_enabled ? 'md:col-span-4' : 'md:col-span-2'"
|
||||
:model-value="form"
|
||||
:reference-middle-price="formulaReferenceMiddlePrice"
|
||||
:product-amount="Number(form.amount) || 0"
|
||||
@update:model-value="onFormulaFormPatch"
|
||||
@enabled-change="onFormulaEnabledChange"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="methodOption === '2' || form.price_formula_enabled" class="grid gap-4 md:grid-cols-4">
|
||||
<div v-if="methodOption === '2'" class="grid gap-4 md:grid-cols-4">
|
||||
<a-form-item name="reading_method" class="!mb-0 md:col-span-2">
|
||||
<template #label>
|
||||
<DashboardLabelWithHelp label="مرجع قیمت" :help="priceReferenceHelp" size="sm" />
|
||||
@@ -900,7 +892,13 @@ watch(
|
||||
if (usesMeltedPricing.value) {
|
||||
return
|
||||
}
|
||||
if (option === '3') {
|
||||
if (option === '1') {
|
||||
// دستی: فقط قیمت وسط — فرمول/مرجع را نگه ندار تا اینپوت دستی قایم نشود
|
||||
props.form.app_price = false
|
||||
props.form.price_formula_enabled = false
|
||||
props.form.reading_method = null
|
||||
props.form.price_offset_percent = 0
|
||||
} else if (option === '3') {
|
||||
// قیمت اپ: مرجع خارجی ندارد، متغیر (هر گرم × وزن)
|
||||
props.form.reading_method = null
|
||||
props.form.direct_price = 0
|
||||
|
||||
Reference in New Issue
Block a user