智云srmLayUi(安瑞和瑞琪)(通用版本)
yusijie
2024-09-24 b28c9a27dfefb67600192dcd587efdf0cf64cc98
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_POInStockBillList.html
@@ -32,41 +32,53 @@
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">订单状态</label>
                                        <div class="layui-input-block">
                                            <select name="HStatus" id="HStatus" lay-filter="">
                                                <option value="" selected="">全部</option>
                                                <option value="未打印">未打印</option>
                                                <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">
                                        <div class="layui-input-block" style="width:150px;">
                                            <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">
                                        <label class="layui-form-label">采购订单号</label>
                                        <div class="layui-input-block" style="width:150px;">
                                            <input type="text" class="layui-input" name="HBillNoFrom" id="HBillNoFrom">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">送货单号</label>
                                        <div class="layui-input-block">
                                            <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo">
                                        <label class="layui-form-label">开始日期</label>
                                        <div class="layui-input-block" style="width:120px;">
                                            <input type="text" class="layui-input" name="HDate1" id="HDate1">
                                        </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">
                                        <label class="layui-form-label">结束日期</label>
                                        <div class="layui-input-block" style="width:120px;">
                                            <input type="text" class="layui-input" name="HDate2" id="HDate2">
                                        </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=""  selected="">全部</option>
                                                <option value="未审核">未审核</option>
                                                <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="HMaterNumber" id="HMaterNumber">
                                        </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">
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
@@ -74,9 +86,9 @@
                                    </div>
                                    <div class="layui-colla-content" style="padding-left:82px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">物料名称</label>
                                            <label class="layui-form-label">旧物料编码</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input" name="HName" id="HName">
                                                <input type="text" class="layui-input" name="HOldMaterNumber" id="HOldMaterNumber">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -85,16 +97,28 @@
                                                <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-inline" style="display:none">
                                            <label class="layui-form-label">订单状态</label>
                                            <div class="layui-input-block">
                                                <select id="HClStatus" name="HClStatus" lay-filter="">
                                                    <option value="">全部</option>
                                                    <option value="审核">审核</option>
                                                    <option value="审核">反审核</option>
                                                    <option value="未关闭" selected="">未关闭</option>
                                                    <option value="已关闭">已关闭</option>
                                                <select name="HStatus" id="HStatus" lay-filter="">
                                                    <option value="" selected="">全部</option>
                                                    <option value="未打印">未打印</option>
                                                    <option value="未到货">未到货</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">
                                                <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo">
                                            </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="HNumber" id="HNumber">
                                            </div>
                                        </div>
                                    </div>
@@ -114,6 +138,7 @@
                            <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-changebg"><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-print-Convenient"><i class="layui-icon layui-icon-print"></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="btn-generate"><i class="layui-icon layui-icon-file"></i>生成条码</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
@@ -132,7 +157,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;
@@ -200,6 +225,8 @@
            });
            var option = [];
            var HModName = "SRM_POInStockBillList";
            //不需要显示的字段 可扩展
            var titleData = ["HItemID", "HParentID", "hmainid","hsubid","F_xbkf_Combo","FSHDD","HPrintId"];
            //#region 进入页面既加载
            set_ClearBill();
            //#region 此页面所有方法
