增加商品校验
This commit is contained in:
@@ -125,7 +125,7 @@ const queryMaterialCategoryById = (params)=>getAction("/materialCategory/findByI
|
|||||||
//商品管理
|
//商品管理
|
||||||
const addMaterial = (params)=>postAction("/material/add",params);
|
const addMaterial = (params)=>postAction("/material/add",params);
|
||||||
const editMaterial = (params)=>putAction("/material/update",params);
|
const editMaterial = (params)=>putAction("/material/update",params);
|
||||||
const checkMaterial = (params)=>getAction("/material/checkIsNameExist",params);
|
const checkMaterial = (params)=>getAction("/material/checkIsExist",params);
|
||||||
const getMaterialBySelect = (params)=>getAction("/material/findBySelect",params);
|
const getMaterialBySelect = (params)=>getAction("/material/findBySelect",params);
|
||||||
const getSerialMaterialBySelect = (params)=>getAction("/material/getMaterialEnableSerialNumberList",params);
|
const getSerialMaterialBySelect = (params)=>getAction("/material/getMaterialEnableSerialNumberList",params);
|
||||||
const getMaterialByBarCode = (params)=>getAction("/material/getMaterialByBarCode",params);
|
const getMaterialByBarCode = (params)=>getAction("/material/getMaterialByBarCode",params);
|
||||||
|
|||||||
@@ -230,8 +230,7 @@
|
|||||||
name:{
|
name:{
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入名称!' },
|
{ required: true, message: '请输入名称!' },
|
||||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
|
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }
|
||||||
{ validator: this.validateMaterialName}
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
unit:{
|
unit:{
|
||||||
@@ -362,6 +361,7 @@
|
|||||||
stock: allValues.tablesValue[1].values,
|
stock: allValues.tablesValue[1].values,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 发起新增或修改的请求 */
|
/** 发起新增或修改的请求 */
|
||||||
requestAddOrEdit(formData) {
|
requestAddOrEdit(formData) {
|
||||||
if(formData.unit === '' && formData.unitId === '') {
|
if(formData.unit === '' && formData.unitId === '') {
|
||||||
@@ -372,86 +372,95 @@
|
|||||||
this.$message.warning('抱歉,请输入条码信息!');
|
this.$message.warning('抱歉,请输入条码信息!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//进一步校验单位
|
//校验商品是否存在,通过校验商品的名称、型号、规格、颜色、单位、制造商等
|
||||||
let manyUnitselected = ''
|
let param = {
|
||||||
if(formData.unitId) {
|
id: this.model.id?this.model.id:0,
|
||||||
for(let i=0; i<this.unitList.length; i++) {
|
name: this.model.name,
|
||||||
if(this.unitList[i].id == formData.unitId) {
|
model: this.parseParam(this.model.model),
|
||||||
manyUnitselected = this.unitList[i].name
|
color: this.parseParam(this.model.color),
|
||||||
}
|
standard: this.parseParam(this.model.standard),
|
||||||
}
|
mfrs: this.parseParam(this.model.mfrs),
|
||||||
|
otherField1: this.parseParam(this.model.otherField1),
|
||||||
|
otherField2: this.parseParam(this.model.otherField2),
|
||||||
|
otherField3: this.parseParam(this.model.otherField3),
|
||||||
|
unit: this.parseParam(this.model.unit),
|
||||||
|
unitId: this.parseParam(this.model.unitId)
|
||||||
}
|
}
|
||||||
let manyUnitInfo = manyUnitselected.substring(0, manyUnitselected.indexOf("("));
|
checkMaterial(param).then((res)=>{
|
||||||
let unitArr = manyUnitInfo.split(",");
|
if(res && res.code===200) {
|
||||||
if(!formData.unit) {
|
if(res.data.status){
|
||||||
//此时为多单位
|
this.$message.warning('抱歉,该商品已存在!');
|
||||||
if (formData.meList.length<2){
|
|
||||||
this.$message.warning('多单位的商品条码行数至少要有两行,请再新增一行条码信息!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(formData.meList[0].commodityUnit != unitArr[0]) {
|
|
||||||
this.$message.warning('条码之后的单位填写有误,单位【' + formData.meList[0].commodityUnit
|
|
||||||
+ '】请修改为【' + unitArr[0] + '】!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(formData.meList[1].commodityUnit != unitArr[1]) {
|
|
||||||
this.$message.warning('条码之后的单位填写有误,单位【' + formData.meList[1].commodityUnit
|
|
||||||
+ '】请修改为【' + unitArr[1] + '】!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(let i=0; i<formData.meList.length; i++) {
|
|
||||||
let commodityUnit = formData.meList[i].commodityUnit;
|
|
||||||
if(formData.unit) {
|
|
||||||
if(commodityUnit != formData.unit) {
|
|
||||||
this.$message.warning('条码之后的单位填写有误,单位【' + commodityUnit + '】请修改为【'
|
|
||||||
+ formData.unit + '】!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else if(manyUnitselected) {
|
|
||||||
if(commodityUnit != unitArr[0] && commodityUnit != unitArr[1]) {
|
|
||||||
this.$message.warning('条码之后的单位填写有误,单位【' + commodityUnit + '】请修改为【'
|
|
||||||
+ unitArr[0]+ '】或【' + unitArr[1]+ '】!');
|
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
//进一步校验单位
|
||||||
|
let manyUnitselected = ''
|
||||||
|
if(formData.unitId) {
|
||||||
|
for(let i=0; i<this.unitList.length; i++) {
|
||||||
|
if(this.unitList[i].id == formData.unitId) {
|
||||||
|
manyUnitselected = this.unitList[i].name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let manyUnitInfo = manyUnitselected.substring(0, manyUnitselected.indexOf("("));
|
||||||
|
let unitArr = manyUnitInfo.split(",");
|
||||||
|
if(!formData.unit) {
|
||||||
|
//此时为多单位
|
||||||
|
if (formData.meList.length<2){
|
||||||
|
this.$message.warning('多单位的商品条码行数至少要有两行,请再新增一行条码信息!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(formData.meList[0].commodityUnit != unitArr[0]) {
|
||||||
|
this.$message.warning('条码之后的单位填写有误,单位【' + formData.meList[0].commodityUnit
|
||||||
|
+ '】请修改为【' + unitArr[0] + '】!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(formData.meList[1].commodityUnit != unitArr[1]) {
|
||||||
|
this.$message.warning('条码之后的单位填写有误,单位【' + formData.meList[1].commodityUnit
|
||||||
|
+ '】请修改为【' + unitArr[1] + '】!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(let i=0; i<formData.meList.length; i++) {
|
||||||
|
let commodityUnit = formData.meList[i].commodityUnit;
|
||||||
|
if(formData.unit) {
|
||||||
|
if(commodityUnit != formData.unit) {
|
||||||
|
this.$message.warning('条码之后的单位填写有误,单位【' + commodityUnit + '】请修改为【'
|
||||||
|
+ formData.unit + '】!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if(manyUnitselected) {
|
||||||
|
if(commodityUnit != unitArr[0] && commodityUnit != unitArr[1]) {
|
||||||
|
this.$message.warning('条码之后的单位填写有误,单位【' + commodityUnit + '】请修改为【'
|
||||||
|
+ unitArr[0]+ '】或【' + unitArr[1]+ '】!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//接口调用
|
||||||
|
let url = this.url.add, method = 'post'
|
||||||
|
if (this.model.id) {
|
||||||
|
url = this.url.edit
|
||||||
|
method = 'put'
|
||||||
|
}
|
||||||
|
const that = this;
|
||||||
|
this.confirmLoading = true
|
||||||
|
httpAction(url, formData, method).then((res) => {
|
||||||
|
if(res.code === 200){
|
||||||
|
that.$emit('ok');
|
||||||
|
that.confirmLoading = false
|
||||||
|
that.close();
|
||||||
|
}else{
|
||||||
|
that.$message.warning(res.data.message);
|
||||||
|
that.confirmLoading = false
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//接口调用
|
|
||||||
let url = this.url.add, method = 'post'
|
|
||||||
if (this.model.id) {
|
|
||||||
url = this.url.edit
|
|
||||||
method = 'put'
|
|
||||||
}
|
|
||||||
const that = this;
|
|
||||||
this.confirmLoading = true
|
|
||||||
httpAction(url, formData, method).then((res) => {
|
|
||||||
if(res.code === 200){
|
|
||||||
that.$emit('ok');
|
|
||||||
that.confirmLoading = false
|
|
||||||
that.close();
|
|
||||||
}else{
|
|
||||||
that.$message.warning(res.data.message);
|
|
||||||
that.confirmLoading = false
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
validateMaterialName(rule, value, callback){
|
parseParam(param) {
|
||||||
let params = {
|
return param ? param: ""
|
||||||
name: value,
|
|
||||||
id: this.model.id?this.model.id:0
|
|
||||||
};
|
|
||||||
checkMaterial(params).then((res)=>{
|
|
||||||
if(res && res.code===200) {
|
|
||||||
if(!res.data.status){
|
|
||||||
callback();
|
|
||||||
} else {
|
|
||||||
callback("名称已经存在");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callback(res.data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
validateBarCode(type, value, row, column, callback, target) {
|
validateBarCode(type, value, row, column, callback, target) {
|
||||||
let params = {
|
let params = {
|
||||||
|
|||||||
Reference in New Issue
Block a user