wtt
2025-08-19 7306e839a659bdbbcd16f96de80c7ae8e40019e2
添加工序出站汇报单同步页面
2个文件已修改
1个文件已添加
501 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序出站汇报单/Cj_StationOutBillSync.html 498 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -889,6 +889,7 @@
    <Content Include="views\车间管理\启动点检单\Sc_WorkDotCheckBillList_Day.html" />
    <Content Include="views\车间管理\委外工序接收单\Sc_ProcessExchangeIssueBillList_PDA.html" />
    <Content Include="views\车间管理\工序出站汇报单\Cj_StationOutBill_Sup.html" />
    <Content Include="views\车间管理\工序出站汇报单\Cj_StationOutBillSync.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBill.html" />
    <Content Include="views\车间管理\工序流转\MES_CenterCheckBillList.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeBillLIst_QueryCheckRecord.html" />
WebTM/WebTM.csproj.user
@@ -4,7 +4,7 @@
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-TM\MESWMS-LayUI\WebTM\Properties\PublishProfiles\LAYUI.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />
WebTM/views/³µ¼ä¹ÜÀí/¹¤Ðò³öÕ¾»ã±¨µ¥/Cj_StationOutBillSync.html
New file
@@ -0,0 +1,498 @@
<!DOCTYPE html>
<html>
<head>
    <meta 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/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
