优化
This commit is contained in:
@@ -1,4 +1,24 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, ref } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import AnalyticsView from '../components/AnalyticsView.vue'
|
||||
import InventoryTurnoverView from '../components/InventoryTurnoverView.vue'
|
||||
import { inventoryView } from '../turnoverNavigation'
|
||||
const route = useRoute(), router = useRouter()
|
||||
const retainedWarehouse = ref('')
|
||||
const selected = computed(() => {
|
||||
try { return { view: inventoryView(route.query), error: '' } }
|
||||
catch (cause) { return { view: null, error: (cause as Error).message } }
|
||||
})
|
||||
function switchView(view: 'TURNOVER' | 'DETAIL') {
|
||||
const warehouseCode = retainedWarehouse.value || (typeof route.query.warehouseCode === 'string' ? route.query.warehouseCode : '')
|
||||
void router.push({ path: '/self-operated/inventory', query: { view, ...(warehouseCode ? { warehouseCode } : {}) } })
|
||||
}
|
||||
</script>
|
||||
<template><AnalyticsView mode="inventory" /></template>
|
||||
<template>
|
||||
<nav class="inventory-views" aria-label="库存分析视图"><el-button :type="selected.view === 'TURNOVER' ? 'primary' : undefined" @click="switchView('TURNOVER')">库存周转</el-button><el-button :type="selected.view === 'DETAIL' ? 'primary' : undefined" @click="switchView('DETAIL')">库存明细</el-button></nav>
|
||||
<p v-if="selected.error" role="alert">{{ selected.error }}</p>
|
||||
<AnalyticsView v-else-if="selected.view === 'DETAIL'" mode="inventory" />
|
||||
<InventoryTurnoverView v-else @warehouse-selected="retainedWarehouse = $event" />
|
||||
</template>
|
||||
<style scoped>.inventory-views { display: flex; gap: 8px; padding: 16px 20px 0; }</style>
|
||||
|
||||
Reference in New Issue
Block a user