1
wangyi
2026-02-06 2ccacf7efd77c650c8a73193a8e07ac16b1023ab
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת¿¨/Sc_ProcessSendWorkEdit.html
@@ -11,6 +11,8 @@
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
@@ -24,6 +26,11 @@
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        .layui-table th, .layui-table td {
            white-space: nowrap; /* ä¸æ¢è¡Œ */
            overflow: hidden; /* è¶…出内容隐藏 */
            text-overflow: ellipsis; /* æ˜¾ç¤ºçœç•¥å· */
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
@@ -57,6 +64,7 @@
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <h1 style="text-align:center;"><b>工序流转卡派工</b></h1>
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
@@ -86,39 +94,29 @@
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产组织</label>
                                            <div class="layui-input-inline">
                                                <select name="HUSEORGID" id="HUSEORGID" lay-verify="HUSEORGID">
                                                <select name="HPRDORGID" id="HPRDORGID" lay-verify="HPRDORGID">
                                                    <!--动态渲染组织-->
                                                </select>
                                            </div>
                                        </div>
                                        <!--<div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">生产组织</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HPRDORGName" id="HPRDORGName" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
                                                <input type="hidden" name="HPRDORGID" id="HPRDORGID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchORG" id="btnSearchORG" style="width: 40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>-->
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">日期</label>
                                            <label class="layui-form-label">派工日期</label>
                                            <div class="layui-input-inline">
                                                <input type="date" class="layui-input" name="HDate" id="HDate">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">摘要</label>
                                        <div class="layui-col-xs6 layui-inline">
                                            <label class="layui-form-label" style="width:12.5%">摘要</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HExplanation" id="HExplanation" style="background-color:#efefef4d;">
                                                <input type="text" class="layui-input" name="HExplanation" id="HExplanation" style="background-color:#efefef4d;width:600px;">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline">
                                            <label class="layui-form-label">备注</label>
                                        <div class="layui-col-xs6 layui-inline">
                                            <label class="layui-form-label" style="width:12.5%">备注</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HRemark" id="HRemark" style="background-color:#efefef4d;">
                                                <input type="text" class="layui-input" name="HRemark" id="HRemark" style="background-color:#efefef4d;width:600px;">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs3 layui-inline" style="display:none">
@@ -130,7 +128,7 @@
                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" value="">
                                            </div>
                                        </div>
                                    </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
@@ -213,6 +211,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>
                </form>
@@ -251,6 +250,14 @@
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
        var HModuleType = "3798";
        //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
        var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
        $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
        var HModName = 'Sc_ProcessSendWorkEdit'
        //初始化界面
        set_ClearBill();
@@ -266,6 +273,7 @@
            var linterid = params[params[1]];//源单id
            var HEntryID = params[params[2]];//源单子id
            var HIeID = params[params[3]]; //源单id + æºå•子id
            var HEmpIDs = params[params[4]];//职员列表
        }
        //工序派工新增
@@ -281,13 +289,13 @@
                    $("#HMaker").val(sessionStorage["HUserName"]);
                }
            });
            //查询工序流转卡
            get_ProcessExchange();
            //初始化界面
            set_ClearBill();
            //查询工序流转卡
            get_ProcessExchange();
        } else if (OperationType == 3) {
            //禁用组织选项
            $("#HUSEORGID").attr("disabled", true);
            $("#HPRDORGID").attr("disabled", true);
            //初始化界面
            set_ClearBill();
            RoadBillMain(linterid);
@@ -303,6 +311,7 @@
                , data = checkStatus.data;
            //新增行表格数据
            var NewRow = {
                "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": "", "HSourceBillType": "",
                "HProcNo": 0, "HProcName": "", "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HMaterModel": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "",
                "HSourceID": 0, "HSourceNumber": "", "HSourceName": "", "HWorkerID": 0, "HWorkerNumber": "", "HWorkerName": "",
                "HGroupID": 0, "HGroupNumber": "", "HGroupName": "", "HPlanQty": 0, "HQty": 0, "HBatchNo": "", "HPlanBeginDate": new Date(), "HPlanEndDate": new Date(),
@@ -338,6 +347,10 @@
                        }
                        form.render('select');
                    }
                    break;
                //列设置
                case 'set_HideColumn':
                    get_HideColumnEdit(HModName, sessionStorage["HUserName"], option, table)
                    break;
            }
        });
