基础资料单据(产品工艺参数、设备启动点检清单、产品防错验证清单)增加 导入按钮
6个文件已修改
3个文件已添加
794 ■■■■■ 已修改文件
WebTM/WebTM.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/xmlLBM_Sc_ProcessExchangeBillList.aspx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/计划管理/工艺路线/Gy_MaterialTechParamBillMainList.html 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/计划管理/工艺路线/Gy_MaterialTechParamBill_Excel.html 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/启动点检单/Gy_WorkBeginDotCheckListBillList.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/启动点检单/Gy_WorkBeginDotCheckListBill_Excel.html 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/工序流转卡/Sc_ProcessExchangeBill_BatchSplit.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/防错验证/Gy_MaterPreventErrMouldBillList.html 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/防错验证/Gy_MaterPreventErrMouldBill_Excel.html 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -520,6 +520,7 @@
    <Content Include="views\计划管理\工艺路线\Gy_RoutingBillCloseList.html" />
    <Content Include="views\计划管理\工艺路线\Gy_RoutingBillToInvalidatedList.html" />
    <Content Include="views\计划管理\工艺路线\Pay_ProcPriceTypeChangeReport.html" />
    <Content Include="views\计划管理\工艺路线\Gy_MaterialTechParamBill_Excel.html" />
    <Content Include="views\设备管理\Sb_Add_EquipRepairSignBillList.html" />
    <Content Include="views\设备管理\Sb_EquipRepairSignBillList_PDA.html" />
    <Content Include="views\设备管理\Sb_EquipRepairSignBill_PDA.html" />
@@ -618,6 +619,7 @@
    <Content Include="views\车间管理\关键件绑定\Sc_KeyElementBindingList.html" />
    <Content Include="views\车间管理\关键件绑定\Sc_KeyElementBinding.html" />
    <Content Include="views\车间管理\单品过站\SingleItemTransitList.html" />
    <Content Include="views\车间管理\启动点检单\Gy_WorkBeginDotCheckListBill_Excel.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkBeginDotCheckBill.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkBeginDotCheckBillList.html" />
    <Content Include="views\设备管理\设备停机单\Sb_EquipStopBill.html" />
