add.html 10.2 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="white-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 select-info">
            <form id="inventory-form">
                <!--th:value="${cycleCountHeadCode}"-->
                <!--<input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" >-->
                <div class="select-list">
                    <ul>
                        <li>
                            <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}"
                                   readonly="readonly"/>
                        </li>
                        <li hidden="hidden">
                            仓库:<input id="warehouseCode" type="text" name="warehouseCode" th:value="${warehouseCode}" readonly="readonly"/>
                        </li>
                        <li>
                            库位:<input id="locationCode" type="text" name="locationCode"/>
                        </li>
                        <li>
                            容器:<input id="containerCode" type="text" name="containerCode"/>
                        </li>
                        <li class="time" style="height:30px">
                            <label>入库时间: </label>
                            <input type="text" class="time-input" id="startTime" placeholder="开始时间"
                                   name="createdBegin"/>
                            <span>-</span>
                            <input type="text" class="time-input" id="endTime" placeholder="结束时间"
                                   name="createdEnd"/>
                        </li>
                        <li>
                            <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>
        <div class="col-sm-12 select-info">
            <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px"
               shiro:hasPermission="inventory:cyclecountDetail:add">
                <i class="fa fa-edit"></i>&nbsp;添加盘点库存</a>
            <table id="bootstrap-table" class="table table-bordered table-hover"></table>
        </div>
    </div>
    <!--</div>-->
</div>
<div th:include="include::footer"></div>

<script th:inline="javascript">
    let addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
    let prefixDetail = ctx + "inventory/inventoryDetail";
    let prefix_cycleDetails = ctx + "inventory/cycleCountDetail";
    let prefix = ctx + "inventory/inventoryHeader";
    let report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
    let datas = [[${@dict.getType('sys_normal_disable')}]];
    let inventoryStatus = [[${@dict.getType('inventorySts')}]];
    let company = [[${@companyService.getCode()}]];

    $(function () {
        let options = {
            url: prefix + "/cycleCountInventoryHeader",
            createUrl: prefix + "/add",
            updateUrl: prefix + "/edit/{id}",
            modalName: "库存头",
            sortName: "id",
            sortOrder: "desc",
            pagination: false,  //取消分页
            search: false,
            showSearch: false,
            showRefresh: false,
            showToggle: false,
            showColumns: false,
            detailView: true,
            onExpandRow: function (index, row, $detail) {
                initChildTable(index, row, $detail);
            },
            columns: [
                {
                    checkbox: true
                },
                /*{
                    field: 'id',
                    title: '库存头ID',
                    sortable: true
                },
                {
                    field: 'warehouseCode',
                    title: '仓库 ',
                    visible: true
                },
                {
                    field: 'companyCode',
                    title: '货主',
                    visible: true
                },*/
                {
                    field: 'locationCode',
                    title: '库位 '
                },
                {
                    field: 'containerCode',
                    title: '容器'
                },
                /*{
                    field: 'containerStatus',
                    title: '容器状态',
                    visible: false
                },*/
                {
                    field: 'totalWeight',
                    title: '总重量'
                },
                /* {
                     field: 'materialSkuQty',
                     title: '商品种类数',
                     visible: false
                 },*/
                {
                    field: 'totalQty',
                    title: '总数量'
                },
                {
                    field: 'totalLines',
                    title: '物料种数',
                },
                /*{
                    field: 'enable',
                    title: '状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },*/
            ]
        };
        $.table.init(options);
    });

    //子表
    initChildTable = function (index, row, $detail) {
        let childTable = $detail.html('<table style="table-layout:fixed"></table>').find('table');
        $(childTable).bootstrapTable({
            url: prefixDetail + "/inventoryCycleCountLook",
            method: 'post',
            sortName: "id",
            sortOrder: "desc",
            sidePagination: "server",
            contentType: "application/x-www-form-urlencoded",
            //页面渲染
            responseHandler: responseHandler,
            queryParams: {
                //传值
                inventoryHeaderId: row.id,
                warehouseCode: row.warehouseCode,
            },

            columns: [
                {
                    field: 'materialCode',
                    title: '物料编码'
                },
                {
                    field: 'materialName',
                    title: '物料名称',
                    width: 150
                },
                {
                    field: 'materialSpec',
                    title: '物料规格',
                },
                {
                    field: 'materialUnit',
                    title: '物料单位',
                },
                {
                    field: 'qty',
                    title: '数量',
                },
                {
                    field: 'companyCode',
                    title: '货主编码',
                    formatter: function (value, row, index) {
                        let actions = [];
                        $.each(company, function (index, dict) {
                            if (dict.code === value) {
                                actions.push("<span class='badge badge-info'>" + dict.name + "</span>");
                                return false;
                            }
                        });
                        return actions.join('');
                    }
                },
                {
                    field: 'batch',
                    title: '批次',
                },
                {
                    field: 'supplierCode',
                    title: '供应商编码',
                    visible: false
                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    },
                },
                {
                    field: 'created',
                    title: '入库日期',
                    sortable: true,
                    visible: true,
                    width: 150
                },
                {
                    field: 'createdBy',
                    title: '创建用户',
                    visible: true,
                    width: 120
                }
            ]
        });
    };

    function addDetails() {
        let rows = $("#bootstrap-table").bootstrapTable('getSelections');
        if (rows.length < 1) {
            $.modal.msgWarning("请选择库存明细!");
            return;
        }
        $.modal.loading("正在处理,请稍后...");
        let ids = [];
        rows.forEach(function (item) {
            ids.push(item.id);
        });
        addInner($('#cycleCountHeadCode').val(), ids.join(','));
    }

    function addInner(cycleCountHeadCode, ids) {
        $.ajax({
            cache: true,
            type: "post",
            url: prefix_cycleDetails + "/add",
            data: {
                cycleCountHeadCode: cycleCountHeadCode,
                inventoryHeaderIds: ids
            },
            async: true,
            error: function (request) {
                $.modal.msgError("请求失败!");
            },
            success: function (data) {
                if (data.code === web_status.SUCCESS) {
                    $.modal.msgSuccess("添加盘点成功");
                } else {
                    $.modal.msgError(data.msg);
                }
                $.modal.closeLoading();
                $.table.refresh();
                parent.$.table.refresh();
            }
        })
    }

    function isFloat(str) {
        for (i = 0; i < str.length; i++) {
            if ((str.charAt(i) < "0" || str.charAt(i) > "9") && str.charAt(i) != '.') {
                return false;
            }
        }
        return true;
    }

    function responseHandler(res) {
        if (res.code == 200) {
            return {rows: res.data, total: res.total, code: 0};
        } else {
            $.modal.msgWarning(res.msg);
            return {rows: [], total: 0};
        }
    }

</script>

</body>
</html>