修改看板接口

master
夜笙歌 3 months ago
parent 12c49b6b77
commit 8a820e1d24

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 KiB

After

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 KiB

@ -20,73 +20,81 @@
</div>
<div class="chart2">
<div style="background-color: #1077bc19;height: 50px;line-height: 50px;">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 11%">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 18%">
任务编号
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 31%">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 22%">
销售订单
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 13%">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 12%">
产线
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 13%">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 12%">
成品名称
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 11%">
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 10%">
成品规格
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 11%">
数量
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 10%">
计划数量
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 10%">
完成数量
</div>
<div class="scrollTableItem" style="padding:0;color:#65c2f3;font-weight: bold;width: 6%">
状态
</div>
</div>
<vue-seamless-scroll
:class-option="scrollTableOption"
:data="scrollTableData1"
:data="scrollTableData"
class="case-item"
style="height: calc(100% - 50px);overflow: hidden;"
style="height: calc(100% - 50px);overflow: hidden;font-size: 0.8vw"
>
<div
v-for="(item, index) in scrollTableData1"
v-for="(item, index) in scrollTableData"
:key="index"
>
<div :style='"background-color:" + ((index % 2 === 0)? "#1077bc19":"#1077bc05") '>
<div
class="scrollTableItem" style="width: 11%"
class="scrollTableItem" style="width: 18%"
>
{{ item.processId }}
{{ item.orderCode }}
</div>
<div
class="scrollTableItem" style="width: 31%"
class="scrollTableItem" style="width: 22%"
>
{{ item.processName }}
{{ item.saleorderCode }}
</div>
<div
class="scrollTableItem" style="width: 13%"
class="scrollTableItem" style="width: 12%"
>
{{ item.planAmount }}
{{ item.dispatchName }}
</div>
<div
class="scrollTableItem" style="width: 13%"
class="scrollTableItem" style="width: 12%"
>
{{ item.completeAmount }}
{{ item.materialName }}
</div>
<div
class="scrollTableItem" style="width: 11%"
class="scrollTableItem" style="width: 10%"
>
{{ item.quantityAmount }}
{{ item.materialSpec }}
</div>
<div
class="scrollTableItem" style="width: 11%"
class="scrollTableItem" style="width: 10%"
>
{{ item.finishingRate }}%
{{ item.planAmount }}
</div>
<div
class="scrollTableItem" style="width: 10%"
>
{{ item.completeAmount }}
</div>
<div
class="scrollTableItem" style="width: 11%"
class="scrollTableItem" style="width: 6%"
>
{{ item.finishingRate }}%
{{ item.orderStatusStr }}
</div>
</div>
</div>
@ -183,7 +191,57 @@ export default {
singleWidth: 0, // (0) direction => 2/3
waitTime: 0
},
scrollTableData: []
scrollTableData: [ {
"createBy": "admin",
"createTime": "2024-11-24 20:11:12",
"updateBy": "chenmingle",
"updateTime": "2024-11-24 20:14:50",
"remark": null,
"productOrderId": 112,
"orderCode": "20241124201030OC001",
"saleOrderId": 158,
"saleorderCode": "20241124200629CG001",
"saleorderLinenumber": null,
"projectNo": null,
"saleType": "2",
"materialId": 17930,
"materialBomId": 2366,
"produceMaterialId": 17938,
"materialBomDesc": "T3号-4楼成品柜体4-5",
"dispatchType": "2",
"dispatchId": 3,
"cabinetChannel": null,
"saleAmount": 1.000000,
"planAmount": 1.000000,
"dispatchAmount": 1.000000,
"completeAmount": 0.000000,
"releaseTime": "2024-11-24 20:11:18",
"planBeginTime": "2024-11-25 00:00:00",
"planEndTime": "2024-11-29 00:00:00",
"realBeginTime": "2024-11-24 20:14:50",
"realEndTime": null,
"planDeliveryDate": "2024-12-06 00:00:00",
"orderStatus": "3",
"stockLockFlag": "0",
"saleOrderFlag": "1",
"dispatchName": "四楼工艺路线",
"materialCode": "MES.EP.TEST45-P53",
"materialName": "T3号-5楼成品柜体4-5",
"materialSpec": "T3号-5楼成品柜体4-5spec",
"produceMaterialCode": null,
"produceMaterialName": null,
"produceMaterialSpec": null,
"productionTime": null,
"preOrderId": null,
"preOrderCode": null,
"planId": null,
"planCode": null,
"planDateRange": null,
"orderStatusStr": null,
"overtimeFlag": null,
"mesProductPlanList": null,
"baseProcessInfoList": null
}]
}
},
mounted() {
@ -198,16 +256,6 @@ export default {
methods: {
getData() {
workOrderProgress().then(e => {
this.scrollTableData = e.data.map((v, k) => {
return {
no: k + 1,
orderCode: v.orderCode,
planAmount: v.planAmount,
completeAmount: v.completeAmount,
quantityAmount: parseFloat(v.planAmount) - parseFloat(v.completeAmount),
finishingRate: parseFloat(v.completeAmount) === 0 ? 0 : (parseFloat(v.completeAmount) / parseFloat(v.completeAmount)) * 100
}
})
})
}

@ -1,7 +1,12 @@
<template>
<div class="app-container">
<div class="warehouse"></div>
<!-- <div class="warehouse"></div>-->
<div class="headTitle">京源智能仓储监控平台</div>
<div class="wareHouse">
<div v-for="i in wareHouseData" class="list" >
<div class="item" v-for="ii in i" :style="`background-color: ${ii.locationStatus==='1'?'#75f66e':'#999'};color: ${ii.locationStatus==='1'?'#000':'#fff'}`">{{ ii.locationCode }}</div>
</div>
</div>
<div v-for="(i,k) in title"
:style="'top:'+(titlePosition[k]&&titlePosition[k].top||0)+'%;left:'+(titlePosition[k]&&titlePosition[k].left||0)+'%'"
class="title"
@ -91,22 +96,22 @@
<div class="span" style="top: 21.7%; left: 55%; color:#7ba9cb;font-size: 0.9vw">单日出库量</div>
<div class="span" style="top: 21.7%; left: 69.6%; color:#7ba9cb;font-size: 0.9vw">单月入库量</div>
<div class="span" style="top: 21.7%; left: 83%; color:#7ba9cb;font-size: 0.9vw">单月出库量</div>
<div class="span" style="top: 38.7%; left: 42%; color:#7ba9cb;font-size: 0.9vw">仓库1-库位统计</div>
<div class="span" style="top: 38.7%; left: 87%; color:#7ba9cb;font-size: 0.9vw">仓库2-库位统计</div>
<div class="span1" style="top: 46.7%; left: 45.5%; color:#7ba9cb;font-size: 0.9vw">空库位</div>
<div class="span1" style="top: 63%; left: 45.5%; color:#7ba9cb;font-size: 0.9vw">已用库位</div>
<div class="span1" style="top: 46.7%; left: 90.6%; color:#7ba9cb;font-size: 0.9vw">空库位</div>
<div class="span1" style="top: 63%; left: 90.6%; color:#7ba9cb;font-size: 0.9vw">已用库位</div>
<div class="span" style="top: 50.7%; left: 47%; color:#7ba9cb;font-size: 0.9vw"></div>
<div class="span" style="top: 67.7%; left: 47%; color:#7ba9cb;font-size: 0.9vw"></div>
<div class="span" style="top: 50.7%; left: 92.2%; color:#7ba9cb;font-size: 0.9vw"></div>
<div class="span" style="top: 67.7%; left: 92.2%; color:#7ba9cb;font-size: 0.9vw"></div>
<!-- <div class="span" style="top: 38.7%; left: 42%; color:#7ba9cb;font-size: 0.9vw">仓库1-库位统计</div>-->
<!-- <div class="span" style="top: 38.7%; left: 87%; color:#7ba9cb;font-size: 0.9vw">仓库2-库位统计</div>-->
<!-- <div class="span1" style="top: 46.7%; left: 45.5%; color:#7ba9cb;font-size: 0.9vw">空库位</div>-->
<!-- <div class="span1" style="top: 63%; left: 45.5%; color:#7ba9cb;font-size: 0.9vw">已用库位</div>-->
<!-- <div class="span1" style="top: 46.7%; left: 90.6%; color:#7ba9cb;font-size: 0.9vw">空库位</div>-->
<!-- <div class="span1" style="top: 63%; left: 90.6%; color:#7ba9cb;font-size: 0.9vw">已用库位</div>-->
<!-- <div class="span" style="top: 50.7%; left: 47%; color:#7ba9cb;font-size: 0.9vw"></div>-->
<!-- <div class="span" style="top: 67.7%; left: 47%; color:#7ba9cb;font-size: 0.9vw"></div>-->
<!-- <div class="span" style="top: 50.7%; left: 92.2%; color:#7ba9cb;font-size: 0.9vw"></div>-->
<!-- <div class="span" style="top: 67.7%; left: 92.2%; color:#7ba9cb;font-size: 0.9vw"></div>-->
<div class="span" style="top: 87.9%; left: 50.5%; color:#7ba9cb;font-size: 0.9vw"> </div>
<div class="span" style="top: 87.9%; left: 70.2%; color:#7ba9cb;font-size: 0.9vw">已用库位</div>
<div class="span" style="top: 50.6%;right: 53%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>
<div class="span" style="top: 67.6%;right: 53%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>
<div class="span" style="top: 50.6%;right: 8%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>
<div class="span" style="top: 67.6%;right: 8%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>
<!-- <div class="span" style="top: 50.6%;right: 53%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>-->
<!-- <div class="span" style="top: 67.6%;right: 53%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>-->
<!-- <div class="span" style="top: 50.6%;right: 8%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>-->
<!-- <div class="span" style="top: 67.6%;right: 8%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>-->
<div class="span" style="top: 88.2%;right: 40%; color:#7ba9cb;font-size: 1.5vw;letter-spacing: 3px;">99</div>
<div class="span" style="top: 88.2%;left: 60%; color:#7ba9cb;font-size: 1vw;letter-spacing: 3px;"></div>
<div class="span" style="top: 88.2%;left: 62%; color:#7ba9cb;font-size: 1vw;letter-spacing: 3px;">66%</div>
@ -138,6 +143,7 @@ export default {
monthRawInAmount: [0, 0, 0, 0],
monthRawOutAmount: [0, 0, 0, 0]
},
wareHouseData:[],
title: [
'生产计划',
'当前库存统计'
@ -182,9 +188,23 @@ export default {
})
locationStatus().then(e => {
console.log(e)
function groupArrayBySize(arr, groupSize) {
if (!Array.isArray(arr) || typeof groupSize !== 'number' || groupSize <= 0) {
throw new Error('Invalid input')
}
const result = [];
for (let i = 0; i < arr.length; i += groupSize) {
result.push(arr.slice(i, i + groupSize));
}
return result;
}
this.wareHouseData = groupArrayBySize(e.data, 30);
})
productCompleteCount().then(e=>{
console.log(e)
this.$refs.chart1.setData({
grid: {
@ -440,6 +460,29 @@ export default {
width: 33.3%;
height: 32%;
}
.wareHouse{
position: absolute;
top: 37%;
left: 42.4%;
width: 51.3%;
height: 41%;
display: flex;
flex-direction: column;
justify-content: space-between;
.list{
width: 100%;
display: flex;
justify-content: space-between;
.item{
display: inline-block;
width: 2%;
height: 1.5vw;
line-height: 1.5vw;
text-align: center;
font-size: 0.5vw;
}
}
}
.span {
position: absolute;

Loading…
Cancel
Save