duhe
2025-09-17 19e6c5000df386eac36ea3c2e310d3e98ca2cc71
WebTM/views/ÖÊÁ¿¹ÜÀí/³µ¼ä×Լ쵥/QC_Add_Edit_WorkSelfCheckBill.html
@@ -52,6 +52,7 @@
                        <div style="z-index: 1;">
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="btn-AddNew" id="btn-AddNew">新增</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="set_CheckBill" id="set_CheckBill">审核</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="btn-Exit" id="btn-Exit">退出</button>
                            <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="btn-SIP" id="btn-SIP">SIP查看</button>
                        </div>
@@ -148,9 +149,9 @@
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" name="HMaterName" id="HMaterName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="text" class="layui-input" name="HMaterID" id="HMaterID" value="0" style="background-color:#efefef4d;width: 60%;display: none;" readonly>
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchMater" id="btnSearchMater" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchMater" id="btnSearchMater" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                                </button>-->
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -192,6 +193,7 @@
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline" style="width: 45%;">
@@ -595,6 +597,7 @@
                        <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>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                        </div>
                    </script>
                    <!--隐藏字段-->
@@ -645,7 +648,7 @@
        //1.检验项目表体数据值存储,借用点击行事件,当切换行时把上次所在行的数据存到option.data上;
        //这个思路会有个问题,最后一次点击的那行数据将不会在去触发点击行事件存储值,目前想到的是在执行保存方法时在把最后点击的那一行数据存入option.data上
        var OptionData = [];
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
@@ -677,6 +680,7 @@
            var UnRightQty_isFied = 0; //用于判断是否合格//检验值表格不合格数量汇总
            var editIndex = 0;//编辑下标
            var SampleNum = [];//样本数量
            var HModName = "QC_Add_Edit_WorkSelfCheckBill";
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "7518";
@@ -735,7 +739,6 @@
                $("#HInterID").val("");
                $("#HBillNo").val("");
                $('#btn-AddNew').addClass("layui-btn-disabled").attr("disabled", true);//有源单时新增按钮禁用
                //$('#btnSearchSource').addClass("layui-btn-disabled").attr("disabled", true);//有源单时生产资源按钮禁用
                $('#btnSearchICMOBill').addClass("layui-btn-disabled").attr("disabled", true);//有源单时任务单号按钮禁用
                $('#btnSearchMater').addClass("layui-btn-disabled").attr("disabled", true);//有源单时产品内码按钮禁用
                $('#btnSearchProcExch').addClass("layui-btn-disabled").attr("disabled", true);//有源单时流转卡号按钮禁用
@@ -1057,6 +1060,10 @@
                            form.render('select');
                        }
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                }
            });
            //#endregion
@@ -1082,6 +1089,7 @@
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        console.log("1");
                        $("#HProcName").val(checkStatus.data[0].工序名称);
                        $("#HProcID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -1279,7 +1287,7 @@
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../../基础资料/公用基础资料/Gy_CheckItem.html', 'yes'],
                                content: ['../../基础资料/公用基础资料/Gy_CheckItem.html?openType=2', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
@@ -1289,17 +1297,57 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    var HResult = checkStatus.data[0].默认结论 == "合格" ? 1 : 2
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        æ£€éªŒé¡¹ç›®: checkStatus.data[0].名称
                                        , HQCCheckItemID: checkStatus.data[0].HItemID
                                        , HResult: HResult
                                    });
                                    $('#HResult' + rowIndex + '').find("option[value='" + HResult + "']").attr("selected", true);
                                    form.render('select');
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    if (checkStatus.data.length === 1) {
                                        var HResult = checkStatus.data[0].默认结论 == "合格" ? 1 : 2
                                        //同步更新表格和缓存对应的值
                                        obj.update({
                                            æ£€éªŒé¡¹ç›®: checkStatus.data[0].名称
                                            , æ£€éªŒé¡¹ç›®ä»£ç : checkStatus.data[0].代码
                                            , HQCCheckItemID: checkStatus.data[0].HItemID
                                            , HResult: HResult
                                        });
                                        $('#HResult' + rowIndex + '').find("option[value='" + HResult + "']").attr("selected", true);
                                        form.render('select');
                                        layer.close(layer.index);
                                    }
                                    else {
                                        //(多选行)
                                        //将原有表体数据写入数组
                                        var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                                        buttonArr = [];//清空数组
                                        for (var i = 0; i < tableBak.length; i++) {
                                            if (tableBak[i]["HQCCheckItemID"] != 0 && tableBak[i]["检验项目"] != "" && tableBak[i]["HResult"] != undefined && tableBak[i]["HResult"] != null) {
                                                buttonArr.push(tableBak[i]);  //如果关键字段不为空,则将之前的数据存储
                                            }
                                        }
                                        //将批量选择的数据写入数组(多选行)
                                        for (var i = 0; i < checkStatus.data.length; i++) {
                                            buttonArr.push({
                                                "检验项目": checkStatus.data[i].名称, "检验项目代码": checkStatus.data[i].代码, "HQCCheckItemID": checkStatus.data[i].HItemID, "HResult": 1,
                                                "HInspectInstruMentID": "0", "检验仪器代码": "", "检验仪器": "", "HQCStd": "", "HUnit": "", "HQCNote": "", "HAnalysisMethod": "",
                                                "HMax": "", "HMin": "", "HAvg": "", "HRemark": "", "HKeyInspect": false, "HStatus": 0, "HSampleSchemeID": 0, "HUnitID": 0,
                                                "HInspectVal": '', "HTargetVal": '', "HUpLimit": '', "HDownLimit": '', "HUpOffSet": '', "HDownOffSet": '', "HSampleDamageQty": '0',
                                                "HSampleSchemeName": "", "HSampleQty": "0", "HSampleDamageQty": "0", "HAcceptQty": "0", "HInspectionLevel": "", "HRejectQty": "",
                                                "HStrictness": "", "HSampleUnRightQty": "", "HAQL": "", "HSamplingType": ""
                                            });
                                        }
                                        table.reload("mainTable", {
                                            data: buttonArr    //将数据重新载入表格
                                        })
                                        for (var i = 1; i <= option.data.length; i++) {
                                            $('#HResult' + i + '').find("option[value='" + option.data[i - 1].HResult + "']").attr("selected", true);
                                            $('#HAnalysisMethod' + i + '').find("option[value='" + option.data[i - 1].HAnalysisMethod + "']").attr("selected", true);
                                            //完成标记
                                            if (option.data[i - 1].HKeyInspect) {
                                                $('#HKeyInspect' + i + '').attr("checked", true);
                                            }
                                        }
                                        form.render('select');
                                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    }
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
@@ -1319,7 +1367,7 @@
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../../基础资料/公用基础资料/Gy_InspectInstruMent.html', 'yes'],
                                content: ['../../基础资料/公用基础资料/Gy_InspectInstruMent.html?openType=2', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
@@ -1332,7 +1380,8 @@
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        æ£€éªŒä»ªå™¨: checkStatus.data[0].检验仪器名称
                                        æ£€éªŒä»ªå™¨ä»£ç : checkStatus.data[0].检验仪器代码
                                        , æ£€éªŒä»ªå™¨: checkStatus.data[0].检验仪器名称
                                        , HInspectInstruMentID: checkStatus.data[0].HItemID
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -1342,7 +1391,16 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    if (OptionData.length > 0) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            æ£€éªŒä»ªå™¨ä»£ç : OptionData[0].检验仪器代码,
                                            æ£€éªŒä»ªå™¨: OptionData[0].检验仪器名称,
                                            HInspectInstruMentID: OptionData[0].HItemID
                                        });
                                        OptionData = [];
                                    }
                                }
                            });
                        }
