...
|
...
|
@@ -634,26 +634,37 @@ |
|
|
name: "inventroyrecord",
|
|
|
data() {
|
|
|
var checkInputArea = (rule, value, callback) => {
|
|
|
let err = {
|
|
|
name:'',
|
|
|
message:''
|
|
|
}
|
|
|
let _this = this
|
|
|
let tempVol = 0
|
|
|
if (!value) {
|
|
|
return callback(new Error('体积信息必填'));
|
|
|
err = new Error('体积信息必填')
|
|
|
return callback(err);
|
|
|
}
|
|
|
setTimeout(() => {
|
|
|
var lineStr = value.replace('\r').split('\n')
|
|
|
lineStr.forEach(((v,index) => {
|
|
|
// eslint-disable-next-line no-useless-escape
|
|
|
var pattern = /^[0-9\.]+x[0-9\.]+x[0-9\.]+x[0-9\.]+$/;
|
|
|
var pattern = /^[0-9\.]+[xX][0-9\.]+[xX][0-9\.]+[xX][0-9\.]+$/;
|
|
|
if(!pattern.test(v)){
|
|
|
callback(new Error('行:'+index+'的值:'+v+'的体积格式输入错误,格式为1x1x1x1支持小数点'));
|
|
|
err = new Error('行:'+index+'的值:'+v+'的体积格式输入错误,格式为1x1x1x1支持小数点')
|
|
|
return callback(err);
|
|
|
}else {
|
|
|
const volV = this.multiply(v)
|
|
|
tempVol += volV
|
|
|
}
|
|
|
}))
|
|
|
|
|
|
console.log(err.name + ' '+ err.message)
|
|
|
callback();
|
|
|
if (err && err.message===''){
|
|
|
_this.addForm.volValue = (tempVol/1000000).toFixed(2)
|
|
|
_this.volAreatextMerge(lineStr)
|
|
|
}
|
|
|
|
|
|
}, 200);
|
|
|
};
|
|
|
return {
|
...
|
...
|
@@ -787,9 +798,12 @@ |
|
|
{ required: true, message: '必须包含经办人信息', trigger: 'blur' }
|
|
|
],
|
|
|
vol:[
|
|
|
// { required: true, message: '体积信息必填', trigger: 'blur' },
|
|
|
{ validator: checkInputArea, trigger: 'blur' },
|
|
|
{ required: true, message: '体积信息必填', trigger: 'blur' },
|
|
|
{ validator: checkInputArea, trigger: 'blur' }
|
|
|
// { pattern: /^[0-9\.x]+$/gm, message: '体积信息只能输入数字和(.)点符号与x小写字母' }
|
|
|
],
|
|
|
packge:[
|
|
|
{ required: true, message: '包装信息必选', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
}
|
...
|
...
|
@@ -863,6 +877,7 @@ |
|
|
const wmslog = Object.assign({},this.addForm)
|
|
|
this.tableData.push(wmslog)
|
|
|
this.addForm.serialnumber = this.serialNumber()
|
|
|
console.log(JSON.stringify(wmslog))
|
|
|
})
|
|
|
},
|
|
|
// 添加功能
|
...
|
...
|
@@ -1019,7 +1034,7 @@ |
|
|
_this.$message.success('获取特货代码记录,成功!')
|
|
|
}).catch(error => {
|
|
|
// 关闭加载
|
|
|
_this.$message.error(error.toString())
|
|
|
_this.$message.error('获取特货代码记录,失败!'+error.toString())
|
|
|
}).finally(()=>{
|
|
|
ld.close()
|
|
|
})
|
...
|
...
|
@@ -1182,6 +1197,36 @@ |
|
|
tempNum = tempNum*item
|
|
|
})
|
|
|
return tempNum;
|
|
|
},
|
|
|
/**
|
|
|
* 每行相同的体积数据进行合并
|
|
|
*/
|
|
|
volAreatextMerge(strArr){
|
|
|
if (strArr){
|
|
|
let newArray = strArr.reduce((total, cur, index) => {
|
|
|
let hasValue = total.findIndex(current => {
|
|
|
//这里查找长x宽x高 一样的元素
|
|
|
return current === cur
|
|
|
})
|
|
|
//没找到重复元素 入到临时数组
|
|
|
hasValue === -1 && total.push(cur)
|
|
|
|
|
|
let piece = 0
|
|
|
//找到重复元素
|
|
|
if(hasValue !== -1 ) {
|
|
|
// total[hasValue] = total[hasValue].sl + cur.sl
|
|
|
//累加重复元素的件数
|
|
|
//1.获取需要累加的重复元素的件数
|
|
|
piece += total[hasValue].split('x')[3]
|
|
|
console.log("重复元素"+hasValue)
|
|
|
console.log("重复元素总件数"+piece)
|
|
|
}
|
|
|
return total
|
|
|
}, [])
|
|
|
console.log(newArray)
|
|
|
}else{
|
|
|
this.$message.error("合并体积录入数据出错")
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
...
|
...
|
|