var vm = new Vue({
|
el: '#app',
|
data: function () {
|
return {
|
isLoading: false,
|
userInfo: {
|
"loginGuid": '',
|
"loginAccount": '',
|
},
|
Bar: "",//箱条码
|
UserName: Cookies.get('loginName'),//用户名称
|
KbBarInfo: [],
|
KbBarMxInfo: [],
|
GX: "G007:核对送检",
|
Xvalue:4,
|
XbarInfo: [],
|
DAA001: "",
|
DAA021: "",
|
DAANum: "",
|
xcslItemList: [], //材料列表
|
xcslWjsBarList: [],//未接收列表
|
xcslYjsBarList: [],//已接收列表
|
selectKey: "",//查询关键字
|
actions: [],//列表的值
|
show: false,//列表展示
|
DaaInfo: { },
|
|
}
|
},
|
mounted() {
|
var that = this;
|
this.userInfo = {
|
loginGuid: this.GetLoginInfor().loginGuid,
|
loginAccount: this.GetLoginInfor().loginAccount,
|
};
|
},
|
methods: {
|
// 根据图片中的逻辑判断行背景颜色
|
getRowColorClass(itm) {
|
const xls = parseFloat(itm.DAB006) || 0; // 需领数(支持小数)
|
const bl = parseFloat(itm.BL_Num) || 0; // 备料数(支持小数)
|
const js = parseFloat(itm.JS_Num) || 0; // 接收数(支持小数)
|
|
// 1. 未备料显示红色
|
if (bl === 0) {
|
return 'row-red';
|
}
|
// 2. 已全部备料已全部接收显示绿色
|
if (xls === bl && bl === js && bl !== 0) {
|
return 'row-green';
|
}
|
// 3. 已全部备料接收部分显示黄色
|
// 4. 已全部备料未接收显示黄色
|
if (xls === bl && bl > js && bl !== 0) {
|
return 'row-yellow';
|
}
|
// 5. 部分备料未接收显示蓝色
|
if (xls > bl && bl > js && js === 0) {
|
return 'row-blue';
|
}
|
// 6. 部分备料接收部分显示黄色
|
if (xls > bl && bl > js && bl !== 0) {
|
return 'row-yellow';
|
}
|
// 7. 部分备料已全部接收显示绿色
|
if (bl === js && bl !== 0) {
|
return 'row-green';
|
}
|
|
//if (xls === js && bl !== 0) {
|
// return 'row-green';
|
//}
|
|
return '';
|
},
|
GetItemsXcsl() {
|
var that = this;
|
|
if (!that.DAA001 || that.DAA001.length <= 0) {
|
that.$toast.fail("工单单号不能为空!");
|
that.$playSound('error');
|
that.$refs.DAA001.focus();
|
return;
|
}
|
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/GetItemsXcsl', {
|
daa001: that.DAA001
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
//that.DAANum = json.data.tbBillList.gD_Num;
|
//that.DAA021 = json.data.tbBillList.workNo;
|
that.DaaInfo = json.data.tbBillList.daaInfoList[0];
|
that.xcslItemList = json.data.tbBillList.xcslItemList;
|
that.xcslWjsBarList = json.data.tbBillList.xcslWjsBarList;
|
that.xcslYjsBarList = json.data.tbBillList.xcslYjsBarList;
|
that.$refs.Bar.focus();
|
}
|
else {
|
that.$toast.fail(json.message);
|
that.$playSound('error');
|
that.$refs.DAA001.focus();
|
that.DAA001 = "";
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$toast.fail("网络错误,请重试!");
|
that.$playSound('error');
|
});
|
},
|
ScanXcsl() {
|
// 添加防抖判断
|
if (this.isLoading) {
|
return;
|
}
|
|
var that = this;
|
if (!that.Bar ||that.Bar.length <= 0) {
|
that.$toast.fail("物料条码不能为空!");
|
that.$playSound('error');
|
that.$refs.Bar.focus();
|
return;
|
}
|
|
|
if (!that.DAA001 ||that.DAA001.length <= 0) {
|
that.$toast.fail("工单单号不能为空!");
|
that.$playSound('error');
|
that.$refs.DAA001.focus();
|
return;
|
}
|
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/ScanXcsl', {
|
DAA001: that.DAA001,
|
Bar: that.Bar,
|
userAccount: that.userInfo.loginAccount,
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
// that.scanInfo = json.data.tbBillList;
|
that.$notify({ type: 'success', message: json.message });
|
that.$playSound('success');
|
that.GetItemsXcsl();
|
}
|
else {
|
that.$toast.fail(json.message);
|
that.$playSound('error');
|
}
|
that.isLoading = false;
|
that.$refs.Bar.focus();
|
that.Bar = "";
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$toast.fail("网络错误,请重试!");
|
that.$playSound('error');
|
});
|
},
|
//获取工单信息
|
getInfo() {
|
this.show = true;
|
var that = this;
|
that.actions = [];
|
that.isLoading = true;
|
that.AxiosHttp("post", 'Womdaa/GetXcslDaa', {
|
selectKey: that.selectKey,
|
selDaaType: "1",
|
}, false)
|
.then(function (res) {
|
var json = res;
|
if (json.status == 0) {
|
|
if (json.data.tbBillList.length <= 0) {
|
that.$toast.fail("没有可用的数据");
|
that.$playSound('error');
|
} else {
|
that.itemInfo = json.data.tbBillList;
|
that.actions = json.data.tbBillList.map(item => {
|
return {
|
name: item.daaInfo, // 拼接字段
|
subname: item.startTime
|
|
};
|
});
|
}
|
}
|
else {
|
that.$toast.fail(json.message);
|
that.$playSound('error');
|
}
|
that.isLoading = false;
|
})
|
.catch(function (error) {
|
that.isLoading = false;
|
that.$toast.fail("网络错误,请重试!");
|
that.$playSound('error');
|
console.log(error);
|
});
|
},
|
onSelect(item) {
|
// 默认情况下点击选项时不会自动收起
|
// 可以通过 close-on-click-action 属性开启自动收起
|
this.show = false;
|
console.log(item);
|
// 正则匹配第一个方括号内容
|
const regex = /\[([^\]]+)\]/;
|
const matchResult = item.name.match(regex);
|
|
if (matchResult && matchResult[1]) {
|
this.DAA001 = matchResult[1]; // PPBOM00000088-1
|
console.log('提取的DAA001:', this.DAA001);
|
} else {
|
this.$toast.fail('工单号格式异常');
|
that.$playSound('error');
|
this.DAA001 = '';
|
}
|
this.GetItemsXcsl();
|
//this.$toast(item.name);
|
|
},
|
}
|
})
|