1
duhe
2025-06-16 263f21afd1da36724fa07e9ca551cb9a539bf3ff
WebTM/views/»ù´¡×ÊÁÏ/Éú²ú»ù´¡×ÊÁÏ/Gy_SOPBillEdit.html
@@ -39,7 +39,6 @@
            background-color: white;
            border: solid 1px #BEC0C4;
        }
    </style>
</head>
<body>
@@ -80,6 +79,17 @@
                                            <label class="layui-form-label">指导书名称</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" id="HName" name="HName" style="width:190px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">类型</label>
                                            <div class="layui-input-block" style="margin-left: 120px;width: 185px;">
                                                <select name="HType" lay-filter="HType" id="HType">
                                                    <option value="SOP">SOP</option>
                                                    <option value="SIP">SIP</option>
                                                    <option value="设备安全操作规程">设备安全操作规程</option>
                                                    <option value="质量报警卡">质量报警卡</option>
                                                </select>
                                            </div>
                                        </div>
                                    </div>
@@ -128,17 +138,18 @@
                                    </div>
                                    <div class="layui-form-item">
                                        <div class="layui-inline">
                                            <div class="layui-input-inline" style="margin-left: 80px;">
                                                <input type="checkbox" name="checkboxHStandard" id="checkboxHStandard" lay-skin="primary" lay-filter="checkboxHStandard" title="是否默认工艺">
                                                <input type="hidden" value="true" name="HStandard" id="HStandard" lay-verify="HStandard">
                                            <label class="layui-form-label" style="width: 120px"> æ˜¯å¦é»˜è®¤å·¥è‰º:</label>
                                            <div class="layui-input-inline">
                                                <input type="checkbox" name="HStandard" id="HStandard" lay-skin="primary" title="" value="true">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <div class="layui-input-inline" style="margin-left: 110px;">
                                                <input type="checkbox" name="checkboxHUse" id="checkboxHUse" lay-skin="primary" lay-filter="checkboxHUse" title="是否启用">
                                                <input type="hidden" value="true" name="HUse" id="HUse" lay-verify="HUse">
                                        <div class="layui-inline" style="display:none">
                                            <label class="layui-form-label" style="width: 120px"> æ˜¯å¦å¯ç”¨:</label>
                                            <div class="layui-input-inline">
                                                <input type="checkbox" name="HUse" id="HUse" lay-skin="primary" title="" value="true">
                                            </div>
                                        </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
@@ -147,18 +158,16 @@
                        <!--右侧表格-->
                        <div class="right">
                            <div class="right-content">
                                <!--<table class="" id="mainTable2" lay-filter="mainTable2"></table>-->
                                <table id="right_table" border="1" style="border-collapse: collapse;">
                                    <thead>
                                        <tr>
                                            <th style="min-width:100PX">文件名</th>
                                            <th style="min-width:100PX">大小</th>
                                            <th style="min-width:100PX">状态</th>
                                            <th style="min-width:100PX">操作</th>
                                        </tr>
                                            <th>文件名</th>
                                            <th>大小</th>
                                            <th>状态</th>
                                            <th>操作</th>
                                        </tr>
                                    </thead>
                                    <tbody id="ProImgByList">
                                    </tbody>
                                    <tbody id="ProImgByList"></tbody> <!-- æ­£ç¡®çš„容器 -->
                                </table>
                            </div>
                            <div class="right-button" id="submitbtngroup">
