var vm = new Vue({
|
el: '#app',
|
data: function () {
|
return {
|
isLoading: false,
|
userInfo: {
|
"loginGuid": '',
|
"loginAccount": '',
|
},
|
KbBar: "",//卡板条码
|
LsBar: "",//后盖流水条码
|
XBar: "",//箱条码
|
UserName: Cookies.get('loginName'),//用户名称
|
KbBarInfo: [],
|
KbBarMxInfo: [],
|
GX: "G007:核对送检",
|
Xvalue:4,
|
XbarInfo: [
|
//{
|
// iteM_BARCODE: "", // 条码
|
// item_no: "", // 物料编号
|
// item_name: "", // 物料名称
|
// item_model: "", // 规格型号
|
// quantity: 0, // 数量
|
// is_hedui: "0", // 是否核对(1:已核对 0:未核对),
|
// weight: "" // 产品重量
|
//}
|
],
|
DAA001: [],
|
}
|
},
|
mounted() {
|
var that = this;
|
this.userInfo = {
|
loginGuid: this.GetLoginInfor().loginGuid,
|
loginAccount: this.GetLoginInfor().loginAccount,
|
};
|
},
|
methods: {
|
getKbBarInfo() {
|
var that = this;
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/getKbBarInfo', {
|
Xt: that.GX,
|
Kbbarcode: that.KbBar
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
that.KbBarInfo = json.data.tbBillList.kbBarInfo[0];
|
that.DAA001 = that.KbBarInfo.daA001;
|
that.KbBarMxInfo = json.data.tbBillList.kbBarMxInfo;
|
that.$refs.XBar.focus();
|
that.XbarInfo = [];
|
that.XBar = "";
|
}
|
else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
that.$refs.KbBar.focus();
|
that.KbBar = "";
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("网络错误,请重试!");
|
that.$refs.KbBar.focus();
|
that.KbBar = "";
|
});
|
},
|
getXBarInfo() {
|
var that = this;
|
if (that.KbBar.length <= 0) {
|
that.$playSound('error');
|
that.$toast.fail("卡板条码不能为空!");
|
that.$refs.KbBar.focus();
|
that.XBar = "";
|
return;
|
}
|
|
if (that.DAA001.length <= 0) {
|
that.$playSound('error');
|
that.$toast.fail("指令工单不能为空!");
|
that.$refs.KbBar.focus();
|
that.XBar = "";
|
return;
|
}
|
|
// 检查是否超过装箱数
|
if (that.XbarInfo.length >= that.Xvalue) {
|
that.$playSound('error');
|
that.$toast.fail(`已达到装箱数限制(${that.Xvalue})`);
|
that.XBar = "";
|
return;
|
}
|
|
//待装数
|
var Dvalue = (that.KbBarInfo.oldqty || 0) - +(that.KbBarInfo.ySum || 0)
|
// 检查是否超过装箱数
|
if (that.Xvalue > Dvalue) {
|
that.$playSound('error');
|
that.$toast.fail(`装箱数(${that.Xvalue}) 不能大于 卡板待装数(${Dvalue})`);
|
that.XBar = "";
|
return;
|
}
|
|
// 检查条码是否已存在
|
const isExist = that.XbarInfo.some(item => item.iteM_BARCODE === that.XBar);
|
if (isExist) {
|
that.$playSound('error');
|
that.$toast.fail("该箱条码已存在,请勿重复扫描");
|
that.XBar = "";
|
return;
|
}
|
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/getXBarInfo', {
|
KbBar: that.KbBar,
|
DAA001: that.DAA001,
|
userName: that.userInfo.loginAccount,
|
Xbarcode: that.XBar
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
that.XbarInfo.push(json.data.tbBillList.xBarInfo[0]);
|
that.$refs.XBar.focus();
|
that.XBar = "";
|
}
|
else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("网络错误,请重试!");
|
});
|
},
|
productBinding() {
|
|
if (this.isLoading) {
|
return;
|
}
|
|
var that = this;
|
if (that.ZsBar.length <= 0) {
|
that.$playSound('error');
|
that.$toast.fail("追溯码不能为空!");
|
return;
|
}
|
if (that.LsBar.length <= 0) {
|
that.$playSound('error');
|
that.$toast.fail("后盖码不能为空!");
|
return;
|
}
|
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/ProductBinding', {
|
ZsBar: that.ZsBar,
|
LsBar: that.LsBar,
|
userName: that.userInfo.loginAccount,
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
// that.scanInfo = json.data.tbBillList;
|
that.$playSound('success');
|
that.$notify({ type: 'success', message: json.message });
|
that.$refs.ZsBar.focus();
|
that.ZsBar = null;
|
that.ZsBar = null;
|
}
|
else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
that.$refs.ZsBar.focus();
|
that.ZsBar = null;
|
that.ZsBar = null;
|
}
|
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("网络错误,请重试!");
|
that.$refs.ZsBar.focus();
|
that.ZsBar = null;
|
that.ZsBar = null;
|
});
|
},
|
checkProductBarcode() {
|
|
var that = this;
|
if (!that.LsBar) {
|
that.$playSound('error');
|
that.$toast.fail("请输入产品条码");
|
return;
|
}
|
|
// 在XbarInfo中查找匹配的条码
|
const matchedItem = that.XbarInfo.find(item =>
|
item.iteM_BARCODE === that.LsBar
|
);
|
|
if (matchedItem) {
|
if (matchedItem.is_hedui === "1") {
|
that.$toast("已核对");
|
} else {
|
|
that.AxiosHttp("post", 'Womdaa/GetWeightByXt', {
|
LsBar: that.LsBar,
|
userName: that.userInfo.loginAccount
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
var weigth = json.data.tbBillList.weight;
|
that.$set(matchedItem, 'is_hedui', "1");
|
that.$set(matchedItem, 'weight', weigth);
|
that.$playSound('success');
|
that.$notify({ type: 'success', message: "核对成功" });
|
that.LsBar = "";
|
// 检查是否所有行都已核对
|
const allChecked = that.XbarInfo.every(item => item.is_hedui === "1");
|
if (allChecked && that.XbarInfo.length > 0 && that.XbarInfo.length === that.Xvalue) {
|
that.submitAllChecked();
|
}
|
}
|
else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("网络错误,请重试!");
|
});
|
}
|
} else {
|
that.$playSound('error');
|
that.$toast.fail("未找到匹配的箱条码");
|
}
|
|
that.LsBar = ""; // 清空输入框
|
},
|
|
GetWeightByXt() {
|
|
},
|
|
// 新增方法:提交所有已核对的数据
|
submitAllChecked() {
|
|
if (this.isLoading) {
|
return;
|
}
|
|
var that = this;
|
that.isLoading = true;
|
|
that.AxiosHttp("post", 'Womdaa/submitAllChecked', {
|
XbarInfo: that.XbarInfo,
|
KbBar: that.KbBar,
|
userName: that.userInfo.loginAccount
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
that.$playSound('success');
|
that.$notify({ type: 'success', message: json.message });
|
that.getKbBarInfo();
|
} else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
that.XbarInfo = [];
|
that.XBar = "";
|
that.LsBar = "";
|
that.$refs.XBar.focus();
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("绑定失败,请重试!");
|
});
|
},
|
handleSubmit() {
|
|
if (this.isLoading) {
|
return;
|
}
|
|
var that = this;
|
if (!that.KbBar) {
|
that.$playSound('error');
|
that.$toast.fail("请先扫描卡板条码");
|
return;
|
}
|
|
// 计算可装数和已装数
|
const oldqty = +(that.KbBarInfo.oldqty || 0);
|
const ySum = +(that.KbBarInfo.ySum || 0);
|
|
if (oldqty !== ySum) {
|
that.$playSound('error');
|
that.$toast.fail(`装板未完成,待装数:${oldqty - ySum}`);
|
return;
|
}
|
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/submitInspection', {
|
KbBar: that.KbBar,
|
userAccount: that.userInfo.loginAccount
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
that.$playSound('success');
|
that.$notify({ type: 'success', message: json.message });
|
// 清空数据
|
that.KbBar = "";
|
that.XbarInfo = [];
|
that.KbBarInfo = [];
|
that.$refs.KbBar.focus();
|
} else {
|
that.$playSound('error');
|
that.$toast.fail(json.message);
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$playSound('error');
|
that.$toast.fail("提交失败,请重试!");
|
that.$refs.KbBar.focus();
|
});
|
},
|
}
|
})
|