YL
2021-08-04 3e0b9cacb7c8d31df384072ee4c9757c56d582af
WebTM/views/ReportHtml.html
@@ -28,17 +28,56 @@
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">开始日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HBeginDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">结束日期</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HEndDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料编码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="PartNumber" id="PartNumber" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="PartName" id="PartName" style="width:190px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content">
                                    <div class="layui-inline">
                                        <div class="layui-inline">
                                            <span>其他条件></span>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">生产资源</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" name="Source" id="Source" style="width:190px;">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="layTable" lay-filter="layTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Add"><i class="layui-icon layui-icon-add-1"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Edit"><i class="layui-icon layui-icon-edit"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Delete"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-add-1"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-edit"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload" style="display:none;"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm" id="btn_confirm" style="display:none;"><i class="layui-icon layui-icon-ok-circle"></i>确认</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back" style="display:none;"><i class="layui-icon layui-icon-close-fill"></i>驳回</button>
@@ -65,6 +104,7 @@
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            // #region 公共变量
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
@@ -76,131 +116,206 @@
                , util = layui.util
            //查询条件
            var sWhere = "";
            var findTableHead = {
                "success": "true",
                "result": [{ "id":"id","name":"ID"}, { "id":"name","name":"姓名"}, { "id": "sex","name":"性别"}, { "id": "time","name":"时间"}]
            }
            var findTableData = {
                "success": "true",
                "result": {
                    "currentPage": 1,
                    "pageSize": 10,
                    "totalPage": 1,
                    "totalSize": 22,
                    "list": [{
                        "HItemID": "1",
                        "HNumber": "PN00000",
                        "HName": "男",
                        "HRemark": "xxxxx",
                        "HUseFlag":"已使用",
                        "HBirthDay": "2021-02-20 11:00:02"
                    }, {
                            "HItemID": "1",
                            "HNumber": "PN00000",
                            "HName": "男",
                            "HRemark": "xxxxx",
                            "HUseFlag": "已使用",
                            "HBirthDay": "2021-02-20 11:00:02"
                        }]
                }
            }
            var resultTableHead = []; //获取列表头字段自定义列数组
            //#endregion
            //#region 进入页面即加载
            //初始化表单插件
            set_InitFrom();
            //初始化界面
            set_ClearBill(sWhere);
            //#endregion
            //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region 头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                };
            });
            //#endregion
            //#region 查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //#endregion
            //#region 重置按钮
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
           //#endregion
            //#region 本页面所有被调用的方法
            
            //进入页面显示的缓存列表
            var resultTableHead = [];
            $.ajax({
                url: GetWEBURL() + '/Sc_MESBeginWorkBill/ReportFrom',
                type: "GET",
                async: false,
                dataType: "json",//数据类型可以为 text xml json  script  jsonp
                success: function (data) {
                    console.log(data);
                    var loaddt = data.list
                    for (var key in loaddt) {
                        resultTableHead.push({ "id": loaddt[key], "name": loaddt[key] });
                    }
                }, error: function (err) {
                    layer.alert(err.Message, { icon: 5 });
                }
            });
            console.log(resultTableHead);
            //查询表格头数据
            var result = findTableHead;
                    //console.log(result);//打印服务端返回的数据(调试用)
                    //填充表格头数组
                    if (result.success) {
                        var data = resultTableHead;
                        cols_arr[0] = [];
                        cols_arr[0][0] = { checkbox: true, fixed: true };
                        for (var i = 0; i < data.length; i++) {
                            if (data[i].name == 'id') {
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //隐藏id列
                            } else if (i == 1) {
                                //增加超链接
                                var id = data[i].id;
                                cols_arr[0][i + 1] = {
                                    field: data[i].id, title: data[i].name, align: 'center', templet: function (d) {
                                        return "<div><a href='/detail.do?id=" + eval("d.id") + "' class='layui-table-link'>" + eval("d." + id) + "</a></div>";
                                    }
                                };
                            } else {
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center' };
                            }
                        }
                    }
            //填充表格数据
            table.render({
                elem: '#layTable',
                data: findTableData.result.list,
                toolbar: '#toolbarDemo', //开启头部工具栏,并为其绑定左侧模板
                defaultToolbar: ['filter',],
                title: '用户数据表',
                cols: cols_arr,    //填充表格头数据,
              page: true, //开启分页
                id: 'layTable', //表格id
                parseData: function (result) {
                    var data = JSON.parse(result.result);
                    //console.log(data.list );
                    return {
                        "code": 0,  // 返回正确的状态码是0
                        "msg": "",
                        "count": data.totalSize,
                        "data": data.list
                    }
                }
            });
        //重新加载表格
        function reloadByKeyword() {
            table.reload('layTable', {
                page: {
                    curr: 1 //重新从第 1 页开始
                },
                request: {
                    pageName: 'page', //页码的参数名称,默认:page
                    limitName: 'limit'//每页数据量的参数名,默认:limit
                },
                where: {
                    keyword: $('#demoInput').val() //可传参查询的参数
                }
            });
        }
        //获取表格中的值
        function batchDel() {
            var data = table.checkStatus('layTable').data;
            var ids = "";
            for (var i = 0; i < data.length; i++) {
                ids += data[i].id + ",";
            //#region 初始化表单
            function set_InitFrom() {
                laydate.render({
                    elem: '#HBeginDate'
                });
                laydate.render({
                    elem: '#HEndDate'
                });
            }
            alert(ids);
        }
            //#endregion
            // #region 初始化界面
            function set_ClearBill(sWhere)
            {
                resultTableHead = []; //清空表头列,防止重复渲染
                //初始查询
                get_Display(sWhere);
            }
            //#endregion
            //#region 查询
            function get_Display(sWhere)
            {
                 var ajaxLoad = layer.load();
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Sc_MESReportFrom/ReportFromBillList',
                    type: "GET",
                    data: { "sWhere": sWhere, "page": 1,"limit":10 },
                    async: false,
                    dataType: "json",//数据类型可以为 text xml json  script  jsonp
                    success: function (data1) {
                        for (var key in data1.list)
                        {
                            resultTableHead.push({ "id": data1.list[key], "name": data1.list[key] });
                        }
                        set_InitGrid(sWhere);
                    }, error: function (err) {
                        layer.alert(err.Message, { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region  初始化表格方法
            function set_InitGrid(sWhere)
            {
                //填充表格头数组
                var data = resultTableHead;
                cols_arr[0] = [];
                cols_arr[0][0] = { checkbox: true, fixed: true };
                for (var i = 0; i < data.length; i++) {
                    if (data[i].name == 'HItemID') {
                        cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //隐藏id列
                    }
                    else
                    {
                        cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center'};
                    }
                }
                //填充表格数据
                table.render({
                    elem: '#layTable',
                    url: GetWEBURL() + '/Sc_MESReportFrom/ReportFromBillList',
                    toolbar: '#toolbarDemo', //开启头部工具栏,并为其绑定左侧模板
                    title: '用户数据表',
                    cols: cols_arr,    //填充表格头数据,
                    id: 'layTable', //表格id
                    where: { sWhere: sWhere}, //扩展参数,可以传数据到后台
                    page: true,   //开启分页
                    limit: 10,     //一页能够显示的最大数目
                    limits: [10, 20, 40, 60,80,100], //控制多少行一页(默认五条一页)
                    method: 'get',  //提交方式
                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                    response: {
                        statusCode: 1 //重新规定成功的状态码为 1,table 组件默认为 0
                    },
                     done: function (res) {   //返回数据执行回调函数
                         layer.close(layer.index);    //返回数据关闭loading
                    }
                });
            }
            //endregion
            //#region 快速过滤
            function get_FastQuery() {
                var PartNumber = $("#PartNumber").val();//物料编码
                var PartName = $("#PartName").val();//物料名称
                var HBeginDate = $("#HBeginDate").val();//开始日期
                var HEndDate = $("#HEndDate").val();//结束日期
                if (PartNumber) {
                    sWhere += " and HNumber like '%" + PartNumber + "%'";
                }
                if (PartName) {
                    sWhere += " and HName like '%" + PartName + "%'";
                }
                if (HBeginDate) {
                    sWhere += " and CONVERT(varchar(100),HBirthDay, 23) >= '" + HBeginDate + "'";
                }
                if (HEndDate) {
                    sWhere += " and CONVERT(varchar(100),HBirthDay, 23) <= '" + HEndDate + "'";
                }
                set_ClearBill(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region 重置过滤条件方法
            function set_ClearQuery() {
                $("#PartNumber").val("");//物料编码
                $("#PartName").val("");//物料名称
                $("#HBeginDate").val("");//开始日期
                $("#HEndDate").val("");//结束日期
                get_FastQuery();
                sWhere = "";
            }
            //#endregion
            //#endregion
            //#region 重新加载表格(备用方法)
            function reloadByKeyword() {
                table.reload('layTable', {
                    page: {
                        curr: 1 //重新从第 1 页开始
                    },
                    request: {
                        pageName: 'page', //页码的参数名称,默认:page
                        limitName: 'limit'//每页数据量的参数名,默认:limit
                    },
                    where: {
                        keyword: $('#demoInput').val() //可传参查询的参数
                    }
                });
            }
            //#endregion
            //#region 获取表格中的值(备用方法)
            function batchDel() {
                var data = table.checkStatus('layTable').data;
                var ids = "";
                for (var i = 0; i < data.length; i++) {
                    ids += data[i].id + ",";
                }
                alert(ids);
            }
            //#endregion
           //#endregion
            //以上是layui模块
        });