@@ -200,7 +209,6 @@
            var OperationType = 1;//操作类型
            var closeType = 2;  //关闭类型
        } else {
            debugger;
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
@@ -232,6 +240,8 @@
            var HModName = "Gy_SOPBillEdit";
            var arr = [];
            var HEntryID = 1;
            var trindex = -1; //默认选中行下标
            var checkobj = ""; //复选框
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
@@ -242,8 +252,8 @@
            $('#ChoseFile').addClass("layui-btn-disabled").attr("disabled", true); //禁用按钮
            $('#ChoseFile').removeClass("layui-btn-disabled").attr("disabled", false);
            $('#delete').addClass("layui-btn-disabled").attr("disabled", true);
            //加载数据到网格
            //get_Display(sWhere);
            //隐藏勾选字段
            DisPlay_HideColumn();
            //判断操作类型
@@ -265,7 +275,10 @@
                //PicUpload();
            }
            else if (OperationType == 3) {//编辑
                set_EditFromGrid(linterid);
                RoadBillMain(linterid);
                //文件选择初始化
                PicUpload();
                getFile();
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
@@ -273,16 +286,29 @@
            //行监听事件
            table.on('row(mainTable)', function (obj) {
                //移除选择文件按钮
                $("#ChoseFile").remove();
                HEntryID = Number($(obj.tr).attr("data-index")) + Number(1);
                //submitbtngroup è¿™ä¸ªæ˜¯ä¸Šä¼ æŒ‰é’®çš„父节点   åŠ¨æ€æ·»åŠ ä¸Šä¼ æŒ‰é’®   è§£å†³ä¸Šä¼ ä¸€æ¬¡ä¹‹åŽchoose方法不执行的bug
                $("#submitbtngroup").append('<button type = "button" class="layui-btn layui-btn-primary" lay-submit lay-filter="ChoseFile" id="ChoseFile" style="color:#232389;background-color:#D4D2CF">选择文件</button>');
                if (trindex != -1) {
                    $("tr[data-index = " + (trindex) + "] ").removeClass('layui-form-checked');//取消复选框选中样式
                    $("tr[data-index = " + (trindex) + "] ").attr({ "style": "background:" });//取消当前tr颜色
                    trindex = -1;
                }
                if (checkobj != "") {
                    checkobj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    checkobj.tr.find(':checkbox:first').prop('checked', false);//取消复选框选中样式
                    $(checkobj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                    checkobj = obj;
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
@@ -291,8 +317,13 @@
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    } else {
                        l.LAY_CHECKED = false;
                    }
                });
                trindex = Number($(obj.tr).attr("data-index"));
                PicUpload();
            });
            //#endregion
