yangle
2023-08-03 cba0ef063a24b5b965bfa943cf1c8d2c8acba84a
WebTM/views/³µ¼ä¹ÜÀí/±¨±í·ÖÎö/Kf_MaterOutSumReport_Cloth.html
@@ -133,6 +133,7 @@
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-detail"><i class="layui-icon layui-icon-return"></i>明细报表</button>
                            </div>
                        </script>
                    </form>
@@ -182,6 +183,10 @@
                    case 'HideColumn':
                        get_HideColumn();
                        break;
                    //明细报表
                    case 'btn-detail':
                        get_EntryReport();
                        break;
                };
            });
            //重置按钮
@@ -193,6 +198,74 @@
                get_FastQuery();
            });
            //行监听事件-单击
            table.on('row(mainTable)', function (obj) {
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            });
            //行监听事件-双击
            table.on('rowDouble(mainTable)', function (obj) {
                //选中高亮 åŒå‡»è¡Œ
                obj.tr.find(':checkbox').prop('checked', true);
                obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = true;
                    }
                });
                //下推
                var sBillNo = obj.data["单据号"];
                layer.open({
                    type: 2
                    , area: ['90%', '90%']
                    , title: '白坯发布明细报表'
                    , closeBtn: 1
                    , shade: 0.6 //遮罩透明度
                    , maxmin: true //允许全屏最小化
                    , anim: 0 //0-6的动画形式,-1不开启
                    , content: 'Kf_MaterOutEntryReport_Cloth.html?sBillNo=' + sBillNo
                    , resize: false
                    , btn: ["确定", "取消"]
                    , end: function () {
                        //刷新页面,
                        //location.reload();
                    }
                    , cancel: function () {
                        //$(".layui-btn").removeClass("layui-btn-disabled");
                    }
                })
            });
            ////监听任意字段过滤-:根据选中的字段,变更输入框的输入形式
            layui.use(['form'], function () {
                var form = layui.form;
                form.on('select(ColName)', function (data) {
                    if (data.value == "日期") {
                        document.getElementById("ColContent").type = "date";
                    } else {
                        document.getElementById("ColContent").type = "text";
                    }
                })
            })
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
@@ -203,7 +276,7 @@
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 10), "yyyy-MM-dd"));//开始日期
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));//结束日期
                //初始化表格
                //set_InitGrid();
                set_InitGrid();
                //加载数据到网格
                get_FastQuery();
                DisPlay_HideColumn();
@@ -211,7 +284,55 @@
            }
            //初始化表格
            function set_InitGrid(sWhere) {
            function set_InitGrid() {
                var HBeginDate = $("#HBeginDate").val();//下达日期 å¼€å§‹æ—¥æœŸ
                var HEndDate = $("#HEndDate").val();//结束日期
                var HMaterNumber = $("#HMaterNumber").val();//物料代码
                var HBillNo = $("#HBillNo").val();          //单据号
                var HProductName = $("#HProductName").val();//产品名称
                var HProductModel = $("#HProductModel").val();//产品规格
                //任意字段条件过滤 æ¡ä»¶æå–
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                //拼接任一字段过滤查询条件
                var com = "";
                if (ColName != 0 && Comparator != 0) {
                    switch (Comparator) {
                        case "7":
                            com = "like ''%" + ColContent + "%''";
                            break;
                        case "8":
                            com = "like ''%" + ColContent + "''";
                            break;
                        case "9":
                            com = "like ''" + ColContent + "%''";
                            break;
                        case "10":
                            com = "not like ''%" + ColContent + "%''";
                            break;
                        default:
                            com = "" + Comparator + " ''" + ColContent + "''";
                            break;
                    }
                    com = " and (" + ColName + " " + com + ")";
                }
                sWhere = {
                    HBeginDate: HBeginDate
                    , HEndDate: HEndDate
                    , HMaterNumber: HMaterNumber
                    , HBillNo: HBillNo
                    , HProductName: HProductName
                    , HProductModel: HProductModel
                    , RandomSearch: com
                }
                sWhere = JSON.stringify(sWhere);
                //动态列-缓存列表
                $.ajax({
                    url: GetWEBURL() + "/MaterOutSumReport/MaterOutSumReport_Cloth",
@@ -227,27 +348,26 @@
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                var width = data1.list[key].width * 23;
                                if (width < 150) {
                                    width = 150;
                                } else if (width > 300) {
                                    width = 300;
                                }
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType, "width": width});
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType});
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, "") > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true, width: data[i].width }); //隐藏id列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if (data[i].ColName == '白坯发布') {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true });
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: data[i].width });
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true});
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: data[i].width });
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true });
                                    }
                                }
                            }
@@ -303,7 +423,7 @@
            //列明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 0; i < option.cols[0].length; i++) {
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
@@ -323,6 +443,13 @@
                    data: { "sWhere": sWhere },
                    success: function (data1) {
                        if (data1.count == 1) {
                            //调整日期格式:显示 å¹´æœˆæ—¥ å’Œ æ—¶
                            for (var i = 0; i < data1.data.length; i++) {
                                if (data1.data[i].日期 != null) {
                                    data1.data[i].日期 = data1.data[i]["日期"].split("T")[0];
                                }
                            }
                            option.data = data1.data;
                            //var num = 0;
                            //for (let i = 0; i < data1.data.length; i++) {
@@ -405,7 +532,7 @@
                    , HProductModel: HProductModel
                    , RandomSearch:com
                }
                set_InitGrid(JSON.stringify(sWhere));
                //set_InitGrid(JSON.stringify(sWhere));
                get_Display(JSON.stringify(sWhere));
                //调用接口后清空sWhere缓存
                sWhere = "";
@@ -431,7 +558,7 @@
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
@@ -470,7 +597,7 @@
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                if (dataCol[i]) {
                                    var dataCols = dataCol[i].split('|');
                                }
@@ -533,7 +660,36 @@
                    }
                })
            }
            //明细报表
            function get_EntryReport() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var sBillNo = data[0]["单据号"];
                    layer.open({
                        type: 2
                        , area: ['90%', '90%']
                        , title: '白坯发布明细报表'
                        , closeBtn: 1
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: 'Kf_MaterOutEntryReport_Cloth.html?sBillNo=' + sBillNo
                        , resize: false
                        , btn: ["确定", "取消"]
                        , end: function () {
                            //刷新页面,
                            //location.reload();
                        }
                        , cancel: function () {
                            //$(".layui-btn").removeClass("layui-btn-disabled");
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
        });
    </script>