yusijie
2024-09-12 3421c98eff1c0185ef060a41d3f2d04b164a99fc
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POInStockBackBillList.html
@@ -30,7 +30,7 @@
                    <div class="layui-card-body">
                        <form class="layui-form" action="">
                            <div class="layui-form-item">
                                <div class="layui-inline">
                                <div class="layui-inline" style="display:none;">
                                    <label class="layui-form-label">订单状态</label>
                                    <div class="layui-input-block">
                                        <select name="HStatus" id="HStatus" lay-filter="">
@@ -38,40 +38,6 @@
                                            <option value="未确认">未确认</option>
                                            <option value="已确认">已确认</option>
                                            <option value="已驳回">已驳回</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料代码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HNumber" id="HNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">产品名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HName" id="HName">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">规格型号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HModel" id="HModel">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">关闭状态</label>
                                    <div class="layui-input-block">
                                        <select id="HClStatus" name="HClStatus" lay-filter="">
                                            <option value="">全部</option>
                                            <option value="未关闭" selected="">未关闭</option>
                                            <option value="已关闭">已关闭</option>
                                        </select>
                                    </div>
                                </div>
@@ -87,16 +53,73 @@
                                        <input type="text" class="layui-input" name="HDate2" id="HDate2">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">采购组织</label>
                                    <label class="layui-form-label">物料编码</label>
                                    <div class="layui-input-block">
                                        <select id="HPURCHASEORGID" name="HPURCHASEORGID" lay-filter="">
                                            <option value="">组织1</option>
                                            <option value="">组织2</option>
                                        <input type="text" class="layui-input" name="HNumber" id="HNumber">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">供应商对应物料代码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HSupNumber" id="HSupNumber" style="margin-top:10px">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">规格型号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HModel" id="HModel">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">退料方式</label>
                                    <div class="layui-input-block" style="width:185px;">
                                        <select id="HReturnMethod" name="HReturnMethod" lay-filter="">
                                            <option value="" selected="">全部</option>
                                            <option value="退料补料">退料补料</option>
                                            <option value="退料并扣款">退料并扣款</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">供应商</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HSupName" id="HSupName">
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none;">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none;">
                                    <label class="layui-form-label">产品名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HName" id="HName">
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none;">
                                    <label class="layui-form-label">关闭状态</label>
                                    <div class="layui-input-block">
                                        <select id="HClStatus" name="HClStatus" lay-filter="">
                                            <option value="" selected="">全部</option>
                                            <option value="未关闭">未关闭</option>
                                            <option value="已关闭">已关闭</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none;">
                                    <label class="layui-form-label">退料组织</label>
                                    <div class="layui-input-block">
                                        <select id="HSTOCKORGID" name="HSTOCKORGID" lay-filter="">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="f_Query">
                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
@@ -112,12 +135,13 @@
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-getCheckData"><i class="layui-icon layui-icon-tips"></i>预览</button>-->
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>-->
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm"><i class="layui-icon layui-icon-ok-circle"></i>确认收货</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back"><i class="layui-icon layui-icon-close-fill"></i>收货异常</button>-->
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details"><i class="layui-icon layui-icon-form"></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-generate"><i class="layui-icon layui-icon-file"></i>生成条码</button>-->
                              <button type="button" class="layui-btn layui-btn-sm" id="btn_HideColumn" lay-event="btn-HideColumn"><i class="layui-icon layui-icon-return"></i>隐藏列设置</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
                        </div>
