material.html 8.34 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="material-form" autocomplete="off">
                <div class="select-list">
                    <ul>
                        <li>
                            <label>编码:</label><input type="text" name="code"/>
                        </li>
                        <li>
                            <label>名称:</label><input type="text" name="name"/>
                        </li>
                        <li>
                            <label>规格:</label><input type="text" name="spec"/>
                        </li>
                        <li>
                            <label>品牌:</label><input type="text" name="brand"/>
                        </li>
                        <li>
                            <label>材质:</label><input type="text" name="texture"/>
                        </li>
                        <li>
                            <label>类别:</label><select name="type" th:with="type=${@materialType.list()}">
                            <option value="">所有</option>
                            <option th:each="e : ${type}" th:text="${e['name']}" th:value="${e['code']}"></option>
                        </select>
                        </li>
                        <!--<li class="time2">
                            <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 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('material-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
                        </li>
                    </ul>
                </div>
            </form>
        </div>

        <div class="btn-group hidden-xs" id="toolbar" role="group">
            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:material:add">
                <i class="fa fa-plus"></i> 新增
            </a>
            <!--<a class="btn btn-outline btn-success btn-rounded" onclick="batEdit()" shiro:hasPermission="config:material:add">
                <i class="fa fa-edit"></i> 批量编辑
            </a>-->
            <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:material:remove">
                <i class="fa fa-trash-o"></i> 删除
            </a>
            <a class="btn btn-outline btn-info btn-rounded" onclick="$.table.importExcel()">
                <i class="fa fa-upload"></i> 导入
            </a>
            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.batPrint()">
                <i class="fa fa-plus"></i> 打印
            </a>
        </div>

        <div class="col-sm-12 select-table">
            <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">
    let editFlag = [[${@permission.hasPermi('config:material:edit')}]];
    let removeFlag = [[${@permission.hasPermi('config:material:remove')}]];
    let prefix = ctx + "config/material";
    let datas = [[${@dict.getType('sys_normal_disable')}]];
    let mType = [[${@materialType.queryType()}]];
    let materialArea = [[${@materialArea.queryCode()}]];

    $(function () {
        let options = {
            url: prefix + "/list",
            createUrl: prefix + "/add",
            updateUrl: prefix + "/edit/{id}",
            removeUrl: prefix + "/remove",
            printUrl: prefix + "/print",
            importTemplateUrl: prefix + "/importTemplate",
            importUrl: prefix + "/importData",
            modalName: "物料",
            search: false,
            sortName: "id",
            sortOrder: "desc",
            columns: [
                {
                    checkbox: true
                },
                {
                    field: 'code',
                    title: '物料编码'
                },
                {
                    field: 'name',
                    title: '名称'
                },
                {
                    field: 'type',
                    title: '物料类别',
                    align: 'center',
                    formatter: function (value, row, index) {
                        let actions = [];
                        $.each(mType, function (index, dict) {
                            if (dict.code === value) {
                                actions.push("<span class='badge badge-" + dict.code + "'>" + dict.name + "</span>");
                                return false;
                            }
                        });
                        return actions.join('');
                    }
                },
                {
                    field: 'brand',
                    title: '品牌'
                },
                {
                    field: 'texture',
                    title: '材质'
                },
                {
                    field: 'spec',
                    title: '规格'
                },
                {
                    field: 'unit',
                    title: '单位',
                    visible: true
                },
                {
                    field: 'enable',
                    title: '状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return $.table.selectDictLabel(datas, value);
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        let actions = [];
                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
                        return actions.join('');
                    }
                },]
        };
        $.table.init(options);
    });

    function report() {
        let rows = $("#bootstrap-table").bootstrapTable('getSelections');
        if (rows.length === 0) {
            $.modal.msgWarning("请至少选择一条记录");
            return;
        }
        let ids = "";
        for (let i = 0; i < rows.length; i++) {
            ids = ids + rows[i].id + "," // 物料编码id
        }
        let url = prefix + '/print/' + ids;
        // 打印参数表示打印的加载窗口该窗口显示spring返回的页面
        $.modal.open("打印", url); // 该页面打开print.html之后在进行调用改方法

    }

    function batEdit() {
        let rows = $.table.selectColumns("id");
        if (rows.length === 0) {
            $.modal.msgWarning("请至少选择一条记录");
        } else {
            $.modal.open("修改物料", prefix + "/editBatch/" + rows.join(","));
        }
    }
</script>

<!-- 导入区域 -->
<script id="importTpl" type="text/template">
    <form enctype="multipart/form-data" class="mt20 mb10">
        <div class="col-xs-offset-1">
            <input type="file" id="file" name="file"/>
            <div class="mt10 pt5">
                <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
            </div>
            <font color="red" class="pull-left mt10">
                提示:仅允许导入“xls”或“xlsx”格式文件!
            </font>
        </div>
    </form>
</script>
</body>
</html>