<script lang="ts" setup>
|
import type { MesProFeedbackApi } from '#/api/mes/pro/feedback';
|
|
import { onMounted, ref } from 'vue';
|
import { useRouter } from 'vue-router';
|
|
import { Page } from '@vben/common-ui';
|
import { useTabs } from '@vben/hooks';
|
|
import { Card, Tabs } from 'ant-design-vue';
|
|
import { TableAction } from '#/adapter/vxe-table';
|
import { getFeedback } from '#/api/mes/pro/feedback';
|
import { useDescription } from '#/components/description';
|
|
import { useDetailSchema } from '../data';
|
import ItemConsumeList from '../modules/item-consume-list.vue';
|
import ProductProduceList from '../modules/product-produce-list.vue';
|
|
const props = defineProps<{ id: string }>();
|
|
const router = useRouter();
|
const tabs = useTabs();
|
|
const loading = ref(false);
|
const feedbackId = ref(0);
|
const feedback = ref<MesProFeedbackApi.Feedback>({});
|
const activeTab = ref('itemConsume');
|
|
const [Descriptions] = useDescription({
|
bordered: false,
|
column: 4,
|
schema: useDetailSchema(),
|
});
|
|
async function loadFeedbackDetail() {
|
loading.value = true;
|
try {
|
feedback.value = await getFeedback(feedbackId.value);
|
} finally {
|
loading.value = false;
|
}
|
}
|
|
function handleBack() {
|
tabs.closeCurrentTab();
|
router.push({ path: '/mes/pro/feedback' });
|
}
|
|
onMounted(() => {
|
feedbackId.value = Number(props.id);
|
loadFeedbackDetail();
|
});
|
</script>
|
|
<template>
|
<Page
|
auto-content-height
|
:loading="loading"
|
:title="feedback.code ? `生产报工详情 - ${feedback.code}` : '生产报工详情'"
|
>
|
<Card class="min-h-[10%]">
|
<Descriptions :data="feedback" />
|
</Card>
|
|
</Page>
|
</template>
|