WebTM/views/Éú²ú¹ÜÀí/Éú²úͶÁϵ¥/Sc_PPBomBillList.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
</head>
<body>
@@ -51,6 +52,15 @@
                                    <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-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillno2" id="HBillno2" style="width:190px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnResCnz" id="btnReSearch" style="padding:0 5px">重新同步</button>
                                <div class="layui-colla-content">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">部门</label>
@@ -115,7 +125,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>预览</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>打印</button>
                                <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="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
@@ -129,7 +139,7 @@
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate','soulTable'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
@@ -140,12 +150,15 @@
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
            var sWhere = "";
            var option = [];
            var HModName = "Sc_PPBomBillList";
            //#endregion
            //#region åˆå§‹åŒ–界面
            set_ClearBill();
            DisPlay_HideColumn();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
@@ -161,6 +174,11 @@
                set_ClearQuery();
            });
            //重新同步按钮
            form.on('submit(btnResCnz)', function (data) {
                set_ResCnz();
            });
            //头工具栏事件
            table.on("toolbar(mainTable)", function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);//获取选中行 æ•°æ®
@@ -171,7 +189,99 @@
                    //反审核
                    case "btn-DeAudit": set_DeAuditBill();
                        break;
                    //打印
                    case 'btn-print':
                        get_PrintReport();
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                    default:
                        break;
                    case 'btn-Add':
                        //页面层-自定义
                        layer.open({
                            type: 2,
                            skin: 'layui-layer-rim', //加上边框
                            title: '新增生产用料单',
                            closeBtn: 1,
                            shift: 2,
                            area: ['100%', '100%'],
                            maxmin: true,
                            content: './Sc_PPBomBill.html?OperationType=1&linterid=0&HSouceBillType=0&closeType=1',
                            end: function () {
                                //刷新页面,
                                location.reload();
                            },
                            success: function (layero, index) {
                            }
                        });
                        break;
                    case 'btn-Edit':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        if (checkStatus.data.length === 1) {
                            var hID = data[0].hmainid.toString();
                            //if (AllowLoadData(sSubStr) != false) {//非空验证
                            layer.open({
                                type: 2
                                , area: ['100%', '100%']
                                , title: '编辑收料通知单'
                                , closeBtn: 1
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: '../../采购管理/收料通知单/Add_Edit_Cg_POInStockBillList.html?OperationType=3&linterid=' + hID + '&HSouceBillType=0&closeType=1'
                                , resize: false,
                                end: function () {
                                    //刷新页面,
                                    location.reload();
                                }
                                , cancel: function () {
                                    //$(".layui-btn").removeClass("layui-btn-disabled");
                                }
                            })
                        } else {
                            layer.msg('请选择一行数据编辑!');
                        }
                        break;
                    case 'btn-Delete':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        if (checkStatus.data.length === 1) {
                            var InterID = data[0].hmainid.toString();
                            //逻辑删除方法
                            layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                                $.ajax({
                                    type: "GET",
                                    url: GetWEBURL() + "Sc_PPBomBill/DeltetPPBomBillBill", //方法所在页面和方法名
                                    data: { "HInterID": InterID },
                                    success: function (result) {
                                        if (result.count == 1) {
                                            layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                                // å¾—到frame索引
                                                var index = layer.getFrameIndex(window.name);
                                                //关闭当前frame
                                                layer.close(index);
                                                //修改为功后刷新界面
                                                window.location.reload();
                                            });
                                        } else {
                                            layer.alert(result.code + result.Message, { icon: 5 });
                                        }
                                    }, error: function () {
                                        layer.alert("接口请求失败!", { icon: 5 });
                                    }
                                });
                            })
                        }
                        else {
                            layer.msg('请选择一行数据删除!');
                        }
                        break;
                }
            })