@@ -651,6 +653,7 @@
    <Content Include="views\车间管理\车间在制品期初单\CJ_WIPBeginStockBillList.html" />
    <Content Include="views\车间管理\防错验证\Gy_MaterPreventErrMouldBill.html" />
    <Content Include="views\车间管理\防错验证\Gy_MaterPreventErrMouldBillList.html" />
    <Content Include="views\车间管理\防错验证\Gy_MaterPreventErrMouldBill_Excel.html" />
    <Content Include="views\车间管理\防错验证\Qc_PreventErrMouldCheckBill.html" />
    <Content Include="views\车间管理\防错验证\Qc_PreventErrMouldCheckBillList.html" />
    <Content Include="views\车间管理\报表分析\Kf_PressurizedWaterNoOutReport.html" />
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/xmlLBM_Sc_ProcessExchangeBillList.aspx
@@ -14,7 +14,7 @@
            //OledbXMLReportData适合于Access等本地数据库,为了演示方便,这里从Grid++Report的Access例子数据库中获取报表数据
            //OledbXMLReportData.GenOneRecordset(this, "select * from Customers order by CustomerID");
            SqlXMLReportData.GenEntireData(this, "select  cast((cast( b.流水号 as float)/10) as decimal(6,1)) æµæ°´å·,生产订单号,a.生产数量,a.拆分号,a.流转卡数量,a.交货日期,a.产品代码,a.单据号,case when ISNULL(a.生产规格,'')='' then a.产品规格 else a.生产规格 end äº§å“è§„æ ¼,a.产品名称,a.日期,a.计划完工日期,a.单据号,b.工序名称,b.模具编号,b.工艺参数,b.加工说明,case when ISNULL(a.生产幅宽,0)=0 then a.幅宽 else a.生产幅宽 end å¹…宽,case when ISNULL(a.生产克重,0) = 0 then a.克重 else a.生产克重 end å…‹é‡,a.白坯要求,a.底部备注,a.客户,a.业务员,a.毛高,a.寸数组织,a.全毛长,a.坯布密度,a.毛纱名称及规格,a.底丝,a.辅数量,a.辅助单位,a.定型浆料,a.交货日期,a.染色要求,a.辅数量2,a.HAuxUnit2,a.辅助单位2,b.出站关联数量 from h_v_Sc_ProcessExchangeBillQuery a left join h_v_Sc_ProcessExchangeBillQuerySub b on a.hmainid=b.hmainid   where b.hmainid in("+Request.Params["linterid"] +") order by cast(b.流水号 as int)","select 1");
            SqlXMLReportData.GenEntireData(this, "select  cast((cast( b.流水号 as float)/10) as decimal(6,1)) æµæ°´å·,生产订单号,a.生产数量,a.销售订单号,a.拆分号,a.流转卡数量,a.交货日期,a.产品代码,a.单据号,case when ISNULL(a.生产规格,'')='' then a.产品规格 else a.生产规格 end äº§å“è§„æ ¼,a.产品名称,a.日期,a.计划完工日期,a.单据号,b.工序名称,b.模具编号,b.工艺参数,b.加工说明,case when ISNULL(a.生产幅宽,0)=0 then a.幅宽 else a.生产幅宽 end å¹…宽,case when ISNULL(a.生产克重,0) = 0 then a.克重 else a.生产克重 end å…‹é‡,a.白坯要求,a.底部备注,a.客户,a.业务员,a.毛高,a.寸数组织,a.全毛长,a.坯布密度,a.毛纱名称及规格,a.底丝,a.辅数量,a.辅助单位,a.定型浆料,a.交货日期,a.染色要求,a.辅数量2,a.HAuxUnit2,a.辅助单位2,b.出站关联数量 from h_v_Sc_ProcessExchangeBillQuery a left join h_v_Sc_ProcessExchangeBillQuerySub b on a.hmainid=b.hmainid   where b.hmainid in("+Request.Params["linterid"] +") order by cast(b.流水号 as int)","select 1");
        }
    </script>