@@ -401,7 +414,7 @@
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_MaterialList.html', 'yes'],
                            content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
@@ -411,10 +424,10 @@
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HMaterName: checkStatus.data[0].HName
                                    HMaterName: checkStatus.data[0].物料名称
                                    , HMaterID: checkStatus.data[0].HItemID
                                    , HMaterNumber: checkStatus.data[0].HNumber
                                    , HMaterModel: checkStatus.data[0].HModel
                                    , HMaterNumber: checkStatus.data[0].物料代码
                                    , HMaterModel: checkStatus.data[0].规格型号
                                });
                                layer.close(layer.index);
@@ -435,7 +448,7 @@
                            shift: 2,
                            area: ['90%', '90%'],
                            maxmin: true,
                            content: ['../../../views/Baseset/基础资料/Gy_UnitList.html', 'yes'],
                            content: ['../../../views/基础资料/公用基础资料/Gy_Unit.html', 'yes'],
                            btn: ['确定', '取消']
                            , btn1: function (index, layero) {
                                //按钮【按钮一】的回调
@@ -445,9 +458,9 @@
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    HUnitName: checkStatus.data[0].HName
                                    HUnitName: checkStatus.data[0].计量单位名称
                                    , HUnitID: checkStatus.data[0].HItemID
                                    , HUnitNumber: checkStatus.data[0].HNumber
                                    , HUnitNumber: checkStatus.data[0].计量单位代码
                                });
                                layer.close(layer.index);
