var vm = new Vue({ el: '#app', data: function () { return { isLoading: false, userInfo: { "loginGuid": '', "loginAccount": '', }, Bar: "",//箱条码 UserName: Cookies.get('loginName'),//用户名称 KbBarInfo: [], KbBarMxInfo: [], Xvalue:4, XbarInfo: [], DAA001: "", DAA021: "", DAANum: "", xcslItemList: [], //材料列表 xcslWjsBarList: [],//未接收列表 xcslYjsBarList: [],//已接收列表 selectKey: "",//查询关键字 actions: [],//列表的值 show: false,//列表展示 } }, mounted() { var that = this; this.userInfo = { loginGuid: this.GetLoginInfor().loginGuid, loginAccount: this.GetLoginInfor().loginAccount, }; }, methods: { GetItemsXcsl() { var that = this; if (!that.DAA001 || that.DAA001.length <= 0) { that.$toast.fail("工单单号不能为空!"); that.$refs.DAA001.focus(); return; } that.isLoading = true; that.AxiosHttp("post", 'Womdaa/GetItemsXctl', { 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.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.$refs.DAA001.focus(); that.DAA001 = ""; } that.isLoading = false; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); }); }, ScanXcsl() { // 添加防抖判断 if (this.isLoading) { return; } var that = this; if (!that.Bar ||that.Bar.length <= 0) { that.$toast.fail("物料条码不能为空!"); that.$refs.Bar.focus(); return; } if (!that.DAA001 ||that.DAA001.length <= 0) { that.$toast.fail("工单单号不能为空!"); that.$refs.DAA001.focus(); return; } that.isLoading = true; that.AxiosHttp("post", 'Womdaa/ScanXctl', { 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.GetItemsXcsl(); } else { that.$toast.fail(json.message); } that.isLoading = false; that.$refs.Bar.focus(); that.Bar = ""; }) .catch(function (error) { that.isLoading = false; that.$toast.fail("网络错误,请重试!"); }); }, //获取工单信息 getInfo() { this.show = true; var that = this; that.actions = []; that.isLoading = true; that.AxiosHttp("post", 'Womdaa/GetXcslDaa', { selectKey: that.selectKey, }, 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 // 拼接字段 }; }); } } 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('工单号格式异常'); this.DAA001 = ''; } this.GetItemsXcsl(); //this.$toast(item.name); }, } })