南京物流 盘点统计

feature/nanjing-wuliu
yiming 4 years ago
parent 1de3950a23
commit f60437be42

@ -10,12 +10,12 @@
<!-- <script src="/video_play_plugins/video.js"></script> --> <!-- <script src="/video_play_plugins/video.js"></script> -->
<script src="/video_play_plugins/webrtcplayer.js"></script> <script src="/video_play_plugins/webrtcplayer.js"></script>
<title>昆船垛机视觉系统</title> <title>罗博泰克智能视觉</title>
</head> </head>
<body> <body>
<noscript> <noscript>
<strong>We're sorry but 昆船垛机视觉系统 doesn't work properly without JavaScript enabled. Please enable it to <strong>We're sorry but 罗博泰克智能视觉 doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong> continue.</strong>
</noscript> </noscript>

@ -227,6 +227,16 @@ export default {
url: '/ScanAndCheck', url: '/ScanAndCheck',
name: '盘点操作里参数', name: '盘点操作里参数',
method: 'GET' method: 'GET'
} },
getCheckSummary: {
url: '/checkSummary',
name: '盘点统计',
method: 'POST'
},
getStreetSummary: {
url: '/checkSummary/street/task',
name: '获取巷道的统计',
method: 'GET'
},
} }

@ -67,6 +67,15 @@ const routes = [{
}, },
component: () => import('@/views/alarmVideos/alarmLog') component: () => import('@/views/alarmVideos/alarmLog')
}, },
{
path: 'checkSummary',
name: 'checkSummary',
meta: {
icon: 'eye',
name: '盘点统计'
},
component: () => import('@/views/checkSummary/index')
},
{ {
path: 'checkManage', path: 'checkManage',
name: 'checkManage', name: 'checkManage',

@ -0,0 +1,234 @@
<template>
<div class="alarm bg-white">
<div class="ant-advanced-search-form">
<a-form layout="inline" :label-col="labelCol" :wrapper-col="wrapperCol" :form="queryParam">
<a-row :gutter="24">
<a-col :span="4" style="text-align: left">
<a-form-item label="时间">
<a-range-picker @change="onTimeChange"
v-model="time"
format="YYYY-MM-DD HH:mm"
:show-time="{
defaultValue: [moment('00:00', 'HH:mm'), moment('23:59', 'HH:mm')],
}"
>
<a-icon slot="suffixIcon" type="calendar"/>
</a-range-picker>
</a-form-item>
</a-col>
<a-col :span="4" ></a-col>
<a-col :span="4" >
<a-form-item label="盘点任务号:">
<a-input v-model="queryParam.taskId" placeholder="请输入" style="width:200px;" />
</a-form-item>
</a-col>
<a-col :span="12" style="text-align: right">
<a-button type="primary" @click="handleSearch"></a-button>
<a-button style="margin-left: 15px" @click="reset"></a-button>
</a-col>
</a-row>
</a-form>
</div>
<a-table
:columns="columns"
:row-key="record => record.id"
:data-source="data"
:pagination="pagination"
@change="handleGetalarmList"
:customRow="clickRow"
>
</a-table>
<a-table
:columns="streetSummaryColumns"
:data-source="streetSummarys"
:pagination="false"
>
</a-table>
</div>
</template>
<script>
import moment from 'moment';
export default {
name: "checkSummary",
data() {
return {
labelCol: { span: 6 },
wrapperCol: { span: 18 },
queryParam: {
startTime: moment().subtract(1, "days").format('YYYY-MM-DD HH:mm:ss'), //
endTime: moment().format('YYYY-MM-DD HH:mm:ss')
},
time:[],
pageNum:1,
pageSize:3,
data: [],
streetSummarys:[],
pagination:{
total:0,
defaultPageSize:3, //
showTotal: total => `${total} 条数据`, //
showSizeChanger:true, //
pageSizeOptions: ['10', '20', '30'],
onShowSizeChange:(current, pageSize)=>this.pageSize = pageSize //
},
loading: false,
columns: [
{
title: "盘点任务号",
dataIndex: "taskId",
},
{
title: "开始时间 ",
dataIndex: "startTime",
},
{
title: "结束时间",
dataIndex: "endTime",
}
],
streetSummaryColumns:[
{
title: "巷道",
dataIndex: "streetName",
},
{
title: "盘点任务号",
dataIndex: "taskId",
},
{
title: "空托盘数量",
dataIndex: "emptyCount",
},
{
title: "空货位数",
dataIndex: "emptyGoodsCount",
},
{
title: "卷烟货位数",
dataIndex: "goodsCount",
},
{
title: "开始时间 ",
dataIndex: "startTime",
},
{
title: "结束时间",
dataIndex: "endTime",
}
]
};
},
mounted() {
this.handleGetalarmList()
},
methods: {
moment,
clickRow(record,index){
return{
on:{
click:(event)=>{
console.log(record.endTime)
this.getStreetSummarys(record.taskId)
},
}
}
},
handleSearch(){
console.log(this.queryParam)
this.handleGetalarmList()
},
handleGetalarmList(pagination) {
console.log(pagination)
if(pagination){
this.pagination.current = pagination.current;
this.pagination.pageSize = pagination.pageSize;
this.pageNum = pagination.current;
this.pageSize = pagination.pageSize;
}
this.request();
},
//
request() {
this.$api.httpApi.getCheckSummary({
data: {
pageNum: this.pageNum,
pageSize: this.pageSize,
...this.queryParam
}
}).then(res => {
const pagination = {...this.pagination};
pagination.total = res.data.total;
this.pagination = pagination;
this.data = res.data.list
if(res.data.list.length > 0){
this.getStreetSummarys(res.data.list[0].taskId);
}else{
this.streetSummarys = []
}
}).catch(err => {
});
},
//
getStreetSummarys(taskId) {
this.$api.httpApi.getStreetSummary({
params: {
taskId: taskId,
}
}).then(res => {
if (res.code == 200) {
this.streetSummarys = res.data
}
}).catch(err => {
});
},
onTimeChange(date, dateString) {
this.handleReset()
console.log(date)
console.log(date[0].format('YYYY-MM-DD HH:mm:ss'))
this.queryParam.startTime = date[0].format('YYYY-MM-DD HH:mm:ss')
this.queryParam.endTime = date[1].format('YYYY-MM-DD HH:mm:ss')
},
handleReset() {
this.queryParam.startTime = ""
this.queryParam.endTime = ""
},
reset() {
this.queryParam.startTime = moment().subtract(1, "days").format('YYYY-MM-DD HH:mm:ss')
this.queryParam.endTime = moment().format('YYYY-MM-DD HH:mm:ss')
this.time = []
this.handleGetalarmList()
},
},
};
</script>
<style lang="scss" scoped>
.alarm {
padding: 24px;
}
.ant-drawer-content-wrapper {
height: auto !important;
}
.ant-drawer-body {
text-align: center;
}
.ant-advanced-search-form .ant-form-item {
display: flex;
width: 100%;
}
</style>

@ -2,7 +2,6 @@
<div> <div>
<a-table <a-table
:columns="columns" :columns="columns"
:row-key="record => record.id"
:data-source="data" :data-source="data"
:pagination="pagination" :pagination="pagination"
@change="handleGetCameraIoList" @change="handleGetCameraIoList"
@ -63,11 +62,7 @@ export default {
pageSizeOptions: ['10', '20', '30'], pageSizeOptions: ['10', '20', '30'],
onShowSizeChange: (current, pageSize) => this.pageSize = pageSize // onShowSizeChange: (current, pageSize) => this.pageSize = pageSize //
}, },
loading: false,
columns, columns,
visible: false,
modelType: '',
modelData: [],
}; };
}, },
computed: {}, computed: {},
@ -96,9 +91,7 @@ export default {
pagination.total = res.data.total; pagination.total = res.data.total;
this.data = res.data; this.data = res.data;
this.pagination = pagination; this.pagination = pagination;
res.data.list.forEach((value, index) => {
value.pageNumber = this.pagination.current
});
}).catch(err => { }).catch(err => {
}); });