@@ -303,7 +334,7 @@
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = { "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "" };
                var NewRow = { "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "", "HSourceID": 0, "HSourceName": '', "HMouldID": 0, "HMouldName": '' };
                console.log(NewRow);
                switch (obj.event) {
                    //新增一行
@@ -332,7 +363,7 @@
                HRemark = obj.data.备注;
            });
            //删除按钮
            form.on('submit(del)', function (data) {
                console.log('aaa');
@@ -436,7 +467,7 @@
            //保存
            form.on('submit(Saver)', function (data) {//保存
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
@@ -444,34 +475,34 @@
                        num.push(table.cache["mainTable"][i])
                    }
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(num);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
                //if (HMaterNumber == "") {
                //    layer.msg("产品没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if (HUnitName == "") {
                //    layer.msg("单位没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if (option.data[0].流水号 == "" && option.data[0].工序代码 == "" && option.data[0].工序 == "" && option.data[0].工位 == "" && option.data[0].工位代码 == "" && option.data[0].工作中心代码 == "" && option.data[0].工作中心 == "" && option.data[0].备注 == "") {
                //    layer.msg("没有明细行!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                //if (option.data[0].工作中心 == "") {
                //    layer.msg("工作中心不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                //    return false;
                //}
                if (HMaterNumber == "") {
                    layer.msg("产品没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                if (HUnitName == "") {
                    layer.msg("单位没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                if (option.data[0].流水号 == "" && option.data[0].工序代码 == "" && option.data[0].工序 == "" && option.data[0].工位 == "" && option.data[0].工位代码 == "" && option.data[0].工作中心代码 == "" && option.data[0].工作中心 == "" && option.data[0].备注 == "") {
                    layer.msg("没有明细行!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                if (option.data[0].工作中心 == "") {
                    layer.msg("工作中心不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return false;
                }
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBill/Save',
                    type: "POST",
                    data: { "oMain": sMainSub },
                    success: function (data1) {
                        if (data1.count == 1) {
                            option.data = arr;
                            table.render(option);
                            //option.data = arr;
                            //table.render(option);
                            //layer.close(wait);
                            $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                            $('#ChoseFile').removeClass("layui-btn-disabled").attr("disabled", false);
@@ -489,62 +520,6 @@
                });
            });
            ////保存
            //form.on('submit(Saver)', function (data) {//保存
            //    var HMaterNumber = $('#HMaterNumber').val();
            //    var HUnitName = $('#HUnitName').val();
            //    //对象添加属性
            //    data.field.HBillNo = $("#HBillNo").val();
            //    data.field.HProcID = HProcID;
            //    data.field.HWorkStationID = HWorkStationID;
            //    data.field.HCenterID = HCenterID;
            //    data.field.HProcNo = HProcNo;
            //    data.field.HRemark = HRemark;
            //    var user = sessionStorage["HUserName"];
            //    var oMain = JSON.stringify(data.field)
            //    var sMainSub = oMain + ';' + 0 + ';' + user;
            //    if (HMaterNumber == "") {
            //        layer.msg("产品没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //        return false;
            //    }
            //    if (HUnitName == "") {
            //        layer.msg("单位没有选择!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //        return false;
            //    }
            //    if (option.data[0].流水号 == "" && option.data[0].工序代码 == "" && option.data[0].工序 == "" && option.data[0].工位 == "" && option.data[0].工位代码 == "" && option.data[0].工作中心代码 == "" && option.data[0].工作中心 == "" && option.data[0].备注 == "") {
            //        layer.msg("没有明细行!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //        return false;
            //    }
            //    if (option.data[0].工作中心 == "") {
            //        layer.msg("工作中心不能为空!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //        return false;
            //    }
            //    $.ajax({
            //        url: GetWEBURL() + '/Gy_SOPBill/ModifyByID',
            //        type: "POST",
            //        data: { "oMain": sMainSub },
            //        success: function (data1) {
            //            if (data1.count == 1) {
            //                option.data = arr;
            //                table.render(option);
            //                //layer.close(wait);
            //                $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
            //                $('#ChoseFile').removeClass("layui-btn-disabled").attr("disabled", false);
            //                $('#delete').removeClass("layui-btn-disabled").attr("disabled", false);
            //                document.getElementById("ChoseFile").style.backgroundColor = 'white'
            //                layer.msg("单据存盘完毕!单据号:" + $("#HBillNo").val())
            //            } else {
            //                //layer.close(wait);
            //                layer.alert(data1.Message, { icon: 5 });
            //            }
            //        }, error: function () {
            //            //layer.close(wait);
            //            layer.alert("接口请求失败!", { icon: 5 });
            //        }
            //    });
            //});
            //放弃
            form.on('submit(Give_Up)', function (data) {//放弃
                layer.alert('单据尚未保存,是否放弃?', {
@@ -561,14 +536,14 @@
                        $('#HUnitName').val("");
                        $('#HRemark').val("");
                        option.data = [{ "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "" }];
                        option.data = [{ "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "", "HSourceID": 0, "HSourceName": '', "HMouldID": 0, "HMouldName": '' }];
                        table.render(option);
                        layer.close(index);
                    }
                })
            });
            //使用
            form.on('submit(Get_Use)', function (data) {//使用
                $.ajax({
@@ -586,7 +561,7 @@
                    }
                });
            });
            //取消
            form.on('submit(Cancel)', function (data) {//取消
                $.ajax({
@@ -644,8 +619,12 @@
                        , { field: 'HCenterID', title: 'HCenterID', width: 200, hide: true }
                        , { field: '工作中心代码', title: '工作中心代码', width: 110, event: '工作中心代码', edit: 'text' }
                        , { field: '工作中心', title: '工作中心', width: 110 }
                        , { field: 'HSourceID', title: '生产资源ID', width: 110, hide: true }
                        , { field: 'HSourceName', title: '生产资源', width: 110, event: 'HSourceName', edit: 'text' }
                        , { field: 'HMouldID', title: '模具ID', width: 110, hide: true }
                        , { field: 'HMouldName', title: '模具名称', width: 110, event: 'HMouldName', edit: 'text' }
                        , { field: 'HRemark', title: '备注', width: 110, edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width:80 }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 80 }
                    ]]
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
@@ -653,6 +632,7 @@
                    }
                };
            }
            function set_InitGrid2() {
                option2 = {
                    id: 'mainTable2'
@@ -664,7 +644,7 @@
                    , limit: 50
                    , cellMinWidth: 1000
                    , height: 'full-50'
                    , width:300
                    , width: 300
                    , cols: [[
                        { type: 'checkbox', fixed: 'left' }
                        , { field: '次序号', title: '次序号', width: 200, edit: 'text' }
@@ -682,38 +662,18 @@
            }
            //无源单新增
            function set_AddFNew() {
                option.data = [{ "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "" }];
                option.data = [{ "流水号": "", "HProcID": 0, "工序代码": "", "工序": "", "HWorkStationID": 0, "工位": "", "工位代码": "", "HCenterID": 0, "工作中心代码": "", "工作中心": "", "HRemark": "", "HSourceID": 0, "HSourceName": '', "HMouldID": 0, "HMouldName": '' }];
                table.render(option);
            }
            function set_AddFNew2() {
                option2.data = [{
                    "次序号": "", "附件路径": "", "附件文件类型": "", "附件名": "", "上传日期": "", "上传人": ""
                }];
                table.render(option2);
            }
            //加载网格
            function get_Display(sWhere) {
                var wait = layer.load();//遮罩
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBill/list',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            DataList = data1.data;
                            option.data = data1.data;
                            table.render(option);
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            var Updata = {
                // é€‰æ‹©æ–‡ä»¶æŒ‰é’®ID
                ChoseFile: 'ChoseFile',
@@ -722,6 +682,7 @@
                // ä¸Šä¼ åˆå§‹åŒ–次数
                initUploadListNum: 0
            };
            //文件上传
            function PicUpload() {
                layui.use('upload', function () {
@@ -752,9 +713,9 @@
                            return;
                        }
                        , choose: function (obj) {
                            // æ¸…空历史上传文件,解决choose只执行一次的问题!!!
                            uploadListIns.config.elem.next()[0].value = '';
                            uploadListIns.config.elem.next()[0].value = '';
                            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
                            console.log(files);
@@ -786,8 +747,8 @@
                                ProImgByList.append(tr);
                            });
                        }
                        , done: function (res, index, upload) {
                        }
                        , done: function (res, index, upload) {
                            if (res.code == 1) { //上传成功
                                var tr = ProImgByList.find('tr#upload-' + index)
                                    , tds = tr.children();
@@ -795,7 +756,7 @@
                                tds.eq(3).html(''); //清空操作
                                //tds.eq(3).find('.demo-reload').addClass('layui-hide'); //隐藏上传
                                return delete this.files[index]; //删除文件队列已经上传成功的文件
                            }
                            }
                            this.error(index, upload);
                        }
                        , error: function (index, upload) {
@@ -807,6 +768,133 @@
                    });
                });
            }
            //#region ç¼–辑模式  é¡µé¢åˆå§‹åŒ–
            function RoadBillMain(HInterID) {
                var ajaxLoad = layer.load();
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_SOPBill/GetGy_SOPEdit",
                    async: false,    //async用于控制(false)同步和(true)异步,默认的是true,即请求默认的是异步请求
                    data: { "HInterID": HInterID, "HMaker": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            var data = result.data[0];
                            $("input[name='HStandard']").attr("checked", data.HStandard == "true" ? true : false);//true:选中 false:不选中
                            $("input[name='HUse']").attr("checked", data.HUseFlag == "true" ? true : false);//true:选中 false:不选中
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HInterID": OperationType == 2 ? '' : data.HInterID
                                , "HBillNo": OperationType == 2 ? '' : data.HBillNo
                                , "HDate": formatDate(data.HDate)
                                , "HType": data.HType
                                , "HName": data.工艺名称
                                , "HMaterID": data.HMaterID
                                , "HMaterNumber": data.物料代码
                                , "HMaterName": data.物料名称
                                , "HMaterModel": data.规格型号
                                , "HUnitID": data.HUnitID
                                , "HUnitName": data.计量单位
                                , "HRemark": data.表头备注
                                , "HStandard": data.HStandard
                                , "HUse": data.HUseFlag
                                , "HMaker": data.制单人
                                , "HChecker": data.审核人
                                , "HCloseMan": data.关闭人
                                , "HUpDater": data.修改人
                                , "HDeleteMan": data.作废人
                                , "HMakeDate": data.制单日期 == null ? "" : Pub_Format(data.制单日期, "yyyy-MM-dd hh:mm:ss")
                                , "HCheckDate": data.审核日期 == null ? "" : Pub_Format(data.审核日期, "yyyy-MM-dd hh:mm:ss")
                                , "HCloseDate": data.关闭日期 == null ? "" : Pub_Format(data.关闭日期, "yyyy-MM-dd hh:mm:ss")
                                , "HUpDateDate": data.修改日期 == null ? "" : Pub_Format(data.修改日期, "yyyy-MM-dd hh:mm:ss")
                                , "HDeleteDate": data.作废日期 == null ? "" : Pub_Format(data.作废日期, "yyyy-MM-dd hh:mm:ss")
                            });
                            HStockOrgID = data.HStockOrgID == null ? 0 : data.HStockOrgID;
                            //子表  èµ‹å€¼
                            var rowdata = [];
                            for (let i = 0; i < result.data.length; i++) {
                                rowdata.push(
                                    {
                                        "HProcNo": result.data[i].工序号
                                        , "HProcID": result.data[i].HProcID
                                        , "工序代码": result.data[i].工序代码
                                        , '工序': result.data[i].工序名称
                                        , 'HWorkStationID': result.data[i].HWorkStationID
                                        , '工位代码': result.data[i].工位代码
                                        , '工位': result.data[i].工位名称
                                        , 'HCenterID': result.data[i].HCenterID
                                        , '工作中心代码': result.data[i].工作中心代码
                                        , '工作中心': result.data[i].工作中心
                                        , 'HSourceID': result.data[i].HSourceID
                                        , 'HSourceName': result.data[i].生产资源
                                        , 'HMouldID': result.data[i].HMouldID
                                        , 'HMouldName': result.data[i].模具
                                        , 'HRemark': result.data[i].HRemark
                                    }
                                )
                            }
                            // æŸ¥è¯¢å½“前数据在指定条件下的位置
                            option.data = rowdata;
                            table.render(option);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    },
                    error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("发生错误!", { icon: 5 });
                        return
                    }
                });
            }
            //#endregion
            //#region ç¼–辑时,获取已上传的文件列表
            function getFile() {
                var ProImgByList = $('#ProImgByList');
                $.ajax({
                    url: GetWEBURL() + '/Gy_SOPBill/GetFilelist',
                    type: "GET",
                    data: { "HBillNo": $("#HBillNo").val(), "HInterID": linterid },
                    success: function (data1) {
                        if (data1.count === 1 && data1.data && data1.data.length > 0) { // æ–°å¢žéžç©ºåˆ¤æ–­
                            ProImgByList.empty(); // å…ˆæ¸…空原有内容,避免重复渲染
                            data1.data.forEach(function (file, index) {
                                var tr = $(`
                                    <tr id="upload-${index}">
                                        <td>${file.HFileName}</td> <!-- æ–‡ä»¶åï¼ˆå¯è§ï¼‰ -->
                                        <td style="display: none;">${file.HPath}</td> <!-- éšè—çš„路径列 -->
                                        <td style="display: none;">${file.HItemID}</td> <!-- éšè—id -->
                                        <td>${(file.HFileSize / 1024).toFixed(1)}kb</td> <!-- æ–‡ä»¶å¤§å°ï¼ˆå¯è§ï¼‰ -->
                                        <td style="color: #5FB878;">上传成功</td> <!-- çŠ¶æ€ï¼ˆå¯è§ï¼‰ -->
                                        <td>
                                            <button class="layui-btn layui-btn-xs demo-dowload" onclick="dowload(this)">下载</button>
                                            <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" onclick="toManager(this)">删除</button>
                                        </td> <!-- æ“ä½œï¼ˆå¯è§ï¼‰ -->
                                    </tr>
                                `);
                                ProImgByList.append(tr);
                            });
                            // æ˜¾ç¤ºè¡¨æ ¼ï¼ˆè‹¥ä¹‹å‰éšè—ï¼‰
                            document.getElementById("right_table").style.visibility = '';
                        } else {
                            layer.alert("未查询到文件数据", { icon: 5 });
                        }
                    },
                    error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            // è¡¨æ ¼è¡Œå†…事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
@@ -827,6 +915,7 @@
                    });
                }
            }
            //表格行内事件快捷键筛选
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
@@ -953,18 +1042,100 @@
                                }
                            });
                        }
                        //生产资源
                        if (obj.event === 'HSourceName')  //生产资源
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '生产资源列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../../../views/基础资料/生产基础资料/Gy_Source.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('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HSourceID: checkStatus.data[0].HItemID,
                                        HSourceName: checkStatus.data[0].生产资源名称,
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                }
                            });
                        }
                        //器具档案
                        if (obj.event === 'HMouldName')  //工作中心
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '器具档案列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../../../views/模治具管理/模治具管理/Gy_MouldFileList.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('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HMouldID: checkStatus.data[0].hmainid,
                                        HMouldName: checkStatus.data[0].模具名称,
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //增加一行
            function btnAddLine(NewRow) {
                table.cache["mainTable"].push(NewRow);
                option.data = table.cache["mainTable"];
                table.render(option);
            }
            //复制一行
            function btnCopyLine(data) {
                var copydata = JSON.stringify(data);
@@ -1102,6 +1273,80 @@
            }
            //以上是layui模块
        });
        function dowload(btn) {
            console.log('下载按钮点击触发');
            event.preventDefault();
            var tr = $(btn).closest('tr');
            // èŽ·å–æ–‡ä»¶åï¼ˆç¬¬1列,eq(0))
            var fileName = tr.find('td:eq(0)').text();
            // èŽ·å–æ–‡ä»¶è·¯å¾„ï¼ˆç¬¬2列,eq(1))
            var fileUrl = tr.find('td:eq(1)').text(); // ä»Žæ–°å¢žçš„ td ä¸­æå–路径
            fileUrl = fileUrl.substring(fileUrl.toLowerCase().indexOf('/files'));
            if (!fileUrl) {
                layer.msg('文件路径为空', { icon: 2 });
                return;
            }
            // ç”Ÿæˆä¸‹è½½é“¾æŽ¥
            var a = document.createElement('a');
            a.href = fileUrl; // ç›´æŽ¥ä½¿ç”¨è·¯å¾„作为链接
            a.download = fileName; // ä½¿ç”¨æ–‡ä»¶åä½œä¸ºä¸‹è½½ä¿å­˜å
            a.style.display = 'none';
            document.body.appendChild(a);
            a.click();
            document.body.removeChild(a);
        }
        function toManager(btn) {
            event.preventDefault();
            var tr = $(btn).closest('tr');
            var rows = $("#ProImgByList tr").length; // èŽ·å–æ€»è¡Œæ•°
            // èŽ·å–æ–‡ä»¶åå’Œæ–‡ä»¶ID(根据你的数据结构调整)
            var fileName = tr.find('td:eq(0)').text();
            // èŽ·å–æ–‡ä»¶è·¯å¾„ï¼ˆç¬¬2列,eq(1))
            var fileUrl = tr.find('td:eq(1)').text(); // ä»Žæ–°å¢žçš„ td ä¸­æå–路径
            // èŽ·å–æ–‡ä»¶è·¯å¾„ï¼ˆç¬¬3列,eq(3))
            var fileId = tr.find('td:eq(2)').text(); // ä»Žæ–°å¢žçš„ td ä¸­æå–路径
            // ç¡®è®¤åˆ é™¤æç¤º
            layer.confirm(`确定要删除文件 "${fileName}" å—?`, {
                icon: 3,
                title: '确认删除'
            }, function (index) {
                layer.close(index); // å…³é—­ç¡®è®¤å¯¹è¯æ¡†
                // è°ƒç”¨åŽç«¯åˆ é™¤æŽ¥å£
                $.ajax({
                    url: GetWEBURL() + "/Gy_SOPBillEditController/DeleteFile",
                    type: 'GET',
                    data: {
                        HFileID: fileId, // ä¼ é€’文件ID
                        HPath: fileUrl // ä¼ é€’文件路径(可选,若后端需要)
                    },
                    success: function (data1) {
                        if (data1.count == 1) {
                            layer.alert(data1.Message, { icon: 1 });
                            $("#ProImgByList tr").eq((rows - 1)).remove();
                        }
                        else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            });
        }
    </script>
</body>
</html>