duhe
2024-01-19 d0c4ee2d8acfca9c216acb9ee043be0112751069
WebTM/views/»ù´¡×ÊÁÏ/¹¤×Ê»ù´¡×ÊÁÏ/Gy_ProcPrice.html
@@ -39,9 +39,9 @@
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 10px;">
                        <button type="button" class="layui-btn layui-btn-sm" lay-submit="" lay-filter="btn-AddNew" id="btn-AddNew">新增</button>
                        <button type="button" class="layui-btn layui-btn-sm" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button type="button" class="layui-btn layui-btn-sm" lay-submit="" lay-filter="btn-Exit" id="btn-Exit">退出</button>
                        <button type="button" class="layui-btn layui-btn-normal" style="margin-left: 0px" lay-submit="" lay-filter="btn-AddNew" id="btn-AddNew">新增</button>
                        <button type="button" class="layui-btn layui-btn-normal" style="margin-left: 0px" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button type="button" class="layui-btn layui-btn-normal" style="margin-left: 0px" lay-submit="" lay-filter="btn-Exit" id="btn-Exit">退出</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
@@ -51,14 +51,14 @@
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-form-item" style="padding-top: 10px;">
                                <div class="layui-form-item">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">固定项目</label>
                                            <div class="layui-input-block">
                                                <input type="radio" name="HSelectCus" id="HSelectCus" value="true" title="工序">
                                                <input type="radio" name="HSelectMater" id="HSelectMater" value="false" title="物料">
                                                <input type="radio" name="HSelectCusNone" id="HSelectCusNone" value="false" title="自由" checked>
                                                <input type="radio" name="FixedItems" value="SProc" title="工序">
                                                <input type="radio" name="FixedItems" value="SMater" title="物料">
                                                <input type="radio" name="FixedItems" value="SFree" title="自由" checked>
                                            </div>
                                        </div>
                                    </div>
@@ -68,6 +68,7 @@
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HProcNumber" id="HProcNumber" onmouseover="this.title=this.value" style="float: left; width: 150px; background-color: #efefef4d; display: inline-block;" readonly>
                                                <input type="hidden" name="HProcID" id="HProcID" value="0">
                                                <input type="hidden" name="HItemID" id="HItemID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchProc" id="btnSearchProc" style="width: 40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
@@ -198,6 +199,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>
                    <input type="hidden" name="HItemID" id="HItemID" value="0">
@@ -242,11 +244,14 @@
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
                , element = layui.element
                , util = layui.util;
            //公用变量
            var rowdata;
            var option = [];
            var HModName = "Gy_ProcPrice";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HItemID","HDeptID","HMaterIDCol","HProcIDCol","HSourceIDCol"];
            //判断是否登录 æœªç™»å½•则跳到登录页
            //if (sessionStorage.login != "login") {
            //    layer.confirm("登录失效,请重新登录!", {
@@ -264,17 +269,24 @@
            //判断是否新增
            if (OperationType == 1.1) {
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
            }
            else if (OperationType == 2) {
            else if (OperationType == 1.2) {
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
            }
            else if (OperationType == 3) {
                $("#HUpDateDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HUpDater").val(sessionStorage["HUserName"]);
                GetProcPriceValue(linterid);
            }
            //初始化表格
            set_InitGrid();
            if (linterid == undefined) {
                linterid = 0;
            }
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
@@ -289,6 +301,23 @@
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        var FixedItems = $('input:radio[name="FixedItems"]:checked').val();
                        if (FixedItems == "SFree") {
                        }
                        else if (FixedItems == "SMater") {
                            NewRow.HMaterIDCol = $("#HMaterID").val();
                            NewRow.HMaterNumberCol = $("#HMaterNumber").val();
                            NewRow.HMaterNameCol = $("#HMaterName").val();
                            NewRow.HMaterModelCol = $("#HMaterModel").val();
                        }
                        else if (FixedItems == "SProc") {
                            NewRow.HProcIDCol = $("#HProcID").val();
                            NewRow.HProcNumberCol = $("#HProcNumber").val();
                            NewRow.HProcNameCol = $("#HProcName").val();
                        }
                        NewRow.HBeginDateCol = Format(new Date(), "yyyy-MM-dd");
                        NewRow.HEndDateCol = "2100-01-01";
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
@@ -320,6 +349,9 @@
                            }
                            form.render('select');
                        }
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                }
            });
