Blame view

src/main/resources/templates/shipment/shippingCombination/shippingCombination.html 20.4 KB
tangying authored
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
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<style>
    .table-striped-left{
        width: 49%;
        /*margin-right: 4px;*/
    }
    .table-striped-right{
        /*right: -10px;*/
        width: 50%;
        float: right;
    }
    .info_text{
        float: right;
    }
    .info_text li{
        font-size: 16px;
    }
    .info_text li span{
        font-size: 20px;
        font-weight: bold;
        color: rgb(28,132,198);
    }
    .btn-default {
        color: #333;
        background-color: #fff;
        border-color: #ccc
    }
</style>
<body class="gray-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 select-info">
            <form id="dept-form">
                <div class="select-list">
                    <ul>
                        <li>
                            出库单号:<input type="text" id="code" name="code" th:value="${code}"/>
                        </li>
                        <li>
                            <a class="btn btn-primary btn-rounded btn-sm" id="list-btn"><i class="fa fa-search"></i>&nbsp;搜索</a>
                        </li>
                    </ul>
                    <ul class="info_text">
                        <li>物料总数:<span id="shipment_length"></span></li>
                        <li>总单据数量:<span id="qty_length"></span></li>
                        <li>已出库数量:<span id="qtyCompleted_length"></span></li>
                    </ul>
                </div>
            </form>
        </div>
        <div class="col-sm-12 select-info table-striped-left" style="padding-top: 20px;">
            <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered  table-hover"></table>
        </div>
        <div class="col-sm-12 select-info table-striped-right">
pengcheng authored
58
59
60
            <ul class="select-list">
                <li style="display: none">id:<input type="text" id="detailId"  /></li>
                <li>出货数量:<input type="text" id="receiveNum"  /></li>
61
62
                <li hidden>出货重量:<input  type="text" id="receiveWeight"  /></li>
                <li hidden>出货电量:<input  type="text" id="electricQuantity"  /></li>
pengcheng authored
63
            </ul>
tangying authored
64
            <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
65
66
67
68
69
70
71
72
73
74
                <div class="btn-group hidden-xs" id="toolbar1" role="group">
                <a class="btn btn-outline btn-danger btn-rounded" onclick="batchRemoveHead()">
                    <i class="fa fa-trash-o"></i> 取消配盘
                </a>
                <a class="btn btn-outline btn-warning btn-rounded" onclick="batchCreateTask()">
                    <i class="fa fa-edit"></i> 生成任务
                </a>
            </div>
            <table id="bootstrap-table2" data-mobile-responsive="true"
                   class="table table-bordered table-hover text-nowrap"></table>
tangying authored
75
76
77
78
79
80
81
82
        </div>
    </div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
    var addFlag = [[${@permission.hasPermi('shipment:shippingCombination:combination')}]];
    var cancelFlag = [[${@permission.hasPermi('shipment:shippingCombination:remove')}]];
    var taskTypeReal=[[${@dict.getType('taskType')}]];
pengcheng authored
83
    var containerHeaderStatus = [[${@dict.getType('shipmentContainerHeaderStatus')}]];
pengcheng authored
84
    var inventoryStatus = [[${@dict.getType('inventorySts')}]];
