no message

main
liyang 2024-04-23 09:33:34 +08:00
parent 7a19e61f8e
commit 9a2eed3efa
13 changed files with 1564 additions and 4 deletions

View File

@ -0,0 +1,761 @@
<template>
<div class="div1">
<div class="div2" style="padding-bottom: 10px">
<el-form ref="form" :model="param" label-width="80px">
<el-row :gutter="24">
<el-col :span="4">
<el-form-item label="子任务号:">
<el-input type="textarea" v-model="param.BILLCODE" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工单号:" >
<el-input type="textarea" v-model="param.pt_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="SAP类型:">
<el-input type="text" v-model="param.sourceType" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货库区">
<el-select v-model="param.z_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Ku"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="所在库位:">
<el-input type="textarea" v-model="param.lc2_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="料号:">
<el-input type="textarea" v-model="param.i_code" :rows="1"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="4">
<el-form-item label="单据类型">
<el-select v-model="param.bt_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Dj"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工作站">
<el-select v-model="param.END_REGION" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Gz"
:key="item.index"
:label="item.END_REGION"
:value="item.END_REGION"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货人">
<el-select v-model="param.w4_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Jhr"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="波次号:">
<el-input type="text" v-model="param.wd_code"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="容器码:">
<el-input type="text" v-model="param.LP"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货库位">
<el-select
v-model="param.lc1_code"
multiple
filterable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in Kw"
:key="item.index"
:label="item.CODE"
:value="item.CODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="8">
<el-form-item label="需求日期:">
<el-date-picker style="width: 325px"
v-model="param.ORDER_DATE"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分配日期:">
<el-date-picker style="width: 325px"
v-model="param.CREATE_TIME"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="拣货日期:">
<el-date-picker style="width: 325px"
v-model="param.OPERATE_TIME"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货状态:">
<el-select v-model="param.Status" placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in Zt"
:key="item.label"
:label="item.values"
:value="item.label"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="加急标记">
<el-select v-model="param.equated_Quantity" placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Bj"
:key="item.index"
:label="item.equated_Quantity"
:value="item.equated_Quantity"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下发人">
<el-select v-model="param.strBill1" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Xf"
:key="item.index"
:label="item.strBill1"
:value="item.strBill1"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-button type="success" @click="find"></el-button>
<el-button type="success" @click="rest"></el-button>&nbsp;&nbsp;
<el-checkbox v-model="checked" @change="Allquesr"></el-checkbox>
</el-form>
</div>
<el-table
v-loading="this.tableloding"
:height="MaxHeight"
:header-cell-style="{background:'#000',color:'#fff'}"
:data="tableData"
id="educe-table"
ref="tableData"
style="width: 100%;">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
fixed
label="序号"
v-if="false"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span>
</template>
</el-table-column>
<el-table-column
label="盘点计划单号"
width="120">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.cp_code }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="盘点单号"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{scope.row.count_Code}}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="料号"
width="160">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.i_code }}</span>
</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip="fase"
label="描述"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.i_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="单位"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.UNIT }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="数量"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.QUANTITY }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="盘点数量"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.COUNT_QUANTITY }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="差异数"
width="130">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.DELTA_QUANTITY}}</span>
</div>
</template>
</el-table-column>
<el-table-column
:show-overflow-tooltip="true"
label="库位号"
width="180">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.lc_code }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="库区"
width="140">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.z_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="工作站"
width="60">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.targetArea }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="领取人"
width="50">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.w1_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="盘点人"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.w_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="序列号"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.barCode }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="批次号"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C1 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="到期日"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_D2 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="LOC"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C2 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="特殊标记"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C3 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="供应商"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C5 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="工厂"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C9 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="任务下发日期"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(1,10)}}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="任务下发时间"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{new Date(scope.row.issued_Date).toISOString().replace('T','').substring(10,19)}}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="开始盘点日期"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{new Date(scope.row.Open_Date).toISOString().replace('T','').substring(0,10) }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="开始盘点时间"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ new Date(scope.row.Open_Date).toISOString().replace('T','').substring(10,18) }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="盘点结束日期"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{new Date(scope.row.end_Date).toISOString().replace('T','').substring(0,10) }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="盘点结束时间"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ new Date(scope.row.end_Date).toISOString().replace('T','').substring(10,18) }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="是否差异"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.sfcy==0?'否':'是'}}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="是否盘点"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{scope.row.NEED_COUNT==0?'否':'是'}}</span>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-sizes="[ 50, 100, 200,500]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
tableloding: false,
isShow:false,//
tableData: [],
pageSize: 50,
pageNum: 1,
total: 3,
param: {
},
loading: false,
checked: false,
}
},computed:{
MaxHeight(){
return window.innerHeight - 240 +"px";
}
},
mounted: function () {
this.queryUser();
this.KuS();
this.DjS();
this.GzS();
this.JhrS();
this.BjS();
this.XfS();
},
methods: {
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageNum = 1;
this.pageSize = val;
this.queryUser();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNum = val;
this.queryUser();
},
KuS(){
//
this.$axios.post(this.$httpUrl + '/Kucunhuizong/ku', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Ku = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
DjS(){
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/dj', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Dj = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
GzS(){
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/gz', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Gz = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
JhrS(){
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/jhr', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Jhr = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
remoteMethod(query) {
if (query !== '') {
if(query.length>2) {
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/kw', {
query
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Kw = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
}, err => {
this.tableloding = false;
})
}
} else {
this.Kw = [];
}
},
XfS(){
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/xf', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Xf = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
BjS(){
this.$axios.post(this.$httpUrl + '/Jianhuojiemian/bj', {
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.Bj = res.data;
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
queryUser() {
//
this.$axios.post(this.$httpUrl + '/Pandianmingxi/queryPan', {
pageSize: this.pageSize,
pageNum: this.pageNum,
param: this.param,
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.tableData = res.data
this.total = res.total
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
find(){
this.queryUser();
},
Allquesr(){
//
if(this.checked){
this.isShow=true;
}else {
this.isShow=false;
}
},
rest() {
//
this.checked=false;
this.isShow=false;
this.param={};
},
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,540 @@
<template>
<div class="div1">
<div class="div2" style="padding-bottom: 10px">
<el-form ref="form" :model="param" label-width="80px">
<el-row :gutter="24">
<el-col :span="4">
<el-form-item label="子任务号:">
<el-input type="textarea" v-model="param.BILLCODE" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工单号:" >
<el-input type="textarea" v-model="param.pt_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="SAP类型:">
<el-input type="text" v-model="param.sourceType" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货库区">
<el-select v-model="param.z_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Ku"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="所在库位:">
<el-input type="textarea" v-model="param.lc2_code" :rows="1"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="料号:">
<el-input type="textarea" v-model="param.i_code" :rows="1"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="4">
<el-form-item label="单据类型">
<el-select v-model="param.bt_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Dj"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工作站">
<el-select v-model="param.END_REGION" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Gz"
:key="item.index"
:label="item.END_REGION"
:value="item.END_REGION"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货人">
<el-select v-model="param.w4_name" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Jhr"
:key="item.index"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="波次号:">
<el-input type="text" v-model="param.wd_code"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="容器码:">
<el-input type="text" v-model="param.LP"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货库位">
<el-select
v-model="param.lc1_code"
multiple
filterable
remote
reserve-keyword
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in Kw"
:key="item.index"
:label="item.CODE"
:value="item.CODE">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" v-show="isShow">
<el-col :span="8">
<el-form-item label="需求日期:">
<el-date-picker style="width: 325px"
v-model="param.ORDER_DATE"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分配日期:">
<el-date-picker style="width: 325px"
v-model="param.CREATE_TIME"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="拣货日期:">
<el-date-picker style="width: 325px"
v-model="param.OPERATE_TIME"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拣货状态:">
<el-select v-model="param.Status" placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in Zt"
:key="item.label"
:label="item.values"
:value="item.label"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="加急标记">
<el-select v-model="param.equated_Quantity" placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Bj"
:key="item.index"
:label="item.equated_Quantity"
:value="item.equated_Quantity"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="下发人">
<el-select v-model="param.strBill1" multiple filterable placeholder="请选择库区" style="width: 100%;">
<el-option
v-for="item in Xf"
:key="item.index"
:label="item.strBill1"
:value="item.strBill1"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-button type="success" @click="find"></el-button>
<el-button type="success" @click="rest"></el-button>&nbsp;&nbsp;
<el-checkbox v-model="checked" @change="Allquesr"></el-checkbox>
</el-form>
</div>
<el-table
v-loading="this.tableloding"
:height="MaxHeight"
:header-cell-style="{background:'#000',color:'#fff'}"
:data="tableData"
id="educe-table"
ref="tableData"
style="width: 100%;">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
fixed
label="序号"
v-if="false"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span>
</template>
</el-table-column>
<el-table-column
label="库位号"
width="120">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.lc_code }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="料号"
width="160">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{scope.row.i_code}}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="序列号"
width="160">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.BAR_CODE }}</span>
</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip="fase"
label="描述"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.i_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="单位"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.UNIT }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="状态"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.STATUS }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="库存数"
width="80">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.QUANTITY }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="占用数"
width="130">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.QUEUED_QUANTITY}}</span>
</div>
</template>
</el-table-column>
<el-table-column
:show-overflow-tooltip="true"
label="批次号"
width="180">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C1 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="LOC"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C2 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="特殊标记"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C3 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="供应商"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C5 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="工厂"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_C9 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="到期日"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.PROP_D2 }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="到期日"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.z_name }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="存货日期"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.STORAGE_DATE }}</span>
</div>
</template>
</el-table-column>
<el-table-column
label="是否差异"
width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<span>{{ scope.row.sfcy}}</span>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-sizes="[ 50, 100, 200,500]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
tableloding: false,
isShow:false,//
tableData: [],
pageSize: 50,
pageNum: 1,
total: 3,
param: {
},
loading: false,
checked: false,
}
},computed:{
MaxHeight(){
return window.innerHeight - 240 +"px";
}
},
mounted: function () {
this.queryUser();
this.KuS();
this.DjS();
this.GzS();
this.JhrS();
this.BjS();
this.XfS();
},
methods: {
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageNum = 1;
this.pageSize = val;
this.queryUser();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNum = val;
this.queryUser();
},
queryUser() {
//
this.$axios.post(this.$httpUrl + '/Xuliehaoqingdan/queryXu', {
pageSize: this.pageSize,
pageNum: this.pageNum,
param: this.param,
}).then(res => res.data)
.then(res => {
if (res.code == 200) {
this.tableData = res.data
this.total = res.total
} else {
this.$message.error('获取数据失败');
}
// eslint-disable-next-line no-unused-vars
},err=>{
this.tableloding=false;
})
},
find(){
this.queryUser();
},
Allquesr(){
//
if(this.checked){
this.isShow=true;
}else {
this.isShow=false;
}
},
rest() {
//
this.checked=false;
this.isShow=false;
this.param={};
},
}
}
</script>
<style scoped>
</style>

