chenhaozhe
2025-05-21 94853e46b9d4911fb4cf00389f00a4b820db5d3c
WebTM/views/ÖÊÁ¿¹ÜÀí/ÖÊÁ¿±¨±í/QC_ProcessPerformancePass.html
@@ -38,91 +38,51 @@
                                            <!--动态渲染年份-->
                                        </select>
                                    </div>
                                </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">是否量产</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HBatchWork" id="HBatchWork" lay-verify="HBatchWork">
                                            <option value="">请选择</option>
                                            <option value="1">量产</option>
                                            <option value="0">非量产</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">项目号</label>
                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                        <select name="HProject" id="HProject" class=" ForFilteringSchemes" lay-verify="HProject">
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                <div class="layui-row" style="margin-top:5px;margin-left:82px;margin-bottom:5px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">物料编码</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMaterID" id="btnHMaterID" style="padding: 0 10px; margin-right: 3px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                            </button>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">物料名称</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input ForFilteringSchemes" name="HMaterName" id="HMaterName">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName1" id="ColName1" lay-filter="ColName1" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator1" id="Comparator1" lay-filter="Comparator1" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">事业部</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                            <select name="HDivisionName" id="HDivisionName" class=" ForFilteringSchemes" lay-verify="HDivisionName">
                                                <!--动态渲染组织-->
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent1" id="ColContent1">
                                        </div>
                                    </div>
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName2" id="ColName2" lay-filter="ColName2" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator2" id="Comparator2" lay-filter="Comparator2" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent2" id="ColContent2">
                                        </div>
                                    </div>
                                </div>
@@ -217,6 +177,12 @@
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#region äº§å“ç¼–码
            form.on('submit(btnHMaterID)', function (data) {
                btnHMaterID();
            });
            //#endregion
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
@@ -244,6 +210,8 @@
            // åˆå§‹åŒ–界面
            function set_ClearBill() {
                Year(); //初始化年
                Get_HProject(); //获取项目号
                GetGy_Division();//获取事业部
                set_InitGrid(); //初始化表格
                get_FastQuery();
                //加载柱状图
@@ -351,85 +319,21 @@
            //快速查询
            function get_FastQuery() {
                var HYear = $("#HYear").val();
                var HProject = $("#HProject").val();//项目号
                var HMaterNumber = $("#HMaterNumber").val();//物料代码
                var HMaterName = $("#HMaterName").val();//物料名称
                var HBatchWork = $("#HBatchWork").val();//是否量产
                var HDivisionName = $("#HDivisionName").val();//事业部
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                var ColName1 = $("#ColName1").val();//复选框
                var Comparator1 = $("#Comparator1").val()
                var ColContent1 = $("#ColContent1").val();
                var ColName2 = $("#ColName2").val();//复选框
                var Comparator2 = $("#Comparator2").val()
                var ColContent2 = $("#ColContent2").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                sWhere = {
                    HYear: HYear
                    , HProject: HProject
                    , HMaterNumber: HMaterNumber
                    , HMaterName: HMaterName
                    , HBatchWork: HBatchWork
                    , HDivisionName: HDivisionName
                }
                if (ColName1 != 0 && Comparator1 != 0) {
                    var com1 = "";
                    switch (Comparator1) {
                        case "7":
                            com1 = "like'%" + ColContent1 + "%'";
                            break;
                        case "8":
                            com1 = "like'%" + ColContent1 + "'";
                            break;
                        case "9":
                            com1 = "like'" + ColContent1 + "%'";
                            break;
                        case "10":
                            com1 = "not like'%" + ColContent1 + "%'";
                            break;
                        default:
                            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
                            break;
                    }
                    sWhere += " and " + ColName1 + " " + com1;
                }
                if (ColName2 != 0 && Comparator2 != 0) {
                    var com2 = "";
                    switch (Comparator2) {
                        case "7":
                            com2 = "like'%" + ColContent2 + "%'";
                            break;
                        case "8":
                            com2 = "like'%" + ColContent2 + "'";
                            break;
                        case "9":
                            com2 = "like'" + ColContent2 + "%'";
                            break;
                        case "10":
                            com2 = "not like'%" + ColContent2 + "%'";
                            break;
                        default:
                            com2 = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName2 + " " + com2;
                }
                if (HYear) {
                    sWhere += " and HYear = '" + HYear + "'";
                }
                get_Display(sWhere);
                get_Display(JSON.stringify(sWhere));
                //加载柱状图
                set_Graphics();
                sWhere = "";//调用接口后清空sWhere缓存
@@ -438,17 +342,13 @@
            //重置快速查询
            function set_ClearQuery() {
                $("#HYear").val(new Date().getFullYear());
                $("#HProject").val("");
                $("#HMaterNumber").val("");
                $("#HMaterName").val("");
                $("#HBatchWork").val("");
                $("#HDivisionName").val("");
                $("#btnSearch").click();
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0");
                $("#btnSearch").click();
                form.render('select');
                sWhere = "";
@@ -468,6 +368,7 @@
                var H_X = [];//X轴标题
                var HBackCount = [];//不良总数
                var Pass = [];//合格率
                var target = [];//目标值
                var HTitle = "合格率趋势图";//图形标题
                if (option.data.length > 0) {
                    for (let i = 0; i < option.data.length; i++) {
@@ -478,6 +379,7 @@
                        HBackCount.push(option.data[i].不良总数);                     
                        Pass.push((option.data[i].合格率).replace('%', ''));
                        target.push(('95.00%').replace('%', ''))
                   
                    }
                }
@@ -507,7 +409,7 @@
                        }
                    },
                    legend: {
                        data: ['不良总数','合格率'],
                        data: ['不良总数','合格率','目标值'],
                        top: 'bottom',  // å°†å›¾ä¾‹æ”¾ç½®åœ¨å›¾è¡¨çš„下方
                        left: 'center'  // æˆ–者 'right',根据需要调整水平位置
                    },
@@ -552,7 +454,10 @@
                    series: [
                        {
                            name: '不良总数',
                            type: 'bar',
                            type: 'bar',
                            label: {
                                show: true
                            },
                            barGap: 0,
                            emphasis: {
                                focus: 'series'
@@ -562,11 +467,19 @@
                                    return value;
                                }
                            },
                            itemStyle: {
                                color: '#FF0000' // è®¾ç½®æŸ±çŠ¶å›¾çº¢è‰²
                            },
                            data: HBackCount
                        },
                        {
                            name: '合格率',
                            type: 'line',
                            yAxisIndex: 1, // ä½¿ç”¨ç¬¬äºŒä¸ª y è½´
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            tooltip: {
                                valueFormatter: function (value) {
                                    return value;
@@ -575,12 +488,35 @@
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: 'green' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                        color: '#0066FF' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                    },
                                    color: 'green' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                    color: '#0066FF' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                }
                            },
                            data: Pass
                        },
                        {
                            name: '目标值',
                            type: 'line',
                            yAxisIndex: 1, // ä½¿ç”¨ç¬¬äºŒä¸ª y è½´
                            label: {
                                show: true,
                                formatter: '{c}%'
                            },
                            tooltip: {
                                valueFormatter: function (value) {
                                    return value;
                                }
                            },
                            itemStyle: {
                                normal: {
                                    lineStyle: {
                                        color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                    },
                                    color: '#FF0000' // è®¾ç½®çº¿æ¡é¢œè‰²ä¸ºç»¿è‰²
                                }
                            },
                            data: target
                        }
                    ]
                };