tangying authored
85
86
87
88
89
90
91

    var prefix = ctx + "shipment/shippingCombination";

    var list_select=function(code) {
        $("#bootstrap-table1").bootstrapTable('removeAll');
        $("#bootstrap-table").bootstrapTable('removeAll');
        $.ajax({
pengcheng authored
92
            url: prefix + "/listShipmentDetail?code="+code,
tangying authored
93
94
            type: 'get',
            success: function (value) {
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
                if(value.code!=web_status.SUCCESS){
                    $.modal.alertError(value.msg)
                }else{
                    let qty_shipment=0;
                    let qtyCompleted_shipment=0;
                    for (let i=0;i<value.data.length;i++){
                        if(value.data[i].shipQty>=value.data[i].requestQty ){
                            $("#bootstrap-table").bootstrapTable('insertRow',{index:0,row:{
                                    id:value.data[i].id,
                                    shipmentId:value.data[i].shipmentId,
                                    shipmentCode:value.data[i].shipmentCode,
                                    materialCode:value.data[i].materialCode,
                                    materialName:value.data[i].materialName,
                                    materialSpec:value.data[i].materialSpec,
                                    shipQty:value.data[i].shipQty,
                                    requestQty:value.data[i].requestQty,
                                    //shipWeight:value.data[i].shipWeight,
                                    requestWeight:value.data[i].requestWeight,
                                    inventorySts:value.data[i].inventorySts,
                                    electricQuantity:value.data[i].electricQuantity,
                                    batteryPackageWeight:value.data[i].batteryPackageWeight,
                                    materialUnit:value.data[i].materialUnit}});
                        }
                        qty_shipment = qty_shipment + value.data[i].shipQty;
                        qtyCompleted_shipment = qtyCompleted_shipment + value.data[i].requestQty;
tangying authored
120
121
122
123
124
                    }
                    $("#shipment_length").text(value.data.length);
                    $("#qty_length").text(qty_shipment);
                    $("#qtyCompleted_length").text(qtyCompleted_shipment);
tangying authored
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
                }
             }
        });
    };


    $("#bootstrap-table").bootstrapTable({
        contentType: "application/x-www-form-urlencoded",
        // search: true, //搜索
        // showRefresh: true,//刷新
        // showToggle:true, //视图切换
        clickToSelect: true,
        // showColumns:true, //列选择
        // detailView:true,
        // showExport: true, //导出
        // exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
pengcheng authored
141
        modalName: "出库组盘头",
tangying authored
142
143
144
        // sidePagination: "server",
        pagination: true,   // 是否显示分页(*)
        pageNumber: 1,                                      // 初始化加载第一页,默认第一页
pengcheng authored
145
146
147
148
149
150
        pageSize: 50,                                       // 每页的记录行数(*)
        pageList: [10, 25, 50,100],
        onClickRow:function(row,ele,field){
            let code=$("#code").val();
            $("#detailId").val(row.id);
            $("#receiveNum").val(row.shipQty-row.requestQty);
易文鹏 authored
151
            //$("#receiveWeight").val(row.shipWeight-row.requestWeight);
152
            $("#electricQuantity").val(row.electricQuantity);
153
            $("#batteryPackageWeight").val(row.batteryPackageWeight);
pengcheng authored
154
155
156
157
158
159
160
161
            $.ajax({
                url:prefix+'/getInventory',
                type:'post',
                data:{
                    code:code,
                    id:row.id
                },
                success:res=>{
162
163
164
165
166
167
                    if(res.code===200){
                        $("#bootstrap-table1").bootstrapTable('load',res.data)
                    }
                    else{
                        $.modal.alertError(res.msg)
                    }
tangying authored
168
                }
pengcheng authored
169
170
171
            })
        },
        columns: [
tangying authored
172
173
174
175
176
177
            {
                field : 'id',
                title : '明细id'
            },
            {
                field : 'materialCode',
178
                title : '物料编码'
tangying authored
179
180
181
182
183
184
            },
            {
                field:"materialName",
                title:"物料名称"
            },
            {
pengcheng authored
185
                field:'materialSpec',
tangying authored
186
187
188
                title:"物料规格"
            },
            {
pengcheng authored
189
                field : 'shipQty',
tangying authored
190
191
192
                title : '单据数量'
            },
            {
pengcheng authored
193
                field : 'requestQty',
tangying authored
194
195
                title : '已出数量'
            },
196
197
198
199
200
201
202
203
204
205
206
207
            // {
            //     field : 'netWeight',
            //     title : '单据重量'
            // },
            // {
            //     field : 'requestWeight',
            //     title : '已出重量'
            // },
            // {
            //     field : 'electricQuantity',
            //     title : '单据电量'
            // },
208
            {
pengcheng authored
209
                field : 'inventorySts',
tangying authored
210
211
212
213
214
215
                title : '库存状态',
                formatter: function(value, row, index) {
                    return $.table.selectDictLabel(inventoryStatus, value);
                },
            },
            {
pengcheng authored
216
                field : 'materialUnit',
tangying authored
217
218
219
220
221
222
223
224
                title : '单位'
            },
            ]
    });

    $("#bootstrap-table1").bootstrapTable({
        clickToSelect: true,
        showColumns:true, //列选择
pengcheng authored
225
        modalName: "库存",
tangying authored
226
227
228
229
230
231
232
233
234
        iconSize: "outline",
        toolbar: "#toolbar",
        contentType: "application/x-www-form-urlencoded",
        pagination: true,   // 是否显示分页(*)
        pageNumber: 1,                                      // 初始化加载第一页,默认第一页
        pageSize: 10,                                       // 每页的记录行数(*)
        pageList: [10, 25, 50],
        columns: [
            {
pengcheng authored
235
236
237
238
239
                title: '操作',
                align: 'center',
                events:'operateEvents',
                formatter: function(value, row, index) {
                    let actions = [];
240
                    actions.push('<a id="cancel" class="btn btn-success btn-xs" style="background-color: #ac2925" href="#" onclick="Combination(\'' + row.id + '\',\'' + row.barcodeDetailsCode + '\')"><i class="fa fa-edit"></i>配盘</a> ');
pengcheng authored
241
242
                    return actions.join('');
                }
tangying authored
243
244
            },
            {
pengcheng authored
245
246
                field : 'id',
                title : 'id'
tangying authored
247
248
            },
            {
pengcheng authored
249
250
                field : 'companyCode',
                title : '货主'
tangying authored
251
252
253
254
255
256
            },
            {
                field : 'locationCode',
                title : '库位编号'
            },
            {
pengcheng authored
257
258
                field : 'containerCode',
                title : '容器编号'
tangying authored
259
260
261
            },
            {
                field : 'qty',
pengcheng authored
262
                title : '数量'
tangying authored
263
            },
264
265
266
267
            // {
            //     field : 'weights',
            //     title : '重量'
            // },
268
269
270
271
            // {
            //     field : 'batteryPackageWeight',
            //     title : '重量'
            // },
272
            {
lihailong authored
273
274
275
276
                field : 'electricQuantity',
                title : '电量'
            },
            {
pengcheng authored
277
                field : 'materialCode',
278
                title : '物料编码'
tangying authored
279
280
            },
            {
pengcheng authored
281
282
                field : 'materialName',
                title : '物料名称'
tangying authored
283
284
            },
            {
pengcheng authored
285
286
                field : 'materialSpec',
                title : '物料规格'
tangying authored
287
288
            },
            {
pengcheng authored
289
290
                field : 'supplierCode',
                title : '供应商编码',
tongzhonghao authored
291
                visible:false
tangying authored
292
293
            },
            {
pengcheng authored
294
295
                field : 'inventorySts',
                title : '库存状态' ,
tangying authored
296
297
                align: 'center',
                formatter: function(value, row, index) {
pengcheng authored
298
                    return $.table.selectDictLabel(inventoryStatus, value);
tangying authored
299
                }
300
301
302
303
304
            },{
                field : 'barcodeDetailsCode',
                title : '子条码',
                visible:false
            }
tangying authored
305
306
307
        ]
    });
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
    $("#bootstrap-table2").bootstrapTable({
        removeUrl: ctx + "shipment/shipmentContainerDetail/remove",
        // search: true, //搜索
        showRefresh: true, //刷新
        showToggle:true, //视图切换
        clickToSelect: true,
        showColumns:true, //列选择
        // detailView:true,
        toolbar: "#toolbar1",
        showExport: true, //导出
        exportDataType: "all",  //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
        modalName: "出库组盘",
        iconSize: "outline",
        toolbar: "#toolbar1",
        contentType: "application/x-www-form-urlencoded",
        onRefresh: function(){
            list_shipmenttInfo($("#code").val());
        },
        columns: [
            {
                checkbox: true
            },
            {
                field : 'containerCode',
                title : '容器编号'
            },
            {
                field : 'locationCode',
                title : '库位编号'
            },
            {
                field : 'materialCode',
                title : '物料编码'
            },
            {
                field:"materialName",
                title:"物料名称"
            },
            {
                field:"materialSpec",
                title:"物料规格"
            },
            {
                field : 'qty',
                title : '数量'
            },
354
355
356
357
358
359
360
361
362
363
364
365
            // {
            //     field : 'weights',
            //     title : '重量'
            // },
            // {
            //     field : 'electricQuantity',
            //     title : '电量'
            // },
            // {
            //     field : 'batteryPackageWeight',
            //     title : '重量'
            // },
lihailong authored
366
            {
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
                field : 'status',
                title : '组盘状态',
                align: 'center',
                formatter: function(value, row, index) {
                    return $.table.selectDictLabel(containerHeaderStatus, value);
                }
            },
            {
                field : 'created',
                title : '创建时间'
            },
            {
                field : 'createdBy',
                title : '创建人'
            },
        ]
    });

    function list_shipmentInfo(code) {
        $.ajax({
            url: prefix + "/getShipmentInfoByCode",
            type: 'post',
            datatype: 'json',
            data: {
                code: code
            },
            error:function (response) {
                console.log(response);
            },
            success: function (value) {
                $("#bootstrap-table2").bootstrapTable('removeAll');
                if(value.data){
                    for (var i = 0; i < value.data.length; i++) {
                        $("#bootstrap-table2").bootstrapTable('insertRow',{index:0,row:{
                                containerCode: value.data[i].containerCode,
                                locationCode: value.data[i].locationCode,
                                materialCode: value.data[i].materialCode,
                                materialName: value.data[i].materialName,
                                materialSpec: value.data[i].materialSpec,
                                status: value.data[i].status,
                                shippingContainerId:value.data[i].shippingContainerId,
408
                                weights:value.data[i].weights,
409
                                qty: value.data[i].qty,
lihailong authored
410
                                electricQuantity: value.data[i].electricQuantity,
411
                                batteryPackageWeight: value.data[i].batteryPackageWeight,
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
                                created: value.data[i].created,
                                createdBy: value.data[i].createdBy,
                            }
                        });
                    }
                }
                else    {
                    console.log("没有查找到入库容器!")
                }
            }
        })
    }

    /* 批量生成任务 */
    function batchCreateTask() {
        let rows=$("#bootstrap-table2").bootstrapTable('getSelections');
        if (rows.length == 0) {
            $.modal.alertWarning("请至少选择一条记录");
            return;
        }
        var ids = "";
        for(var i=0; i<rows.length; i++) {
            if(ids == "") {
                ids = rows[i].shippingContainerId;
            } else {
                ids = ids + "," + rows[i].shippingContainerId
            }
        }
pengcheng authored
440
441
442
443
444
        var url = prefix + "/createTask";
        var data = { "ids" : ids };
        $.operate.post(url, data);
        //debugger;
        //chooseStation(ids);
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
    }


    /* 批量取消组盘 */
    function batchRemoveHead() {
        var rows=$("#bootstrap-table2").bootstrapTable('getSelections');
        if (rows.length == 0) {
            $.modal.alertWarning("请至少选择一条记录");
            return;
        }
        var url = ctx + "shipment/shipmentContainerHeader" + "/remove";
        var ids = "";
        for(var i=0; i<rows.length; i++) {
            ids = ids + rows[i].shippingContainerId + ","
        }
        var data = { "ids": ids.substring(0, ids.length-1) };
        $.ajax({
            url: url,
            type:'post',
            data: data,
            success:function (response) {
                if(response.code===200){
                    list_select($("#code").val());
                    list_shipmentInfo($("#code").val());
                    $.modal.msgSuccess('成功');
                } else {
                    $.modal.msg(response.msg)
                }
            }
        })
    }
