Browse Source

看板

master
han\hanst 3 months ago
parent
commit
64e58e298b
  1. 8
      src/views/modules/dashboard/picking-board.vue
  2. 129
      src/views/modules/dashboard/robot-picking-board.vue

8
src/views/modules/dashboard/picking-board.vue

@ -79,9 +79,8 @@
<th style="width: 10px;">No.</th>
<th style="width: 110px;">拣选托盘码</th>
<th style="width: 180px;">拣选物料名称</th>
<th style="width: 80px;">拣选数量</th>
<th style="width: 120px;">RFID</th>
<th style="width: 130px;">状态</th>
<th style="width: 110px;">存放托盘码</th>
<th style="width: 80px;">存放位置</th>
</tr>
</thead>
@ -89,14 +88,13 @@
<tr v-for="(item, idx) in order.details" :key="idx">
<td class="text-center">{{ idx + 1 }}</td>
<td class="text-center">{{ item.pickingBatchNo }}</td>
<td class="text-left">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.pickingQty }}</td>
<td class="text-center">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.rfidBarcode }}</td>
<td class="text-center">
<span :class="['status-badge', getStatusClass(item.status)]">
{{ item.status }}
</span>
</td>
<td class="text-center">{{ item.storageBatchNo }}</td>
<td class="text-center">{{ item.storageLocation }}</td>
</tr>
</tbody>

129
src/views/modules/dashboard/robot-picking-board.vue

@ -51,7 +51,7 @@
<th style="width: 10px;">No.</th>
<th style="width: 110px;">拣选托盘码</th>
<th style="width: 180px;">拣选物料名称</th>
<th style="width: 80px;">拣选数量</th>
<th style="width: 80px;">RFID</th>
<th style="width: 130px;">状态</th>
<th style="width: 110px;">存放托盘码</th>
<th style="width: 80px;">存放位置</th>
@ -61,8 +61,8 @@
<tr v-for="(item, idx) in containerPickingList" :key="idx">
<td class="text-center">{{ idx + 1 }}</td>
<td class="text-center">{{ item.pickingBatchNo }}</td>
<td class="text-left">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.pickingQty }}</td>
<td class="text-center">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.rfidBarcode }}</td>
<td class="text-center">
<span :class="['status-badge', getStatusClass(item.status)]">
{{ item.status }}
@ -96,9 +96,9 @@
<th style="width: 10px;">No.</th>
<th style="width: 110px;">拣选托盘码</th>
<th style="width: 180px;">拣选物料名称</th>
<th style="width: 80px;">拣选数量</th>
<th style="width: 80px;">标签号</th>
<th style="width: 130px;">状态</th>
<th style="width: 110px;">存放托盘码</th>
<th style="width: 120px;">存放托盘码</th>
<th style="width: 80px;">存放位置</th>
</tr>
</thead>
@ -106,8 +106,8 @@
<tr v-for="(item, idx) in materialPickingList" :key="idx">
<td class="text-center">{{ idx + 1 }}</td>
<td class="text-center">{{ item.pickingBatchNo }}</td>
<td class="text-left">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.pickingQty }}</td>
<td class="text-center">{{ item.pickingMaterialName }}</td>
<td class="text-right">{{ item.rfidBarcode }}</td>
<td class="text-center">
<span :class="['status-badge', getStatusClass(item.status)]">
{{ item.status }}
@ -143,90 +143,12 @@ export default {
//
containerPickingList: [
{
pickingBatchNo: 'P00001',
pickingMaterialName: '80565653',
pickingQty: '1,000',
status: '分拣中',
storageBatchNo: 'P01100',
storageLocation: 'ZD01'
},
{
pickingBatchNo: 'P00010',
pickingMaterialName: '80568657',
pickingQty: '5,000',
status: '等待分拣',
storageBatchNo: 'P01100',
storageLocation: 'ZD01'
},
{
pickingBatchNo: 'P00012',
pickingMaterialName: '80505658',
pickingQty: '1,000',
status: '等待分拣',
storageBatchNo: 'P01100',
storageLocation: 'ZD01'
},
{
pickingBatchNo: 'P00012',
pickingMaterialName: '80525659',
pickingQty: '1,000',
status: '等待分拣',
storageBatchNo: 'P01103',
storageLocation: 'ZD02'
},
{
pickingBatchNo: 'P00033',
pickingMaterialName: '80542546',
pickingQty: '5,000',
status: '等待分拣',
storageBatchNo: 'P01103',
storageLocation: 'ZD02'
}
],
//
materialPickingList: [
{
pickingBatchNo: 'G00001',
pickingMaterialName: '70000213',
pickingQty: '1,000',
status: '分拣中',
storageBatchNo: 'G01102',
storageLocation: 'ZD03'
},
{
pickingBatchNo: 'G00010',
pickingMaterialName: '70000235',
pickingQty: '5,000',
status: '等待分拣',
storageBatchNo: 'G01102',
storageLocation: 'ZD03'
},
{
pickingBatchNo: 'G00012',
pickingMaterialName: '70004562',
pickingQty: '1,000',
status: '等待分拣',
storageBatchNo: 'G01102',
storageLocation: 'ZD03'
},
{
pickingBatchNo: 'G00012',
pickingMaterialName: '70004358',
pickingQty: '1,000',
status: '等待分拣',
storageBatchNo: 'W11003',
storageLocation: 'ZD04'
},
{
pickingBatchNo: 'W00033',
pickingMaterialName: '70000220',
pickingQty: '5,000',
status: '等待分拣',
storageBatchNo: 'W11003',
storageLocation: 'ZD04'
}
]
}
},
@ -258,16 +180,39 @@ export default {
methods: {
/**
* 获取数据列表
*
* <p><b>功能说明</b>从后端API获取机械臂拣选实时数据</p>
* <p><b>数据更新策略</b>覆盖而非追加避免内存累积</p>
*/
getDataList() {
robotPicking({}).then(({data}) => {
if (data && data.code === 200) {
console.log('获取机械臂拣选数据成功:', data.data)
// TODO:
// if (data.data) {
// this.containerPickingList = data.data.containerList || []
// this.materialPickingList = data.data.materialList || []
// }
//
if (data.data) {
// (sortingStation=1071)
if (data.data.containerList && data.data.containerList.length > 0) {
this.containerPickingList = data.data.containerList
console.log('周转箱拣选数据已更新,共', this.containerPickingList.length, '条')
} else {
console.log('暂无周转箱拣选数据')
//
// this.containerPickingList = []
}
// (sortingStation=1060)
if (data.data.materialList && data.data.materialList.length > 0) {
this.materialPickingList = data.data.materialList
console.log('原材拣选数据已更新,共', this.materialPickingList.length, '条')
} else {
console.log('暂无原材拣选数据')
//
// this.materialPickingList = []
}
}
} else {
console.error('获取机械臂拣选数据失败: 返回码不正确')
}
}).catch(error => {
console.error('获取机械臂拣选数据失败:', error)

Loading…
Cancel
Save