View File

@ -22,7 +22,7 @@ const routes=[
meta:{
title:'首页'
},
component: () => import('../components/Login')
component: () => import('../components/duochaxun/Pandianmingxi')
},
{
path:'/Zhengliqingdan',
@ -68,10 +68,26 @@ const routes=[
path:'/Liaoxiangjiankong',
name:'Liaoxiangjiankong',
meta:{
title:''
title:'料箱监控'
},
component: () => import('@/components/duochaxun/Liaoxiangjiankong.vue')
},
{
path:'/Pandianmingxi',
name:'Pandianmingxi',
meta:{
title:'盘点明细查询'
},
component: () => import('@/components/duochaxun/Pandianmingxi.vue')
},
{
path:'/Xuliehao',
name:'Xuliehao',
meta:{
title:'序列号库存清点'
},
component: () => import('@/components/duochaxun/Xuliehao.vue')
},
]
}

View File

@ -0,0 +1,6 @@
package com.yc.wms.bean;
public class Pandianming {
//
public String code;
}

View File

@ -0,0 +1,5 @@
package com.yc.wms.bean;
public class Xuliehao {
public String code;
}

View File

@ -0,0 +1,38 @@
package com.yc.wms.controller;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.yc.wms.bean.Pandianming;
import com.yc.wms.service.Kucunrizhi;
import com.yc.wms.service.Pandianmingxi;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
@RequestMapping("/Pandianmingxi")
public class PandianmingxiController {
@Autowired
private Pandianmingxi pandianmingxi;
@PostMapping("/queryPan")
public Result queryUser(@RequestBody String json) {
QueryPageUtil query =new QueryPageUtil();
JSONObject jsonObject= JSONUtil.parseObj(json);
query.setPageSize((int)jsonObject.get("pageSize"));
query.setPageNum((int)jsonObject.get("pageNum"));
JSONObject param= (JSONObject)jsonObject.get("param");
Pandianming p = JSONUtil.toBean(param.toString(), Pandianming.class);
return pandianmingxi.QueryJson(query,p);
}
}