@@ -213,7 +240,7 @@
            }
            function set_InitGrid() {
                var columns = [
                    { checkbox: true/*, fixed: true*/ }
                    { checkbox: true, fixed: 'left', totalRowText: '合计'/*, fixed: true*/ }
                    , { field: 'sorderid', title: '序号', width: 80/*, fixed: true*/ }
                    , { field: 'hmainid', title: 'hmainid', sort: true/*, fixed: true*/, hide: true }
                    , { field: 'hsubid', title: 'hsubid', sort: true/*, fixed: true*/, hide: true }
@@ -225,15 +252,16 @@
                    , { field: '源单单号', title: '源单单号', width: 135 }
                    , { field: '包装标识', title: '包装标识', width: 135 }
                    //, { field: '物流单号', title: '物流单号', width: 150, sort: true/*, fixed: true*/ }
                    //, { field: '物料编码', title: '物料编码', width: 120, sort: true }
                    , { field: '物料编码', title: '物料编码', width: 120, sort: true }
                    , { field: '旧物料编码', title: '旧物料编码', width: 120, sort: true }
                    , { field: '物料代码', title: '物料代码', width: 120, sort: true }
                    , { field: '物料名称', title: '物料名称', width: 120, sort: true }
                    , { field: '规格型号', title: '规格型号', width: 120, sort: true }
                    , { field: '计量单位', title: '计量单位', width: 80, sort: true }
                    , { field: '数量', title: '订货数量', width: 100, sort: true }
                    , { field: '未生成条码数量', title: '未生成条码数量', width: 100, sort: true }
                    , { field: '合格数量', title: '合格数量', width: 100, sort: true }
                    , { field: '不合格数量', title: '不合格数量', width: 100, sort: true }
                    , { field: '数量', title: '订货数量', width: 100, sort: true, totalRow: true  }
                    , { field: '未生成条码数量', title: '未生成条码数量', width: 100, sort: true, totalRow: true  }
                    , { field: '合格数量', title: '合格数量', width: 100, sort: true, totalRow: true  }
                    , { field: '不合格数量', title: '不合格数量', width: 100, sort: true, totalRow: true  }
                    , { field: '含税单价', title: '含税单价', width: 100, sort: true, hide: true }
                    , { field: '金额', title: '金额', width: 100, sort: true, hide: true }
                    , { field: '日期', title: '日期', width: 150, sort: true }
@@ -301,11 +329,11 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = [];//不需要显示的字段 可扩展
                            var titleData = ["HItemID", "HParentID", "hmainid", "hsubid", "F_xbkf_Combo", "FSHDD", "HPrintId"];//不需要显示的字段 可扩展
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                            for (var i = 0; i < dataCol.length; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
@@ -375,19 +403,87 @@
            ///加载显示数据
            function get_Display(sqlWhere) {
                var wait = layer.load();//遮罩
                //$.ajax({
                //    type: "POST",
                //    url: GetWEBURL() + "GetPOInStockBill",
                //    async: false,
                //    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                //    success: function (result) {
                //        if (result.Message == "获取成功") {
                //            option.data = result.data;
                //            table.render(option);
                //            layer.close(wait);
                //        } else {
                //            layer.close(wait);
                //            layer.alert(result.Message, { icon: 5 });
                //        }
                //    },
                //    error: function (result) {
                //        layer.close(wait);
                //        layer.alert(result.Message, { icon: 5 });
                //    }
                //});
                $.ajax({
                    type: "get",
                    type: "POST",
                    url: GetWEBURL() + "GetPOInStockBill",
                    async: false,
                    async: true,
                    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                    success: function (result) {
                        if (result.Message == "获取成功") {
                            option.data = result.data;
                    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 == '订单数量' || data[i].name == '已发货数量' || 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 == '回复交期') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: 'HSupSendGoodsDateRemark' });
                                            } 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.alert(result.Message, { icon: 5 });
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    },
                    error: function (result) {
@@ -402,7 +498,7 @@
            });
            //查询条件
            function get_FastQuery(table, option) {
                var sqlWhere = " and 1=1 ";
                var sqlWhere = "";
                if ($("#HStatus").val() != "")
                    if ($("#HStatus").val() == "未生成条码") {
                        sqlWhere += " and 未生成条码数量 > 0";
@@ -417,8 +513,10 @@
                    sqlWhere += " and 源单单号 like ^^%" + $("#HBillNoFrom").val() + "%^^";
                if ($("#HInnerBillNo").val() != "")
                    sqlWhere += " and 送货单号 like ^^%" + $("#HInnerBillNo").val() + "%^^";
                //if ($("#HShortNumber").val() != "")
                //    sqlWhere += " and 物料编码 like ^^%" + $("#HShortNumber").val() + "%^^";
                if ($("#HOldMaterNumber").val() != "")
                    sqlWhere += " and 旧物料编码 like ^^%" + $("#HOldMaterNumber").val() + "%^^";
                if ($("#HMaterNumber").val() != "")
                    sqlWhere += " and 物料编码 like ^^%" + $("#HMaterNumber").val() + "%^^";
                if ($("#HNumber").val() != "")
                    sqlWhere += " and 物料代码 like ^^%" + $("#HNumber").val() + "%^^";
                if ($("#HName").val() != "")
@@ -427,6 +525,12 @@
                    sqlWhere += " and 规格型号 like ^^%" + $("#HModel").val() + "%^^";
                if ($("#HClStatus").val() != "")
                    sqlWhere += " and 单据状态 like ^^%" + $("#HClStatus").val() + "%^^";
                if ($("#HDate1").val() != "") {
                    sqlWhere += " and 日期 >= ^^" + $("#HDate1").val() + "^^";
                }
                if ($("#HDate2").val() != "") {
                    sqlWhere += " and 日期 <= ^^" + $("#HDate2").val() + "^^";
                }
                sql = sqlWhere;
                _cur_page = 1;
                get_Display(sqlWhere);
@@ -456,11 +560,13 @@
                                InterID += data[i].hmainid.toString() + ",";
                            }
                            InterID = InterID.substring(0, InterID.length - 1);
                            var HBillNo = data[0].单据号;
                            //逻辑审核方法
                            $.ajax({
                                type: "GET",
                                url: GetWEBURL() + "/AuditPOInStockBill",
                                data: { "HInterID": InterID, "CurUserName": sessionStorage["HUserName"], "HBillNo": "" },
                                data: { "HInterID": InterID, "CurUserName": sessionStorage["HUserName"], "HBillNo": HBillNo },
                                success: function (result) {
                                    if (result.count == 1) {
                                        layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
@@ -469,7 +575,7 @@
                                            //关闭当前frame
                                            layer.close(index);
                                            //修改为功后刷新界面
                                            get_Display(sqlWhere);
                                            get_Display(sql);
                                        });
                                    } else {
@@ -486,7 +592,7 @@
                    //自定义头工具栏右侧图标 - 提示
                    case 'btn-reload':
                        _cur_page = $(".layui-laypage-em").next().html();
                        RoadHBillNo(sql);
                        get_Display(sql);
                        //    });
                        break;
                    case 'btn-HideColumn':
@@ -569,19 +675,23 @@
                    case 'btn-print':
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        if (data.length == 0) {
                            layer.msg("请选择数据", { icon: 5 });
                        if (data.length != 1) {
                            layer.msg("请选择一条数据", { icon: 5 });
                            return;
                        }
                        for (var i = 0; i < data.length; i++) {
                            if (data[i].单据状态 != "审核") {
                                layer.msg("选中行未审核", { icon: 5 });
                                return;
                            }
                        if (data[0].单据状态 != '已审核') {
                            layer.msg("请审核送货单后在进行打印( ´◔︎ ‸◔︎`)", { icon: 5 });
                            return;
                        }
                        //for (var i = 0; i < data.length; i++) {
                        //    if (data[i].单据状态 != "审核") {
                        //        layer.msg("选中行未审核", { icon: 5 });
                        //        return;
                        //    }
                        //}
                        layer.open({
                            type: 2
                            , area: ['50%', '50%']
                            , area: ['80%', '80%']
                            , title: '打印模版选择'
                            , shade: 0.6 //遮罩透明度
                            , maxmin: false //允许全屏最小化
@@ -593,6 +703,9 @@
                            //}
                        })
                        break;
                    case 'btn-print-Convenient':
                        convenientPrint();
                        break;
                    case 'btn-generate':
                        var checkStatus = table.checkStatus('mainTable')
@@ -624,6 +737,59 @@
                        break;
                };
            });
            //行监听事件
            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;
                    }
                });
            });
            //一键打印
            function convenientPrint() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length != 1) {
                    layer.msg("请选择一条数据", { icon: 5 });
                    return;
                }
                if (data[0].单据状态 != '已审核') {
                    layer.msg("请审核送货单后在进行打印( ´◔︎ ‸◔︎`)", { icon: 5 });
                    return;
                }
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Open_PrintTem/GetDefaultOpenTmp_Json",
                    async: true,
                    data: { "HNumber": 'SRM_POInStockBillList' },
                    //data: { "Value": Value },
                    success: function (result) {
                        if (result.count == 1) {
                            var OpenTmp = result.data[0].模板名称
                            window.open("../../views/SRM/HBarPlanPrint.html?linterid=" + data[0].hmainid.toString() + "&Type=SRM_POInStockBillList" + "&OpenTmp=" + OpenTmp.toString());
                        } else {
                            layer.msg(result.Message);
                        }
                    },
                    error: function (result) {
                        console.log(result);
                    }
                });
            }
        });
    </script>
</body>