@@ -197,48 +307,52 @@
                    , height: 'full-50'
                    , page: true
                    , cellMinWidth: 90
                    , totalRow: true
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                    , cols: [[
                        { type:"checkbox",fixed:"left" }
                        ,{ field: 'hmainid', title: 'hmainid', sort: true, hide: true }
                        , { field: '日期', title: '日期', width: 150, templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.日期, 'yyyy-MM-dd')}}</div>" }
                        , { field: '单据号', title: '单据号', width: 150 }
                        , { field: 'HDeptID', title: 'HDeptID', hide: true }
                        , { field: '部门代码', title: '部门代码', width: 150 }
                        , { field: '部门', title: '部门' }
                        , { field: 'HMaterID', title: 'HMaterID', hide: true }
                        , { field: '产品代码', title: '产品代码' }
                        , { field: '产品名称', title: '产品名称' }
                        , { field: '产品规格', title: '产品规格' }
                        , { field: '源单单号', title: '源单单号', width: 150 }
                        , { field: 'HUnitID', title: 'HUnitID', hide: true }
                        , { field: '主表计量单位代码', title: '主表计量单位代码' }
                        , { field: '主表计量单位', title: '主表计量单位' }
                        , { field: '生产数量', title: '生产数量' }
                        , { field: 'hsubid', title: 'hsubid', hide: true }
                        , { field: 'hmaterid2', title: 'hmaterid2', hide: true }
                        , { field: '物料代码', title: '物料代码' }
                        , { field: '物料名称', title: '物料名称', width: 150 }
                        , { field: '规格型号', title: '规格型号' }
                        , { field: 'hunitid2', title: 'hunitid2', hide: true }
                        , { field: '计量单位代码', title: '计量单位代码' }
                        , { field: '计量单位', title: '计量单位' }
                        , { field: '数量', title: '数量' }
                        , { field: '损耗率', title: '损耗率' }
                        , { field: 'HWHID', title: 'HWHID', hide: true }
                        , { field: '仓库代码', title: '仓库代码' }
                        , { field: '仓库', title: '仓库' }
                        , { field: 'HSPID', title: 'HSPID', hide: true }
                        , { field: '仓位代码', title: '仓位代码' }
                        , { field: '仓位', title: '仓位' }
                        , { field: '生产任务单号', title: '生产任务单号', width: 150 }
                        , { field: '制单人', title: '制单人' }
                        , { field: '制单日期', title: '制单日期', width: 150, templet: "<div>{{d.制单日期 ==null ?'':layui.util.toDateString(d.制单日期, 'yyyy-MM-dd')}}</div>" }
                        , { field: '审核人', title: '审核人' }
                        , { field: '审核日期', title: '审核日期', width: 150, templet: "<div>{{d.审核日期 ==null ?'':layui.util.toDateString(d.审核日期, 'yyyy-MM-dd')}}</div>" }
                        , { field: '计划跟踪号', title: '计划跟踪号' }
                        , { field: '计划模式', title: '计划模式' }
                        , { field: '日期', title: '日期', width: 150, templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.日期, 'yyyy-MM-dd')}}</div>", sort: true }
                        , { field: '单据号', title: '单据号', width: 150, sort: true }
                        , { field: 'HDeptID', title: 'HDeptID', hide: true, sort: true }
                        , { field: '部门代码', title: '部门代码', width: 150, sort: true }
                        , { field: '部门', title: '部门', sort: true }
                        , { field: 'HMaterID', title: 'HMaterID', hide: true, sort: true }
                        , { field: '产品代码', title: '产品代码', sort: true }
                        , { field: '产品名称', title: '产品名称', sort: true }
                        , { field: '产品规格', title: '产品规格', sort: true }
                        , { field: '源单单号', title: '源单单号', width: 150, sort: true }
                        , { field: 'HUnitID', title: 'HUnitID', hide: true, sort: true }
                        , { field: '主表计量单位代码', title: '主表计量单位代码', sort: true }
                        , { field: '主表计量单位', title: '主表计量单位', sort: true }
                        , { field: '生产数量', title: '生产数量', sort: true, totalRow: true}
                        , { field: 'hsubid', title: 'hsubid', hide: true, sort: true }
                        , { field: 'hmaterid2', title: 'hmaterid2', hide: true, sort: true }
                        , { field: '物料代码', title: '物料代码', sort: true }
                        , { field: '物料名称', title: '物料名称', width: 150, sort: true }
                        , { field: '规格型号', title: '规格型号', sort: true }
                        , { field: 'hunitid2', title: 'hunitid2', hide: true, sort: true }
                        , { field: '计量单位代码', title: '计量单位代码', sort: true }
                        , { field: '计量单位', title: '计量单位', sort: true }
                        , { field: '数量', title: '数量', sort: true, totalRow: true}
                        , { field: '损耗率', title: '损耗率', sort: true, totalRow: true}
                        , { field: 'HWHID', title: 'HWHID', hide: true, sort: true }
                        , { field: '仓库代码', title: '仓库代码', sort: true }
                        , { field: '仓库', title: '仓库', sort: true }
                        , { field: 'HSPID', title: 'HSPID', hide: true, sort: true }
                        , { field: '仓位代码', title: '仓位代码', sort: true }
                        , { field: '仓位', title: '仓位', sort: true }
                        , { field: '生产任务单号', title: '生产任务单号', width: 150, sort: true }
                        , { field: '制单人', title: '制单人', sort: true }
                        , { field: '制单日期', title: '制单日期', width: 150, templet: "<div>{{d.制单日期 ==null ?'':layui.util.toDateString(d.制单日期, 'yyyy-MM-dd')}}</div>", sort: true }
                        , { field: '审核人', title: '审核人', sort: true }
                        , { field: '审核日期', title: '审核日期', width: 150, templet: "<div>{{d.审核日期 ==null ?'':layui.util.toDateString(d.审核日期, 'yyyy-MM-dd')}}</div>", sort: true }
                        , { field: '计划跟踪号', title: '计划跟踪号', sort: true }
                        , { field: '计划模式', title: '计划模式', sort: true }
                    ]]
                };
            }
@@ -331,6 +445,34 @@
                sWhere = "";
            }
            //重新同步按钮
            function set_ResCnz() {
                var HBillno2 = $('#HBillno2').val();
                $.ajax({
                    url: GetWEBURL() + '/Sc_PPBomBill/Sc_PPBomBillViewApi',
                    type: "GET",
                    data: { "BillNo": HBillno2, "BillType": 3720 },
                    success: function (result) {
                        if (result.count == 1) {
                            layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                // å¾—到frame索引
                                var index = layer.getFrameIndex(window.name);
                                //关闭当前frame
                                layer.close(index);
                                //修改为功后刷新界面
                                window.location.reload();
                            });
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //审核
            function set_AuditBill() {
                var CheckStatus = table.checkStatus("mainTable");
@@ -404,6 +546,152 @@
                    }
                }
            }
            //打印
            function get_PrintReport() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 0) {
                    return layer.msg('请选择数据打印!');
                }
                else {
                    var hmainid = [];
                    for (var i = 0; i < checkStatus.data.length; i++) {
                        hmainid.push((data[i].hmainid * (10 ** 8)) + data[i].hsubid)
                    }
                    layer.open({
                        type: 2
                        , area: ['50%', '50%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + hmainid.toString() + '&MyMsg=' + hmainid.toString() + '&Type=HPPBomBillList', 'yes']
                        , resize: false
                    })
                }
            }
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["hmainid", "HDeptID", "HMaterID", "HUnitID", "hsubid", "hmaterid2", "hunitid2", "HWHID", "HSPID"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //以上是layui模块
        });