View File

@ -48,7 +48,7 @@ public class UserController {
// return result;
JSONArray array=new JSONArray();
JSONObject data=new JSONObject();
int menuCount=6;
int menuCount=8;
for (int i=1;i<=menuCount;i++){
JSONObject menu=new JSONObject();
menu.put("id",i);
@ -77,6 +77,14 @@ public class UserController {
menu.put("menuName", "料箱监控");
menu.put("menuComponent","/Liaoxiangjiankong");
menu.put("menuClick","Liaoxiangjiankong");
}else if(i==7) {
menu.put("menuName", "盘点明细查询");
menu.put("menuComponent","/Pandianmingxi");
menu.put("menuClick","Pandianmingxi");
}else if(i==8) {
menu.put("menuName", "序列号库存清点");
menu.put("menuComponent","/Xuliehao");
menu.put("menuClick","Xuliehao");
}
menu.put("menuLevel",i);
menu.put("menuParentCode",i);

View File

@ -0,0 +1,39 @@
package com.yc.wms.controller;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.yc.wms.bean.Pandianming;
import com.yc.wms.bean.Xuliehao;
import com.yc.wms.service.Pandianmingxi;
import com.yc.wms.service.Xuliehaoqingdan;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
@RequestMapping("/Xuliehaoqingdan")
public class XuliehaoqingdanController {
@Autowired
private Xuliehaoqingdan xuliehaoqingdan;
@PostMapping("/queryXu")
public Result queryUser(@RequestBody String json) {
QueryPageUtil query =new QueryPageUtil();
JSONObject jsonObject= JSONUtil.parseObj(json);
query.setPageSize((int)jsonObject.get("pageSize"));
query.setPageNum((int)jsonObject.get("pageNum"));
JSONObject param= (JSONObject)jsonObject.get("param");
Xuliehao x = JSONUtil.toBean(param.toString(), Xuliehao.class);
return xuliehaoqingdan.QueryJson(query,x);
}
}

View File

@ -0,0 +1,11 @@
package com.yc.wms.service;
import com.yc.wms.bean.Pandianming;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
public interface Pandianmingxi {
// 条件查询加分页
Result QueryJson(QueryPageUtil query, Pandianming pandianming);
}

View File

@ -0,0 +1,12 @@
package com.yc.wms.service;
import com.yc.wms.bean.Pandianming;
import com.yc.wms.bean.Xuliehao;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
public interface Xuliehaoqingdan {
// 条件查询加分页
Result QueryJson(QueryPageUtil query, Xuliehao xuliehao);
}

View File

@ -91,7 +91,7 @@ public class JianhuojiemianImpl implements Jianhuojiemian {
//SAP类型
if(jianhuojiemian.sourceType!=null){
if(!jianhuojiemian.sourceType.trim().equals("")){
sql+=" and item.name like "+"'%"+jianhuojiemian.sourceType.trim()+"%'";
sql+=" and pt.sourceType like "+"'%"+jianhuojiemian.sourceType.trim()+"%'";
}
}

View File

@ -0,0 +1,64 @@
package com.yc.wms.service.impl;
import com.yc.wms.bean.Liaoxiangjiankong;
import com.yc.wms.bean.Pandianming;
import com.yc.wms.service.Pandianmingxi;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class PandianmingxiImpl implements Pandianmingxi {
@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;
@Override
public Result QueryJson(QueryPageUtil query, Pandianming pandianming) {
int pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sql="select Row_number() OVER(ORDER BY cr.id) as Row_Num, cr.id,cp.CODE cp_code,cr.count_Code,\n" +
"i.code i_code,i.NAME i_name,i.UNIT,cr.QUANTITY ,\n" +
"cr.COUNT_QUANTITY ,cr.DELTA_QUANTITY ,lc.code lc_code,\n" +
"z.NAME z_name,cr.targetArea ,w1.NAME w1_name,w.NAME w_name,\n" +
"cr.barCode ,ik.PROP_C1 ,ik.PROP_D2 ,ik.PROP_C2 ,\n" +
"ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C9 ,cr.issued_Date ,\n" +
"cr.Open_Date ,\n" +
"cr.end_Date ,\n" +
"case WHEN cr.DELTA_QUANTITY =0 then 0 else 1 end as sfcy ,cr.NEED_COUNT \n" +
" from COUNT_RECORD cr\n" +
" left join COUNT_PLAN cp on cp.id=cr.COUNT_PLAN_ID\n" +
" left join LOCATION lc on lc.id=cr.LOCATION_ID\n" +
" left join zone z on z.id=lc.ZONE_ID\n" +
" left join worker w on w.id=cr.WORKER_ID\n" +
" left join worker w1 on w1.id=cr.WORKER1_ID\n" +
" left join ITEM_KEY ik on ik.id=cr.ITEM_KEY_ID\n" +
" left join item i on i.id=ik.ITEM_ID\n" +
" where cr.count_Code is not NULL ";
String sqlCount = "select count(t.id) as nums from (" + sql+") t";
String sqlFy = "select t.* from(" + sql+") t";
sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize;
//查询单数据
Map<String,Object> listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>());
//查询多条数据据
List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
return Result.success(Long.parseLong(listCount.get("nums").toString()),maps);
}
}

View File

@ -0,0 +1,60 @@
package com.yc.wms.service.impl;
import com.yc.wms.bean.Xuliehao;
import com.yc.wms.service.Xuliehaoqingdan;
import com.yc.wms.until.QueryPageUtil;
import com.yc.wms.until.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class XuliehaoqingdanImpl implements Xuliehaoqingdan {
@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;
@Override
public Result QueryJson(QueryPageUtil query, Xuliehao xuliehao) {
int pageNum = query.getPageNum();//当前页
int pageSize = query.getPageSize();//条数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sql="select Row_number() OVER(ORDER BY inv.id) as Row_Num, inv.id,lc.CODE lc_code,i.CODE i_code,inv.BAR_CODE ,i.NAME i_name,i.UNIT ,\n" +
"inv.STATUS ,inv.QUANTITY ,inv.QUEUED_QUANTITY ,\n" +
"ik.PROP_C1 ,ik.PROP_C2 ,ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C9 ,ik.PROP_D2 ,\n" +
"z.NAME z_name,inv.STORAGE_DATE ,case when inv.coun_Plan is null then '否' else '是' end as sfpd\n" +
" from INVENTORY inv\n" +
" left join ITEM_KEY ik on ik.id=inv.ITEM_KEY_ID\n" +
" left join item i on i.id=ik.ITEM_ID\n" +
" left join LOCATION lc on lc.id=inv.LOCATION_ID\n" +
" left join [ZONE] z on z.id=lc.ZONE_ID\n" +
" WHERE 1=1\n" +
" and inv.quantity>0\n" +
" and lc.type not in ('RECEIVE','SHIP')\n" +
" and i.BE_MARK_WEIGHT=1";
String sqlCount = "select count(t.id) as nums from (" + sql+") t";
String sqlFy = "select t.* from(" + sql+") t";
sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize;
//查询单数据
Map<String,Object> listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>());
//查询多条数据据
List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>());
return Result.success(Long.parseLong(listCount.get("nums").toString()),maps);
}
}