@@ -589,6 +525,82 @@
            }
            //#endregion
            //生产车间
            function DeptName() {
                //获取车间列
                var HDeptName = '<option value="0" style="color:red;" selected>全部车间</option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                if (i == 0)
                                    HDeptName += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                                else
                                    HDeptName += '<option  style="color:blue;" value="' + data[i].HName + '">' + data[i].HName + '</option>';
                            }
                            $("#HDeptName").append(HDeptName);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#region èŽ·å–é¡¹ç›®å·
            function Get_HProject() {
                //获取项目号
                var HProjectList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_HProject",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HProjectList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HProject").append(HProjectList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region èŽ·å–äº‹ä¸šéƒ¨
            function GetGy_Division() {
                //获取事业部
                var HDivisionList = '<option value="" style="color:red;" selected></option>';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Gy_Material/Get_Gy_Division",
                    async: false,
                    data: { "HOrgID": sessionStorage["OrganizationID"] },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                HDivisionList += '<option  style="color:blue;"  value="' + data[i].HName + '" >' + data[i].HName + '</option>';
                            }
                            $("#HDivisionName").append(HDivisionList);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
@@ -749,6 +761,31 @@
            }
            //#endregion
            //物料列表
            function btnHMaterID() {
                layer.open({
                    type: 2 //类型
                    , skin: 'layui-layer-rim'//加上边框
                    , area: ['90%', '90%']//大小
                    , title: '物料列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_Material.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('请选择数据');
                        }
                        //获取数据
                        $("#HMaterNumber").val(checkStatus.data[0].物料代码);
                        $("#HMaterName").val(checkStatus.data[0].物料名称);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //以上是layui模块
        });
    </script>