</head>
WebTM/views/¼Æ»®¹ÜÀí/¹¤ÒÕ·Ïß/Gy_MaterialTechParamBillMainList.html
@@ -161,6 +161,7 @@
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
@@ -234,6 +235,9 @@
                switch (obj.event) {
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //导入
                    case 'set_SouceExcel': set_SouceExcel();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
@@ -696,6 +700,19 @@
            }
            //#endregion
            //#region导入
            function set_SouceExcel() {
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '产品工艺参数导入'
                    , shift: 0//弹出动画
                    , content: './Gy_MaterialTechParamBill_Excel.html?OperationType=dao&HSouceBillType='
                })
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
WebTM/views/¼Æ»®¹ÜÀí/¹¤ÒÕ·Ïß/Gy_MaterialTechParamBill_Excel.html
New file
@@ -0,0 +1,250 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>产品工艺参数导入</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <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>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;" >
                    <div style="padding: 10px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">导入数据</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Cancel" id="Cancel">退出</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="UpLoad" id="UpLoad">文件上传</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                </div>
                            </div>
                        </div>
                    </div>
                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                        </div>
                    </script>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util', 'upload'], 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
            , tree = layui.tree
            , util = layui.util
            , upload = layui.upload
        var option = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //文件上传
        upload.render({
            elem: '#UpLoad',
            url: GetWEBURL() + '/Gy_MaterialTechParamBill/Gy_MaterialTechParamBill_Excel',
            contentType: 'application/json',
            exts: 'xls|xlsx', //允许上传的类型
            done: function (data1) {
                if (data1.count == 1) {
                    option.data = data1.data;
                    table.render(option);
                } else {
                    layer.alert(data1.code + data1.Message, { icon: 5 });
                }
            },
            error: function (err) {
                debugger
                layer.alert('导入出现异常', { icon: 2 });
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            set_GridDelete(obj);   //行内删除
        });
        //导入  ä¿å­˜æ•°æ®
        form.on('submit(btnSave)', function (data) {
            if (table.cache["mainTable"] != null) {
                set_AddNew(data);
            }
            else {
                layer.msg("无数据,请先导入数据!");
            }
        })
        //退出
        form.on('submit(Cancel)', function () {
            Pub_Close(1);
        })
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化表格
            set_InitGrid();
        }
        //#endregion
        //初始化表格
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-120'
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [[
                    { type: 'checkbox', fixed: 'left' }
                    , { type: 'numbers', field: '序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                    , { field: 'HOrgID', title: 'HOrgID', width: 120, hide: true }
                    , { field: '组织代码', title: '组织代码', width: 120 }
                    , { field: '组织名称', title: '组织名称', width: 120 }
                    , { field: '单据号', title: '单据号', width: 120 }
                    , { field: 'HDeptID', title: 'HDeptID', width: 120, hide: true }
                    , { field: '部门代码', title: '部门代码', width: 120 }
                    , { field: '部门名称', title: '部门名称', width: 120 }
                    , { field: 'HEmpID', title: 'HEmpID', width: 120, hide: true }
                    , { field: '负责人代码', title: '负责人代码', width: 120 }
                    , { field: '负责人名称', title: '负责人名称', width: 120 }
                    , { field: 'HMaterID', title: 'HMaterID', width: 120, hide: true }
                    , { field: '物料代码', title: '物料代码', width: 120 }
                    , { field: '物料名称', title: '物料名称', width: 120 }
                    , { field: '备注', title: '备注', width: 120 }
                    , { field: 'HTechParamID', title: 'HTechParamID', width: 120, hide: true }
                    , { field: '工艺参数代码', title: '工艺参数代码', width: 120, hide: true }
                    , { field: '工艺参数名称', title: '工艺参数名称', width: 120 }
                    , { field: 'HTechParamUnitID', title: 'HTechParamUnitID', width: 120, hide: true }
                    , { field: '工艺参数单位代码', title: '工艺参数单位代码', width: 120 }
                    , { field: '工艺参数单位名称', title: '工艺参数单位名称', width: 120 }
                    , { field: '标准值', title: '标准值', width: 120 }
                    , { field: '上限', title: '上限', width: 120, hide: true }
                    , { field: '下限', title: '下限', width: 120 }
                    , { field: '采集来源', title: '采集来源', width: 120 }
                    , { field: '采集周期单位', title: '采集周期单位', width: 120 }
                    , { field: '采集周期频率', title: '采集周期频率', width: 120 }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
            };
            //渲染页面
            table.render(option);
            //DisPlay_HideColumn();
        }
        //行内删除
        function set_GridDelete(obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del') {
                layer.confirm('真的删除行吗?', function (index) {
                    console.log("索引为:" + rowIndex);
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        var oldData = option.data;
                        oldData.splice(obj.tr.data('index'), 1)
                        option.data = oldData;//将数据绑定到data上
                        table.render(option);
                        layer.close(index);
                    }
                });
            }
        }
        //导入(保存)
        function set_AddNew(data) {
            var num = [];
            for (var i = 0; i < option.data.length; i++) {
                if (option.data[i] != "") {
                    num.push(option.data[i])
                }
            }
            var sSubStr = JSON.stringify(num);
            var sMainSub = sSubStr + '&和' + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Gy_MaterialTechParamBill/Gy_MaterialTechParamBill_btnSave",
                async: true,
                data: { "sMainSub": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        layer.close(index);
                        layer.msg(data.Message);
                        option.data = null;
                        table.cache["mainTable"] = null;
                        table.render(option);
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        //#endregion
    });
</script>
WebTM/views/³µ¼ä¹ÜÀí/Æô¶¯µã¼ìµ¥/Gy_WorkBeginDotCheckListBillList.html
@@ -167,6 +167,7 @@
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Copy" id="set_Copy"><i class="layui-icon layui-icon-form"></i>复制</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
@@ -246,6 +247,9 @@
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //导入
                    case 'set_SouceExcel': set_SouceExcel();
                        break;
                    //复制
                    case 'set_Copy': set_Copy();
@@ -666,6 +670,18 @@
            }
            //#endregion
            //#region å¯¼å…¥
            function set_SouceExcel() {
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '导入'
                    , shift: 0//弹出动画
                    , content: './Gy_WorkBeginDotCheckListBill_Excel.html?OperationType=dao&HSouceBillType='
                })
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
WebTM/views/³µ¼ä¹ÜÀí/Æô¶¯µã¼ìµ¥/Gy_WorkBeginDotCheckListBill_Excel.html
New file
@@ -0,0 +1,245 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>设备启动点检导入</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <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>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;" >
                    <div style="padding: 10px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">导入数据</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Cancel" id="Cancel">退出</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="UpLoad" id="UpLoad">文件上传</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                </div>
                            </div>
                        </div>
                    </div>
                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                        </div>
                    </script>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util', 'upload'], 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
            , tree = layui.tree
            , util = layui.util
            , upload = layui.upload
        var option = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //文件上传
        upload.render({
            elem: '#UpLoad',
            url: GetWEBURL() + '/Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_Excel',
            contentType: 'application/json',
            exts: 'xls|xlsx', //允许上传的类型
            done: function (data1) {
                if (data1.count == 1) {
                    option.data = data1.data;
                    table.render(option);
                } else {
                    layer.alert(data1.code + data1.Message, { icon: 5 });
                }
            },
            error: function (err) {
                debugger
                layer.alert('导入出现异常', { icon: 2 });
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            set_GridDelete(obj);   //行内删除
        });
        //导入  ä¿å­˜æ•°æ®
        form.on('submit(btnSave)', function (data) {
            if (table.cache["mainTable"] != null) {
                set_AddNew(data);
            }
            else {
                layer.msg("无数据,请先导入数据!");
            }
        })
        //退出
        form.on('submit(Cancel)', function () {
            Pub_Close(1);
        })
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化表格
            set_InitGrid();
        }
        //#endregion
        //初始化表格
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-120'
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [[
                    { type: 'checkbox', fixed: 'left' }
                    , { type: 'numbers', field: '序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                    , { field: 'HOrgID', title: 'HOrgID', width: 120, hide: true }
                    , { field: '组织代码', title: '组织代码', width: 120 }
                    , { field: '组织名称', title: '组织名称', width: 120 }
                    , { field: '单据号', title: '单据号', width: 120 }
                    , { field: 'HMaterID', title: 'HMaterID', width: 120, hide: true }
                    , { field: '物料代码', title: '物料代码', width: 120 }
                    , { field: '物料名称', title: '物料名称', width: 120 }
                    , { field: 'HProcID', title: 'HProcID', width: 120, hide: true }
                    , { field: '工序代码', title: '工序代码', width: 120 }
                    , { field: '工序名称', title: '工序名称', width: 120 }
                    , { field: 'HSourceID', title: 'HSourceID', width: 120, hide: true }
                    , { field: '生产资源代码', title: '生产资源代码', width: 120 }
                    , { field: '生产资源名称', title: '生产资源名称', width: 120 }
                    , { field: '记录事项', title: '记录事项', width: 120 }
                    , { field: '备注', title: '备注', width: 120 }
                    , { field: 'HCheckNoteItemID', title: 'HCheckNoteItemID', width: 120, hide: true }
                    , { field: '检查项目代码', title: '检查项目代码', width: 120, hide: true }
                    , { field: '检查项目名称', title: '检查项目名称', width: 120 }
                    , { field: 'HCheckPostID', title: 'HCheckPostID', width: 120, hide: true }
                    , { field: '岗位代码', title: '岗位代码', width: 120 }
                    , { field: '岗位名称', title: '岗位名称', width: 120 }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
            };
            //渲染页面
            table.render(option);
            //DisPlay_HideColumn();
        }
        //行内删除
        function set_GridDelete(obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del') {
                layer.confirm('真的删除行吗?', function (index) {
                    console.log("索引为:" + rowIndex);
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        var oldData = option.data;
                        oldData.splice(obj.tr.data('index'), 1)
                        option.data = oldData;//将数据绑定到data上
                        table.render(option);
                        layer.close(index);
                    }
                });
            }
        }
        //导入(保存)
        function set_AddNew(data) {
            var num = [];
            for (var i = 0; i < option.data.length; i++) {
                if (option.data[i] != "") {
                    num.push(option.data[i])
                }
            }
            var sSubStr = JSON.stringify(num);
            var sMainSub = sSubStr + '&和' + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_btnSave",
                async: true,
                data: { "sMainSub": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        layer.close(index);
                        layer.msg(data.Message);
                        option.data = null;
                        table.cache["mainTable"] = null;
                        table.render(option);
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        //#endregion
    });
