add.html 5.43 KB
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<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="wrapper wrapper-content animated fadeInRight ibox-content">
    <form class="form-horizontal m" id="form-shipmentDetail-add">
        <input id="shipmentId" name="shipmentId" class="form-control" th:value="${shipmentId}" type="hidden">
        <input id="shipmentCode" name="shipmentCode" class="form-control" th:value="${shipmentCode}" type="hidden">
        <div class="form-group">
            <label class="col-sm-3 control-label">物料编码:</label>
            <div class="col-sm-8">
                <select id="materialCode" name="materialCode" class="form-control"></select>
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-3 control-label">库存状态:</label>
            <div class="col-sm-8">
                <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
                    <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
                </select>
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-3 control-label">出库数量:</label>
            <div class="col-sm-8">
                <input id="qty" name="qty" class="form-control" type="number">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-3 control-label">批次:</label>
            <div class="col-sm-8">
                <input id="batch" name="batch" class="form-control" type="text">
            </div>
        </div>
        <div class="form-group">
            <div class="form-control-static col-sm-offset-9">
                <button type="submit" class="btn btn-primary">提交</button>
                <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: select2-js"/>
<script type="text/javascript">
    let prefix = ctx + "shipment/shipmentDetail"
    $("#form-shipmentDetail-add").validate({
        rules: {
            materialCode: {
                required: true
            },
            qty: {
                required: true,
                min: 0
            },
            inventorySts: {
                required: true,
            },
        },
        submitHandler: function (form) {
            $.ajax({
                cache: true,
                type: "POST",
                url: prefix + "/add",
                data: $("#form-shipmentDetail-add").serializeArray(),
                async: false,
                error: function (request) {
                    $.modal.msgError("请求失败!");
                },
                success: function (data) {
                    if (data.code === web_status.SUCCESS) {
                        layer.msg("保存成功,正在刷新数据请稍后……", {
                            icon: $.modal.icon(modal_status.SUCCESS),
                            time: 500,
                            shade: [0.1, "#8F8F8F"]
                        }, function () {
                            window.parent.detail([[${shipmentId}]], $("#shipmentCode").val());
                            $.modal.close()
                        });
                    } else {
                        $.modal.msgError(data.msg)
                    }
                }
            });
        }
    });

    $(function () {
        $('#materialCode').select2({
            placeholder: '请选择物料',
            allowClear: true,
            ajax: {
                url: ctx + 'config/material/getData',
                dataType: 'json',
                type: 'post',
                delay: 250,
                data: function (params) {
                    return {
                        materialName: params.term,
                        page: params.page || 1,
                        rows: 10
                    };
                },
                //数据集处理
                processResults: function (data, params) {
                    data.results.forEach(data => {
                        data.text = data.id + " " + data.text
                    })
                    params.page = params.page || 1;
                    return {
                        //这里是返回的数据:数据格式必须遵循select2格式 如:{ id: 1, text: 'aojian' }, { id: 2, text: 'dahuang' }];
                        results: data.results,
                        pagination: {
                            //more:表示下拉刷新,data.total表示总页数,这里的意思是当前页小于总页数的时候就显示下拉分页
                            more: (params.page) < data.total
                        }
                    };
                },
            }
        });
        $('#port').select2({
            ajax: {
                url: ctx + 'config/station/getData',
                dataType: 'json',
                type: 'post',
                delay: 250,
                data: function (params) {
                    return {
                        code: params.term,
                    };
                }
            }
        });
    })
</script>
</body>
</html>