<template>
|
<el-container>
|
<el-cloum>
|
<el-row :span="1">
|
<div class="card-page">
|
<el-button
|
v-for="device in deviceList"
|
:key="device.id"
|
type="primary"
|
:plain="selectedDeviceId !== device.id"
|
@click="chooseDevice(device.id)"
|
>
|
{{ device.name }}
|
</el-button>
|
</div>
|
</el-row>
|
<el-row :span="1">
|
<div class="card-container">
|
<el-card class="other-box-card" v-for="deviceInfo in devicePointData" :key="deviceInfo.id">
|
<div slot="header" class="linefix">
|
<span>{{ deviceInfo.text }}</span>
|
<div :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]"></div>
|
</div>
|
<div class="otherValuefix" >
|
<el-form label-position="left" label-width="90px">
|
<el-form-item label="WMS明细单号">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="任务号">
|
<el-input v-model="deviceInfo.taskNumber"></el-input>
|
</el-form-item>
|
<el-form-item label="批次号">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="物料编码">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="物料名称">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="包装名称">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="绑定状态">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="抓箱品种">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="DB记录箱数">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="托盘号">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="码垛箱数">
|
<el-input></el-input>
|
</el-form-item>
|
<el-form-item label="WMS下发数量">
|
<el-input></el-input>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div class="otherButtonfix">
|
<el-form label-position="left">
|
<el-form-item>
|
<el-button type="primary">绑定</el-button>
|
<el-button>结批</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
</el-card>
|
</div>
|
</el-row>
|
</el-cloum>
|
</el-container>
|
</template>
|
|
<script lang="ts" setup>
|
import { ref } from 'vue';
|
import { GetWcsPackPlcList,GetWcsPackStationPlcList } from '/@/api/wcs/wcsDevice';
|
//设备数据
|
const deviceList=ref<any>([]);
|
//设备对应工位数据
|
const devicePointData = ref<any>([]);
|
|
const selectedDeviceId=ref<any>();
|
|
//获取
|
const fetchStationData = async (plcId: any) => {
|
const res2 = await GetWcsPackStationPlcList({ plcId });
|
devicePointData.value = res2.data.result;
|
console.log('data:'+devicePointData.value);
|
};
|
// 获取设备数据
|
const fetchPLCDeviceData = async () => {
|
var res = await GetWcsPackPlcList();
|
deviceList.value = res.data.result;
|
|
if (deviceList.value.length > 0) {
|
selectedDeviceId.value = deviceList.value[0].id;
|
await fetchStationData(selectedDeviceId.value);
|
}
|
};
|
fetchPLCDeviceData();
|
|
//切换
|
function chooseDevice(id) {
|
selectedDeviceId.value = id;
|
|
fetchStationData(id);
|
}
|
</script>
|
|
<style scoped>
|
.card-page {
|
width: 100%;
|
height: 50px;
|
display: flex;
|
text-align: center;
|
justify-content: center;
|
align-items: center;
|
text-align: center;
|
}
|
.card-page>button {
|
width: 150px;
|
height: 30px;
|
}
|
.card-container {
|
display: grid;
|
grid-template-columns: repeat(6, 1fr);
|
gap: 10px;
|
}
|
.other-box-card {
|
box-sizing: border-box;
|
background: linear-gradient(135deg, #66ccff, #3399ff);
|
}
|
.lineStatus{
|
position: absolute;
|
right: 0;
|
float: right;
|
height: 20px;
|
width: 20px;
|
border-radius: 20px;
|
background-color: #67C23A;
|
}
|
.linefix{
|
border-bottom: 1px solid rgb(197, 195, 195);
|
display: flex;
|
align-items: center;
|
height: 40px;
|
position: relative;
|
color: #fff;
|
}
|
.otherValuefix{
|
width: 100%;
|
height: 540px;
|
padding: 10px;
|
border-bottom: 1px solid rgb(197, 195, 195);
|
}
|
.otherButtonfix{
|
width: 100%;
|
height: 60px;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
padding: 0;
|
}
|
.device-status-0{
|
background-color: #58f709;
|
}
|
.device-status-1{
|
background-color: red;
|
}
|
</style>
|
|