134 lines
3.1 KiB
Vue
134 lines
3.1 KiB
Vue
|
|
<template>
|
|||
|
|
<div>
|
|||
|
|
<DataTable :columns="columns" :data="rows" />
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup>
|
|||
|
|
import { ref, onMounted, onUnmounted } from 'vue';
|
|||
|
|
import DataTable from '../components/DataTable.vue';
|
|||
|
|
|
|||
|
|
// 入库字段
|
|||
|
|
const columns = [
|
|||
|
|
{ key: 'vehicleId', title: '托盘号' },
|
|||
|
|
{ key: 'matNo', title: '物料号' },
|
|||
|
|
{ key: 'inspectStatus', title: '是否质检' },
|
|||
|
|
{ key: 'inspectCode', title: '质检结果' },
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
const rows = ref([]);
|
|||
|
|
let timer = null;
|
|||
|
|
|
|||
|
|
// 获取托盘号
|
|||
|
|
async function getContainerNos() {
|
|||
|
|
try {
|
|||
|
|
// 获取114位置的托盘号
|
|||
|
|
const response114 = await fetch('http://172.18.222.253:9980/api/upper/pub/getStandCode?standId=114');
|
|||
|
|
const data114 = await response114.json();
|
|||
|
|
const containerNo114 = data114.returnData || '';
|
|||
|
|
|
|||
|
|
// 获取116位置的托盘号
|
|||
|
|
const response116 = await fetch('http://172.18.222.253:9980/api/upper/pub/getStandCode?standId=116');
|
|||
|
|
const data116 = await response116.json();
|
|||
|
|
const containerNo116 = data116.returnData || '';
|
|||
|
|
|
|||
|
|
return [containerNo114, containerNo116].filter(no => no !== '');
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('获取托盘号失败:', error);
|
|||
|
|
return [];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 获取质检数据(模拟实现,根据实际需求调整)
|
|||
|
|
async function getQualityData(containerNos) {
|
|||
|
|
const qualityData = [];
|
|||
|
|
|
|||
|
|
for (const containerNo of containerNos) {
|
|||
|
|
try {
|
|||
|
|
// 模拟数据结构,实际应根据接口文档调整
|
|||
|
|
qualityData.push({
|
|||
|
|
vehicleId: containerNo,
|
|||
|
|
matNo: 'MAT-' + Math.floor(Math.random() * 10000),
|
|||
|
|
inspectStatus: Math.random() > 0.5 ? '是' : '否',
|
|||
|
|
inspectCode: Math.random() > 0.5 ? '合格' : '不合格'
|
|||
|
|
});
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error(`处理托盘${containerNo}数据失败:`, error);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return qualityData;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
async function load() {
|
|||
|
|
try {
|
|||
|
|
// 获取托盘号
|
|||
|
|
const containerNos = await getContainerNos();
|
|||
|
|
|
|||
|
|
if (containerNos.length > 0) {
|
|||
|
|
// 获取质检数据
|
|||
|
|
const qualityData = await getQualityData(containerNos);
|
|||
|
|
rows.value = qualityData;
|
|||
|
|
} else {
|
|||
|
|
rows.value = [];
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('加载质检数据失败:', error);
|
|||
|
|
rows.value = [];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
onMounted(() => {
|
|||
|
|
load();
|
|||
|
|
timer = setInterval(load, 5000);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
onUnmounted(() => {
|
|||
|
|
if (timer) {
|
|||
|
|
clearInterval(timer);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
.title-center {
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 增大表格整体字体 */
|
|||
|
|
:deep(.table-wrapper) {
|
|||
|
|
font-size: 40px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
:deep(thead th) {
|
|||
|
|
font-size: 40px; /* 表头字体稍大 */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
:deep(tbody td) {
|
|||
|
|
font-size: 40px; /* 表格内容字体 */
|
|||
|
|
padding: 16px 12px; /* 同时增加内边距使布局更舒适 */
|
|||
|
|
}
|
|||
|
|
/* 设置第一列(料箱号)宽度为30% */
|
|||
|
|
:deep(th:nth-child(1)),
|
|||
|
|
:deep(td:nth-child(1)) {
|
|||
|
|
width: 40%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 设置第二列(起点)宽度为10% */
|
|||
|
|
:deep(th:nth-child(2)),
|
|||
|
|
:deep(td:nth-child(2)) {
|
|||
|
|
width: 20%;
|
|||
|
|
}
|
|||
|
|
/* 设置第三列(终点)宽度 */
|
|||
|
|
:deep(th:nth-child(3)),
|
|||
|
|
:deep(td:nth-child(3)) {
|
|||
|
|
width: 15%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 设置第四列(优先级)宽度 */
|
|||
|
|
:deep(th:nth-child(4)),
|
|||
|
|
:deep(td:nth-child(4)) {
|
|||
|
|
width: 25%;
|
|||
|
|
}
|
|||
|
|
</style>
|