shipmentDetailInventory.html 14.1 KB
<!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>
<body class="gray-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 select-info">
            <form id="inventory-form">
                <div class="select-list">
                    <ul>
                        <input type="hidden" name="inventoryHeaderId" />
                        <!--<li>

                            库位编号:<input type="text" name="locationCode"  readonly/>
                        </li>

                        <li>
                            容器编号:<input type="text" name="containerCode"  readonly/>
                        </li>
-->
                        <li>
                            站台:
                            <select id="port" name="port" class="form-control">
                                <option value="P001">站台1</option>
                                <option value="P002">站台2</option>
                            </select>
                        </li>
                        <li>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="submitt()"><i
                                    class="fa fa-plus"></i>&nbsp;提交</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>
        <div class="btn-group hidden-xs" id="toolbar" role="group">


        </div>

        <div class="col-sm-12 select-info">
            <table id="bootstrap-table" data-mobile-responsive="true"
                   class="table table-bordered table-hover text-nowrap"></table>
        </div>
    </div>
</div>
<div th:include="include :: footer"></div>

<script th:inline="javascript">

    var prefix = ctx + "inventory/inventoryHeader";
    var detailPrefix = ctx + "inventory/inventoryDetail";
    var prefix1 = ctx + "receipt/receiptHeader";
    var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
    var datas = [[${@dict.getType('sys_normal_disable')}]];
    var containerStatus = [[${@dict.getType('containerStatus')}]];
    var zone = [[${@zone.getCode()}]];
    var inventoryStatus = [[${@dict.getType('inventorySts')}]];
    var company = [[${@companyService.getCode()}]];

    var uWarehouseNames = [[${@warehouseWu.getName()}]];



    $("#inventoryHeaderId").val([[${inventoryHeaderId}]]);
    console.log([[${inventoryHeaderId}]])
    $("#locationCode").val([[${locationCode}]]);
    $("#containerCode").val([[${containerCode}]]);
    // console.log(warehouseCodes)
    $(function () {
        $("select[name='companyCode']").change(function (e) {
            let companyCode = $("select[name='companyCode'] option:selected").val();
            console.log(companyCode)
            $.ajax({
                url: prefix1 + '/getwarehouse',
                type: 'post',
                data: {code: companyCode},
                success: function (response) {
                    if (response.code === 200) {
                        $("select[name='uWarehouseCode']").children().remove();
                        $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`);
                        console.log(response.data)
                        for (let item of response.data) {
                            let option = `<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`;
                            $("select[name='uWarehouseCode']").append(option);
                        }
                    } else {
                        $.modal.msgError(response.msg)
                    }
                }
            })
        })

        var options = {
            url: detailPrefix + "/inventoryDetailLook",
            modalName: "库存明细",
            createUrl: detailPrefix + "/add",
            updateUrl: detailPrefix + "/edit/{id}",
            removeUrl: detailPrefix + "/remove",
            importUrl: prefix + "/importData",//导入
            importTemplateUrl: detailPrefix + "/importTemplate",//导入模板
            importTemplateUrlV1: detailPrefix + "/importTemplateMode",//导入模板
            importTemplateUrlBom: detailPrefix + "/importTemplateBom",//导入模板
            contentType: "application/x-www-form-urlencoded",   // 编码类型
            method: 'post',
            iconSize: "outline",
            toolbar: "toolbar",
            showRefresh: true,//刷新
            showToggle: true, //视图切换
            clickToSelect: true,
            showColumns: true, //列选择
            showExport: true, //导出
            sortable: true,                                     // 是否启用排序
            sortStable: true,
            sortOrder: "",// 设置为 true 将获得稳定的排序
            search: false,      //是否开启搜索框
            pagination: true,   // 底部显示分页条
            pageNumber: 1,
            pageSize: 10,
            pageList: [10, 25, 50, 100, 500, 3000, 5000, 'all'],
            sidePagination: "server",
            queryParams: queryParams,// 启用服务端分页 必须设置url

            responseHandler: function (res) {
                if (res.code == 200) {
                    return {rows: res.data, total: res.total};
                } else {
                    $.modal.alertWarning(res.msg);
                    return {rows: [], total: 0};
                }
            },
            onLoadSuccess: function (res) {
                let count = 0;
                if (res.rows.length > 0) {
                    res.rows.map(item => {
                        count += item.qty
                    });
                }
                $("#remainder").val(count)
            },
            columns: [
                {
                    checkbox: true
                },
                {
                    field: 'id',
                    title: '库存ID',
                    visible: false
                },

                {
                    field: 'created',
                    title: '入库时间',
                    visible: false
                },
                {
                    field: 'warehouseCode',
                    title: '仓库',
                    sortable: true,
                    formatter: function (value, row, index) {
                        var name = '昆山仓库';
                        if (value == 'CS0001') {
                            name = '长沙仓库';
                        } else if (value == 'XZ0001') {
                            name = '徐州仓库';
                        } else if (value == 'KS0001') {
                            name = '昆山仓库';
                        }
                        return "<span class='badge badge-info'>" + name + "</span>";
                    }
                },

                {
                    field: 'containerCode',
                    title: '容器编号',
                    sortable: true
                },

                {
                    field: 'materialCode',
                    title: '存货编码',
                    sortable: true
                },

                {
                    field: 'materialName',
                    title: '物料名称',
                    sortable: true
                },
                {
                    field: 'materialSpec',
                    title: '物料规格',
                    whiteSpace: 'pre-wrap',
                    formatter: function (value, row, index) {
                        let result = value;
                        // console.log(value)
                        if (value != '') {
                            if (value.length > 15) {
                                result = value.substring(0, 15) + "<br/>" + value.substring(15, value.length)
                            }
                        }

                        return result;
                    },
                },
                {
                    field: 'qty',
                    title: '数量',
                    sortable: true,

                },
                {
                    field: 'lockedQty',
                    title: '出库数量',
                    sortable: true,
                    formatter: function (value, row, index) {
                        var actions = [];
                        var data = row.purchaseNum;
                        if('null' == data || null == data){
                            data = '';
                        }
                        var optionDiv = '<div >' +
                            '<span style="display: none;" id="showPurchaseNumDate_'+index+'">'+data+'</span>' +
                            ' <div>' +
                            '<input type="text"  id="purchaseNumDate_'+index+'" oninput="purchaseNumDateChange('+index+')"  placeholder="请输入出库数量"  value="'+data+'" >' +
                            '</div>' +
                            '</div>';
                        actions.push(optionDiv);
                        return actions.join('');
                    },
                },


                {
                    field: 'zoneCode',
                    title: '储货库区',
                    sortable: true
                },
                {
                    field: 'days',
                    title: '库龄',
                    sortable: true,
                    visible: true
                },

                {
                    field: 'taskQty',
                    title: '预定执行数量',
                    visible: false
                },


                {
                    field: 'locationCode',
                    title: '库位编号',
                    sortable: true,
                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    }
                },


                {
                    field: 'createdBy',
                    title: '创建用户',
                },

                {
                    field: 'userDef1',
                    title: '自定义字段1',
                    visible: false
                },
                {
                    field: 'userDef2',
                    title: '自定义字段2',
                    visible: false
                },
                {
                    field: 'userDef3',
                    title: '自定义字段3',
                    visible: false
                }
                ,
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        if (row.moCode == '' || row.moCode == null) {
                            // actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-check"></i>工作令锁定</a>');
                        }
                        if (row.warehouseCode == 'CS0001' ) {
                            actions.push('<a class="btn btn-primary btn-xs ' + '' + '" href="#" onclick="getDraw(\'' + row.materialCode + '\')"><i class="fa fa-check"></i>查看图纸</a>');
                        }
                        return actions.join('');
                    }
                }
            ]
        };
        $.table.init(options);

    });

    /**
     * 获取修改数量的时候,实时修改span的值
     * @param index
     */
    function purchaseNumDateChange(index) {
        var changeSpan = document.getElementById ("showPurchaseNumDate_"+index);
        var data =  document.getElementById ("purchaseNumDate_"+index).value;
        changeSpan.innerHTML = data;
    }




    $(document).ready(function () {

    })



    function queryParams(params) {
        // console.log(params)
        return {
            // 传递参数查询参数
            inventoryHeaderId:    [[${inventoryHeaderId}]],
            pageSize: params.limit,
            pageNum: params.offset / params.limit + 1,
            searchValue: params.search,
            sort: params.sort,
            orderByColumn: params.sort,
            isAsc: params.order,
            order: params.order
        };
    }


    function localSubmit(url, type, dataType, data) {
        $.modal.loading("正在处理中,请稍后...");
        var config = {
            url: url, type: type, dataType: dataType, data: data, success: function (result) {
                if (result.code == web_status.SUCCESS) {
                    $.modal.msgSuccess(result.msg);
                } else {
                    $.modal.alertError(result.msg)
                }
                $.modal.closeLoading()
            }
        };
        $.ajax(config)
    }

    //出库,分拣或者整盘出库

    function submitt(){
        let rows = $("#bootstrap-table").bootstrapTable('getData')
        let port=$("#port").val();
        var list=[];
        if(rows.length==0){
            $.modal.msgError("请选择出库数据");
            return;
        }
        if(port==undefined||port==''){
            $.modal.msgError("请选择出库站台");
            return;
        }
        console.log(rows)
        for(let i = 0; i < rows.length; i++){
            console.log($("#showPurchaseNumDate_0").text())
            let data={
                "inventoryId":rows[i].id,
                "containerCode":rows[i].containerCode,
                "materialCode":rows[i].materialCode,
                "qty":$("#showPurchaseNumDate_"+i+"").text(),
                "port":port
            }
            list.push(data);
        }
        var data2 = JSON.stringify(list);
        $.ajax({
            url:ctx + 'API/WMS/v2/createShipmentTaskSc',
            type: 'post',
            datatype: "json",
            contentType: "application/json",
            data:data2,
            success : function (value) {
                $.operate.saveSuccess(value);
            }
        });
    }

</script>
</body>
</html>