yusijie
2023-03-01 1a69ad97b8883b4d55f65aa852668dd8c9b2101a
用户关联工序;工序进出站自动匹配对应流水号
2个文件已添加
4个文件已修改
756 ■■■■■ 已修改文件
WebTM/WebTM.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/PublicPage/ProcessInformation.html 255 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/index.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/系统管理/用户管理/Gy_UserProcess.html 443 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转/MES_StationInBill_PDA.html 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转/MES_StationOutBill_PDA.html 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -161,6 +161,7 @@
    <Content Include="views\PublicPage\PeopleInformations.html" />
    <Content Include="views\PublicPage\PeopleInformation.html" />
    <Content Include="views\PublicPage\PowerInformation.html" />
    <Content Include="views\PublicPage\ProcessInformation.html" />
    <Content Include="views\PublicPage\PurchOrder.html" />
    <Content Include="views\PublicPage\HSourceReportHtml.html" />
    <Content Include="views\PublicPage\transfer.html" />
@@ -905,6 +906,7 @@
    <Content Include="views\模治具管理\模治具管理\KF_BarCodeStatusChangeBillList.html" />
    <Content Include="views\模治具管理\模治具管理\Sb_Add_MouldRepairWorkBillList.html" />
    <Content Include="views\生产工序管理\工序汇报单\Sc_ProcessReportList_Last.html" />
    <Content Include="views\系统管理\用户管理\Gy_UserProcess.html" />
    <Content Include="views\车间管理\工序流转卡\Sc_ProcessExchangeBill_Mul.html" />
    <Content Include="views\系统管理\单据类型\Xt_BillSubTypeList.html" />
    <Content Include="views\系统管理\单据类型\Xt_BillSubType_Edit.html" />
