add.html 13.3 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:block th:include="include :: header"/>
    <th:block th:include="include :: select2-css"/>
</head>
<body class="white-bg">
<div class="container-div">
    <div class="row">
        <div class="col-sm-12 select-info">
            <form id="inventory-add-form">
                <div class="select-list">
                    <ul>
                        <li>
                            <label>物料编码:</label>
                            <!--                            <select id="materialCode" name="materialCode"></select>-->
                            <input id="materialCode" name="materialCode" placeholder="请输入物料编码" type="text"/>
                        </li>
                        <li>
                            <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode"
                                   th:value="${cycleCountHeadCode}" readonly="readonly"/>
                        </li>
                        <li>
                            <label>库位编码:</label>
                            <input id="locationCode" name="locationCode" placeholder="请输入库位编码" type="text"/>
                        </li>
                        <li>
                            <label>载具编码:</label>
                            <input id="containerCode" name="containerCode" placeholder="请输入载具编码" type="text"/>
                        </li>
                        <li>
                            <label>盛具编码:</label>
                            <input id="vehicleCode" name="vehicleCode" placeholder="请输入盛具编码" type="text"/>
                        </li>
                        <li class="select-time">
                            <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 style="float: right; margin-right: 45px">
                            <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()">
                                <i class="fa fa-search"></i>&nbsp;搜索
                            </a>
                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('inventory-add-form')">
                                <i class="fa fa-refresh"></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: 12px 0 12px 0"
               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 th:include="include::footer"></div>
<th:block th:include="include :: select2-js"/>
<script th:inline="javascript">
    var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
    var prefixDetail = ctx + "inventory/inventoryDetail";
    var prefix_cycleDetails = ctx + "inventory/cycleCountDetail";
    var prefix = ctx + "inventory/inventoryHeader";
    var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
    var datas = [[${@dict.getType('sys_normal_disable')}]];
    var inventoryStatus = [[${@dict.getType('inventorySts')}]];
    var supplier = [[${@SupplierService.getCode()}]];
    $(function () {
        var 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',
                },

                    field: 'warehouseCode',
                    title: '仓库 ',
                    visible: true
                },
                {
                    field: 'companyCode',
                    title: '货主',
                    visible: true
                },*/
                {
                    field: 'locationCode',
                    title: '库位编码'
                },
                {
                    field: 'containerCode',
                    title: '载具编码'
                },
                {
                    field: 'vehicleCode',
                    title: '盛具编码'
                },
                {
                    field: 'totalWeight',
                    title: '总药量(克)'
                },
                {
                    field: 'totalQty',
                    title: '总数'
                },
                {
                    field: 'totalLines',
                    title: '总行',
                },
                {
                    field: 'created',
                    title: ' 创建时间'
                },
                {
                    field: 'createdBy',
                    title: ' 创建用户'
                },
            ]
        };
        $.table.init(options);
    });

    //子表
    initChildTable = function (index, row, $detail) {
        let childTable = $detail.html('<table style="table table-bordered table-hover text-nowrap"></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: 'id',
                    title: '明细id',
                },
                {
                    field: 'inventoryHeaderId',
                    title: '库存头id',
                    visible: false
                },*/
                /*{
                    field: 'locationCode',
                    title: '库位编码',
                    visible: false
                },
                {
                    field: 'containerCode',
                    title: '载具编码',
                },
                {
                    field: 'vehicleCode',
                    title: '盛具编码',
                },*/
                {
                    field: 'materialCode',
                    title: '物料编码'
                },
                {
                    field: 'materialName',
                    title: '物料名称',
                },
                {
                    field: 'materialSpec',
                    title: '物料规格',
                },
                {
                    field: 'materialUnit',
                    title: '物料单位'
                },
                {
                    field: 'weight',
                    title: '药量(克)'
                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    }
                },
                {
                    field: 'qty',
                    title: '数量',
                },
                {
                    field: 'locationNoX',
                    title: 'x',
                },
                {
                    field: 'locationNoY',
                    title: 'y',
                },
                {
                    field: 'batch',
                    title: '批次',
                    visible: true
                },
                {
                    field: 'tracingNo',
                    title: '追溯码',
                },
                {
                    field: 'receiptCode',
                    title: '入库单编码',
                    visible: true,
                    width: 150
                },
                /*{
                    field: 'companyCode',
                    title: '货主编码',
                    width: 80
                },*/
                {
                    field: 'receiptDetailId',
                    title: '入库单明细id',
                    visible: false
                },
                {
                    field: 'supplierCode',
                    title: '供应商',
                    formatter: function (value, row, index) {
                        let actions = [];
                        $.each(supplier, function (index, item) {
                            if (item.code === value) {
                                actions.push("<span class='badge badge-info'>" + item.name + "</span>");
                                return false;
                            }
                        });
                        return actions.join('');
                    },
                },
                {
                    field: 'inventorySts',
                    title: '库存状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(inventoryStatus, value);
                    },
                    visible: false
                },
                {
                    field: 'weight',
                    title: '重量',
                    visible: false
                },
                {
                    field: 'created',
                    title: '入库日期',
                    visible: true,
                    width: 150
                },
                {
                    field: 'createdBy',
                    title: '创建用户',
                    visible: true,
                    width: 120
                },
                {
                    field: 'lastUpdated',
                    title: '最后修改时间',
                    visible: false
                },
                {
                    field: 'lastUpdatedBy',
                    title: '更新用户',
                    visible: false
                },
            ]
        });
    };

    function addDetails() {
        var rows = $("#bootstrap-table").bootstrapTable('getSelections');
        if (rows.length < 1) {
            $.modal.alertWarning("请选择库存明细!");
            return;
        }
        $.modal.loading("正在处理,请稍后...");
        var 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.alertError("请求失败!");
            },
            success: function (data) {
                if (data.code === 200) {
                    $.modal.closeLoading();
                    $.modal.alertSuccess("添加盘点成功");
                    $.table.refresh();
                } else {
                    $.modal.closeLoading();
                    $.modal.alertError(data.msg);
                    $.table.refresh();
                }
                parent.$.table.refresh();
            }
        })
    }

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

    $(function () {
        /*$('#materialCode').select2({
            width: "200",
            placeholder: "请输入物料编码",
            ajax: {
                url: ctx + 'config/material/getData',
                dataType: 'json',
                type: 'post',
                data: function (params) {
                    return {
                        materialName: params.term,
                    };
                }
            },
            templateResult: function (data) {
                return data.id + " " + data.text;
            }
        });*/
    });
</script>
</body>
</html>