New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| | | <title>çäº§è´¨éææ±æ¥</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all"> |
| | | <script src="../../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../../layuiadmin/Scripts/json2.js"></script> |
| | | <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script> |
| | | <script src="../../../layuiadmin/Scripts/webConfig.js"></script> |
| | | <script src="../../../layuiadmin/PubCustom.js"></script> |
| | | <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script> |
| | | <script src='../../../layuiadmin/lib/extend/echarts.min.js'></script> |
| | | <style type="text/css"> |
| | | input.layui-input.layui-unselect { |
| | | padding-right: 0; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div class="layui-fluid" style="width:100%;height:100%;"> |
| | | <div class="layui-col-md12" style="width:100%;height:100%;"> |
| | | <div class="layui-card" style="padding: 1px;width:100%;height:100%;"> |
| | | <div class="layui-card-body" style="padding: 1px;width:100%;height:100%;"> |
| | | <form class="layui-form" action="" lay-filter="component-form-group" style="width:100%;height:100%;"> |
| | | <div class="layui-collapse"> |
| | | <div class="layui-colla-item"> |
| | | <div class="layui-colla-title layui-inline"> |
| | | <div class="layui-inline"> |
| | | <span>æ´å¤</span> |
| | | </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: 85px;"> |
| | | <select name="HYear" id="HYear" lay-verify="HYear"> |
| | | <!--å¨ææ¸²æå¹´ä»½--> |
| | | </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: 120px;"> |
| | | <select name="HWorkCenter" id="HWorkCenter" lay-verify="HWorkCenter"> |
| | | <option style="color:blue;" value="109">注å¡åºå</option> |
| | | <option style="color:blue;" value="110">åå¤çåºå</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">ç©æåç§°</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" class="layui-input" id="HName" style="width:190px;"> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | |
| | | <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;"> |
| | | </div> |
| | | <div style="width:99%;height:calc(30vh);"> |
| | | <table class="" id="mainTable" lay-filter="mainTable"></table> |
| | | </div> |
| | | </div> |
| | | <script type="text/html" id="toolbarDemo"> |
| | | <div class="layui-btn-container"> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>éåº</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><i class="layui-icon layui-icon-form"></i>éèå设置</button> |
| | | </div> |
| | | </script> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.config({ |
| | | base: '../../../layuiadmin/' //éæèµæºæå¨è·¯å¾ |
| | | }).extend({ |
| | | index: 'lib/index', //主å
¥å£æ¨¡å |
| | | }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () { |
| | | |
| | | //#region å
Œ
±åé |
| | | var $ = layui.$ |
| | | , admin = layui.admin |
| | | , layer = layui.layer |
| | | , table = layui.table |
| | | , form = layui.form |
| | | , element = layui.element |
| | | , laypage = layui.laypage |
| | | , laydate = layui.laydate |
| | | , util = layui.util |
| | | //æ¥è¯¢æ¡ä»¶ |
| | | var sWhere = ""; |
| | | var option = []; |
| | | var HModName = "Sc_QualityReportBillMonth"; |
| | | var HDeptID = 0; |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢æ¢å è½½ |
| | | |
| | | //åå§åçé¢ |
| | | set_ClearBill(); |
| | | |
| | | //#endregion |
| | | |
| | | |
| | | //#region ãæ±ç¶å¾ã |
| | | function set_Graphics() { |
| | | var chartDom = document.getElementById('histogram'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option_ZZT; |
| | | |
| | | //æ±ç¶å¾ç»å®æ°æ® |
| | | var H_X = ['1æ', '2æ', '3æ', '4æ', '5æ', '6æ', '7æ', '8æ', '9æ', '10æ', '11æ', '12æ'];//Xè½´æ é¢ |
| | | var HProcSumNum = [];//çäº§æ»æ°é |
| | | var HQualifiedNum = [];//åæ ¼æ»æ°é |
| | | var HFirstPassRate = [];//ç´éç |
| | | var HTitle = "";//å¾å½¢æ é¢ |
| | | if (option.data.length > 0) { |
| | | var HMaterName = option.data[0].ç©æåç§° |
| | | for (let i = 0; i < option.data.length; i++) { |
| | | if (option.data[i].ç©æåç§° === HMaterName) { |
| | | HProcSumNum.push(option.data[i].æ³¨å¡æ°é); |
| | | var qualifiedRateString = option.data[i].注å¡è¯ç; // "5.00%" |
| | | var qualifiedRate = parseFloat(qualifiedRateString.replace('%', '')); // ç§»é¤ç¾åå·å¹¶è½¬æ¢ä¸ºæ°å |
| | | HQualifiedNum.push(qualifiedRate); |
| | | |
| | | // å¤çå
¨æ£è¯ç |
| | | var firstPassRateString = option.data[i].å
¨æ£è¯ç; // "5.00%" |
| | | var firstPassRate = parseFloat(firstPassRateString.replace('%', '')); // ç§»é¤ç¾åå·å¹¶è½¬æ¢ä¸ºæ°å |
| | | HFirstPassRate.push(firstPassRate); |
| | | } |
| | | } |
| | | //for (let i = 1; i <= 12; i++) { |
| | | // HProcSumNum.push(option.data[0][i + "æ"]); |
| | | // HQualifiedNum.push(option.data[1][i + "æ"]); |
| | | // HFirstPassRate.push(option.data[3][i + "æ"].replace('%', '')); |
| | | //} |
| | | } |
| | | |
| | | switch ($("#HWorkCenter").val()) { |
| | | case '109': |
| | | HTitle = '注å¡åºåè¶å¿å¾'; |
| | | break; |
| | | case '110': |
| | | HTitle = 'åå¤çåºåè¶å¿å¾'; |
| | | break; |
| | | } |
| | | |
| | | option_ZZT = { |
| | | title: { |
| | | text: HTitle, |
| | | left: 'center' |
| | | }, |
| | | grid: { |
| | | x: '5%', //ç¸å½äºè·ç¦»å·¦è¾¹ææ:padding-left |
| | | //y: '5%', //ç¸å½äºè·ç¦»ä¸è¾¹ææ:padding-top |
| | | bottom: '5%', |
| | | containLabel: true |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'cross', |
| | | crossStyle: { |
| | | color: '#999' |
| | | } |
| | | } |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | dataView: { show: true, readOnly: false }, |
| | | magicType: { show: true, type: ['line', 'bar'] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { show: true } |
| | | }, |
| | | x: 'right', |
| | | orient: "vertical",//å·¥å
·æ iconçå¸å±æåâhorizontalâ'vertical' |
| | | }, |
| | | legend: { |
| | | data: ['æ³¨å¡æ°é', '注å¡è¯ç', 'å
¨æ£è¯ç'], |
| | | top: 'bottom' |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: H_X, |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | name: 'ç产æ°é', |
| | | min: 0, |
| | | max: 200000, |
| | | interval: 10000, |
| | | axisLabel: { |
| | | formatter: '{value}' |
| | | } |
| | | }, |
| | | { |
| | | type: 'value', |
| | | name: 'è¶å¿ç%', |
| | | min: 0, |
| | | max: 100, |
| | | interval: 10, |
| | | axisLabel: { |
| | | formatter: '{value} ' + '%' |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: 'æ³¨å¡æ°é', |
| | | type: 'bar', |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value; |
| | | } |
| | | }, |
| | | data: HProcSumNum |
| | | }, |
| | | { |
| | | name: '注å¡è¯ç', |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value; |
| | | } |
| | | }, |
| | | data: HQualifiedNum |
| | | }, |
| | | { |
| | | name: 'å
¨æ£è¯ç', |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value + ' '; |
| | | } |
| | | }, |
| | | data: HFirstPassRate |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | option_ZZT && myChart.setOption(option_ZZT); |
| | | } |
| | | //#endregion |
| | | |
| | | //#region ç¹å»äºä»¶å
æ¬on formäºä»¶ç |
| | | //头工å
·æ äºä»¶ |
| | | table.on('toolbar(mainTable)', function (obj) { |
| | | switch (obj.event) { |
| | | //éåº |
| | | case 'btn-exit': Pub_Close(2); |
| | | break; |
| | | //éèå设置 |
| | | case 'HideColumn': |
| | | get_HideColumn(); |
| | | break; |
| | | }; |
| | | }); |
| | | //éç½®æé® |
| | | form.on('submit(btnReSearch)', function (data) { |
| | | set_ClearQuery(); |
| | | }); |
| | | |
| | | //æ¥è¯¢æé® |
| | | form.on('submit(btnSearch)', function (data) { |
| | | get_FastQuery(); |
| | | }); |
| | | |
| | | //éåºæé® |
| | | form.on('submit(btn-exit)', function (data) { |
| | | Pub_Close(2); |
| | | }); |
| | | |
| | | //å设置æé® |
| | | form.on('submit(HideColumn)', function (data) { |
| | | get_HideColumn(); |
| | | }); |
| | | //#endregion |
| | | |
| | | //#region æ¤é¡µé¢ææçæ¹æ³ |
| | | |
| | | //åå§åçé¢ |
| | | function set_ClearBill() { |
| | | Year(); |
| | | |
| | | //åå§åè¡¨æ ¼ |
| | | set_InitGrid(); |
| | | //å è½½æ°æ®å°ç½æ ¼ |
| | | get_FastQuery(); |
| | | |
| | | //å è½½æ±ç¶å¾ |
| | | set_Graphics(); |
| | | } |
| | | |
| | | //å¹´ |
| | | function Year() { |
| | | var yyyy = new Date().getFullYear(); |
| | | var YearOption = ""; |
| | | for (var i = 0; i <= 10; i++) { |
| | | YearOption += '<option style="color:blue;" value="' + (yyyy - 5 + i) + '">' + (yyyy - 5 + i) + '</option>'; |
| | | } |
| | | $("#HYear").append(YearOption); |
| | | $("#HYear").val(yyyy) |
| | | form.render('select'); |
| | | } |
| | | |
| | | //åå§åè¡¨æ ¼ |
| | | function set_InitGrid() { |
| | | option = { |
| | | elem: '#mainTable' |
| | | , toolbar: '#toolbarDemo' |
| | | , height: 'full-490' |
| | | , totalRow: true |
| | | , page: true |
| | | , cellMinWidth: 90 |
| | | , limit: 50 |
| | | , limits: [50, 500, 5000, 20000] |
| | | |
| | | } |
| | | } |
| | | |
| | | //å è½½ç½æ ¼ |
| | | function get_Display(sWhere) { |
| | | var wait = layer.load();//é®ç½© |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Sc_QualityReportBill/getSc_QualityReportBillMonth', |
| | | type: "GET", |
| | | async: false, |
| | | data: { "sWhere": sWhere ,"user": sessionStorage["HUserName"] }, |
| | | success: function (data1) { |
| | | var col = []; |
| | | if (data1.count == 1) { |
| | | var data = []; |
| | | //ç»ç©ºçæ°ç»èµå¼ |
| | | for (var key in data1.list) { |
| | | data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType }); |
| | | } |
| | | col.push({ type: 'checkbox', fixed: 'left', totalRowText: 'æ±æ»' }); |
| | | //夿æ¯å¦æ¯çº¯è±æ |
| | | var patrn = new RegExp("[\u4E00-\u9FA5]+"); |
| | | for (var i = 0; i < data.length; i++) { |
| | | if (!patrn.test(data[i].name)) { |
| | | col.push({ field: data[i].name, title: data[i].name, hide: true }); //éèå |
| | | } |
| | | else { |
| | | switch (data[i].Type) { |
| | | case 'DateTime': |
| | | col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 }); |
| | | break; |
| | | default: |
| | | col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 }); |
| | | } |
| | | } |
| | | } |
| | | //if (data1.data.length>0) { |
| | | // for (let i = 1; i <= 12; i++) { |
| | | // if (data1.data[0][i + "æ"] != 0) { |
| | | // data1.data[3][i + "æ"] = (data1.data[3][i + "æ"]).toFixed(2) + '%' |
| | | // } |
| | | // else { |
| | | // data1.data[3][i + "æ"] = (0.00).toFixed(2) + '%' |
| | | // } |
| | | // } |
| | | // data1.data[3].å计 = (data1.data[3].å计).toFixed(2) + '%' |
| | | //} |
| | | |
| | | |
| | | option.cols = [col]; |
| | | option.data = data1.data; |
| | | |
| | | table.render(option); |
| | | layer.close(wait); |
| | | } else { |
| | | layer.close(wait); |
| | | layer.alert(data1.Message, { icon: 5 }); |
| | | } |
| | | }, error: function () { |
| | | layer.close(wait); |
| | | layer.alert("æ¥å£è¯·æ±å¤±è´¥!", { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //å¿«éè¿æ»¤ |
| | | function get_FastQuery() { |
| | | var HYear = $("#HYear").val(); //年份 |
| | | var HWorkCenter = $("#HWorkCenter").val() != null ? '': $("#HWorkCenter").val(); //å·¥ä½ä¸å¿ |
| | | var HName = $("#HName").val();//ç©æåç§° |
| | | |
| | | sWhere = { |
| | | HYear: HYear |
| | | , HWorkCenter: HWorkCenter |
| | | , HName: HName |
| | | } |
| | | get_Display(JSON.stringify(sWhere)); |
| | | //è°ç¨æ¥å£åæ¸
空sWhereç¼å |
| | | sWhere = ""; |
| | | //å è½½æ±ç¶å¾ |
| | | set_Graphics(); |
| | | } |
| | | |
| | | //éç½®è¿æ»¤æ¡ä»¶ |
| | | function set_ClearQuery() { |
| | | sWhere = " "; |
| | | get_Display(JSON.stringify(sWhere)); |
| | | } |
| | | |
| | | //éèå设置 |
| | | function get_HideColumn() { |
| | | var colName = ""; |
| | | for (var i = 1; i < option.cols[0].length - 1; i++) { |
| | | colName += option.cols[0][i]["title"] + ","; |
| | | } |
| | | |
| | | colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿è¡ç¼ç |
| | | layer.open({ |
| | | type: 2 |
| | | , skin: "layui-layer-rim" //å ä¸è¾¹æ¡ |
| | | , title: "éèå设置" //æ é¢ |
| | | , closeBtn: 1 //çªä½å³ä¸è§å
³é ç æ ·å¼ |
| | | , shift: 2 //å¼¹åºå¨ç» |
| | | , area: ["50%", "90%"] //çªä½å¤§å° |
| | | , maxmin: true //设置æå¤§æå°æé®æ¯å¦æ¾ç¤º |
| | | , content: ['../../åºç¡èµæ/éèå设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"] |
| | | , btn: ["ç¡®å®", "åæ¶"] |
| | | , btn1: function (index, laero) { |
| | | //å·æ°è¡¨æ ¼æ°æ® |
| | | DisPlay_HideColumn(); |
| | | //æ´æ°è¡¨æ ¼ç¼åçæ°æ® |
| | | layer.close(index);//å
³éå¼¹çª |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //æ¾ç¤ºåæ°æ® |
| | | 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 = [];//ä¸éè¦æ¾ç¤ºçåæ®µ 坿©å± |
| | | |
| | | 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 (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 (dataCols[3] > 0) { |
| | | option.cols[0][i + 1]["width"] = dataCols[3]; |
| | | } |
| | | //æ¾ç¤ºå |
| | | 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 |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |