| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-inline " style="display:none"> |
| | | <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"> |
| | |
| | | <input type="text" class="layui-input" id="HName" style="width:190px;"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">å¼å§æ¥æ</label> |
| | | <div class="layui-input-block"> |
| | | <input type="date" class="layui-input" id="HBeginDate" style="width:190px;"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">ç»ææ¥æ</label> |
| | | <div class="layui-input-block"> |
| | | <input type="date" class="layui-input" id="HEndDate" 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> |
| | |
| | | |
| | | <div id="histogram" style="width:99.5%;height:calc(68vh);margin-top:10px;"> |
| | | </div> |
| | | <div style="width:99%;height:calc(30vh);"> |
| | | <div style="width:99%;height:calc(50vh);"> |
| | | <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="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导åº</button> |
| | | <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> |
| | |
| | | var option = []; |
| | | var HModName = "Sc_QualityReportBillMonth"; |
| | | var HDeptID = 0; |
| | | var ins; |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢æ¢å è½½ |
| | |
| | | var HQualifiedNum = [];//åæ ¼æ»æ°é |
| | | var HFirstPassRate = [];//ç´éç |
| | | var HTitle = "";//å¾å½¢æ é¢ |
| | | var monthlyTotals = []; |
| | | |
| | | // éåæ°æ®æ°ç» |
| | | option.data.forEach(data => { |
| | | var year = data["å¹´"]; |
| | | var month = data["æ"]; |
| | | var quantity = data["æ³¨å¡æ°é"]; |
| | | |
| | | // åå§å年份对象 |
| | | if (!monthlyTotals[year]) { |
| | | monthlyTotals[year] = {}; |
| | | } |
| | | |
| | | // åå§åæä»½å¯¹è±¡ |
| | | if (!monthlyTotals[year][month]) { |
| | | monthlyTotals[year][month] = 0; |
| | | } |
| | | |
| | | // ç´¯å æ°é |
| | | monthlyTotals[year][month] += quantity; |
| | | }); |
| | | |
| | | 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); |
| | | for (let i = 0; i < H_X.length; i++) { |
| | | HProcSumNum.push(0); |
| | | HQualifiedNum.push(0); |
| | | HFirstPassRate.push(0); |
| | | } |
| | | // å¡«å
æ°æ® |
| | | for (let i = 0; i < H_X.length; i++) { |
| | | let month = i + 1; // 1å°12çæä»½ |
| | | let year = $("#HYear").val(); // å½å年份 |
| | | |
| | | // å¤çå
¨æ£è¯ç |
| | | var firstPassRateString = option.data[i].å
¨æ£è¯ç; // "5.00%" |
| | | var firstPassRate = parseFloat(firstPassRateString.replace('%', '')); // ç§»é¤ç¾åå·å¹¶è½¬æ¢ä¸ºæ°å |
| | | HFirstPassRate.push(firstPassRate); |
| | | // å° monthlyTotals ä¸çæ°éå¡«å
å° HProcSumNum ä¸ |
| | | if (monthlyTotals[year] && monthlyTotals[year][month]) { |
| | | HProcSumNum[i] = monthlyTotals[year][month]; |
| | | } |
| | | } |
| | | //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('%', '')); |
| | | //} |
| | | |
| | | // å¡«å
æ°æ® |
| | | for (let i = 0; i < option.data.length; i++) { |
| | | if (option.data[i].ç©æåç§° === HMaterName) { |
| | | let monthIndex = option.data[i].æ - 1; // æä»½å¨æ°ç»ä¸çç´¢å¼ï¼æ³¨æè½¬æ¢ä¸ºä»0å¼å§ï¼ |
| | | //HProcSumNum[monthIndex] += option.data[i].æ³¨å¡æ°é; |
| | | |
| | | // å¤ç注å¡è¯ç |
| | | let qualifiedRateString = option.data[i].注å¡è¯ç; // "5.00%" |
| | | let qualifiedRate = parseFloat(qualifiedRateString.replace('%', '')); // ç§»é¤ç¾åå·å¹¶è½¬æ¢ä¸ºæ°å |
| | | HQualifiedNum[monthIndex] = qualifiedRate; |
| | | |
| | | // å¤çå
¨æ£è¯ç |
| | | let firstPassRateString = option.data[i].å
¨æ£è¯ç; // "5.00%" |
| | | let firstPassRate = parseFloat(firstPassRateString.replace('%', '')); // ç§»é¤ç¾åå·å¹¶è½¬æ¢ä¸ºæ°å |
| | | HFirstPassRate[monthIndex] = firstPassRate; |
| | | } |
| | | } |
| | | } |
| | | |
| | | switch ($("#HWorkCenter").val()) { |
| | |
| | | crossStyle: { |
| | | color: '#999' |
| | | } |
| | | }, |
| | | formatter: function (params) { |
| | | let tooltipHtml = params[0].axisValue + '<br>'; // Xè½´æ°å¼ |
| | | |
| | | params.forEach(function (item) { |
| | | if (item.seriesType === 'line') { |
| | | let valueToShow = parseFloat(item.value); // å°å符串转æ¢ä¸ºæ°å¼ |
| | | tooltipHtml += item.seriesName + ': ' + valueToShow.toFixed(2) + '%' + '<br>'; // æçº¿å¾æ°æ®æ ¼å¼å为ç¾åæ¯ |
| | | } else { |
| | | tooltipHtml += item.seriesName + ': ' + item.value + '<br>'; // æ±ç¶å¾æ°æ®ç´æ¥æ¾ç¤º |
| | | } |
| | | }); |
| | | |
| | | return tooltipHtml; |
| | | } |
| | | }, |
| | | toolbox: { |
| | |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | name: 'ç产æ°é', |
| | | min: 0, |
| | | max: 200000, |
| | | interval: 10000, |
| | | name: 'ç产æ°é', |
| | | axisLabel: { |
| | | formatter: '{value}' |
| | | } |
| | |
| | | series: [ |
| | | { |
| | | name: 'æ³¨å¡æ°é', |
| | | type: 'bar', |
| | | type: 'bar', |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value; |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | label: { |
| | | show: true, //å¼å¯æ¾ç¤º |
| | | textStyle: { //æ°å¼æ ·å¼ |
| | | color: 'black', |
| | | fontSize: 16 |
| | | } |
| | | } |
| | | }, |
| | | color: '#0000FF' // 设置æ±ç¶å¾é»è² |
| | | }, |
| | | data: HProcSumNum |
| | | }, |
| | |
| | | name: '注å¡è¯ç', |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value; |
| | | } |
| | | label: { |
| | | show: true, |
| | | formatter: '{c}%' |
| | | }, |
| | | data: HQualifiedNum |
| | | }, |
| | |
| | | name: 'å
¨æ£è¯ç', |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | tooltip: { |
| | | valueFormatter: function (value) { |
| | | return value + ' '; |
| | | } |
| | | label: { |
| | | show: true, |
| | | formatter: '{c}%' |
| | | }, |
| | | data: HFirstPassRate |
| | | } |
| | |
| | | //éåº |
| | | case 'btn-exit': Pub_Close(2); |
| | | break; |
| | | //导åºexcel |
| | | case 'get_export': |
| | | get_Export(); |
| | | break; |
| | | //éèå设置 |
| | | case 'HideColumn': |
| | | get_HideColumn(); |
| | |
| | | |
| | | //æ¥è¯¢æé® |
| | | form.on('submit(btnSearch)', function (data) { |
| | | get_FastQuery(); |
| | | get_FastQuery(2); |
| | | }); |
| | | |
| | | //éåºæé® |
| | |
| | | //åå§åçé¢ |
| | | function set_ClearBill() { |
| | | Year(); |
| | | |
| | | $("#HBeginDate").val(Format(new Date(new Date().setMonth(new Date().getMonth() - 6)), "yyyy-MM-dd")); |
| | | $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd")); |
| | | //åå§åè¡¨æ ¼ |
| | | set_InitGrid(); |
| | | //å è½½æ°æ®å°ç½æ ¼ |
| | | get_FastQuery(); |
| | | get_FastQuery(1); |
| | | |
| | | //å è½½æ±ç¶å¾ |
| | | set_Graphics(); |
| | |
| | | option = { |
| | | elem: '#mainTable' |
| | | , toolbar: '#toolbarDemo' |
| | | , height: 'full-490' |
| | | , height: '600px' |
| | | , totalRow: true |
| | | , page: true |
| | | , cellMinWidth: 90 |
| | | , limit: 50 |
| | | , limits: [50, 500, 5000, 20000] |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | type: "GET", |
| | | async: false, |
| | | data: { "sWhere": sWhere ,"user": sessionStorage["HUserName"] }, |
| | | success: function (data1) { |
| | | var col = []; |
| | | success: function (data1) { |
| | | if (data1.count == 1) { |
| | | var data = []; |
| | | var col = []; |
| | | //ç»ç©ºçæ°ç»èµå¼ |
| | | for (var key in data1.list) { |
| | | data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType }); |
| | |
| | | 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; |
| | | case 'long': |
| | | case 'Int32': |
| | | case 'Int64': |
| | | case 'double': |
| | | case 'Decimal': |
| | | col.push({ field: data[i].name, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true }); |
| | | 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; |
| | | |
| | | //卿æ¾ç¤ºåå |
| | | option = { |
| | | elem: '#mainTable' |
| | | , toolbar: '#toolbarDemo' |
| | | , cols: [col] |
| | | , data: data1.data |
| | | , height: 'full-80' |
| | | , totalRow: true |
| | | , page: true |
| | | , limits: [50, 500, 5000, 50000] |
| | | , limit: 50 |
| | | , cellMinWidth: 90 |
| | | } |
| | | table.render(option); |
| | | ins = table.render(option); |
| | | layer.close(wait); |
| | | } else { |
| | | layer.close(wait); |
| | |
| | | } |
| | | |
| | | //å¿«éè¿æ»¤ |
| | | function get_FastQuery() { |
| | | function get_FastQuery(number) { |
| | | var HYear = $("#HYear").val(); //年份 |
| | | var HWorkCenter = $("#HWorkCenter").val() != null ? '': $("#HWorkCenter").val(); //å·¥ä½ä¸å¿ |
| | | var HName = $("#HName").val();//ç©æåç§° |
| | | |
| | | var HBeginDate = $("#HBeginDate").val(); //å¼å§æ¥æ |
| | | var HEndDate = $("#HEndDate").val(); //ç»ææ¥æ |
| | | sWhere = { |
| | | HYear: HYear |
| | | , HWorkCenter: HWorkCenter |
| | | , HName: HName |
| | | , HBeginDate: HBeginDate |
| | | , HEndDate: HEndDate |
| | | } |
| | | get_Display(JSON.stringify(sWhere)); |
| | | |
| | | //è°ç¨æ¥å£åæ¸
空sWhereç¼å |
| | | sWhere = ""; |
| | | //å è½½æ±ç¶å¾ |
| | |
| | | get_Display(JSON.stringify(sWhere)); |
| | | } |
| | | |
| | | //#region 导åºExecel |
| | | function get_Export() { |
| | | var ModRightNameCheck = "Gy_ProjectMoney_ExportExcel"; |
| | | |
| | | //é»è¾å®¡æ ¸æ¹æ³ |
| | | $.ajax({ |
| | | type: "GET", |
| | | url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", //æ¹æ³æå¨é¡µé¢åæ¹æ³å |
| | | data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] }, |
| | | success: function (result) { |
| | | if (result.count == 1) { |
| | | table.exportFile(ins.config.id, option.data, "xls"); |
| | | } else { |
| | | layer.alert("å½åæ¨¡åæ²¡æå¯¼åºæé!", { icon: 5 }); |
| | | } |
| | | }, error: function () { |
| | | layer.alert("æ¥å£è¯·æ±å¤±è´¥!", { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | //#endregion |
| | | |
| | | //éèå设置 |
| | | function get_HideColumn() { |
| | | var colName = ""; |