@ -103,17 +103,10 @@ const columns = [
scopedSlots: { customRender: 'lightSourceIp' } scopedSlots: { customRender: 'lightSourceIp' }
}, },
{ {
title: 'plc', title: '客户端',
scopedSlots: { customRender: 'plc' } scopedSlots: { customRender: 'plc' }
}, },
{
title: 'RFID',
scopedSlots: { customRender: 'RFID' }
},
{
title: '扫码枪',
scopedSlots: { customRender: 'sensorGun' }
},
{ {
title: '左货架类型', title: '左货架类型',
dataIndex: 'leftType', dataIndex: 'leftType',

@ -27,12 +27,12 @@
</a-form-item> </a-form-item>
</div> </div>
<div class="across-layout"> <div class="across-layout">
<a-form-item label="PLC IP" :label-col="formItemAcrossLayout.labelCol"> <a-form-item label="客户端 IP" :label-col="formItemAcrossLayout.labelCol">
<a-input <a-input
v-decorator="['plcIp']" v-decorator="['plcIp']"
/> />
</a-form-item> </a-form-item>
<a-form-item label="PLC PORT" :label-col="formItemAcrossLayout.labelCol"> <a-form-item label="客户端 PORT" :label-col="formItemAcrossLayout.labelCol">
<a-input <a-input
v-decorator="['plcPort']" v-decorator="['plcPort']"
/> />
@ -50,18 +50,7 @@
/> />
</a-form-item> </a-form-item>
</div> </div>
<div class="across-layout">
<a-form-item label="RFID IP" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['RFIDIp']"
/>
</a-form-item>
<a-form-item label="RFID PORT" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['RFIDPort']"
/>
</a-form-item>
</div>
<a-divider></a-divider> <a-divider></a-divider>
<div class="leftType"> <div class="leftType">
@ -99,18 +88,7 @@
</a-form-item> </a-form-item>
</div> </div>
<div class="across-layout">
<a-form-item label="扫码枪IP" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['leftSensorGunIp']"
/>
</a-form-item>
<a-form-item label="扫码枪PORT" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['leftSensorGunPort']"
/>
</a-form-item>
</div>
<a-divider></a-divider> <a-divider></a-divider>
</div> </div>
@ -147,18 +125,7 @@
/> />
</a-form-item> </a-form-item>
</div> </div>
<div class="across-layout">
<a-form-item label="扫码枪IP" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['rightSensorGunIp']"
/>
</a-form-item>
<a-form-item label="扫码枪PORT" :label-col="formItemAcrossLayout.labelCol">
<a-input
v-decorator="['rightSensorGunPort']"
/>
</a-form-item>
</div>
<a-divider></a-divider> <a-divider></a-divider>
</div> </div>
<div v-if="cameraList.length>0"> <div v-if="cameraList.length>0">

Loading…
Cancel
Save