fix edits for borsemes
This commit is contained in:
@@ -174,7 +174,7 @@ import SettingValueField from './SettingValueField.vue'
|
||||
import SettingCard from './SettingCard.vue'
|
||||
import { refreshAppModeMenu } from '@/router'
|
||||
import { useUserStore } from '@/store/userStore'
|
||||
import { applyBannerEnabledFromRows, applyTrackingSystemsEnabledFromRows, applyConditionalOrderEnabledFromRows, setBannerEnabledFromSettings, setConditionalOrderEnabledFromSettings, setStoreModeFromSettings, setTrackingSystemsEnabledFromSettings } from '@/utils/config'
|
||||
import { applyBannerEnabledFromRows, applyTrackingSystemsEnabledFromRows, applyConditionalOrderEnabledFromRows, applyPriceProviderFromRows, setBannerEnabledFromSettings, setConditionalOrderEnabledFromSettings, setPriceProviderFromSettings, setStoreModeFromSettings, setTrackingSystemsEnabledFromSettings } from '@/utils/config'
|
||||
import {
|
||||
EDITABLE_SETTING_GROUPS,
|
||||
SYSTEM_SETTING_GROUPS,
|
||||
@@ -278,12 +278,9 @@ const filteredRows = computed(() =>
|
||||
sortRows(
|
||||
(baseData.value || []).filter((row) => {
|
||||
if (row.id == null || !matchesFilter(row)) return false
|
||||
if (isSystemMode.value) {
|
||||
// کارمزد سفارش شرطی فقط وقتی قابلیت سراسری روشن است دیده شود
|
||||
if (row.key === 'fee_conditional_order' && !isSettingVisible(row.key)) return false
|
||||
return true
|
||||
}
|
||||
return isEditable(row) && isSettingVisible(row.key)
|
||||
if (!isSettingVisible(row.key)) return false
|
||||
if (isSystemMode.value) return true
|
||||
return isEditable(row)
|
||||
})
|
||||
)
|
||||
)
|
||||
@@ -423,14 +420,21 @@ async function initConfig() {
|
||||
? await getSystemConfiguration()
|
||||
: await getEditableConfiguration()) ?? []
|
||||
baseData.value = rows.map(normalizeSettingRow)
|
||||
if (isSystemMode.value) {
|
||||
applyBannerEnabledFromRows(baseData.value)
|
||||
applyTrackingSystemsEnabledFromRows(baseData.value)
|
||||
applyConditionalOrderEnabledFromRows(baseData.value)
|
||||
} else {
|
||||
applyBannerEnabledFromRows(baseData.value)
|
||||
applyTrackingSystemsEnabledFromRows(baseData.value)
|
||||
applyConditionalOrderEnabledFromRows(baseData.value)
|
||||
applyBannerEnabledFromRows(baseData.value)
|
||||
applyTrackingSystemsEnabledFromRows(baseData.value)
|
||||
applyConditionalOrderEnabledFromRows(baseData.value)
|
||||
applyPriceProviderFromRows(baseData.value)
|
||||
// در صفحهٔ عادی price_provider (can_edit=0) نیست — از کل تنظیمات بخوان
|
||||
if (!baseData.value.some((row) => row.key === 'price_provider')) {
|
||||
try {
|
||||
const { getConfiguration } = await import('@/api/configuration')
|
||||
const all = await getConfiguration()
|
||||
applyPriceProviderFromRows(Array.isArray(all) ? all : [])
|
||||
} catch {
|
||||
/* کش قبلی میماند */
|
||||
}
|
||||
}
|
||||
if (!isSystemMode.value) {
|
||||
const storeRow = baseData.value.find((row) => row.key === 'is_store')
|
||||
if (storeRow) {
|
||||
setStoreModeFromSettings(isSwitchOn(storeRow.value))
|
||||
@@ -459,6 +463,11 @@ function onValueChange(row: Const, value: string) {
|
||||
|
||||
drafts.value[row.id] = value
|
||||
|
||||
// بلافاصله گروه Montzar را با انتخاب منبع قیمت همگام کن
|
||||
if (row.key === 'price_provider') {
|
||||
setPriceProviderFromSettings(value)
|
||||
}
|
||||
|
||||
// longtext هم باید ذخیره شود، فقط با delay بیشتر
|
||||
scheduleSave(row)
|
||||
}
|
||||
@@ -550,6 +559,9 @@ async function saveSettingRow(row: Const) {
|
||||
if (row.key === 'enable_conditional_order') {
|
||||
setConditionalOrderEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'price_provider') {
|
||||
setPriceProviderFromSettings(value)
|
||||
}
|
||||
savedFlashIds.value.add(id)
|
||||
if (saveTimers.has(id)) clearTimeout(saveTimers.get(id))
|
||||
saveTimers.set(
|
||||
|
||||
Reference in New Issue
Block a user