@@ -368,6 +400,36 @@
                    });
                }
                if (obj.event == 'HBeginDateCol') {
                    var field = $(this).data('field');
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (nowDate) {
                            //时间选择完成,行数据更新
                            data[field] = nowDate;
                            obj.update(data);
                            checkRefresh();
                        }
                    });
                }
                if (obj.event == 'HEndDateCol') {
                    var field = $(this).data('field');
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (nowDate) {
                            //时间选择完成,行数据更新
                            data[field] = nowDate;
                            obj.update(data);
                            checkRefresh();
                        }
                    });
                }
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event == 'HMaterCheck')
@@ -384,7 +446,7 @@
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    var iframeWindow = window['layui-layer-iframe' + index]  
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');
                                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
@@ -394,6 +456,14 @@
                                        , HMaterNameCol: checkStatus.data[0].HName
                                        , HMaterModelCol: checkStatus.data[0].HModel
                                    });
                                    var FixedItems = $('input:radio[name="FixedItems"]:checked').val();
                                    if (FixedItems == "SProc") {
                                        obj.update({
                                            HProcIDCol: $("#HProcID").val()
                                            , HProcNumberCol: $("#HProcNumber").val()
                                            , HProcNameCol: $("#HProcName").val()
                                        });
                                    }
                                    layer.close(layer.index);
                                }
                                , btn2: function (index, layero) {
@@ -416,7 +486,7 @@
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    var iframeWindow = window['layui-layer-iframe' + index] 
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');
                                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
@@ -425,6 +495,15 @@
                                        , HProcNumberCol: checkStatus.data[0].工序代码
                                        , HProcNameCol: checkStatus.data[0].工序
                                    });
                                    var FixedItems = $('input:radio[name="FixedItems"]:checked').val();
                                    if (FixedItems == "SMater") {
                                        obj.update({
                                            HMaterIDCol: $("#HMaterID").val()
                                            , HMaterNumberCol: $("#HMaterNumber").val()
                                            , HMaterNameCol: $("#HMaterName").val()
                                            , HMaterModelCol: $("#HMaterModel").val()
                                        });
                                    }
                                    layer.close(layer.index); 
                                }
                                , btn2: function (index, layero) {
@@ -476,29 +555,39 @@
                set_SaveBill(data);
            });
            //保存
            function set_SaveBill(data) {
                var sSubTable = table.cache['mainTable'];
                //删除子表数据 ä¼šå ç”¨æ•°ç»„的位置,需要重新排一下顺序
                var num = [];
                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])
                    }
                }
                var sSubTable = num;
                for (var i = 0; i < sSubTable.length; i++) {
                    if (!sSubTable[i].HMaterIDCol) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,物料不能为空!", { icon: 7, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        layer.msg("第" + indexRow + "行,物料不能为空!");
                        return;
                    }
                    if (!sSubTable[i].HProcIDCol) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,工序不能为空!", { icon: 7, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        layer.msg("第" + indexRow + "行,工序不能为空!");
                        return;
                    }
                    if (!sSubTable[i].HSourceNumberCol) {
                        var indexRow = i + 1;
                        layer.msg("第" + indexRow + "行,资源不能为空!", { icon: 7, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        layer.msg("第" + indexRow + "行,资源不能为空!");
                        return;
                    }
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType;
                var sSubStr = JSON.stringify(num);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
@@ -508,14 +597,6 @@
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) {
                            //layer.confirm(data.Message, {
                            //    icon: 1, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['新增'],
                            //    btn2: function () {
                            //        //parent.layui.admin.events.closeThisTabs();关闭页签
                            //        //window.close();//关闭页面,浏览器有效,PDA无效
                            //        parent.location.href = "../../../views/index.html"
                            //    }//关闭
                            //}, function () { window.location.reload(); });//新增
                            layer.close(index);
                            layer.msg("提交成功");
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);//保存按钮
@@ -550,7 +631,7 @@
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
@@ -589,7 +670,7 @@
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
@@ -629,7 +710,7 @@
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
@@ -653,8 +734,6 @@
            //初始化表格
            function set_InitGrid() {
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
                rowdata = [{
                    "HMaterIDCol": "", "HMaterNumberCol": "", "HMaterNameCol": "", "HMaterModelCol": "", "HProcIDCol": "",
                    "HProcNumberCol": "", "HProcNameCol": "", "HSourceIDCol": "", "HSourceNumberCol": "", "HSourceNameCol": "", "HPriceCol": "",
@@ -664,7 +743,9 @@
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 500
                    , page: true
                    , limits: [50, 500, 5000, 50000]
                    , limit: 50
                    , height: 'full-250'
                    , cellMinWidth: 90
                    , cols: [[ 
@@ -680,8 +761,8 @@
                        , { field: 'HSourceNumberCol', title: '资源代码', edit: 'text', event: "HSourceCheck" }
                        , { field: 'HSourceNameCol', title: '资源名称' }
                        , { field: 'HPriceCol', title: '单价', edit: 'text' }
                        , { field: 'HBeginDateCol', title: '开始日期', edit: 'text' }
                        , { field: 'HEndDateCol', title: '结束日期', edit: 'text' }
                        , { field: 'HBeginDateCol', title: '开始日期', event: "HBeginDateCol" }
                        , { field: 'HEndDateCol', title: '结束日期', event: "HEndDateCol" }
                        , { field: 'HCostFlagCol', title: '成本必选', templet: '#HCostFlagCol' }
                        , { field: 'HFlowFlagCol', title: '流转默认', templet: '#HFlowFlagCol' }
                        , { field: 'HPayFlagCol', title: '工资默认', templet: '#HPayFlagCol' }
@@ -707,6 +788,8 @@
                        none: '无数据!'
                    }
                };
                rowdata[0].HBeginDateCol = Format(new Date(), "yyyy-MM-dd");
                rowdata[0].HEndDateCol = "2100-01-01";
                option.data = rowdata;
                table.render(option);
            }
@@ -741,6 +824,190 @@
                });
            });
            //多选  åˆ·æ–°è¡¨æ ¼
            function checkRefresh() {
                for (var i = 1; i <= option.data.length; i++) {
                    $('#HCostFlagCol' + i + '').find("option[value='" + option.data[i - 1].HCostFlagCol + "']").attr("selected", true);
                    $('#HFlowFlagCol' + i + '').find("option[value='" + option.data[i - 1].HFlowFlagCol + "']").attr("selected", true);
                    $('#HPayFlagCol' + i + '').find("option[value='" + option.data[i - 1].HPayFlagCol + "']").attr("selected", true);
                }
                form.render('select');
            }
            //编辑
            function GetProcPriceValue(HItemID) {
                if (HItemID == '' || HItemID == null) {
                    HItemID = 0;
                }
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + "/Gy_ProcPrice/GetProcPriceValue",
                    type: "GET",
                    data: { "HItemID": HItemID },
                    success: function (d) {
                        layer.close(ajaxLoad);
                        if (d.count == 1) {//主表
                            form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HItemID": d.data[0].HItemID
                                , "HProcNumber": d.data[0].工序代码
                                , "HProcID": d.data[0].HProcIDCol
                                , "HProcName": d.data[0].工序名称
                                , "HMaterNumber": d.data[0].物料代码
                                , "HMaterID": d.data[0].HMaterID
                                , "HMaterName": d.data[0].物料名称
                                , "HMaterModel": d.data[0].规格型号
                                , "HDeptName": d.data[0].部门名称
                                , "HDeptID": d.data[0].Hdeptid
                                , "HMakeDate": Format(new Date(d.data[0].制单日期), 'yyyy-MM-dd')
                                , "HMaker": d.data[0].制单人
                            });
                            var rowdata = [];
                            for (var i = 0; i < d.data.length; i++) {
                                //子表  èµ‹å€¼
                                rowdata.push({
                                    "HMaterIDCol": d.data[i].HMaterID, "HMaterNumberCol": d.data[i].物料代码, "HMaterNameCol": d.data[i].物料名称, "HMaterModelCol": d.data[i].规格型号, "HProcIDCol": d.data[i].HProcID,
                                    "HProcNumberCol": d.data[i].工序代码, "HProcNameCol": d.data[i].工序名称, "HSourceIDCol": d.data[i].HSourceID, "HSourceNumberCol": d.data[i].资源代码, "HSourceNameCol": d.data[i].资源名称, "HPriceCol": d.data[i].单价,
                                    "HBeginDateCol": Format(new Date(d.data[i].开始日期), 'yyyy-MM-dd'), "HEndDateCol": Format(new Date(d.data[i].结束日期), 'yyyy-MM-dd'), "HCostFlagCol": (d.data[i].HCostFlag == 0 ? false : true), "HFlowFlagCol": (d.data[i].HFlowFlag == 0 ? false : true), "HPayFlagCol": (d.data[i].HPayFlag == 0 ? false : true),
                                    "HRemarkCol": d.data[i].备注
                                });
                            }
                            option.data = rowdata;
                            table.render(option);
                            for (var i = 0; i < d.data.length; i++) {
                                $('#HCostFlagCol' + (i + 1)).find("option[value='" + d.data[i].HCostFlag + "']").attr("selected", true);
                                $('#HFlowFlagCol' + (i + 1)).find("option[value='" + d.data[i].HFlowFlag + "']").attr("selected", true);
                                $('#HPayFlagCol' + (i + 1)).find("option[value='" + d.data[i].HPayFlag + "']").attr("selected", true);
                            }
                            form.render('select');
                        } else {
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#region éšè—åˆ—设置
            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 æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                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 (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                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;
                                }
                            }
                            //取消冻结列
                            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模块
        });