yangle
2023-08-03 cba0ef063a24b5b965bfa943cf1c8d2c8acba84a
WebTM/views/³µ¼ä¹ÜÀí/¹¤ÐòÁ÷ת/MES_StationOutBill_PDA_Detail.html
@@ -65,6 +65,8 @@
                                    <th>流水号</th>
                                    <td class="bz_td">
                                        <input type="text" name="HProcNo" class="layui-input" id="HProcNo" placeholder="流水号" style="border-radius:50px;background-color:#efefef4d;" readonly>
                                        <input type="hidden" name="HBillNo_bak" id="HBillNo_bak" autocomplete="off" class="layui-input">
                                        <input type="hidden" name="HInterID" id="HInterID" autocomplete="off" class="layui-input">
                                    </td>
                                </tr>
                                <tr>
@@ -139,7 +141,19 @@
                }
                return vars;
            }
            var params = getUrlVars();
            var params = getUrlVars();
            $("#HBillNo_bak").val(params[params[0]]);
            $("#HProcNo").val(params[params[2]]);
            $("#HPlanQty").val(params[params[3]]);
            $("#HWorkProcID").val(params[params[4]]);
            $("#HInterID").val(params[params[8]]);
            var HProcExchBillNo = params[params[1]];
            var HWorkProcID = params[params[4]];
            var HMaterID = params[params[5]];
            var HProcExchHinteID = params[params[6]];
            if (typeof (params[params[0]]) == "undefined") {
                var OperationType = 1;//操作类型
                var closeType = 2;  //关闭类型
@@ -159,7 +173,7 @@
                    get_DisplayTech(HBillNo);
                }
            } else {
                var OperationType = params[params[0]];//操作类型
                var OperationType = params[params[7]];//操作类型
                var linterid = params[params[1]];//源单id
                var HSouceBillType = params[params[2]];//源单类型
                var HBillNo = params[params[3]];  //获取单据号
@@ -169,9 +183,10 @@
            var option = [];
            get_Display(HMaterID, HWorkProcID, HProcExchBillNo);
            set_InitGrid();
            //头工具栏事件
            //#region [头工具栏事件]
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
@@ -213,6 +228,12 @@
                        break;
                }
            });
            //#endregion
            //提交按钮
            form.on('submit(Saver)', function (data) {
                Saver(data);
            });
            //#region é€€å‡ºæŒ‰é’®
            form.on('submit(Cancel)', function () {
@@ -230,8 +251,10 @@
            })
            //#endregion
            //行内事件
            //#region [行内事件]
            table.on('tool(mainTable)', function (obj) {
                set_GridCellCheck(obj); //行内获取数据
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
@@ -244,20 +267,38 @@
                            layer.close(index);
                        }
                    });
                }
            });
            //#endregion
            //监听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                switch (field) {
                    case 'HQty':
                        obj.update({
                            HMoney: obj.data.HProcPrice * obj.data.HQty     //工资=工价 * æ•°é‡
                        });
                        break;
                }
            });
            //初始化表格
            function set_InitGrid() {
                //表头
                //表头
                columns = [ //表头
                    //{ type: 'checkbox', totalRowText: '合计行' }
                    { field: 'HProcID', title: '工资', width: 70 }
                    , { field: 'HProcNumber', title: '职员', width: 60 }
                    , { field: 'HProcName', title: '工价', width: 60 }
                    , { field: 'HGroupID', title: '数量', width: 60 }
                    , { field: 'HGroupNumber', title: '生产资源', width: 60 }
                    , { type: 'numbers', title: '序号', totalRow: true, width: 50 }
                    { field: 'HMoney', title: '工资', width: 70 }
                    , { field: 'HWorkEmpID', title: '职员ID', width: 60, hide: true }
                    , { field: 'HWorkName', title: '职员', edit: 'text', event: "HWorkName" }
                    , { field: 'HRate', title: '职员系数', width: 60, hide: true }
                    , { field: 'HProcPrice', title: '工价', width: 60 }
                    , { field: 'HQty', title: '数量', width: 60, edit: 'text', event:'HQty',totalRow: true}
                    , { field: 'HWorkSourceID', title: '生产资源ID', width: 60, hide: true }
                    , { field: 'HWorkSourceName', title: '生产资源', width: 60 }
                    , { type: 'numbers', title: '序号', width: 50 }
                    //, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ];
@@ -269,32 +310,156 @@
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [columns]
                    , limit: Number.MAX_VALUE//默认显示全部
                    , done: function (res, curr, count) {
                        option.data = res.data;
                        //去掉下拉框失焦事件否则在下拉框里输入值
                        $('.layui-form-select').find('input').unbind("blur");
                        //表格重载回显下拉框里的数据
                        $('tr').each(function (e) {
                            var $cr = $(this);
                            var dataIndex = $cr.attr("data-index");
                            $.each(option.data, function (index, value) {
                                if (value.LAY_TNDEX == dataIndex) {
                                    $cr.find('input').val(value.HSupFlag);
                                }
                            });
                        });
                    }
                    , done: function (res, curr, count) {
                    }
                    //, totalRow: true
                };
                option.data = [{
                    "HWorkEmpID": 0, "HWorkEmpNumber": "", "HWorkName": "", "HWorkSourceID ": 0, "HWorkSourceNumber": "", "HWorkSourceName": "",
                    "HQty": 0, "HRate": 0, "HProcPrice": 0, "HMoney": 0, "HWorkProcID": 0, "HWorkProcNumber": "", "HWorkProcName": ""
                }];
                table.render(option);
            }
            //#region åŠ è½½è¡¨å¤´
            function get_Display(HMaterID, HWorkProcID, HProcExchBillNo) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + "/Cj_StationOutBill_Detail/get_Display2",
                    type: "GET",
                    data: { "HMaterID": HMaterID, "HWorkProcID": HWorkProcID, "HProcExchBillNo": HProcExchBillNo },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            $("#HWorkProcName").val(result.data[0]["工序名称"]);
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                //"HWorkProcName": data.工序名称
                                //"HBillNo": data.单据号
                                //, "HDate": formatDate(data.日期)
                            });
                            //子表  èµ‹å€¼
                            var rowdata = [];
                            for (var i = 0; i < result.data.length; i++) {
                                rowdata.push(
                                    {
                                        "HWorkEmpID": 0, "HWorkEmpNumber": "", "HWorkName": "", "HWorkSourceID": data[i].生产资源ID, "HWorkSourceNumber": "", "HWorkSourceName": data[i].生产资源名称,
                                        "HQty": 0, "HRate": 0, "HProcPrice": data[i].工价, "HMoney": 0, "HWorkProcID": 0, "HWorkProcNumber": "", "HWorkProcName": ""
                                    }
                                )
                            }
                            option.data = rowdata;
                            table.render(option);
                            form.render('select');
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region æäº¤æ–¹æ³•
            function Saver(data) {
                var num = [];
                var number = 0;
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                        number = parseInt(number) + parseInt(num[i].HQty);
                    }
                }
                if ($("#HPlanQty").val() < number) {
                    layer.msg("数量超出!");
                    return;
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(num);
                //var hentryid = linteridSub;//子表 æŽ’序id
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ';' + sessionStorage["HUserName"];
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "Cj_StationOutBill/AddBill_Detail", //方法所在页面和方法名
                    async: true,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            layer.msg(data.Message, { icon: 1 });
                            $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                            //保存后浏览
                            //ReRoadBillMain();
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.alert("错误:" + err, { icon: 5 });
                        console.log("Reason" + sMainStr);
                    }
                });
            }
            //#endregion
            function set_GridCellCheck(obj) {
                var data = obj.data;
                var employeeBar;
                if (obj.event === 'HWorkName') {
                    $(obj.tr).find(".layui-table-edit").keyup(function () {
                        var $input = $(this), val = $input.val();
                        /*if (!val) val = "0";*/
                        //$input.val(val.replace(/[^\d]/g, ''));
                        employeeBar = val;//单元实时格数据
                    });
                }
                //回车/扫码 èŽ·å–èŒå‘˜åç§°
                $(document).on('keydown', '.layui-table-edit', function (event) {
                    if (event.keyCode == 13) {
                        var data = obj.data;
                        var index = layer.load();
                        $.ajax({
                            url: GetWEBURL() + "/Cj_StationBill/txtHBarCode_KeyDown2",
                            type: "GET",
                            async: false,
                            data: { "HBarCode": employeeBar, "HInterID": HProcExchHinteID, "UserID": sessionStorage["Czybm"], "HBillType": "Out" },
                            success: function (result) {
                                if (result.count == 1) {
                                    $("#HPlanQty").focus();
                                    obj.update({
                                        "HWorkEmpID": result.data[0].HItemID,
                                        "HWorkName": result.data[0].职员名称,
                                        "HRate": result.data[0].职员系数
                                    })
                                    layer.close(index);
                                    return;
                                }
                                else {
                                    layer.close(index);
                                    layer.msg(result.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: "温馨提示" });
                            }
                        });
                        setTimeout(function () {
                        }, 1000);
                        obj.event = "";
                        return false;
                    }
                })
            }
            
            //以上为layui模块