王佳豪
2021-06-01 391ea14026d1fe6417d4ce88ebedc6654b6519ad
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
var locDetlData = [];
var pageCurr;
function getCol() {
    var cols = [
        {field: 'anfme', align: 'center',title: '数量', edit:'text', width: 130,  style:'color: blue;font-weight: bold'}
        ,{field: 'locNo', align: 'center',title: '库位号'}
        ,{field: 'matnr', align: 'center',title: '商品编号'}
        ,{field: 'maktx', align: 'center',title: '商品名称'}
        ,{field: 'lgnum', align: 'center',title: '规格'}
        ,{field: 'type', align: 'center',title: '型号', hide: true}
        ,{field: 'color', align: 'center',title: '条码', hide: true}
        ,{field: 'supplier', align: 'center',title: '批号', hide: true}
        ,{field: 'altme', align: 'center',title: '单位'}
        ,{field: 'warehouse', align: 'center',title: '单据编号', hide: true}
        ,{field: 'bname', align: 'center',title: '客户名称', hide: true}
        ,{field: 'brand', align: 'center',title: '品项数', hide: true}
        ,{field: 'memo', align: 'center', title: '备注', hide: true}
        ,{field: 'zpallet', align: 'center',title: '托盘码'}
    ];
    cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:80})
    return cols;
}
 
layui.use(['table','laydate', 'form'], function() {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var form = layui.form;
 
    var param = RequestParameter();
    debugger
    tableIns = table.render({
        elem: '#chooseData',
        url: baseUrl + '/get/asrsLocDetl',
        where: {
          matnr: 'LSH10648050',
        },
        headers: {token: localStorage.getItem('token')},
        // data: [],
        even: true,
        toolbar: '#toolbar',
        cellMinWidth: 50,
        cols: [getCol()],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'data': res.data
            }
        },
        response: {
            statusCode: 200
        },
        done: function(res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
            }
            pageCurr=curr;
            limit();
            getOutBound();
        }
    });
 
    // 页面修改
    table.on('edit(chooseData)', function (obj) {
        updateLocDetlData(obj.data.locNo, obj.data.matnr, Number(obj.value));
    });
 
    // 监听行工具事件
    table.on('tool(chooseData)', function(obj){
        var data = obj.data;
        switch (obj.event) {
            case 'stockOut':
                alert("启动出库");
                break;
        }
    });
 
    // 监听头工具栏事件
    table.on('toolbar(chooseData)', function (obj) {
        var data = locDetlData;
        switch (obj.event) {
            case 'outbound':
                if (data.length === 0){
                    layer.msg('请先添加库位物料');
                } else {
                    var staNo = $("#staNoSelect").val();
                    if (staNo === "" || staNo === null){
                        layer.msg("请选择出库口");
                        return;
                    }
                    var locDetls = [];
                    data.forEach(function(elem) {
                        locDetls.push({locNo: elem.locNo, matnr: elem.matnr, count: elem.count});
                    });
                    let param = {
                        outSite: staNo,
                        locDetls: locDetls
                    }
                    $.ajax({
                        url: baseUrl+"/plate/out/start",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            if (res.code === 200){
                                locDetlData = [];
                                tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}});
                                layer.msg(res.msg);
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            } else {
                                layer.msg(res.msg)
                            }
                        }
                    });
                }
                break;
        }
    });
 
    // 获取出库口
    function getOutBound(){
        $.ajax({
            url: baseUrl+"/available/take/site",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            async: false,
            success: function (res) {
                if (res.code === 200){
                    var tpl = $("#takeSiteSelectTemplate").html();
                    var template = Handlebars.compile(tpl);
                    var html = template(res);
                    $('#staNoSelect').append(html);
                    form.render('select');
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                }else {
                    layer.msg(res.msg)
                }
            }
        })
    }
});