新框架PDA前端(祈禧6月初版本)
南骏 池
3 天以前 3ff569f00d22919e47cab8fb6d7d9867fd115d97
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
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);
 
        },
    }
})