update sku mapping
This commit is contained in:
@@ -88,6 +88,7 @@ const filteredStoreOptions = computed(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Remote search for SKU origins
|
// Remote search for SKU origins
|
||||||
|
let skipCompanyWatch = false
|
||||||
const skuSearchOptions = ref<{ value: number; label: string }[]>([])
|
const skuSearchOptions = ref<{ value: number; label: string }[]>([])
|
||||||
const skuSearching = ref(false)
|
const skuSearching = ref(false)
|
||||||
let skuSearchTimer: ReturnType<typeof setTimeout> | null = null
|
let skuSearchTimer: ReturnType<typeof setTimeout> | null = null
|
||||||
@@ -157,6 +158,12 @@ function openCreate() {
|
|||||||
function openEdit(record: SkuMappingForm & { id: number }) {
|
function openEdit(record: SkuMappingForm & { id: number }) {
|
||||||
editingId.value = record.id
|
editingId.value = record.id
|
||||||
modalTitle.value = '编辑连接'
|
modalTitle.value = '编辑连接'
|
||||||
|
// 先预填 options,再赋值 form(避免 watch 清空后丢失)
|
||||||
|
skuSearchOptions.value = record.origin_sku_id
|
||||||
|
? [{ value: record.origin_sku_id as number, label: record.origin_sku || '' }]
|
||||||
|
: []
|
||||||
|
// 暂停 watch 重置逻辑
|
||||||
|
skipCompanyWatch = true
|
||||||
Object.assign(form, {
|
Object.assign(form, {
|
||||||
company_id: record.company_id,
|
company_id: record.company_id,
|
||||||
platform_id: record.platform_id,
|
platform_id: record.platform_id,
|
||||||
@@ -170,10 +177,7 @@ function openEdit(record: SkuMappingForm & { id: number }) {
|
|||||||
enabled: record.enabled ?? true,
|
enabled: record.enabled ?? true,
|
||||||
note: record.note || '',
|
note: record.note || '',
|
||||||
})
|
})
|
||||||
// 从已有列表数据预填 origin SKU 选项,无需额外 API 调用
|
nextTick(() => { skipCompanyWatch = false })
|
||||||
skuSearchOptions.value = record.origin_sku_id
|
|
||||||
? [{ value: record.origin_sku_id as number, label: record.origin_sku || '' }]
|
|
||||||
: []
|
|
||||||
modalVisible.value = true
|
modalVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,10 +288,11 @@ function applyGenerated() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Watch company change to reset SKU search
|
// Watch company change to reset SKU search (skip during openEdit)
|
||||||
watch(
|
watch(
|
||||||
() => form.company_id,
|
() => form.company_id,
|
||||||
() => {
|
() => {
|
||||||
|
if (skipCompanyWatch) return
|
||||||
form.origin_sku_id = undefined
|
form.origin_sku_id = undefined
|
||||||
form.origin_sku = ''
|
form.origin_sku = ''
|
||||||
skuSearchOptions.value = []
|
skuSearchOptions.value = []
|
||||||
|
|||||||
Reference in New Issue
Block a user