作者 朱兆平

根据商品信息进行快速入库

... ... @@ -3,19 +3,49 @@
<el-card style="background-color: #F5F7FA">
<el-row class="toolbar" style="height:auto">
<el-form :model="addForm" :rules="rules" ref="addForm" :inline="true">
<el-divider content-position="left"><i class="el-icon-document"></i> 商品 <el-tag>流水号: {{addForm.serialnumber}}</el-tag></el-divider>
<el-divider content-position="left"><i class="el-icon-box"></i> 商品 <el-tag>流水号: {{addForm.serialnumber}}</el-tag></el-divider>
<el-row>
<el-col :span="6">
<el-form-item prop="waybill">
<el-input v-model="addForm.waybill" autocomplete="off" suffix-icon="el-icon-shopping-cart-full" clearable>
<el-form-item>
<el-autocomplete
v-model="goodsInfo.gdebc"
:fetch-suggestions="goodsSearch"
@select="goodsSearchSelect"
placeholder="快速入库商品时录入的商品简码"
:trigger-on-focus="false"
value-key = "gdebc"
clearable
highlight-first-item
style="width: 100%"
>
<template slot="prepend">商品简码</template>
<template slot-scope="{ item }">
<div class="name" style="float: left">{{ item.gdebc }}</div>
<div class="addr" style="float: right">{{ item.gdsnm }}</div>
</template>
</el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input v-model="goodsInfo.grosswt" autocomplete="off" suffix-icon="el-icon-document" clearable>
<template slot="prepend">
商品毛重
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input v-model="goodsInfo.newwt" autocomplete="off" suffix-icon="el-icon-document" clearable>
<template slot="prepend">
&emsp;商品简码
商品净重
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left"><i class="el-icon-document"></i> 货物信息</el-tag></el-divider>
<el-divider content-position="left"><i class="el-icon-document"></i> 货物信息 </el-divider>
<el-row>
<el-col :span="6" v-if="false">
<el-form-item prop="serialnumber">
... ... @@ -58,7 +88,7 @@
<el-row>
<el-col :span="6">
<el-form-item prop="pcs">
<el-input v-model.number="addForm.pcs" autocomplete="off" suffix-icon="el-icon-files" clearable >
<el-input v-model.number="addForm.pcs" autocomplete="off" suffix-icon="el-icon-files" clearable @blur="pcsBlur">
<template slot="prepend">
<i v-if="rules.hasOwnProperty('pcs')" style="color:red;">*</i> 入库件数
</template>
... ... @@ -665,7 +695,8 @@
ediInventroyrecord,
selectAreas,
selectLocations,
getSPHCode
getSPHCode,
selectGoodsManagement
} from '../../api/consigner/station';
import dateUtil from "@/utils/index"
import jsutil from "@/common/js/util";
... ... @@ -727,11 +758,17 @@
// 每页大小
pageSize: 10,
},
goodsInfo:{
gdebc:'',
grosswt:0,
newwt:0
},
total: 0,
tableData:[],
areaData:[],
locationData:[],
roles:[],
goodsCode:'',
imgBase64:'',
imgUploadPath:uploadPath,
uploadFileList:[],
... ... @@ -812,6 +849,9 @@
}, {
value: '销售入库',
label: '交易类型-销售入库'
},{
value: '物流入库',
label: '交易类型-物流入库'
}],
formLabelWidth: '5px',
flieOptions:['报关单证','关封','运单','信封','保函','安检申报清单','随机文件','备案清单','放行通知书','货物运输条件鉴定书(磁化/化工品)','其他'],
... ... @@ -1120,6 +1160,38 @@
}
};
},
goodsSearch(queryString, cb){
let _this=this
let para = {
gdebc:queryString,
pageNum: 1,
pageSize: 10,
}
let goodsInfo = [];
selectGoodsManagement(para).then((response) => {
const res = response.data
if (res.code !== '200') {
return _this.$message.error('获取商品信息,失败!')
}
// 获取列表数据
goodsInfo = res.data.list
_this.$message.success('获取消息收发记录,成功!')
cb(goodsInfo);
}).catch(error => {
_this.$message.error(error.toString())
})
},
goodsSearchSelect(item){
this.addForm.waybill = item.gdecd
this.goodsInfo.grosswt = item.grosswt
this.goodsInfo.newwt = item.newwt
},
pcsBlur(e){
const inputPcs = e.target.value;
if (inputPcs && inputPcs>0 && this.goodsInfo.grosswt && this.goodsInfo.grosswt>0){
this.addForm.billweight = (Number.parseFloat(inputPcs)*Number.parseFloat(this.goodsInfo.grosswt)).toFixed(2)
}
},
screenshot(){
let video = document.getElementById('videos')
html2canvas(video, {
... ...