@@ -1369,7 +1427,7 @@
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../../基础资料/公用基础资料/Gy_InspectValue.html', 'yes'],
                                content: ['../../基础资料/公用基础资料/Gy_InspectValue.html?openType=2', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
@@ -1498,6 +1556,11 @@
            form.on('submit(btnSave)', function (data) {
                set_SaveBill(data);
            });
            //#region å®¡æ ¸æŒ‰é’®
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //#endregion
            //保存
            function set_SaveBill(data) {               
@@ -1580,7 +1643,7 @@
                var ajaxLoad = layer.load();
                var sWhere = " and hmainid=" + linterid;
                $.ajax({
                    url: GetWEBURL() + "/QC_WorkSelfCheckBill/QC_WorkSelfCheckBillList",
                    url: GetWEBURL() + "/QC_WorkSelfCheckBill/QC_WorkSelfCheckBillEdit",
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (result) {
@@ -2153,7 +2216,7 @@
                    shift: 2,
                    area: ['90%', '90%'],
                    maxmin: true,
                    content: ['../../基础资料/生产基础资料/Gy_Source.html', 'yes'],
                    content: ['../../基础资料/生产基础资料/Gy_Source.html?Htype=&openType=2', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -2193,7 +2256,7 @@
                    shift: 2,
                    area: ['90%', '90%'],
                    maxmin: true,
                    content: ['../../基础资料/生产基础资料/Gy_WorkShiftList.html?type=HWorkShifts&OperationType=2', 'yes'],
                    content: ['../../基础资料/生产基础资料/Gy_WorkShiftList.html?type=HWorkShifts', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -2231,7 +2294,7 @@
                    shift: 2,
                    area: ['90%', '90%'],
                    maxmin: true,
                    content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes'],
                    content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -2264,6 +2327,7 @@
            //表头信息检验方案弹窗
            form.on('submit(btnSearchQCScheme)', function () {
                var HName = $("#HMaterName").val();
                var HProcName = $("#HProcName").val();
                //页面层-自定义
                layer.open({
                    type: 2,
@@ -2273,7 +2337,7 @@
                    shift: 2,
                    area: ['90%', '90%'],
                    maxmin: true,
                    content: ['../../质量管理/检验方案单/QC_CheckProjectList.html?OperationType=1&HName=' + HName + '', 'yes'],
                    content: ['../../质量管理/检验方案单/QC_CheckProjectList.html?OperationType=1&HName=' + HName + '&HProcName=' + HProcName + '', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
@@ -2305,13 +2369,12 @@
            //退出
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
                parent.location.href = "../../../views/index.html"
                //window.close();//关闭当前页
            })
            //初始化表格
            function set_InitGrid() {
                $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);//初始化禁用审核按钮
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始表格数据
@@ -3821,16 +3884,17 @@
            }
            //#endregion
            //自动带出检验项目
            //自动带出检验方案
            function GetCheckItemID() {
                var HName = $("#HMaterName").val();
                var HProName = $("#HProcName").val();
                var HSourceID = $("#HSourceID").val();
                if (HName != '' && HName != undefined && HProName != '' && HProName != undefined) {
                    $.ajax({
                        url: GetWEBURL() + "/Web/GetCheckItemID",
                        type: "GET",
                        async: false,
                        data: { "HName": HName, "HProName": HProName },
                        data: { "HName": HName, "HProName": HProName, "HSourceID": HSourceID},
                        success: function (result) {
                            if (result.code == 1) {
                                $("#HQCSchemeID").val(result.data[0].hmainid);
@@ -3843,6 +3907,32 @@
                    })
                }
            }
            //表头 èŽ·å–æ£€éªŒæ–¹æ¡ˆ
            function get_CheckItem()//加载表头
            {
                $.ajax({
                    url: GetWEBURL() + "/Gy_BaseInformation/Gy_EnvironmentTestSchemeBillMainEditList",
                    type: "GET",
                    async: false,
                    data: { "linterid": $("#HEnvironmentTestSchemeID").val() == "" ? 0 : $("#HEnvironmentTestSchemeID").val(), "user": sessionStorage["HUserName"] },
                    success: function (d) {
                        //子表  èµ‹å€¼
                        var rowdata = [];
                        for (var i = 0; i < d.data.length; i++) {
                            rowdata.push(
                                {
                                    "HEnvironmentItemID": d.data[i].HEnvironmentItemID, "HEnvironmentItemName": d.data[i].检测项目,
                                    "HMeasure": "0", "HTargetVal": d.data[i].目标值, "HUpLimit": d.data[i].上限值, "HDownLimit": d.data[i].下限值
                                }
                            )
                        }
                        option.data = rowdata;
                        table.render(option);
                    }
                })
            }
            //获取班次
@@ -3872,9 +3962,155 @@
            }
            //#region å­è¡¨1:隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region å­è¡¨1:显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    async: false,
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["HQCCheckItemID", "HInspectInstruMentID"];
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                if (dataCol.length <= i) {
                                    break;
                                }
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                                //设置表格title属性显示别名
                                if (dataCols[4] != null && dataCols[4] != "") {
                                    option.cols[0][i + 1]["title"] = dataCols[4];
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //以上为layui模块
        });
        //#region å®¡æ ¸æ•°æ®
        function set_CheckBill() {
            var InterID = $("#HInterID").val();
            //逻辑审核方法
            $.ajax({
                type: "GET",
                url: GetWEBURL() + "/QC_WorkSelfCheckBill/AuditQC_WorkSelfCheckBill", //方法所在页面和方法名
                data: { "HInterID": InterID, "Type": 1, "user": sessionStorage["HUserName"] },
                success: function (result) {
                    if (result.count == 1) {
                        layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                            // å¾—到frame索引
                            var index = layer.getFrameIndex(window.name);
                            //关闭当前frame
                            layer.close(index);
                        });
                        $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);// ç¦ç”¨å®¡æ ¸æŒ‰é’®
                    } else {
                        layer.alert(result.code + result.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
            //#endregion
        function GetGySource(obj) {  //生产资源
            $("#HSourceName").val(obj[0].生产资源名称);
            $("#HSourceID").val(obj[0].HItemID);
@@ -3915,6 +4151,19 @@
            $("#HShiftsName").val(obj[0].班次名称);
            $("#HShiftsID").val(obj[0].HInterID);
        }
        //工序
        function GetProcessValue(obj) {
            $("#HProcName").val(obj[0].工序名称);
            $("#HProcID").val(obj[0].HItemID);
        }
        //检验项目
        function GetCheckItemValue(obj) {
            OptionData = obj;
        }
        //检验仪器
        function GetInspectInstruMentValue(obj) {
            OptionData = obj;
        }
    </script>
</body>
</html>