llj
2025-11-19 17d9104202369238dc8ecd631b2fa99e48d996d9
小卫多码合一
3个文件已修改
1个文件已添加
586 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/Scripts/webConfig.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MultipleCodes_Report.html 577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/xmlLBM_HGy_BarCodeBill.aspx.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -193,6 +193,7 @@
    <Content Include="views\Baseset\基础资料\Gy_ErrMsgBackType.html" />
    <Content Include="views\Baseset\基础资料\Gy_EnvironmentTestSchemeBillList.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_OperationBill_Report.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_MultipleCodes_Report.html" />
    <Content Include="views\基础资料\公用基础资料\Gy_PlanImplementation_Report.html" />
    <Content Include="views\Baseset\基础资料\Gy_Shifts.html" />
    <Content Include="views\Baseset\基础资料\Gy_GroupList.html" />
WebTM/layuiadmin/Scripts/webConfig.js
@@ -6,7 +6,7 @@
    /*var WEBURL = "http://localhost/API/";             //颜晓军本地配置*/
    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //杨乐本地配置
    // var WEBURL = "http://localhost:8082/API/";    //杜贺本地配置
    var WEBURL = "http://localhost:8082/API/";    //张瑞广本地配置
   // var WEBURL = "http://localhost:8082/API/";    //张瑞广本地配置
   /* var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置*/
    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //杨乐本地配置
    //var WEBURL = "http://47.96.97.237/API/";          //智云服务器
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MultipleCodes_Report.html
New file
@@ -0,0 +1,577 @@
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>多码合一报表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/grwebapp.js"></script>
    <style type="text/css">
        input.layui-input.layui-unselect {
            padding-right: 0;
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <!--<div class="layui-inline">
                                        <span>更多</span>
                                    </div>-->
                                </div>
                                <div class="layui-row">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">开始日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 75px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">结束日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 75px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">明细sn码</label>
                                        <div class="layui-input-block">
                                            <!--<input type="hidden" class="layui-input" id="HDeptID" style="width:190px;">-->
                                            <input type="text" class="layui-input" id="HBarCode" style="width:190px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">中箱码</label>
                                        <div class="layui-input-block">
                                            <!--<input type="hidden" class="layui-input" id="HDeptID" style="width:190px;">-->
                                            <input type="text" class="layui-input" id="HBarCode_MiddleBox" style="width:190px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">目的仓码</label>
                                        <div class="layui-input-block">
                                            <!--<input type="hidden" class="layui-input" id="HDeptID" style="width:190px;">-->
                                            <input type="text" class="layui-input" id="HBarCode_Destination" style="width:190px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label">栈板码</label>
                                        <div class="layui-input-block">
                                            <!--<input type="hidden" class="layui-input" id="HDeptID" style="width:190px;">-->
                                            <input type="text" class="layui-input" id="HBarCode_Pallet" style="width:190px;">
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                    </button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row">
                                        <!--<div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                <div class="layui-inline">
                    <label class="layui-form-label">过滤</label>
                    <div class="layui-input-block">
                        <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                        </select>
                    </div>
                </div>
                <div class="layui-inline">
                    <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                        <option value="0" selected="selected"></option>
                        <option value="=">=</option>
                        <option value=">=">>=</option>
                        <option value=">">></option>
                        <option value="<="><=</option>
                        <option value="<"><</option>
                        <option value="<>"><></option>
                        <option value="7">包含</option>
                        <option value="8">左包含</option>
                        <option value="9">右包含</option>
                        <option value="10">不包含</option>
                    </select>
                </div>
                <div class="layui-inline">
                    <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                </div>
            </div>-->
                                        <!--<div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                <div class="layui-inline">
                    <label class="layui-form-label">过滤</label>
                    <div class="layui-input-block">
                        <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
                        </select>
                    </div>
                </div>
                <div class="layui-inline">
                    <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" style="width:190px;">
                        <option value="0" selected="selected"></option>
                        <option value="=">=</option>
                        <option value=">=">>=</option>
                        <option value=">">></option>
                        <option value="<="><=</option>
                        <option value="<"><</option>
                        <option value="<>"><></option>
                        <option value="7">包含</option>
                        <option value="8">左包含</option>
                        <option value="9">右包含</option>
                        <option value="10">不包含</option>
                    </select>
                </div>
                <div class="layui-inline">
                    <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
                </div>
            </div>-->
                                        <!--<div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                <div class="layui-inline">
                    <label class="layui-form-label">过滤</label>
                    <div class="layui-input-block">
                        <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
                        </select>
                    </div>
                </div>
                <div class="layui-inline">
                    <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" style="width:190px;">
                        <option value="0" selected="selected"></option>
                        <option value="=">=</option>
                        <option value=">=">>=</option>
                        <option value=">">></option>
                        <option value="<="><=</option>
                        <option value="<"><</option>
                        <option value="<>"><></option>
                        <option value="7">包含</option>
                        <option value="8">左包含</option>
                        <option value="9">右包含</option>
                        <option value="10">不包含</option>
                    </select>
                </div>
                <div class="layui-inline">
                    <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
                </div>
            </div>-->
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-radio"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" id="btn-print" lay-event="btn-print"><i class="layui-icon layui-icon-form"></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="HideColumn"><i class="layui-icon layui-icon-form"></i>隐藏列设置</button>-->
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        var OptionData = [];
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , util = layui.util
            //查询条件
            var sWhere = "";
            var option = [];
            var ins;//存储数据  å¯¼å‡ºåŠŸèƒ½éœ€è¦ç”¨åˆ°çš„å‚æ•°
            var HModName = "";
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶åŒ…括on form事件等
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //退出
                    case 'btn-exit': Pub_Close(2);
                        break;
                    //隐藏列设置
                    case 'HideColumn':
                        get_HideColumn();
                        break;
                    //导出按钮
                    case 'btn_Export': get_Export();
                        break;
                    //打印
                    case 'btn-print': get_PrintReport();
                        break;
                };
            });
            //重置按钮
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //物料
            form.on('submit(btnHMaterID)', function (data) {//选择物料
                get_btnHMaterID();
            });
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //初始化界面
            function set_ClearBill() {
                //初始化日期
                //初始化时间
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 1), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化表格
                set_InitGrid();
                //加载数据到网格
                get_FastQuery();
                //DisPlay_HideColumn();
                //ColFilter();
            }
            //初始化表格
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , cellMinWidth: 120
                    , totalRow: true
                    , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                    , height: 'full-70'
                };
            }
            //加载网格
            function get_Display(sWhere) {
                var wait = layer.load();//遮罩
                var HBeginDate = $("#HBeginDate").val();
                var HEndDate = $("#HEndDate").val();
                $.ajax({
                    url: GetWEBURL() + '/Gy_MultipleCode_ReportController/getList',
                    type: "GET",
                    data: { "sWhere": sWhere,"HBeginDate": HBeginDate, "HEndDate": HEndDate},
                    success: function (data1) {
                        var col = [];
                        console.log("返回数据:", data1);
                        if (data1.code == 1) {
                            var data = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //判断是否是纯英文
                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
                            for (var i = 0; i < data.length; i++) {
                                if (!patrn.test(data[i].name)) {
                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //隐藏列
                                }
                                else {
                                    switch (data[i].Type) {
                                        case 'DateTime':
                                            col.push({ field: data[i].name, 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: 120 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , page: true
                                , limits: [50, 500, 5000, 50000]
                                , limit: 50
                                //, cellMinWidth: 90
                                , done: function (res, curr, count) {
                                    //soulTable.render(this);
                                }
                            }
                            table.render(option);
                            ins = table.render(option);
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //快速过滤
            function get_FastQuery() {
                var HBeginDate = $("#HBeginDate").val();
                var HEndDate = $("#HEndDate").val();
                var HBarCode = $("#HBarCode").val();
                var HBarCode_Pallet = $("#HBarCode_Pallet").val();
                var HBarCode_MiddleBox = $("#HBarCode_MiddleBox").val();
                var HBarCode_Destination = $("#HBarCode_Destination").val();
                if (HBarCode != '')
                    sWhere += "and ç‰©æ–™æ¡ç  like  '%" + HBarCode + "%'";
                else if (HBarCode_Pallet != '') {
                    sWhere += "and  æ ˆæ¿ç  like  '%" + HBarCode_Pallet + "%'";
                }
                else if (HBarCode_Destination != '') {
                    sWhere += "and  ç›®çš„码 like  '%" + HBarCode_Destination + "%'";
                }
                else if (HBarCode_MiddleBox != '') {
                    sWhere += "and  ä¸­ç®±ç  like  '%" + HBarCode_MiddleBox + "%'";
                }
                else
                    sWhere = '';
                get_Display(sWhere);
                //调用接口后清空sWhere缓存
                sWhere = "";
                }
            //重置过滤条件
            function set_ClearQuery() {
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                 $("#HBarCode").val('');
                $("#HBarCode_Pallet").val('');
                $("#HBarCode_MiddleBox").val('');
                 $("#HBarCode_Destination").val('');
                form.render('select');
                sWhere = " ";
                get_FastQuery();
            }
            //列明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                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>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization); $("#ColName1").empty();
                $("#ColName1").append(Organization); $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //导出Execel
            function get_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //打印
            function get_PrintReport() {
                var data = table.cache['mainTable']
                if (data.length > 0) {
                    layer.open({
                        type: 2
                        , area: ['80%', '80%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=0&MyMsg=0&Type=Sc_ProdOrderPickingStatusReport', 'yes']
                        , resize: false
                        , end: function () {
                            if (OptionData.length > 0) {
                                var GrfName = OptionData[0].HName;
                                var dataPrint = [];
                                for (var i = 0; i < data.length; i++) {
                                    dataPrint.push(data[i])
                                }
                                var Customer = {
                                    "Table": dataPrint
                                }
                                var args = {
                                    type: "preview",
                                    //showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: urlAddRandomNo("../../grf/" + GrfName + ".grf"),
                                    data: Customer
                                };
                                webapp_ws_ajax_run(args);
                                OptionData = [];
                            }
                        }
                    })
                } else {
                    layer.msg("无数据,无法打印!");
                }
            }
            //隐藏列设置
            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 = [];//数据库查询出的列数据
                            var titleData = [];//不需要显示的字段 å¯æ‰©å±•
                            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 (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 (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //显示列
                                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
        });
    </script>
</body>
</html>
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/xmlLBM_HGy_BarCodeBill.aspx.cs
@@ -9,9 +9,9 @@
{
    public partial class xmlLBM_HGy_BarCodeBill : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        //protected void Page_Load(object sender, EventArgs e)
        //{
        }
        //}
    }
}