477
    //点击配盘显示的界面
478
    function Combination(id,barcodeDetailsCode) {
pengcheng authored
479
        let num=$("#receiveNum").val();
lihailong authored
480
        let weight = $("#receiveWeight").val();
pengcheng authored
481
        let shipmentDetailId=$("#detailId").val();
lihailong authored
482
        let electricQuantity = $("#electricQuantity").val();
483
484
485
        let batteryPackageWeight = $("#batteryPackageWeight").val();
pengcheng authored
486
487
488
489
490
        $.ajax({
            url:ctx + "shipment/shippingCombination/Addcombination",
            type:'post',
            data:{
                shipmentDetailId:shipmentDetailId,
491
                inventoryDetailId:id,
492
                barcodeDetailsCode:barcodeDetailsCode,
pengcheng authored
493
                shipQty:num,
易文鹏 authored
494
                netWeight: weight,
495
496
                electricQuantity:electricQuantity,
                batteryPackageWeight:batteryPackageWeight,
pengcheng authored
497
498
499
500
501
            },
            success:function (response) {
                if(response.code===200){
                    $.modal.msgSuccess('成功');
                    $("#list-btn").click();
502
                    list_shipmentInfo($("#code").val());
pengcheng authored
503
504
505
506
507
508
                }
                else {
                    $.modal.msg(response.msg)
                }
            }
        })
tangying authored
509
510
    }
