update sku mapping
This commit is contained in:
@@ -88,6 +88,7 @@ const filteredStoreOptions = computed(() => {
|
||||
})
|
||||
|
||||
// Remote search for SKU origins
|
||||
let skipCompanyWatch = false
|
||||
const skuSearchOptions = ref<{ value: number; label: string }[]>([])
|
||||
const skuSearching = ref(false)
|
||||
let skuSearchTimer: ReturnType<typeof setTimeout> | null = null
|
||||
@@ -157,6 +158,12 @@ function openCreate() {
|
||||
function openEdit(record: SkuMappingForm & { id: number }) {
|
||||
editingId.value = record.id
|
||||
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, {
|
||||
company_id: record.company_id,
|
||||
platform_id: record.platform_id,
|
||||
@@ -170,10 +177,7 @@ function openEdit(record: SkuMappingForm & { id: number }) {
|
||||
enabled: record.enabled ?? true,
|
||||
note: record.note || '',
|
||||
})
|
||||
// 从已有列表数据预填 origin SKU 选项,无需额外 API 调用
|
||||
skuSearchOptions.value = record.origin_sku_id
|
||||
? [{ value: record.origin_sku_id as number, label: record.origin_sku || '' }]
|
||||
: []
|
||||
nextTick(() => { skipCompanyWatch = false })
|
||||
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(
|
||||
() => form.company_id,
|
||||
() => {
|
||||
if (skipCompanyWatch) return
|
||||
form.origin_sku_id = undefined
|
||||
form.origin_sku = ''
|
||||
skuSearchOptions.value = []
|
||||
|
||||
Reference in New Issue
Block a user