作者 朱兆平

仓库入库

import axios from 'axios'
import http from "../http";
let baseServiceURL = 'wms-server-warehouse/wms'
let baseUrl = 'wms-server-warehouse/wms/station'
let baseUrl1 = 'wms-server-warehouse/wms/house'
let baseUrl2 = 'wms-server-warehouse/wms/inventroyrecord'
... ... @@ -43,6 +43,9 @@ export const delInventoryrecord = params => { return axios.get(`${baseUrl2}/delI
export const addInventoryrecord = params => { return http.post(`${baseUrl2}/addInventoryrecord`,params)};
//批量入库
export const batchImpNewinventroyrecord = params => { return http.post(`${baseServiceURL}/newinventroyrecord/batchImpNewinventroyrecord`,params)};
export const ediInventroyrecord = params => { return http.post(`${baseUrl2}/ediInventroyrecord`,params)};
//库位管理
export const selectLocations = params => { return axios.get(`${baseUrl3}/selectLocations`, { params: params }); };
... ...
... ... @@ -27,15 +27,15 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="pcs">
<el-input v-model.number="addForm.pcs" autocomplete="off" suffix-icon="el-icon-files" clearable >
<el-form-item label=" " :label-width="formLabelWidth" prop="totalpcs">
<el-input v-model.number="addForm.totalpcs" autocomplete="off" suffix-icon="el-icon-files" clearable >
<template slot="prepend">总&nbsp;件&nbsp;数</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="weight">
<el-input v-model="addForm.weight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<el-form-item label=" " :label-width="formLabelWidth" prop="totalweight">
<el-input v-model="addForm.totalweight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<template slot="prepend">总&nbsp;重&nbsp;量</template>
</el-input>
</el-form-item>
... ... @@ -50,24 +50,24 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="weight">
<el-input v-model="addForm.weight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<el-form-item label=" " :label-width="formLabelWidth" prop="billweight">
<el-input v-model="addForm.billweight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<template slot="prepend">入库重量</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="billweight">
<el-input v-model="addForm.billweight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<el-form-item label=" " :label-width="formLabelWidth" prop="feeweight">
<el-input v-model="addForm.feeweight" autocomplete="off" suffix-icon="el-icon-files" clearable>
<template slot="prepend">计费重量</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="packge">
<el-form-item label=" " :label-width="formLabelWidth" prop="packingid">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">包装类型</div>
<el-select v-model="addForm.packge"
<el-select v-model="addForm.packingid"
placeholder="包装类型"
filterable
default-first-option
... ... @@ -87,14 +87,14 @@
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="vol">
<el-tooltip class="item" effect="dark" content="单位:厘米,每行录入一个体积信息格式如:1x2x3x4(长x宽x高x件数),回车换行" placement="right">
<el-form-item label=" " :label-width="formLabelWidth" prop="goodssize">
<el-tooltip class="item" effect="dark" content="单位:厘米,每行录入一个尺寸信息格式如:1x2x3x4(长x宽x高x件数),回车换行" placement="right">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">体&emsp;&emsp;积</div>
<el-input v-model="addForm.vol"
<el-input v-model="addForm.goodssize"
type="textarea"
autosize
placeholder="请输入体积"
placeholder="请输入尺寸"
style="float: left;width:calc(100% - 89px)"
>
</el-input>
... ... @@ -103,8 +103,8 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="volValue">
<el-input v-model="addForm.volValue" autocomplete="off" suffix-icon="el-icon-files" disabled>
<el-form-item label=" " :label-width="formLabelWidth" prop="goodsvol">
<el-input v-model="addForm.goodsvol" autocomplete="off" suffix-icon="el-icon-files" disabled>
<template slot="prepend">入库体积</template>
</el-input>
</el-form-item>
... ... @@ -153,18 +153,18 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="transcar">
<el-input v-model="addForm.transcar" autocomplete="off" suffix-icon="el-icon-files" >
<el-form-item label=" " :label-width="formLabelWidth" prop="licenseplate">
<el-input v-model="addForm.licenseplate" autocomplete="off" suffix-icon="el-icon-files" >
<template slot="prepend">运输车辆</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label=" " :label-width="formLabelWidth" prop="customername">
<el-form-item label=" " :label-width="formLabelWidth" prop="custcode">
<el-autocomplete
v-model="addForm.customername"
v-model="addForm.custcode"
:fetch-suggestions="crmQuerySearch"
placeholder="请输入货主名称"
placeholder="请输入客户代码"
:trigger-on-focus="false"
value-key = "roleName"
clearable
... ... @@ -355,12 +355,24 @@
fixed="left"
width="55"
/>
<el-table-column
fixed
prop="waybill"
label="货物单号"
width="120">
</el-table-column>
<el-table-column
fixed
prop="waybill"
label="主单号"
width="120">
<template slot-scope="scope">
{{scope.row.waybill}}
</template>
</el-table-column>
<el-table-column
fixed
prop="waybill"
label="分单号"
width="120">
<template slot-scope="scope">
{{scope.row.billfhl}}
</template>
</el-table-column>
<el-table-column
fixed
prop="serialnumber"
... ... @@ -369,39 +381,39 @@
</el-table-column>
<el-table-column
prop="pcs"
label="件数"
label="入库件数"
width="60">
</el-table-column>
<el-table-column
prop="weight"
label="重量"
width="60">
</el-table-column>
<el-table-column
prop="billweight"
label="计费重量"
width="70">
</el-table-column>
<el-table-column
prop="vol"
label="体积"
prop="billweight"
label="入库重量"
width="60">
</el-table-column>
<el-table-column
prop="area"
label="库区"
width="60">
</el-table-column>
<el-table-column
prop="feeweight"
label="计费重量"
width="70">
</el-table-column>
<el-table-column
prop="goodssize"
label="尺寸"
width="60">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="area"-->
<!-- label="库区"-->
<!-- width="60">-->
<!-- </el-table-column>-->
<el-table-column
prop="location"
label="库位"
width="60">
</el-table-column>
<el-table-column
prop="station"
label="出入库场站"
width="100">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="station"-->
<!-- label="出入库场站"-->
<!-- width="100">-->
<!-- </el-table-column>-->
<el-table-column
prop="status"
label="状态"
... ... @@ -412,7 +424,7 @@
</template>
</el-table-column>
<el-table-column
prop="transcar"
prop="licenseplate"
label="运输车辆信息"
width="100">
</el-table-column>
... ... @@ -432,29 +444,29 @@
<!-- width="100">-->
<!-- </el-table-column>-->
<el-table-column
prop="customername"
label="客户名称"
width="80">
</el-table-column>
<el-table-column
prop="goodstype"
label="货物类型"
prop="custcode"
label="客户代码"
width="80">
</el-table-column>
<el-table-column
prop="house"
label="出入库仓库"
width="100">
</el-table-column>
<el-table-column
prop="ietype"
label="类型"
width="60">
<template slot-scope="scope">
<span v-if="scope.row.ietype ==='I'">进</span>
<span v-if="scope.row.ietype ==='E'">出</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="goodstype"-->
<!-- label="货物类型"-->
<!-- width="80">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="house"-->
<!-- label="出入库仓库"-->
<!-- width="100">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="ietype"-->
<!-- label="类型"-->
<!-- width="60">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.ietype ==='I'">进</span>-->
<!-- <span v-if="scope.row.ietype ==='E'">出</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
prop="opter"
label="出入库经办人"
... ... @@ -614,6 +626,7 @@
selectInventroyrecords,
delInventoryrecord,
addInventoryrecord,
batchImpNewinventroyrecord,
ediInventroyrecord,
selectAreas,
selectLocations,
... ... @@ -661,7 +674,7 @@
console.log(err.name + ' '+ err.message)
callback();
if (err && err.message===''){
_this.addForm.volValue = (tempVol/1000000).toFixed(2)
_this.addForm.goodsvol = (tempVol/1000000).toFixed(2)
_this.volAreatextMerge(lineStr)
}
... ... @@ -702,10 +715,10 @@
otherDrawerVisible: false,
addForm: {
area: '',
billweight: '',
feeweight: '',
custel: '',
customer: '',
customername: '',
custcode: '',
goodstype: '运单',
house:'',
ietype:'I',
... ... @@ -713,13 +726,14 @@
opter:'',
opttime: '',
pcs: '',
totalpcs:0,
serialnumber: '',
station: '',
status: '',
transcar: '',
licenseplate: '',
transtype:'销售入库',
vol:'',
volValue:0,
goodssize:'',
goodsvol:0,
waybill:'',
billfhl:'',
//随货文件
... ... @@ -729,8 +743,9 @@
files:[],
damages:[],
sphCodes:[],
weight:'',
packge:'',
billweight:0,
totalweight:0,
packingid:'',
remark:'',
remark1:'',
remark2:'',
... ... @@ -773,15 +788,15 @@
{ pattern: /^[0-9A-Z]+$/, message: '分单号格式只支持数字与大写字母' }
],
pcs: [
{ required: true, message: '件数必填', trigger: 'blur' },
{ required: true, message: '入库件数必填', trigger: 'blur' },
{ type:"number", message: '件数必须为整数'}
],
weight: [
{ required: true, message: '重量为必填项', trigger: 'blur' },
billweight: [
{ required: true, message: '入库重量为必填项', trigger: 'blur' },
// eslint-disable-next-line no-useless-escape
{ pattern: /^([0-9]+)(\.\d{2})?$/, message: '只允许输入数字与小数,支持到小数点后两位' }
],
billweight: [
feeweight: [
{ required: true, message: '计费重量为必填项', trigger: 'blur' },
{ pattern: /^([0-9]+)(\.\d{2})?$/, message: '只允许输入数字与小数,支持到小数点后两位' }
],
... ... @@ -791,18 +806,18 @@
location: [
{ required: true, message: '库位为必填项', trigger: 'blur' }
],
customername: [
custcode: [
{ required: true, message: '货主名称为必填项', trigger: 'blur' }
],
opter: [
{ required: true, message: '必须包含经办人信息', trigger: 'blur' }
],
vol:[
{ required: true, message: '体积信息必填', trigger: 'blur' },
goodssize:[
{ required: true, message: '尺寸信息必填', trigger: 'blur' },
{ validator: checkInputArea, trigger: 'blur' }
// { pattern: /^[0-9\.x]+$/gm, message: '体积信息只能输入数字和(.)点符号与x小写字母' }
],
packge:[
packingid:[
{ required: true, message: '包装信息必选', trigger: 'blur' }
]
},
... ... @@ -837,38 +852,22 @@
},
// 添加对话框,打开事件
applyAdd() {
this.addForm = {
area: '',
billweight: '',
custel: '',
customer: '',
customername: '',
goodstype: '',
house:'',
ietype:'',
location:'',
opter:'',
opttime: '',
pcs: '',
serialnumber: '',
station: '',
status: '',
transcar: '',
transtype:'',
vol:'',
pacage:'',
waybill:'',
weight:'',
remark:'',
remark1:'',
remark2:'',
remark3:'',
remark4:'',
remark5:'',
uuid:''
};
this.dialogApply= 'create';
this.apply_dialog.addDialog = true;
let ld = this.$loading({
text:"入库中..."
})
batchImpNewinventroyrecord(this.tableData).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
return this.$message.error(res.msg);
}
// 添加,成功
this.$message.success(res.msg);
}).catch(error => {
this.$message.error(error.toString());
}).finally(()=>{
ld.close()
});
},
batchAdd(){
this.$refs.addForm.validate(valid => {
... ... @@ -885,7 +884,7 @@
this.$refs.addForm.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
addInventoryrecord(this.addForm).then((response) => {
batchImpNewinventroyrecord(this.addForm).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
... ... @@ -1145,6 +1144,7 @@
},
submitUpload(formData){
const fileServiceName = '/api/wlpt-custom-service-workflow'
let ld = this.$loading({
text:"图片数据上传中..."
})
... ... @@ -1155,7 +1155,7 @@
return this.$message.error(res.msg);
}
this.$message.success(res.msg);
this.addForm.annex = res.data.relativePath
this.addForm.annex = fileServiceName + res.data.relativePath
}).finally(()=>{
ld.close()
})
... ...