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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
var vm = new Vue({
    el: '#app',
    data: function () {
        return {
            isLoading: false,
            userInfo: {
                "loginGuid": '',
                "loginAccount": '',
            },
            formData: {
                sectionCode: "",
                barcode: "",
                itemNo: "",
                sumQuantity:0
            },
            itemInsFormData: {},
            tableData: [],
            itemTableData: [],
            barMessage: "",
 
            Message: "",
            messageCenter: {},
            messageId: 0,
 
            showClearIcon: false,
            focus1: true,
            focus2: false,
            isActive: 0,
            index: 0,
            currentTab: 0,
            contentScrollW: 0, // 导航区宽度
            scrollLeft: 0, // 横向滚动条位置
            fullHeight: "",
        }
    },
    mounted() {
        var that = this;
        this.userInfo = {
            loginGuid: this.GetLoginInfor().loginGuid,
            loginAccount: this.GetLoginInfor().loginAccount,
        };
    },
    methods: {
        getModel() {
            var that = this;
            that.isLoading = true;
            that.AxiosHttp("post", 'MesDepotSections/GetSectionName', {
                sectionCode: that.formData.sectionCode
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.formData.sectionName = json.data.tbBillList;
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.formData.sectionName = "";
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                    that.$refs.daa001.focus();
                });
        },
        getScan() {
            var that = this;
             
            that.isLoading = true;
            that.AxiosHttp("post", 'MesInvItemInCDetails/SaveBarCodes', {
                sectionCode: that.formData.sectionCode,
                userName: that.userInfo.loginAccount,
                barcode: that.formData.barcode,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                        that.formData.itemNo = json.data.tbBillList.itemNo;
                        that.formData.sumQuantity = json.data.tbBillList.sumQuantity;
 
                        that.itemInsFormData = json.data.tbBillList.itemIns;
                        that.itemTableData = json.data.tbBillList.itemInDetails;
                        that.tableData = json.data.tbBillList.invItemInCDetails;
                        that.barMessage = json.data.tbBillList.message;
                        that.$refs.barcode.focus();
                        that.formData.barcode = null;
                    }
                    else {
                        that.$toast.fail(json.message);
                        that.$refs.barcode.focus();
                        that.formData.barcode = null;
                    }
                    that.$notify({ type: 'success', message: json.message });
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                    that.$refs.barcode.focus();
                });
        },
        getChaiFen() {
            var that = this;
            if (that.modeInfo.daa001.length <= 0) {
                that.$toast.fail("领料单号不能为空!");
                return;
            }
            if (that.scanInfo.splitNum * 1 <= 0) {
                that.$toast.fail("拆分数量不能为空!");
                return;
            }
            if (that.scanInfo.barcode.length * 1 <= 0) {
                that.$toast.fail("物料条码不能为空!");
                return;
            }
            that.isLoading = true;
            that.AxiosHttp("post", 'Womdaa/ScanCode', {
                daa001: that.modeInfo.daa001,
                userName: that.userInfo.loginAccount,
                barcode: that.modeInfo.barcode,
            }, false)
                .then(function (res) {
                    var json = res;
                    if (json.status == 0) {
                      //  that.modeInfo = json.data.tbBillList;
                    }
                    else {
                        that.$toast.fail(json.message);
                    }
                    that.isLoading = false;
                })
                .catch(function (error) {
                    that.isLoading = false;
                    that.$toast.fail("网络错误,请重试!");
                    console.log(error);
                });
        },
        cleraCode() {
            this.formData.sectionCode = null;
        },
        ToErp() {
            this.Message = "";
            if (this.tableData.length == 0) {
                this.Message = "条码为空,无法推送ERP";
                return;
            }
            let userName = this.$loginInfo.account;
            this.Message = "正在推送采购入库单[" + this.itemInsFormData.billNo + "]到ERP....  请稍后";
            this.$post({
                url: '/MesInvItemInCDetails/SaveMessageCenter',
                data: {
                    id: this.itemInsFormData.id,
                    userName: userName,
                    billNo: this.itemInsFormData.billNo,
                    type: "A"
                }
            }).then(res => {
                this.messageCenter = res.data.tbBillList;
                this.sendPostRequest(this.messageCenter);
            });
        },
 
        sendPostRequest(e) {
            this.$sendPostRequest(e).then(res => {
 
                //记录一下MES的回调
                this.saveMessage("A", {
                    url: this.$store.state.serverInfo.serverAPI + '/MesInvItemInCDetails/Audit',
                    data: { billNo: this.itemInsFormData.billNo }
                });
 
                if (res.state == 200) {
                    this.Message += "  正在执行MES回调!请稍后"
                    //执行MES回调
                    this.audit();
                } else {
                    this.Message += " ERP返回信息:" + res.msg;
                    //更新接口记录表
                    this.messageCenter.result = 0;
                    this.messageCenter.dealWith = 0;
                    this.messageCenter.status = 1;
                    this.messageCenter.resultData = res.msg;
                    this.updateMessage(this.messageCenter);
                }
            });
        },
        //审核的MES回调
        audit() {
            this.$post({
                url: '/MesInvItemInCDetails/Audit',
                data: {
                    id: this.itemInsFormData.id,
                    billNo: this.itemInsFormData.billNo
                }
            }).then(res => {
                if (res.data.tbBillList) {
                    this.Message += "  审核成功!";
                } else {
                    this.Message += " 审核失败:";
                }
 
                let entity = {
                    id: this.messageId,
                    resultData: JSON.stringify(res.data),
                    dealWith: res.data.tbBillList ? 1 : 0,
                    result: res.data.tbBillList ? 1 : 0,
                }
                this.updateMessage(entity);
            });
        },
        saveMessage(s, item) {
 
            let title = "采购入库单" + this.itemInsFormData.billNo + "审核";
            let tableName = "MES_INV_ITEM_INS_" + s;
 
            if (s == "B") {
                title = "采购入库单" + this.itemInsFormData.billNo + "反审核";
            }
 
            let entity = {
                data: JSON.stringify(item.data),
                url: item.url,
                pid: this.messageCenter.id,
                dealWith: 0,
                result: 0,
                status: 1,
                seq: this.messageCenter.seq + 1,
                createBy: this.$loginInfo.account,
                title: title,
                route: this.itemInsFormData.billNo,
                tableName: tableName,
                contentType: "application/json",
            }
 
            this.$post({
                url: "/MessageCenter/Insert",
                data: entity
            }).then(res => {
                this.messageId = res.data.tbBillList;
            });
        },
        //更新接口记录表
        updateMessage(messageCenter) {
            this.$post({
                url: "/MessageCenter/ResetUpdate",
                data: messageCenter
            }).then(res => {
                if (res.data.tbBillList > 0) {
                    this.Message += " [问题记录成功!]";
                } else {
                    this.Message += " [问题记录失败!!!]";
                }
            });
        },
    }
})