WebTM/views/PublicPage/ProcessInformation.html
New file
@@ -0,0 +1,255 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<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/treeTable.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/layui/lay/modules/util.js"></script>
    <style media="screen">
        .custom-tree-item-clicked {
            color: #FC9003
        }
    </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-form-item" style="border-top: solid 1px #F6F6F6;">
                                    <div class="layui-row" style="padding:10px 0">
                                        <div class="layui-col-xs3 layui-inline" style="width: 23%; display:none;">
                                            <div id="treeSupplier" lay-filter="treeSupplier" class="demo-tree demo-tree-box" style="height: 580px; overflow: scroll;"></div>
                                        </div>
                                        <div class="layui-col-xs12 layui-inline">
                                            <div class="layui-row">
                                                <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>
                                                <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>
                                            </div>
                                            <div>
                                                <table class="" id="mainTable" lay-filter="mainTable"></table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script src="../../layuiadmin/layui/zgqlayui.js"></script>
    <script src="../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script>
        var treeCkData = { id: 0 };
        var TagId = "";
        var TagParentId = "";
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate'], 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
                , tree = layui.tree
            var sWhere = " where HStopFlag=0 and HEndFlag<>'1' and HUSEORGID = " + sessionStorage["OrganizationID"] + " "; //树型
            var sWhere1 = " where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + sessionStorage["OrganizationID"] + " ";  //列表
            //tree.render({
            //    elem: '#treeSupplier',
            //    data: getData(sWhere),
            //    showCheckbox: false,     //是否显示复选框
            //    id: 'demoId',
            //    isJump: false, //是否允许点击节点时弹出新窗口跳转
            //    showLine: true,//是否开启连接线
            //    onlyIconControl: true,   //点击后不收缩
            //    click: function (obj) {
            //        //点击高光
            //        if (obj.data.id !== treeCkData.id) {
            //            $('div[data-id="' + obj.data.id + '"] span').eq(1).last().addClass("custom-tree-item-clicked");
            //            $('div[data-id="' + treeCkData.id + '"] span').eq(1).last().removeClass('custom-tree-item-clicked');
            //            treeCkData = obj.data;
            //            TagId = obj.data.id;
            //            TagParentId = obj.data.ParentID;
            //        }
            //        else {
            //            $('div[data-id="' + treeCkData.id + '"] span').eq(1).last().removeClass('custom-tree-item-clicked');
            //            treeCkData = { id: 0 };
            //            TagId = "";
            //            TagParentId = "";
            //        }
            //        $.ajax({
            //            url: GetWEBURL() + '/Gy_MaintenanceMode/SupplierCX',
            //            type: "GET",
            //            data: { "HInterID": obj.data.id },
            //            success: function (data1) {
            //                if (data1.count == 1) {
            //                    option.data = data1.data;
            //                    table.render(option);
            //                    layer.close(index);
            //                } else {
            //                    layer.close(index);
            //                    layer.alert(data1.code + data1.Message, { icon: 5 });
            //                }
            //            }, error: function () {
            //                layer.close(index);
            //                layer.alert("接口请求失败!", { icon: 5 });
            //            }
            //        });
            //    }
            //});
            var option = {
                elem: '#mainTable'
                //, toolbar: '#toolbarDemo'
                , height: 'full-120'
                , page: true
                , cellMinWidth: 90
                , cols: [[
                    { type: 'radio', fixed: 'left' }
                    , { field: 'HItemID', title: 'HItemID', sort: true, hide: true }
                    , { field: 'ParentID', title: 'ParentID', sort: true, hide: true }
                    , { field: 'HNumber', title: '工序代码' }
                    , { field: 'HName', title: '工序' }
                ]]
            };
            var index = layer.load(0, { shade: false });
            //进入页面显示的缓存列表
            $.ajax({
                url: GetWEBURL() + '/PublicPageMethod/ProcessList',
                type: "GET",
                data: { "sWhere": SeachFilter(sWhere1) },
                success: function (data1) {
                    if (data1.count == 1) {
                        option.data = data1.data;
                        table.render(option);
                        layer.close(index);
                    } else {
                        layer.close(index);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(index);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                $.ajax({
                    url: GetWEBURL() + '/PublicPageMethod/ProcessList',
                    type: "GET",
                    data: { "sWhere": SeachFilter(sWhere1) },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option.data = data1.data;
                            table.render(option);
                            layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                sWhere1 = "";//调用接口后清空sWhere缓存
                sWhere1 = " where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + sessionStorage["OrganizationID"] + " ";  //列表
            });
            //以上是layui模块
        });
        //查询树状数据
        function getData(sWhere) {
            var treeData;
            $.ajax({
                url: GetWEBURL() + '/Gy_MaintenanceMode/SupplierLoadTree',
                type: "GET",
                data: { "sWhere": sWhere },
                async: false,
                success: function (result) {
                    var data = result.data;
                    //生成数据对象集合
                    treeData = LoadTree(data);
                }
            });
            return treeData;
        }
        /**处理树形展示数据,要求有ID和ParentID、title字段**/
        function LoadTree(data) {
            let map = {};
            let treeData = [];
            data.forEach(it => {
                map[it.id] = it;    //ID为每个节点的id
            })
            //生成结果集
            data.forEach(it => {
                const parent = map[it.ParentID];   //ParentID为父节点的id
                if (parent) {
                    if (!Array.isArray(parent.children)) parent.children = [];
                    parent.children.push(it);
                } else {
                    treeData.push(it)
                }
            })
            return treeData;
        }
        function SeachFilter(sWhere1) {
            var HNumber = $("#HNumber").val();
            var HName = $("#HName").val();
            if (HNumber) {
                sWhere1 += " and HNumber like '%" + HNumber + "%'";
            }
            if (HName) {
                sWhere1 += " and HName like '%" + HName + "%'";
            }
            return sWhere1;
        }
    </script>
</body>
</html>
WebTM/views/index.html
@@ -1057,6 +1057,7 @@
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserByUser.html">用户关联用户</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserMater.html">用户关联物料</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserCustomer.html">用户关联客户</a></dd>
                                        <dd><a lay-href="系统管理/用户管理/Gy_UserProcess.html">用户关联工序</a></dd>
                                        <dd><a lay-href="">权限查询n</a></dd>
                                        <dd><a lay-href="set/user/password.html">密码设置</a></dd>
                                    </dl>
WebTM/views/ϵͳ¹ÜÀí/Óû§¹ÜÀí/Gy_UserProcess.html
New file
@@ -0,0 +1,443 @@
<!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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <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>
    <style type="text/css">
        /*begin æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            float: left;
            display: block;
            padding: 9px 15px;
            width: 31px;
            font-weight: 400;
            line-height: 20px;
            text-align: left;
        }
    </style>
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <form id="form0" class="layui-form" lay-filter="component-form-group" action="">
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <div class="layui-tab-content">
                                    <div class="layui-tab-item layui-show">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">用户</label>
                                                <div class="layui-input-inline">
                                                    <input type="text" name="UserName" id="UserName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                    <input type="hidden" name="UserID" id="UserID" class="layui-input" value="" style="float:left;width:150px;">
                                                    <button type="button" lay-submit="" class="layui-btn" lay-filter="UserList" style="width:40px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="layui-hide" 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-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            </div>
                        </script>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
            var closeType = 2;  //关闭类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
            var closeType = params[params[3]];  //关闭类型
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
            //查询条件
            var option = [];
            TabRow = { "HProcID": 0, "HProcNumber": "", "HProcName": "" };
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化表格
            set_InitGrid();
            //判断操作类型
            if (OperationType == 1) {//无源新增
                //无源新增
                set_AddFNew();
            }
            else if (OperationType == 3) {//编辑
                set_EditFromGrid(linterid);
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶ï¼ŒåŒ…括on和form事件
            //头工具栏
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = TabRow;
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
                        break;
                    //复制一行
                    case 'btn-CopyLine': btnCopyLine(data);
                        break;
                }
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //用户信息弹窗
            form.on('submit(UserList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '用户列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../PublicPage/PeopleInformation.html', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#UserName").val(checkStatus.data[0].HName);
                        $("#UserID").val(checkStatus.data[0].HNumber);
                        $.ajax({
                            url: GetWEBURL() + "/Xt_User/ProcessPlaylist",
                            type: "GET",
                            data: { "HUserID": checkStatus.data[0].HNumber },
                            success: function (data) {
                                if (data.data != null && data.data != "") {
                                    option.data = data.data;
                                    table.render(option);
                                }
                                else {
                                    table.reload("mainTable", {});
                                    table.reload('mainTable', { data: [] });
                                }
                            }
                        });
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //表格行内事件快捷键筛选
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //工序代码
                        if (obj.event === 'HProcNumber')  //模具信息  å¦‚果在模具代码列 æŒ‰F7
                        {
                            //页面层-自定义  //F7选择工序
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '工序列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../../PublicPage/ProcessInformation.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    //console.log(obj.data);
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HProcID: checkStatus.data[0].HItemID,
                                        HProcNumber: checkStatus.data[0].HNumber,
                                        HProcName: checkStatus.data[0].HName
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //保存
            form.on('submit(Saver)', function (data) {
                if ($("#UserName").val() == "") {
                    layer.msg("用户不能为空!");
                    return false;
                }
                var UserID = $("#UserID").val();  //获取选择的用户编码
                //debugger;
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    return false;
                }
                var list = [];
                for (var i = 0; i < JSON.parse(sSubStr).length; i++) {
                    list.push(JSON.parse(sSubStr)[i].HProcNumber)
                }
                if (isAllEqual(list)) {
                    layer.msg("有重复的工序信息!");
                    return false;
                }
                var sMainSub = sSubStr + ';' + UserID
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "/Xt_User/SaveUserProcess", //方法所在页面和方法名
                        async: true,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                    var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                    parent.layer.close(index); //再执行关闭 Â  Â  Â  Â  Â Â  Â Â Â  Â 
                                });
                            }
                            else {
                                layer.alert(data.Message);
                                console.log("Reason" + sMainSub + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            layer.alert("错误:" + err);
                            console.log("Reason" + sMainStr);
                        }
                    });
            });
            //退出
            form.on('submit(Exit)', function (data) {
                if (OperationType == 1) {
                    Pub_Close(closeType);//直接新增closeType值为2,列表调新增closeType值从列表传递
                }
                else if (OperationType == 3) {
                    Pub_Close(closeType);
                }
                else {
                    Pub_Close(2);
                }
            });
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            //初始化表格
            function set_InitGrid() {
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe" }
                    , { field: 'HProcID', title: 'HProcID', edit: 'text', hide: true }
                    , { field: 'HProcNumber', title: '工序代码', edit: 'text', event: 'HProcNumber' }
                    , { field: 'HProcName', title: '工序名称', edit: 'text' }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ];
                option = {
                    id: 'mainTable'
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , cellMinWidth: 120
                    , height: 680
                    , cols: [columns]
                    , limit: 500 //每页默认显示的数量
                    , done: function (res, curr, count) {
                    }
                };
            }
            //无源单新增
            function set_AddFNew() {
                option.data = [TabRow];
                table.render(option);
            }
            //增加一行
            function btnAddLine(NewRow) {
                var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                buttonArr = [];//清空数组
                for (var i = 0; i < tableBak.length; i++) {
                    buttonArr.push(tableBak[i]);  //将之前的数据存储
                }
                buttonArr.push(NewRow);  //在尾部加一行
                table.reload("mainTable", {
                    data: buttonArr    //将数据重新载入表格
                })
            }
            //复制一行
            function btnCopyLine(data) {
                var copydata = JSON.stringify(data);
                if (data.length <= 0) {
                    layer.msg("请选择需要复制的一行!");
                }
                else if (data.length > 1) {
                    layer.msg("只能选择复制一行!");
                }
                else {
                    var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                    var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                    table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                    option.data = table.cache["mainTable"];//将数据绑定到data上
                    table.render(option);//将数据渲染到表格上
                }
            }
            // è¡¨æ ¼è¡Œå†…事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        var oldData = table.cache["mainTable"];
                        oldData.splice(obj.tr.data('index'), 1);
                        table.reload('mainTable', { data: oldData });
                        layer.close(index);
                    });
                }
            }
            //#region åˆ¤æ–­æ•°æ®æ•°ç»„中的值是否相同
            function isAllEqual(list) {
                var s = list.join(",") + ",";
                for (var i = 0; i < list.length; i++) {
                    if (s.replace(list[i] + ",", "").indexOf(list[i] + ",") > -1) {
                        return true;
                    }
                }
            }
            //#region éžç©ºéªŒè¯
            function AllowLoadData(sSubStr) {  //非空验证
                var Result = true;
                if (typeof (sSubStr) == "undefined" || sSubStr == "") {
                    layer.msg("没有物料明细记录", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
                if (typeof (sSubStr) != "undefined" && typeof (sSubStr) != "") {
                    sSubStr = JSON.parse(sSubStr);
                    for (var i = 0; i < sSubStr.length; i++) {
                        if (sSubStr[i].工序代码 == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,工序代码为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                    }
                }
                else {
                    return Result = true;
                }
                return Result;
            }
        });
    </script>
</body>
</html>
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת/MES_StationInBill_PDA.html
@@ -971,6 +971,29 @@
                            var HProcExchHinteID = $('#HProcExchHinteID').val();
                            var HInterID = data.hmainid;
                            //自动匹配流水号
                            $.ajax({
                                url: GetWEBURL() + "/Sc_StationInBill/autoGetProcNo",
                                type: "GET",
                                data: { "HUserName": sessionStorage["HUserName"], "HInterID": HInterID },
                                success: function (data1) {
                                    if (data1.count == 1) {
                                        var data = data1.data[0];
                                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                            "lngBillSubKey": data.hsubid,
                                            "HProcName": data.工序,
                                            "HProcID": data.工序ID,
                                            "HProcNo": data.流水号,
                                            "HCenterName": data.工作中心,
                                            "HCenterID": data.HCenterID
                                        });
                                        $("#HProcNo").attr("readonly", "readonly");
                                        $("#HProcNo").css("background-color", "#efefef4d");
                                    }
                                }
                            })
                            //动态列
                            $.ajax({
                                url: GetWEBURL() + "/Cj_StationEntrustInBill/DisBillEntryList",
@@ -1015,7 +1038,7 @@
                                    }
                                    table.render(option)
                                }
                            })
                            })
                            //layer.close(index);
                            //set_InitGrid();
                            //table.render(option);
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת/MES_StationOutBill_PDA.html
@@ -881,6 +881,36 @@
                            HProcExchBillNoFlag = true;
                            var HProcExchHinteID = $('#HProcExchHinteID').val();
                            var HInterID = data.hmainid;
                            //自动匹配流水号
                            $.ajax({
                                url: GetWEBURL() + "/Sc_StationInBill/autoGetProcNo",
                                type: "GET",
                                data: { "HUserName": sessionStorage["HUserName"], "HInterID": HInterID },
                                success: function (data1) {
                                    if (data1.count == 1) {
                                        var data = data1.data[0];
                                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                            "lngBillSubKey": data.hsubid,
                                            "HProcName": data.工序,
                                            "HProcID": data.工序ID,
                                            "HProcNo": data.流水号,
                                            "HCenterName": data.工作中心,
                                            "HCenterID": data.HCenterID,
                                            "NoOutboundHqty": (data.流转卡数量 - data.出站报废关联数量 - data.出站关联数量)
                                        });
                                        if (data.首道工序 == "是") {
                                            FirstEndHProcNo = 1;
                                        } else if (data.末道工序 == "是") {
                                            FirstEndHProcNo = 2;
                                        }
                                        $("#HProcNo").attr("readonly", "readonly");
                                        $("#HProcNo").css("background-color", "#efefef4d");
                                    }
                                }
                            })
                            //$.ajax({
                            //    url: GetWEBURL() + "/Cj_StationEntrustInBill/DisBillEntryList",
                            //    type: "GET",