<template>
|
<div class="fixed-row">
|
|
<span style="margin-left: 40px;font-size: 20px;">
|
<el-button circle style="background-color: #409eff;color: #000;width: 70px;height: 50px;">有货</el-button>
|
<el-button circle style="background-color: lightgreen;color: #000;width: 70px;height: 50px;">空货位</el-button>
|
<el-button circle style="background-color: yellow;color: #000;width: 70px;height: 50px;">出入库占用</el-button>
|
<el-button circle style="background-color: red;color: #000;width: 70px;height: 50px;">异常</el-button>
|
<el-button circle style="background-color: #C0C4CC;color: #000;width: 70px;height: 50px;">禁用</el-button>
|
</span>
|
</div>
|
<div style="height: 50px;">
|
|
</div>
|
<div v-for="(index,inst) in datalist.length" :key="inst" style="padding: 10px;">
|
<h1 style="border-bottom: 1px dashed silver; padding: 5px;;height: 52px;">
|
<span v-if="inst==0">外协区</span>
|
<span v-else-if="inst==1">托盘叠放区</span>
|
<!-- <span v-else-if="inst==1">上料区</span>
|
<span v-else-if="inst==2">下料区</span>
|
<span v-else-if="inst==3">外协区</span>
|
<span v-else-if="inst==4">叠盘区</span> -->
|
<span v-else>{{inst}}库区</span>
|
</h1>
|
<div class="table-container">
|
<div class="scrollable-table">
|
<table class="one_tal" >
|
<tr v-for="(item, k) in datalist[inst].item2" :key="k">
|
<td v-for="items in filteredItems(datalist[inst].item1, k+1)" :key="items.stationCode"
|
:style="{ 'background-color': getBackgroundColor(items.enable,items.location_state) }">
|
<el-tooltip class="item" effect="dark" placement="right" >
|
<template #content v-if="items.stationType!=='' && items.bindSN !== '' && items.stationType!==null && items.bindSN !== null">
|
<div>库位编号:{{ items.stationCode }}</div>
|
<div>物料类型(图号): {{ items.stationType }}</div>
|
<div>炉号: {{ items.heatNumber }}</div>
|
<div>车轮SN号:{{ items.bindSN }}</div>
|
<div>钢坯号:{{ items.billetID }}</div>
|
</template>
|
<template #content v-else-if="items.area==3 && items.tray_status=='EmptyTray'">
|
<div v-if="item.tray_type==SmallTray">小托盘</div>
|
<div v-else>大托盘</div>
|
<div>数量:{{ items.quantity }}</div>
|
</template>
|
<template #content v-else>
|
<div>目前暂无信息</div>
|
</template>
|
<template #content v-if="items.area==11">
|
<div>小托盘</div>
|
<div>数量:{{ items.quantity }}</div>
|
</template>
|
<template #content v-if="items.area==10">
|
<div>大托盘</div>
|
<div>数量:{{ items.quantity }}</div>
|
</template>
|
<template #content v-if="items.area==12">
|
<div v-if="item.tray_type==SmallTray">小托盘</div>
|
<div v-else>大托盘</div>
|
<div>数量:{{ items.quantity }}</div>
|
</template>
|
|
<div>{{ items.stationCode}}</div>
|
</el-tooltip>
|
</td>
|
</tr>
|
</table>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
visible: false,
|
datalist:[],
|
};
|
},
|
mounted() {
|
setInterval(() => {
|
this.selList(); // 使用箭头函数绑定this
|
}, 3000);
|
},
|
methods: {
|
|
selList(){
|
this.loading=true
|
this.http.post("/api/dt_stationinfo/dt_stationinfolist").then(x => {
|
this.datalist = x.data;
|
})
|
.catch(error => {
|
console.error('请求出错:', error);
|
});
|
},
|
getBackgroundColor(enable,locationState) {
|
|
if (enable=='0') {
|
return '#C0C4CC';
|
}
|
else{
|
switch (locationState) {
|
case 'Stroge':
|
return '#409eff';
|
case 'Empty':
|
return 'lightgreen';
|
case 'InBusy':
|
return 'yellow';
|
case 'OutBusy':
|
return 'yellow';
|
case 'Busy':
|
return 'yellow';
|
case 'Abnormal':
|
return 'red';
|
case 'Abnormal':
|
return 'yellow';
|
default:
|
return 'transparent';
|
}
|
}
|
|
}
|
|
},
|
computed: {
|
filteredItems() {
|
return (itemList, line) => {
|
return itemList.filter(item => item.line === line);
|
};
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
.table-container {
|
overflow-x: auto;
|
}
|
|
.scrollable-table {
|
width: 100%;
|
}
|
|
.one_tal {
|
margin-top: 10px;
|
padding: 5px;
|
white-space: nowrap;
|
border-spacing: 10px;
|
padding-right: 500px;
|
}
|
.one_tal tr{
|
|
margin-top: 10px;
|
margin-bottom: 10px;
|
}
|
.one_tal td {
|
width: 200px;
|
height: 40px;
|
background-color: rgb(36, 227, 241);
|
text-align: center;
|
border-radius: 10px;
|
}
|
.table-container::-webkit-scrollbar {
|
width: 1px;
|
height: 15px;
|
}
|
|
.table-container::-webkit-scrollbar-track {
|
background: transparent;
|
}
|
|
.table-container::-webkit-scrollbar-thumb {
|
background-color: #ccc;
|
}
|
|
.fixed-row {
|
position: fixed;
|
width: 100%; /* 让行的宽度占满整个视窗 */
|
background-color: #fff; /* 如果需要,设置背景色 */
|
z-index: 3; /* 确保固定行在其他内容之上 */
|
}
|
</style>
|