@@ -132,7 +156,7 @@
    <script src="../../../../Scripts/webConfig.js"></script>
    <script>
        var _cur_page = 1;
        var sql = " and 1=1";
        var sql = "";
        var options = document.getElementById('HStatus').children;
        function getUrlVars() {
            var vars = [], hash;
@@ -195,7 +219,29 @@
                elem: '#HDate2'
            });
            //layui.code();
            RoadHBillNo(sql);
            //RoadHBillNo(sql);
            //不需要显示的字段 可扩展
            var titleData = ["hsupid","FSTOCKORGID"];
            var option = [];
            var HModName = "SRM_POInStockBackBillList";
            set_ClearBill();
            //#region 此页面所有方法
            function set_ClearBill() {
                //渲染退料组织
                var Organization = '<option value=' + sessionStorage["OrganizationID"] + ' style="color:red;">' + sessionStorage["Organization"] + '</option>';
                $("#HSTOCKORGID").append(Organization);
                form.render('select');
                //初始化表格
                //set_InitGrid();
                //显示列数据
                //DisPlay_HideColumn();
                //直接执行列表筛选 加载数据到网格
                get_FastQuery(table, option)
            }
            //get_Display(sql);
            layer.load(3)
            //方法级渲染
            table.render({
@@ -209,7 +255,7 @@
                // , where: { msg: "", NowPage: 1, OnePage: 10 }
              , cellMinWidth: 100
              , cols: [[
                { checkbox: true, fixed: true }
                { checkbox: true, fixed: true, totalRowText: '合计' }
                , { field: '状态', title: '状态', width: 100, sort: true, fixed: true }
                , { field: '单据号', title: '单据号', width: 200, sort: true, fixed: true }
                , { field: '源单单号', title: '源单单号', width: 150 }
@@ -218,12 +264,13 @@
                , { field: '物料', title: '物料名称', width: 200 }
                , { field: '规格型号', title: '规格型号', width: 200 }
                , { field: '计量单位', title: '计量单位', width: 80, sort: true }
                , { field: '数量', title: '数量', width: 130 }
                , { field: '合格数量', title: '合格数量', width: 130 }
                , { field: '不合格数量', title: '不合格数量', width: 130 }
                , { field: '数量', title: '数量', width: 130, totalRow: true}
                , { field: '合格数量', title: '合格数量', width: 130, totalRow: true}
                , { field: '不合格数量', title: '不合格数量', width: 130, totalRow: true}
                , { field: '日期', title: '日期', width: 150 }
              ]]
            , page: true //是否显示分页
            , totalRow: true
            , limits: [10, 20, 50, 100]
            , limit: 50 //每页默认显示的数量
                //, height: 500
@@ -292,8 +339,88 @@
                    case 'btn-exit': 
                        parent.layui.admin.events.closeThisTabs();
                        break;
                    case 'btn-HideColumn':
                        get_HideColumn();
                        break;
                };
            });
            //加载显示数据
            function get_Display(sqlWhere) {
                var wait = layer.load();//遮罩
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "GetPOInStockBackBill",
                    async: true,
                    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                    success: function (data1) {
                        if (data1.Message == "获取成功") {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if (data[i].name.indexOf('id') > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //id列
                                }
                                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')}}</div>", width: 200 });
                                            break;
                                        default:
                                            if ( data[i].name == '实退数量') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, totalRow: true });
                                            } else if (data[i].name == '单据编号' || data[i].name == '退料日期') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 135 });
                                            } else if (data[i].name == '供应商' ) {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 220 });
                                            } else if (data[i].name == '规格型号' || data[i].name == '备注') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 515 });
                                            } else {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                            }
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , totalRow: true
                                , page: true
                                , cellMinWidth: 90
                                , limit: 500
                                , limits: [50, 500, 5000, 20000]
                            }
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.msg(data1.Message, {time:2000, icon: 5 });
                        }
                    },
                    error: function (result) {
                        layer.close(wait);
                        layer.alert(result.Message, { icon: 5 });
                    }
                });
            };
            ///加载显示数据
            function RoadHBillNo(sqlWhere) {
@@ -323,33 +450,48 @@
                    }
                });
            };
            form.on('submit(f_Query)', function (data) {//查询
                var sqlWhere = " and 1=1 ";
                if ($("#HStatus").val() != "")
                    sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
                if ($("#HBillNo").val() != "")
                    sqlWhere += " and 单据号 like ^^%" + $("#HBillNo").val() + "%^^";
                if ($("#HNumber").val() != "")
                    sqlWhere += " and 物料代码 like ^^%" + $("#HNumber").val() + "%^^";
                if ($("#HName").val() != "")
                    sqlWhere += " and 物料名称 like ^^%" + $("#HName").val() + "%^^";
                if ($("#HModel").val() != "")
                    sqlWhere += " and 规格型号 like ^^%" + $("#HModel").val() + "%^^";
                if ($("#HClStatus").val() != "")
                    sqlWhere += " and 关闭状态 like ^^%" + $("#HClStatus").val() + "%^^";
                if ($("#HPURCHASEORGID").val() != "")
                    sqlWhere += " and 采购组织 like ^^%" + $("#HPURCHASEORGID").val() + "%^^";
            function get_FastQuery(table, option) {
                var sqlWhere = " ";
                if ($("#HDate1").val() != "") {
                    sqlWhere += " and 日期 >= ^^" + $("#HDate1").val() + "^^";
                    sqlWhere += " and 退料日期 >= ^^" + $("#HDate1").val() + "^^";
                }
                if ($("#HDate2").val() != "") {
                    sqlWhere += " and 日期 <= ^^" + $("#HDate2").val() + "^^";
                    sqlWhere += " and 退料日期 <= ^^" + $("#HDate2").val() + "^^";
                }
                if ($("#HNumber").val() != "")
                    sqlWhere += " and 物料编码 like ^^%" + $("#HNumber").val() + "%^^";
                if ($("#HSupNumber").val() != "")
                    sqlWhere += " and 供应商对应物料代码 like ^^%" + $("#HSupNumber").val() + "%^^";
                if ($("#HModel").val() != "")
                    sqlWhere += " and 规格型号 like ^^%" + $("#HModel").val() + "%^^";
                if ($("#HReturnMethod").val() != "")
                    sqlWhere += " and 退料方式 like ^^%" + $("#HReturnMethod").val() + "%^^";
                if ($("#HSupName").val() != "")
                    sqlWhere += " and 供应商 like ^^%" + $("#HSupName").val() + "%^^";
                if ($("#HSTOCKORGID").val() != "" && $("#HSTOCKORGID option:selected").text() != "安瑞集团")
                    sqlWhere += " and FSTOCKORGID = ^^" + $("#HSTOCKORGID").val() + "^^";
                //if ($("#HStatus").val() != "")
                //    sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
                //if ($("#HBillNo").val() != "")
                //    sqlWhere += " and 单据号 like ^^%" + $("#HBillNo").val() + "%^^";
                //if ($("#HName").val() != "")
                //    sqlWhere += " and 物料名称 like ^^%" + $("#HName").val() + "%^^";
                //if ($("#HClStatus").val() != "")
                //    sqlWhere += " and 关闭状态 like ^^%" + $("#HClStatus").val() + "%^^";
                //if ($("#HPURCHASEORGID").val() != "")
                //    sqlWhere += " and 采购组织 like ^^%" + $("#HPURCHASEORGID").val() + "%^^";
                sql = sqlWhere;
                //从第一页开始
                _cur_page = 1;
                RoadHBillNo(sqlWhere);
                //RoadHBillNo(sqlWhere);
                get_Display(sqlWhere);
            }
            form.on('submit(f_Query)', function (data) {//查询
                get_FastQuery(table, option);
            });
            var $ = layui.$, active = {
                reload: function () {
@@ -367,16 +509,122 @@
                    });
                },
                f_Query: function () { //查询
                    //var sqlWhere = " and 1=1 ";
                    //if ($("#HBillNo").val() != "")
                    //    sqlWhere += " and 单据号 like ''%" + $("#HBillNo").val() + "%''";
                    //RoadHBillNo(sqlWhere);
                },
            };
            $('.test-table-reload-btn .layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 的 样式
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "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 = [];//数据库查询出的列数据
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < dataCol.length; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //隐藏id
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    if (option.cols[0][i + 1]["field"] == '供应商交期回复') {
                                        option.cols[0][i + 1]["width"] = 120;
                                    } else {
                                        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"] = "";
                                //}
                                //字体所在位置(左 居中 右)
                                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 });
                    }
                })
            }
        });
    </script>
</body>