diff --git a/src/modules/overseas-warehouse/api/mojiaSkuSync.ts b/src/modules/overseas-warehouse/api/mojiaSkuSync.ts index e9e68004..0ba0d4f8 100644 --- a/src/modules/overseas-warehouse/api/mojiaSkuSync.ts +++ b/src/modules/overseas-warehouse/api/mojiaSkuSync.ts @@ -36,6 +36,10 @@ export interface MojiaSkuSyncQuery { syncStatus?: MojiaSkuSyncStatus } +export interface MojiaSkuSyncConfig { + autoSyncEnabled: boolean +} + const basePath = '/platform/v1/firstleg/mojia-sku-sync' export async function listMojiaSkuSync(query: MojiaSkuSyncQuery) { @@ -45,6 +49,13 @@ export async function listMojiaSkuSync(query: MojiaSkuSyncQuery) { return unwrapApiResponse(response) } +export async function getMojiaSkuSyncConfig() { + const response = await http.get, ApiEnvelope>( + `${basePath}/config`, + ) + return unwrapApiResponse(response) +} + export async function updateMojiaSkuSync(id: string, data: { skuCode: string lengthCm: number diff --git a/src/modules/overseas-warehouse/pages/MojiaSkuSyncView.vue b/src/modules/overseas-warehouse/pages/MojiaSkuSyncView.vue index 025d1417..7dba08a0 100644 --- a/src/modules/overseas-warehouse/pages/MojiaSkuSyncView.vue +++ b/src/modules/overseas-warehouse/pages/MojiaSkuSyncView.vue @@ -10,7 +10,7 @@ import AppDialog from '@/shared/components/AppDialog.vue' import { useAccessPreviewStore } from '@/core/access/accessPreview' import { getApiErrorMessage } from '@/shared/api/http' import { - listMojiaSkuSync, retryMojiaSkuSync, updateMojiaSkuSync, + getMojiaSkuSyncConfig, listMojiaSkuSync, retryMojiaSkuSync, updateMojiaSkuSync, type MojiaSkuSyncRecord, type MojiaSkuSyncStatus, } from '../api/mojiaSkuSync' @@ -25,6 +25,7 @@ const canRetry = computed(() => access.can(permission.retry)) const rows = ref([]) const total = ref(0) const loading = ref(false) +const autoSyncEnabled = ref(false) const error = ref('') const actionId = ref('') const page = ref(1) @@ -65,6 +66,14 @@ async function load() { } finally { loading.value = false } } +async function loadConfig() { + try { + autoSyncEnabled.value = (await getMojiaSkuSyncConfig()).autoSyncEnabled + } catch (cause) { + error.value = getApiErrorMessage(cause, '自动同步配置加载失败') + } +} + function search() { page.value = 1; void load() } function reset() { form.skuCode = ''; form.syncStatus = ''; search() } function formatTime(value?: string | null) { return value ? value.replace('T', ' ').slice(0, 19) : '—' } @@ -104,7 +113,7 @@ async function retry(row: MojiaSkuSyncRecord) { finally { actionId.value = '' } } -onMounted(() => { void load() }) +onMounted(() => { void Promise.all([loadConfig(), load()]) })