</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-inline">
                                    <label class="layui-form-label">出站时间</label>
                                    <div class="layui-input-block">
                                        <input type="date" class="layui-input" id="HDate" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">同步状态</label>
                                    <div class="layui-input-block" style="margin-left: 125px;width:55%;">
                                        <select name="HRelationQty" lay-filter="aihao" id="HRelationQty">
                                            <option value="1" selected="selected">全部</option>
                                            <option value="2">已同步</option>
                                            <option value="3">未同步</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-row" style=" margin-top: 10px; margin-left: 80px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label">过滤</label>
                                        <div class="layui-input-block">
                                            <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                            </select>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <select name="Comparator" id="Comparator" 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" value="" name="ColContent" id="ColContent">
                                    </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 class="layui-colla-content">
                                    <div class="layui-inline">
                                        <div class="layui-inline">
                                            <span>其他条件></span>
                                        </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="text" class="layui-input" name="HWorkBillNo" id="HWorkBillNo">
                                        </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="text" class="layui-input" name="HBillNo" id="HBillNo">
                                        </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="text" class="layui-input" name="HProcExchBillNo" id="HProcExchBillNo">
                                        </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-InSync" id="btn-InSync"><i class="layui-icon layui-icon-ok-circle"></i>同步</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_InSync_Batch" id="btn_InSync_Batch"><i class="layui-icon layui-icon-ok-circle"></i>批量同步</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Exit" id="btn-Exit">退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable'], function () {
            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
                , soulTable = layui.soulTable
            //公用变量
            var sWhere = "";
            var option = [];
            var HModName = "Cj_StationOutBillSync"
            //初始化表格
            set_InitGrid();
            //重置按钮
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            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;
                    }
                });
            })
            //#endregion
            //生产订单回车方法
            $('#HWorkBillNo').on('keydown', function (event) {
                var HWorkBillNo = $('#HWorkBillNo').val();
                if (event.keyCode == 13) {
                    if (!HWorkBillNo) {
                        layer.msg("任务单号不能为空!")
                        return;
                    }
                    $("#btnSearch").click();
                }
            });
            //单据号回车方法
            $('#HBillNo').on('keydown', function (event) {
                var HBillNo = $('#HBillNo').val();
                if (event.keyCode == 13) {
                    if (!HBillNo) {
                        layer.msg("单据号不能为空!")
                        return;
                    }
                    $("#btnSearch").click();
                }
            });
            //工序流转卡回车方法
            $('#HProcExchBillNo').on('keydown', function (event) {
                var HProcExchBillNo = $('#HProcExchBillNo').val();
                if (event.keyCode == 13) {
                    if (!HProcExchBillNo) {
                        layer.msg("工序流转卡号不能为空!")
                        return;
                    }
                    $("#btnSearch").click();
                }
            });
            //初始化表格
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    , cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                    , cols: [[
                    ]]
                    , text: {
                        none: '无数据!'
                    }
                };
                set_ClearQuery();
                get_FastQuery();
            }
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //同步
                    case 'btn-InSync': get_InSync();
                        break;
                    //批量同步
                    case 'btn_InSync_Batch': get_InSync_Batch();
                        break;
                    //列设置
                    case 'btn_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                        break;
                    //退出
                    case 'btn-Exit': get_Exit();
                        break;
                };
            });
            //#endregion
            //重置过滤条件
            function set_ClearQuery() {
                $("#HWorkBillNo").val("");
                $("#HBillNo").val("");
                $("#HDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
                $("#HProcExchBillNo").val("");
                $("#HRelationQty").val("1");
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                form.render("select");
            }
            //快速过滤
            function get_FastQuery() {
                var HDate = $("#HBeginDate").val();//开始日期
                var HWorkBillNo = $("#HWorkBillNo").val();
                var HBillNo = $("#HBillNo").val();
                var HProcExchBillNo = $("#HProcExchBillNo").val();
                var HRelationQty = $("#HRelationQty").val();
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                switch (HRelationQty) {
                    case "1":
                        sWhere += "";
                        break;
                    case "2":
                        sWhere += " and åŒæ­¥çŠ¶æ€ = '已同步'";
                        break;
                    case "3":
                        sWhere += " and åŒæ­¥çŠ¶æ€ = ''";
                        break;
                }
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HDate) {
                    sWhere += " and CONVERT(varchar(100),出站时间, 23) = '" + HDate + "'";
                }
                if (HWorkBillNo) {
                    sWhere += " and ä»»åŠ¡å• like '%" + HWorkBillNo + "%'";
                }
                if (HBillNo) {
                    sWhere += " and å•据号 like '%" + HBillNo + "%'";
                }
                if (HProcExchBillNo) {
                    sWhere += " and å·¥åºæµè½¬å¡å· like '%" + HProcExchBillNo + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //加载网格
            function get_Display(sWhere) {
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Cj_StationOutBill/get_Display',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "HBillSubType": "3791" },
                    success: function (data1) {
                        if (data1.count == 0) {
                            option.data = [];
                            layer.alert(data1.Message, { icon: 5 });
                        } else {
                            var data = [];
                            var col = [];
                            var titleData = [];
                            //给空的数组赋值
                            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 {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
                                            break;
                                        default:
                                            if (data[i].name == '数量' || data[i].name == '出站数量' || data[i].name == '报废数量' || data[i].name == '取样数量' || data[i].name == '工时') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, width: 200, totalRow: true });
                                            } else {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: false, width: 200 });
                                            }
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            //列设置
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option);
                        }
                        table.render(option);
                        layer.close(wait);
                        if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                            ColFilter();
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //批量同步
            function get_InSync_Batch() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    var InterID = '';
                    var BillNo = '';
                    for (var i = 0; i < data.length; i++) {
                        InterID=(data[i].hmainid.toString());
                        BillNo=(data[i].单据号.toString());
                        $.ajax({
                            type: "GET",
                            url: GetWEBURL() + "/Cj_StationOutBill/set_SaveStationOutBill_CLD_Json", //方法所在页面和方法名
                            async: true,
                            data: { "HInterID": InterID, "HBillNo": BillNo, "HMaker": sessionStorage["HUserName"] },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                        var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                        parent.layer.close(index); //再执行关闭 Â  Â  Â  Â  Â Â  Â Â Â  Â 
                                    });
                                }
                                else {
                                    layer.alert(data.Message, { icon: 5 });
                                }
                            },
                            error: function (err) {
                                layer.alert(err.Message, { icon: 5 });
                            }
                        });
                    }
                }
                else {
                    layer.msg('请选择至少一行数据!');
                }
            }
            //同步
            function get_InSync() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].hmainid.toString();
                    var BillNo = data[0].单据号.toString();
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Cj_StationOutBill/set_SaveStationOutBill_CLD_Json", //方法所在页面和方法名
                        async: true,
                        data: { "HInterID": InterID, "HBillNo": BillNo, "HMaker": sessionStorage["HUserName"] },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                    parent.layer.close(index); //再执行关闭 Â  Â  Â  Â  Â Â  Â Â Â  Â 
                                });
                            }
                            else {
                                layer.alert(data.Message, { icon: 5 });
                            }
                        },
                        error: function (err) {
                            layer.alert(err.Message, { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据同步!');
                }
            }
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTablemainTable)', 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;
                    }
                });
            })
            //#endregion
            //列明显示下拉框
            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);
                form.render('select');
            }
            //退出
            function get_Exit() {
                Pub_Close(2);
            }
            //以上是layui模块
        });
    </script>
</body>
</html>