@@ -581,6 +594,11 @@
            }
        });
        //打印
        form.on('submit(btn_print)', function (data) {
            get_print(data);
        });
        //选择生产车间弹窗
        form.on('submit(btnSearchWorkShop)', function () {
            layer.open({
@@ -590,7 +608,7 @@
                , shade: 0.6 //遮罩透明度
                //, maxmin: true //允许全屏最小化
                , anim: 0 //0-6的动画形式,-1不开启
                , content: ['../../Baseset/基础资料/Gy_DepartmentList.html', 'yes']
                , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {
@@ -600,7 +618,7 @@
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    $("#HWorkShopName").val(checkStatus.data[0].HName);
                    $("#HWorkShopName").val(checkStatus.data[0].部门名称);
                    $("#HWorkShopID").val(checkStatus.data[0].HItemID);
                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
@@ -625,6 +643,7 @@
            $("#HPlanEndDate").val(Format(new Date().setMonth(new Date().getMonth() + 1), "yyyy-MM-dd"));//工序计划完工日期
            //初始化表格
            set_InitGrid();
            DisPlay_HideColumnEdit(HModName, sessionStorage["HUserName"], option, table)
        }
        //获取组织
@@ -640,8 +659,8 @@
                        for (var i = 0; i < data.length; i++) {
                            Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                        }
                        $("#HUSEORGID").append(Organization);
                        $("#HUSEORGID").val(sessionStorage["OrganizationID"])
                        $("#HPRDORGID").append(Organization);
                        $("#HPRDORGID").val(sessionStorage["OrganizationID"])
                        form.render('select');
                    }
                    layer.closeAll("loading");
@@ -654,9 +673,19 @@
            //表头
            columns = [ //表头
                { type: 'checkbox', totalRowText: '合计行' }
                , { type: 'numbers', title: '序号', totalRow: true }
                , { type: 'numbers', field: '序号', title: '序号' }
                , { field: 'HMainID', title: '派工单主ID', hide: true }// ç”¨äºŽæ‰“印时获取数据
                , { field: 'HEntryID', title: '派工单子ID', hide: true }// ç”¨äºŽæ‰“印时获取数据
                , { field: 'HSourceInterID', title: '流转卡ID', hide: true }
                , { field: 'HSourceEntryID', title: '流转卡子ID', hide: true }
                , { field: 'HSourceBillNo', title: '流转卡号', width: 165 }
                , { field: 'HSourceBillType', title: '单据类型', hide: true }
                , { field: 'HProcNo', title: '流水号' }
                , { field: 'HProcName', title: '工序名称' }
                , { field: 'HPlanQty', title: '流转卡数量',totalRow: true }
                , { field: 'HQty', title: '派工数量', totalRow: true, edit: 'text'}
                , { field: 'HPlanBeginDate', title: '要求开工日期', width: 120, templet: "<div>{{d.HPlanBeginDate ==null ?'':layui.util.toDateString(d.HPlanBeginDate, 'yyyy-MM-dd')}}</div>", event: 'HPlanBeginDate' }
                , { field: 'HPlanEndDate', title: '要求完工日期', width: 120, templet: "<div>{{d.HPlanEndDate ==null ?'':layui.util.toDateString(d.HPlanEndDate, 'yyyy-MM-dd')}}</div>", event: 'HPlanEndDate' }
                , { field: 'HMaterID', title: '产品ID', hide: true }
                , { field: 'HMaterNumber', title: '产品代码', edit: 'text', event: "HMaterCheck" }
                , { field: 'HMaterName', title: '产品名称' }
@@ -668,16 +697,12 @@
                , { field: 'HSourceNumber', title: '生产资源代码', edit: 'text', event: "HSourceCheck" }
                , { field: 'HSourceName', title: '生产资源名称' }
                , { field: 'HWorkerID', title: '操作工ID', hide: true }
                , { field: 'HWorkerNumber', title: '操作工代码', edit: 'text', event: "HWorkerCheck" }
                , { field: 'HWorkerName', title: '操作工名称' }
                , { field: 'HWorkerNumber', title: '操作工代码', edit: 'text', event: "HWorkerCheck", hide: false }
                , { field: 'HWorkerName', title: '操作工名称', hide: true }
                , { field: 'HGroupID', title: '班组ID', hide: true }
                , { field: 'HGroupNumber', title: '班组代码', edit: 'text', event: "HGroupCheck" }
                , { field: 'HGroupName', title: '班组名称' }
                , { field: 'HPlanQty', title: '流转卡数量' }
                , { field: 'HQty', title: '派工数量', edit: 'text'}
                , { field: 'HGroupNumber', title: '班组代码', edit: 'text', event: "HGroupCheck", hide: true}
                , { field: 'HGroupName', title: '班组名称', hide: true}
                , { field: 'HBatchNo', title: '批次', edit: 'text' }
                , { field: 'HPlanBeginDate', title: '要求开工日期', width: 120, templet: "<div>{{d.HPlanBeginDate ==null ?'':layui.util.toDateString(d.HPlanBeginDate, 'yyyy-MM-dd')}}</div>", event: 'HPlanBeginDate' }
                , { field: 'HPlanEndDate', title: '要求完工日期', width: 120, templet: "<div>{{d.HPlanEndDate ==null ?'':layui.util.toDateString(d.HPlanEndDate, 'yyyy-MM-dd')}}</div>", event: 'HPlanEndDate' }
                , { field: 'HICMOBillNo', title: '任务单号', hide: true }
                , { field: 'HICMOInterID', title: '任务单ID', hide: true }
                , { field: 'HICMOEntryID', title: '任务单子内码', hide: true }
@@ -688,6 +713,7 @@
                , elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , page: false
                , totalRow: true
                , cellMinWidth: 120
                , height: 400
                , cols: [columns]
@@ -712,6 +738,7 @@
                }
            };
            option.data = [{
                "HSourceInterID": 0, "HSourceEntryID": 0, "HSourceBillNo": "", "HSourceBillType": "",
                "HProcNo": 0, "HProcName": "", "HMaterID": 0, "HMaterNumber": "", "HMaterName": "", "HMaterModel": "", "HUnitID": 0, "HUnitNumber": "", "HUnitName": "",
                "HSourceID": 0, "HSourceNumber": "", "HSourceName": "", "HWorkerID": 0, "HWorkerNumber": "", "HWorkerName": "",
                "HGroupID": 0, "HGroupNumber": "", "HGroupName": "", "HPlanQty": 0, "HQty": 0, "HBatchNo": "", "HPlanBeginDate": new Date(), "HPlanEndDate": new Date(),
@@ -749,6 +776,7 @@
                        for (var i = 0; i < result.data.length; i++) {
                            rowdata.push(
                                {
                                    "HSourceInterID": result.data[i]["hmainid"], "HSourceEntryID": result.data[i]["HEntryID"], "HSourceBillNo": result.data[i]["单据号"], "HSourceBillType": result.data[i]["HBillType"],
                                    "HProcNo": result.data[i]["流水号"], "HProcName": result.data[i]["工序名称"], "HMaterID": result.data[i]["HMaterID"], "HMaterNumber": result.data[i]["产品代码"], "HMaterName": result.data[i]["产品名称"], "HMaterModel": result.data[i]["规格型号"], "HUnitID": result.data[i]["HUnitID"], "HUnitNumber": result.data[i]["单位代码"], "HUnitName": result.data[i]["单位"],
                                    "HSourceID": result.data[i]["HSourceID"], "HSourceNumber": result.data[i]["生产资源代码"], "HSourceName": result.data[i]["生产资源"], "HWorkerID": result.data[i]["HWorkerID"], "HWorkerNumber": result.data[i]["操作工代码"], "HWorkerName": result.data[i]["操作工"],
                                    "HGroupID": result.data[i]["HGroupID"], "HGroupNumber": result.data[i]["班组代码"], "HGroupName": result.data[i]["班组"], "HPlanQty": result.data[i]["流转卡数量"], "HQty": 0, "HBatchNo": result.data[i][""], "HPlanBeginDate": new Date(),
@@ -757,6 +785,9 @@
                            )
                        }
                        option.data = rowdata;
                        setTableHEmp(HEmpIDs);
                        table.render(option);
                        form.render('select');
                    } else {
@@ -769,7 +800,53 @@
            });
        }
        function setTableHEmp(HEmpIDs) {
            if (HEmpIDs != undefined && HEmpIDs != null && HEmpIDs != 0 && HEmpIDs != "") {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + "/Gy_Employee/list",
                    async: false,
                    type: "GET",
                    data: {
                        "sWhere": " and HItemID in (" + HEmpIDs + ")", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"]
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            const newData = [];
                            // éåކ option.data çš„æ¯ä¸ªå¯¹è±¡
                            option.data.forEach(templateItem => {
                                // å¯¹æ¯ä¸ª templateItem,复制 data1.length æ¬¡
                                data.forEach(dataItem => {
                                    // æ·±æ‹·è´ templateItem
                                    const newItem = JSON.parse(JSON.stringify(templateItem));
                                    // æ›¿æ¢å­—段
                                    newItem.HWorkerID = dataItem.HItemID;
                                    newItem.HWorkerNumber = dataItem.职员代码;
                                    newItem.HWorkerName = dataItem.职员名称;
                                    // æ·»åŠ åˆ°æ–°æ•°ç»„
                                    newData.push(newItem);
                                });
                            });
                            // æ›¿æ¢åŽŸ option.data
                            option.data = newData;
                            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 });
                    }
                });
            }
        }
        //非空验证
        function AllowLoadData(data) {
            
@@ -777,7 +854,6 @@
        //保存HMaker
        function set_AddNew(data) {
            var num_1 = [];
            for (var i = 0; i < table.cache["mainTable"].length; i++) {
                if (table.cache["mainTable"][i] != "") {
@@ -785,11 +861,9 @@
                    num_1.push(table.cache["mainTable"][i])
                }
            }
            var sMainStr = JSON.stringify(data.field);
            var sSubStr = JSON.stringify(num_1);
            var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
            var index = layer.load();
            $.ajax({
                type: "POST",
@@ -820,7 +894,7 @@
        {
            var sWhere = " and hmainid=" + linterid;
            $.ajax({
                url: GetWEBURL() + "/Sc_ProcExchSendWorkBill/Sc_ProcExchSendWorkBillList",
                url: GetWEBURL() + "/Sc_ProcExchSendWorkBill/Sc_ProcExchSendWorkBillEdit",
                type: "GET",
                async: false,
                data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
@@ -855,6 +929,32 @@
            })
        }
        //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
        table.on('row(mainTablemainTable)', function (obj) {
            //选中行改变颜色
            var flag = !obj.tr.find(':checkbox:first').prop('checked');
            obj.tr.find(':checkbox').prop('checked', flag);
            if (flag) {
                obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
            } else {
                obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
            }
            //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
            layui.each(table.cache.mainTable, function (i, l) {
                if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                    l.LAY_CHECKED = flag;
                }
            });
        })
            //#endregion
        //打印
        function get_print(data) {
        }
        function get_UrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');