511
512
513
514
515
    function chooseStation(id) {
        let url = ctx + "shipment/shippingCombination/chooseStation" + "/" +  id;
        $.modal.open("选择站台", url);
    }
tangying authored
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
    function submit(url, type, dataType, data,content) {
        $.modal.loading("正在处理中,请稍后...");
        var config = {
            url: url,
            type: type,
            dataType: dataType,
            data: data,
            contentType: content,
            success: function(result) {
                if (result.code == web_status.SUCCESS) {
                    $("#list-btn").click();
                }
                else {
                    $.modal.alertError(result.msg);
                }
                $.modal.closeLoading();
            }
        };
        $.ajax(config)
    }
537
538
539
540
541
    function refresh() {
        list_select($("#code").val());
        list_shipmentInfo($("#code").val());
    }
tangying authored
542
    function initPage() {
pengcheng authored
543
544
        let auto = localStorage.getItem("auto");
        let shipmentCode = localStorage.getItem("shipmentCode");
tangying authored
545
        $("#code").val(shipmentCode);
lector authored
546
547
        if (auto == 2)   {
            let  url = prefix + "/autoCombinationAndCreateTask";
pengcheng authored
548
549
550
            let  type = "post";
            let  dataType = "json";
            let  data = {"shipmentCode" : shipmentCode};
tangying authored
551
552
            submit(url,type,dataType, data);
        }
lector authored
553
554
555
556
557
558
559
        else if (auto == 1){
            let  url = prefix + "/autoCombination";
            let  type = "post";
            let  dataType = "json";
            let  data = {"shipmentCode" : shipmentCode};
            submit(url,type,dataType, data);
        }else {
tangying authored
560
561
562
563
            $("#list-btn").click();
        }
        localStorage.removeItem("shipmentCode");
        localStorage.removeItem("auto");
564
        list_shipmentInfo($("#code").val());
tangying authored
565
566
567
568
569
570
    }

    $(function() {

        $("#list-btn").click(function () {
            list_select($("#code").val());
571
            list_shipmentInfo($("#code").val());
pengcheng authored
572
        });
tangying authored
573
574
575
576
577
578

        initPage();
    });

</script>
</body>
lector authored
579
</html>