</script>
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcessExchangeBill_BatchSplit.html
@@ -625,7 +625,7 @@
            function dy_PL(rest) {
                var HInterID = rest[num].HInterID.toString();
                var sWhere = "select cast( b.流水号 as float) æµæ°´å·,生产订单号,a.生产数量,a.流转卡数量,a.产品代码,a.单据号,case when ISNULL(a.生产规格,'')='' then a.产品规格 else a.生产规格 end äº§å“è§„æ ¼,a.产品名称,a.日期,a.单据号,b.工序代码,b.工序名称,a.批号,b.工艺工作中心,b.工艺工艺参数,a.生产车间,b.工段名称,b.生产订单数量 from h_v_Sc_ProcessExchangeBillQuery a left join h_v_Sc_ProcessExchangeBillQuerySub b on a.hmainid=b.hmainid   where b.hmainid in(" + HInterID + ") and b.工序代码 != '9999' order by cast(b.流水号 as int)"
                var sWhere = "select cast( b.流水号 as float) æµæ°´å·,生产订单号,a.销售订单号,a.生产数量,a.流转卡数量,a.产品代码,a.单据号,case when ISNULL(a.生产规格,'')='' then a.产品规格 else a.生产规格 end äº§å“è§„æ ¼,a.产品名称,a.日期,a.单据号,b.工序代码,b.工序名称,a.批号,b.工艺工作中心,b.工艺工艺参数,a.生产车间,b.工段名称,b.生产订单数量 from h_v_Sc_ProcessExchangeBillQuery a left join h_v_Sc_ProcessExchangeBillQuerySub b on a.hmainid=b.hmainid   where b.hmainid in(" + HInterID + ") and b.工序代码 != '9999' order by cast(b.流水号 as int)"
                $.ajax({
                    type: "GET",
WebTM/views/³µ¼ä¹ÜÀí/·À´íÑéÖ¤/Gy_MaterPreventErrMouldBillList.html
@@ -166,6 +166,7 @@
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导入</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
@@ -242,6 +243,9 @@
                switch (obj.event) {
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //导入
                    case 'set_SouceExcel': set_SouceExcel();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
@@ -644,6 +648,19 @@
            }
            //#endregion
            //#region导入
            function set_SouceExcel() {
                layer.open({
                    type: 2
                    , area: ['100%', '100%']
                    , title: '导入'
                    , shift: 0//弹出动画
                    , content: './Gy_MaterPreventErrMouldBill_Excel.html?OperationType=dao&HSouceBillType='
                })
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
WebTM/views/³µ¼ä¹ÜÀí/·À´íÑéÖ¤/Gy_MaterPreventErrMouldBill_Excel.html
New file
@@ -0,0 +1,242 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>产品防错验证清单导入</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <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>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;" >
                    <div style="padding: 10px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">导入数据</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="Cancel" id="Cancel">退出</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="UpLoad" id="UpLoad">文件上传</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                </div>
                            </div>
                        </div>
                    </div>
                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                        </div>
                    </script>
                </form>
            </div>
        </div>
    </div>
</body>
</html>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util', 'upload'], 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
            , tree = layui.tree
            , util = layui.util
            , upload = layui.upload
        var option = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //文件上传
        upload.render({
            elem: '#UpLoad',
            url: GetWEBURL() + '/Gy_MaterPreventErrMouldBill/Gy_MaterPreventErrMouldBill_Excel',
            contentType: 'application/json',
            exts: 'xls|xlsx', //允许上传的类型
            done: function (data1) {
                if (data1.count == 1) {
                    option.data = data1.data;
                    table.render(option);
                } else {
                    layer.alert(data1.code + data1.Message, { icon: 5 });
                }
            },
            error: function (err) {
                debugger
                layer.alert('导入出现异常', { icon: 2 });
            }
        });
        //行内事件
        table.on('tool(mainTable)', function (obj) {
            set_GridDelete(obj);   //行内删除
        });
        //导入  ä¿å­˜æ•°æ®
        form.on('submit(btnSave)', function (data) {
            if (table.cache["mainTable"] != null) {
                set_AddNew(data);
            }
            else {
                layer.msg("无数据,请先导入数据!");
            }
        })
        //退出
        form.on('submit(Cancel)', function () {
            Pub_Close(1);
        })
        //#endregion
        //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化表格
            set_InitGrid();
        }
        //#endregion
        //初始化表格
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-120'
                , page: true
                , cellMinWidth: 90
                , limit: 50
                , limits: [50, 500, 5000, 20000]
                , loading: false
                , cols: [[
                    { type: 'checkbox', fixed: 'left' }
                    , { type: 'numbers', field: '序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                    , { field: 'HOrgID', title: 'HOrgID', width: 120, hide: true }
                    , { field: '组织代码', title: '组织代码', width: 120 }
                    , { field: '组织名称', title: '组织名称', width: 120 }
                    , { field: '单据号', title: '单据号', width: 120 }
                    , { field: 'HMaterID', title: 'HMaterID', width: 120, hide: true }
                    , { field: '物料代码', title: '物料代码', width: 120 }
                    , { field: '物料名称', title: '物料名称', width: 120 }
                    , { field: 'HProcID', title: 'HProcID', width: 120, hide: true }
                    , { field: '工序代码', title: '工序代码', width: 120 }
                    , { field: '工序名称', title: '工序名称', width: 120 }
                    , { field: '备注', title: '备注', width: 120 }
                    , { field: 'HPreventErrMouldID', title: 'HPreventErrMouldID', width: 120, hide: true }
                    , { field: '防错装置代码', title: '防错装置代码', width: 120, hide: true }
                    , { field: '防错装置名称', title: '防错装置名称', width: 120 }
                    , { field: '失效模式', title: '失效模式', width: 120 }
                    , { field: '防错功能', title: '防错功能', width: 120 }
                    , { field: '失效验证方法', title: '失效验证方法', width: 120 }
                    , { field: '表体备注', title: '表体备注', width: 120 }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
            };
            //渲染页面
            table.render(option);
            //DisPlay_HideColumn();
        }
        //行内删除
        function set_GridDelete(obj) {
            var data = obj.data;
            var rowIndex = $(obj.tr).attr("data-index");
            if (obj.event === 'del') {
                layer.confirm('真的删除行吗?', function (index) {
                    console.log("索引为:" + rowIndex);
                    if (rowIndex === '0') {
                        layer.msg('首行无法删除!!!');
                    } else {
                        var oldData = option.data;
                        oldData.splice(obj.tr.data('index'), 1)
                        option.data = oldData;//将数据绑定到data上
                        table.render(option);
                        layer.close(index);
                    }
                });
            }
        }
        //导入(保存)
        function set_AddNew(data) {
            var num = [];
            for (var i = 0; i < option.data.length; i++) {
                if (option.data[i] != "") {
                    num.push(option.data[i])
                }
            }
            var sSubStr = JSON.stringify(num);
            var sMainSub = sSubStr + '&和' + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
                url: GetWEBURL() + "/Gy_MaterPreventErrMouldBill/Gy_MaterPreventErrMouldBill_btnSave",
                async: true,
                data: { "sMainSub": sMainSub },
                dataType: "json",
                success: function (data) {
                    if (data.count == 1) {
                        layer.close(index);
                        layer.msg(data.Message);
                        option.data = null;
                        table.cache["mainTable"] = null;
                        table.render(option);
                    }
                    else {
                        layer.close(index);
                        layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                },
                error: function (err) {
                    layer.close(index);
                    layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                }
            });
        }
        //#endregion
    });
</script>