Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-LayUI
| | |
| | | <Content Include="views\æ¡ä¾ä»£ç \åè¿\HY_HistogramReport_ForPCSCheckNote.html" /> |
| | | <Content Include="views\æ¡ä¾ä»£ç \åè¿\HY_HistogramReport.html" /> |
| | | <Content Include="views\æ¡ä¾ä»£ç \åè¿\HY_InterfaceTest.html" /> |
| | | <Content Include="views\模治å
·ç®¡ç\å¨å
·æ¥è¡¨\Sc_MouldDailyUseReport.html" /> |
| | | <Content Include="views\模治å
·ç®¡ç\å¨å
·æ¥è¡¨\Sc_MouldMonthUseReport.html" /> |
| | | <Content Include="views\模治å
·ç®¡ç\å¨å
·æ¥è¡¨\Sc_MoldMainoverdueWarnReport.html" /> |
| | | <Content Include="views\模治å
·ç®¡ç\å¨å
·é¢ç¨ç³è¯·å\Sc_MouldOutRequestBillEdit.html" /> |
| | | <Content Include="views\模治å
·ç®¡ç\å¨å
·é¢ç¨ç³è¯·å\Sc_MouldOutRequestBillList.html" /> |
| | |
| | | <ProjectView>ShowAllFiles</ProjectView> |
| | | <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig> |
| | | <NameOfLastUsedPublishProfile>D:\æºäºLMes\MESWMS-LayUI\WebTM\Properties\PublishProfiles\SWETM.pubxml</NameOfLastUsedPublishProfile> |
| | | <NameOfLastUsedPublishProfile>D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\LAYUI.pubxml</NameOfLastUsedPublishProfile> |
| | | <NameOfLastUsedPublishProfile>C:\Users\19858\Desktop\æºäºè¿æ\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile> |
| | | <ProjectView>ShowAllFiles</ProjectView> |
| | | <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig> |
| | | <UseIISExpress>true</UseIISExpress> |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="utf-8" /> |
| | | <title>设å¤ç¶æåå¸</title> |
| | | <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/layui/layui.js"></script> |
| | | <script src="../../layuiadmin/Scripts/json2.js"></script> |
| | | <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script> |
| | | <script src="../../layuiadmin/layui/layui1.js"></script> |
| | | <script src="../../layuiadmin/echarts.min.js"></script> |
| | | <link href="../../layuiadmin/layui/css/ReportPlatform.css" rel="stylesheet" /> |
| | | <script src="../../layuiadmin/Scripts/webConfig.js"></script> |
| | | <style> |
| | | /*æ ç¶å¾ç¹å»é«äº®åè²*/ |
| | | .layui-tree-set-active>.layui-tree-entry .layui-tree-main { |
| | | background: #aef0f7; |
| | | } |
| | | |
| | | .cnt { |
| | | border: 1px solid #5FB878; |
| | | height: 50px; |
| | | border-radius: 5px; |
| | | /*background: -webkit-gradient(linear, 0% 0%, 0% 50%,from(#262525), to(#262525));*/ |
| | | /*è°·æ*/ |
| | | } |
| | | |
| | | .bottomright { |
| | | cursor: pointer; |
| | | /*é¼ æ åææææ ·å¼*/ |
| | | transition: all 0.1s; |
| | | /*ææå±æ§ååå¨0.6ç§å
æ§è¡å¨ç»*/ |
| | | } |
| | | |
| | | .bottomright:hover { |
| | | transform: scale(1.3); |
| | | /*é¼ æ æ¾ä¸ä¹åå
ç´ åæ1.4å大å°*/ |
| | | } |
| | | |
| | | .imgtitle { |
| | | width: 70%; |
| | | height: 50px; |
| | | text-align: center; |
| | | display: block; |
| | | font-size: 15px; |
| | | float: left; |
| | | line-height: 50px; |
| | | } |
| | | |
| | | .cns { |
| | | border: 1px solid #5FB878; |
| | | height: 130px; |
| | | border-radius: 5px; |
| | | } |
| | | |
| | | .cns p { |
| | | font-size: 12px; |
| | | line-height: 18px; |
| | | margin: 0 5px; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .check1 { |
| | | cursor: pointer; |
| | | /*é¼ æ åææææ ·å¼*/ |
| | | -webkit-transition: border linear .1s, -webkit-box-shadow linear .5s; |
| | | border-color: rgba(0, 148, 255, .75); |
| | | -webkit-box-shadow: 0 0 18px rgba(0, 148, 255); |
| | | } |
| | | |
| | | .prs { |
| | | font-family: "微软é
é»"; |
| | | font-weight: bold; |
| | | line-height: 30px; |
| | | margin: 0 0px 0px 10px; |
| | | float: left; |
| | | } |
| | | |
| | | .layui-progress { |
| | | width: 45%; |
| | | float: left; |
| | | top: 6px; |
| | | } |
| | | |
| | | .tr1-1, |
| | | .tr1-2, |
| | | .tr1-3, |
| | | .tr1-4 { |
| | | margin-left: 3%; |
| | | margin-top: 4%; |
| | | height: 310px; |
| | | border: 1px solid rgb(0 0 0 / 10%); |
| | | width: 95%; |
| | | } |
| | | |
| | | .btnM { |
| | | width: 30%; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | float: left; |
| | | text-align: right; |
| | | } |
| | | |
| | | .layui-icon { |
| | | font-size: 20px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-card" style="padding: 1px"> |
| | | <div class="layui-card-body" style="padding: 1px;"> |
| | | <form class="layui-form" action="" lay-filter="component-form-group"> |
| | | <div class="layui-row"> |
| | | <div class="layui-col-xs2 layui-inline" style="border: solid 1.5px #e0d6d64d;"> |
| | | <div id="TreeTable" class="demo-tree demo-tree-box" |
| | | style="height: 600px; overflow: scroll;"></div> |
| | | </div> |
| | | <div class="layui-col-xs10 layui-inline" style="border: solid 1.5px #e0d6d64d;"> |
| | | <div id="btomleft" style="height:600px;display:block;overflow-y:auto;"> |
| | | |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-col-xs1 layui-inline" style="border: solid 1.5px #e0d6d64d;"> |
| | | <fieldset style="border: 1px solid #eee; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%); height: 585px;"> |
| | | <legend style="color: #5FB878">æä½å°</legend> |
| | | <div class="content4"> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="PowerOn(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-pause imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">弿º</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="PowerOff(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-logout imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">åæº</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="DotCheck(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-list imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">ç¹æ£è®°å½</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="FaultRegistration(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-list imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">æ
éç»è®°</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="Maintenance(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-form imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">ç»´ä¿®</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="Resume(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-table imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">å±¥å</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="Process(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-file imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">å·¥èº</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row layui-col-space10"> |
| | | <div class="layui-col-sm12 " onclick="HStatus(event,this)"> |
| | | <div class="cnt bottomright"> |
| | | <div class="btnM"> |
| | | <span class="layui-icon layui-icon-set imgicon"></span> |
| | | </div> |
| | | <span class="imgtitle">ç¶æ</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> --> |
| | | </div> |
| | | <div class="layui-row" style="display: none;"> |
| | | <div class="layui-col-xs3 layui-inline"> |
| | | <div class="tr1-1" id="mychart11"> </div> |
| | | </div> |
| | | <div class="layui-col-xs3 layui-inline"> |
| | | <div class="tr1-2" id="mychart22"> </div> |
| | | </div> |
| | | <div class="layui-col-xs3 layui-inline"> |
| | | <div class="tr1-3" id="mychart3"> </div> |
| | | </div> |
| | | <div class="layui-col-xs3 layui-inline"> |
| | | <div class="tr1-4" id="mychart4"> </div> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | |
| | | </html> |
| | | <script> |
| | | var wktag = 0; |
| | | var HEquipID = 0;//设å¤id |
| | | var HEquipNumber = "";//设å¤ç¼ç |
| | | var HEquipName = "";//设å¤åç§° |
| | | var HSourceID = "";//产线id |
| | | var HDeptID = ""; |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //éæèµæºæå¨è·¯å¾ |
| | | }).extend({ |
| | | index: 'lib/index', //主å
¥å£æ¨¡å |
| | | }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'tree'], 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 |
| | | , tree = layui.tree |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢å³å è½½ |
| | | |
| | | //åå§åçé¢ |
| | | set_ClearBill(); |
| | | |
| | | //#endregion |
| | | |
| | | //#region 触åäºä»¶ï¼å
æ¬form.on(){}æ ¼å¼çææç¹å»äºä»¶ãéæ©äºä»¶ç |
| | | |
| | | |
| | | |
| | | |
| | | //#endregion |
| | | |
| | | |
| | | //#region æ¬é¡µé¢è¢«è°ç¨çæææ¹æ³ |
| | | |
| | | //#region åå§åçé¢ |
| | | function set_ClearBill() { |
| | | var mychart11 = echarts.init(document.getElementById('mychart11')); |
| | | var mychart22 = echarts.init(document.getElementById('mychart22')); |
| | | var mychart3 = echarts.init(document.getElementById('mychart3')); |
| | | var mychart4 = echarts.init(document.getElementById('mychart4')); |
| | | get_Histogram1(mychart11, '');//æ±ç¶å¾1 |
| | | get_LineChart(mychart22, '');//æçº¿ |
| | | get_Statistics(mychart3, '');//é¥¼å¾ |
| | | get_Histogram4(mychart4, '');//æ±ç¶å¾4 |
| | | |
| | | //æ¥è¯¢ |
| | | get_Display_Tree(); |
| | | } |
| | | //#endregion |
| | | |
| | | //æ¥è¯¢å·¥å |
| | | function Check(HDeptID) { |
| | | wktag = 0; |
| | | $("#btomleft").html(""); |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Sc_HEquipStateDistribution/Sc_HEquipStateDistribution_Souce', |
| | | type: "GET", |
| | | data: { "HDeptID": HDeptID, "user": sessionStorage["HUserName"], "OrganizationID": sessionStorage["OrganizationID"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | |
| | | var LoadData1 = data.data.h_p_sc_HDeptSouceMOList; |
| | | if (LoadData1.length > 0) //å·¥ååè¡¨æ°æ® |
| | | { |
| | | |
| | | for (var i = 0; i < LoadData1.length; i++) { |
| | | var html1 = ''; |
| | | html1 += '<div class="layui-col-sm12 layui-col-md2" style="margin: 6px;width: 180px;">'; |
| | | html1 += '<div class="cns" id="bs' + (i + 1) + '" onclick="CheckBtom(this,' + (i + 1) + ')">'; |
| | | html1 += '<dl>'; |
| | | html1 += '<dd class="tcenter">'; |
| | | html1 += '<h1 style="display:none;"><span>ç产订åå·ä¸»IDï¼</span><span id="df' + (i + 1) + '">' + LoadData1[i].ç产订å主å
ç + '</span></h1>'; |
| | | html1 += '<h1 style="display:none;"><span>ç产订ååIDï¼</span><span id="ds' + (i + 1) + '">' + LoadData1[i].ç产订ååå
ç + '</span></h1>'; |
| | | html1 += '<h1 style="display:none;"><span>产线IDï¼</span><span id="cs' + (i + 1) + '">' + LoadData1[i].HSourceID + '</span></h1>'; |
| | | html1 += '<h1 style="display:none;"><span>设å¤IDï¼</span><span id="sb' + (i + 1) + '">' + LoadData1[i].设å¤id + '</span></h1>'; |
| | | |
| | | html1 += '<p><span>设å¤ç¼ç ï¼</span><span id="sbbm' + (i + 1) + '">' + LoadData1[i].设å¤ç¼ç + '</span></p>'; |
| | | html1 += '<p><span>设å¤åç§°ï¼</span><span id="sbmc' + (i + 1) + '">' + LoadData1[i].设å¤åç§° + '</span></p>'; |
| | | html1 += '<p><span>产线ï¼</span><span id="cxmc' + (i + 1) + '">' + LoadData1[i].产线 + '</span></p>'; |
| | | html1 += '<p><span>å½å订åï¼</span><span id="gd' + (i + 1) + '">' + LoadData1[i].ç产订å + '</span></p>'; |
| | | html1 += '<p><span>è®¢åæ°éï¼</span><span id="ddqty' + (i + 1) + '">' + LoadData1[i].ä»»å¡åæ°é + '</span></p>'; |
| | | html1 += '<p><span>宿æ°éï¼</span><span id="wcqty' + (i + 1) + '">' + LoadData1[i].æµè½¬å¡æ°é + '</span></p>'; |
| | | switch (LoadData1[i].设å¤ç¶æ) { |
| | | case "空é²": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border6"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "弿º": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border4"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "åæº": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border3"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "ç产": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border2"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "ç»´ä¿®ä¸": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border5"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "æ
é": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border1"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | case "ç»´ä¿®å®æ": |
| | | html1 += '<p><span>å½åç¶æï¼</span><span class="gj_icon color_border7"></span><span>' + LoadData1[i].设å¤ç¶æ + '</span></p>'; |
| | | break; |
| | | default: |
| | | } |
| | | html1 += '</dd>'; |
| | | html1 += '</dl>'; |
| | | html1 += '</div>'; |
| | | html1 += '</div>'; |
| | | $("#btomleft").append(html1); |
| | | } |
| | | } |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // æ ç¶å¾æ¥è¯¢ |
| | | function get_Display_Tree() { |
| | | var sWhere = " and HWorkShopFlag =1 and HUSEORGID=" + sessionStorage["OrganizationID"]; |
| | | var ajaxLoad = layer.load(); |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Gy_Department/Gy_DepartmentTreeList', |
| | | data: { "sWhere": sWhere }, |
| | | type: "GET", |
| | | success: function (data1) { |
| | | if (data1.count == 1) { |
| | | layer.close(ajaxLoad); |
| | | var data = JSON.parse(data1.data); |
| | | MenuMain(data); |
| | | } else { |
| | | layer.close(ajaxLoad); |
| | | layer.alert(data1.code + data1.Message, { icon: 5 }); |
| | | } |
| | | }, error: function () { |
| | | layer.close(ajaxLoad); |
| | | layer.alert("æ¥å£è¯·æ±å¤±è´¥!", { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //éåçæä¸»èå |
| | | function MenuMain(data) { |
| | | var liStr = '['; |
| | | //éåçæä¸»èå |
| | | for (var i = 0; i < data.length; i++) { |
| | | // 夿æ¯å¦åå¨åèå |
| | | if (data[i].children != null && data[i].children.length > 0) { |
| | | liStr += '{"title": "' + data[i].id + "-" + data[i].title + '", "id": "' + data[i].id + '","spread":true, "children":[ '; |
| | | // éåè·ååèå |
| | | for (var k = 0; k < data[i].children.length; k++) { |
| | | liStr += getChildMenu(data[i].children[k], 0); |
| | | } |
| | | liStr = liStr.substring(0, liStr.length - 1); |
| | | liStr += ']},'; |
| | | } else { |
| | | liStr += '{"title": "' + data[i].id + "-" + data[i].title + '", "id": "' + data[i].id + '"},'; |
| | | } |
| | | }; |
| | | liStr = liStr.substring(0, liStr.length - 1); |
| | | liStr += "]"; |
| | | var treeTable = JSON.parse(liStr); |
| | | tree.render({ |
| | | elem: '#TreeTable' //é»è®¤æ¯ç¹å»èç¹å¯è¿è¡æ¶ç¼© |
| | | , data: treeTable |
| | | , click: function (obj) { |
| | | //é«äº®åè² |
| | | $(".layui-tree-set").removeClass('layui-tree-set-active'); |
| | | obj.elem.addClass('layui-tree-set-active'); |
| | | |
| | | var data = obj.data; //è·åå½åç¹å»çèç¹æ°æ® |
| | | HDeptID = 0; |
| | | if (data.id == "0") { |
| | | |
| | | } else { |
| | | HDeptID = data.id; |
| | | } |
| | | Check(HDeptID); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // éå½çæåèå |
| | | function getChildMenu(subMenu, num) { |
| | | num++; |
| | | var subStr = ''; |
| | | if (subMenu.children != null && subMenu.children.length > 0) { |
| | | subStr += '{"title": "' + subMenu.id + "-" + subMenu.title + '", "id": "' + subMenu.id + '", "children":['; |
| | | for (var j = 0; j < subMenu.children.length; j++) { |
| | | subStr += getChildMenu(subMenu.children[j], num); |
| | | if (j + 1 == subMenu.children.length) { |
| | | subStr = subStr.substring(0, subStr.length - 1); |
| | | } |
| | | } |
| | | subStr += ']},'; |
| | | } else { |
| | | subStr += '{"title": "' + subMenu.id + "-" + subMenu.title + '", "id": "' + subMenu.id + '"},'; |
| | | } |
| | | return subStr; |
| | | } |
| | | |
| | | }); |
| | | //#endregion |
| | | |
| | | //å·¥åå表éä¸ |
| | | function CheckBtom(obj, i) { |
| | | workcode = $("#gd" + i + "").html(); //éè¿æ ·å¼IDè·åhtmlå
容(å·¥åå·) |
| | | HICMOInterID = $("#df" + i + "").html(); //ç产订å主å
ç |
| | | HICMOEntryID = $("#ds" + i + "").html(); //ç产订ååå
ç |
| | | HEquipID = $("#sb" + i + "").html(); //设å¤id |
| | | HEquipNumber = $("#sbbm" + i + "").html(); //设å¤ç¼ç |
| | | HEquipName = $("#sbmc" + i + "").html(); //设å¤åç§° |
| | | HSourceID = $("#cs" + i + "").html(); //产线id |
| | | |
| | | $('.cns').removeClass('check1'); //å é¤ä¸åç¶çº§clssæ ·å¼ç¸åçææå
ç´ |
| | | $("#bs" + i + "").addClass('check1'); // æ·»å å½åå
ç´ çæ ·å¼ |
| | | if (HEquipID != "" && HEquipID != null) { |
| | | wktag = 1; |
| | | } |
| | | sWhere = { |
| | | HDeptID: HDeptID |
| | | , HSourceID: HSourceID |
| | | } |
| | | |
| | | /* ç¹å» è®¾å¤ å¼å¯è®¾å¤è¯¦æ
å¼¹çªï¼è®¾å¤ç¶æè¯¦æ
é¡µé¢ |
| | | *详æ
页é¢ï¼æ¥æè¿æ»¤ã设å¤è¿è¡åæãè¦æ¥ï¼å¯ä»¥å
åå¼ä¸ºæè¿çå®ç¯ç®¡çï¼åå¼ç¨ 设å¤è¿è¡ç¶æè¡¨ Sb_EquipRunningStatus(设å¤å½åç¶ææçåæ) |
| | | */ |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: '设å¤è¯¦æ
', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: './DAQ_EvidenceEquipmentCockpitDetail.html?HEquipID=' + HEquipID, |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | |
| | | }, |
| | | }); |
| | | // FourReport(JSON.stringify(sWhere)); |
| | | } |
| | | |
| | | //æ¥è¯¢ é¨é¨+产线 4个å¾è¡¨ èµå¼ |
| | | function FourReport(sWhere) { |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Sc_HEquipStateDistribution/Get_EquipStateDistribution_FourReport', |
| | | type: "GET", |
| | | data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "OrganizationID": sessionStorage["OrganizationID"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | var chartData = data.data.h_p_Sc_FourStateDistributionReport; |
| | | var chartData1 = data.data.h_p_Sc_FourStateDistributionReport1; |
| | | var chartData2 = data.data.h_p_Sc_FourStateDistributionReport2; |
| | | var chartData3 = data.data.h_p_Sc_FourStateDistributionReport3; |
| | | var mychart11 = echarts.init(document.getElementById('mychart11')); |
| | | var mychart22 = echarts.init(document.getElementById('mychart22')); |
| | | var mychart3 = echarts.init(document.getElementById('mychart3')); |
| | | var mychart4 = echarts.init(document.getElementById('mychart4')); |
| | | |
| | | get_Histogram1(mychart11, chartData); |
| | | get_LineChart(mychart22, chartData1); |
| | | get_Statistics(mychart3, chartData2); |
| | | get_Histogram4(mychart4, chartData3); |
| | | |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //æ±ç¶å¾ |
| | | function get_Histogram1(mychart11, chartData) { |
| | | // é»è®¤çoptionç»æ |
| | | var option = { |
| | | title: { |
| | | text: 'è¿ä¸å¤©äº§è½', // é»è®¤æ é¢ä¸ºç©º |
| | | left: 'center', |
| | | top: '10%', // è°æ´æ é¢ä½ç½®ï¼æ¾å°æä¸é¢ |
| | | textStyle: { |
| | | fontSize: 18, |
| | | color: '#ff0000' |
| | | } |
| | | }, |
| | | grid: { |
| | | top: '25%', // è°æ´gridçtopå¼ï¼ç»æ é¢çåºç©ºé´ |
| | | bottom: '20%', |
| | | left: '10%', |
| | | right: '10%' |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: [] // é»è®¤xè½´æ°æ®ä¸ºç©º |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [], // é»è®¤seriesæ°æ®ä¸ºç©º |
| | | type: 'bar' |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // å¦æææ°æ®ï¼æ´æ°optionçå
容 |
| | | if (chartData && chartData.length > 0) { |
| | | option.title.text = 'è¿ä¸å¤©äº§è½'; // æ£å¸¸æ°æ®æ¶æ²¡ææ é¢ |
| | | option.xAxis.data = chartData.map(item => item.æ¥æ); // 设置xè½´æ°æ® |
| | | option.series[0].data = chartData.map(item => item['çäº§æ»æ°']); // 设置yè½´æ°æ® |
| | | |
| | | option.series[0].label = { |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | formatter: function (params) { |
| | | return echarts.format.addCommas(params.value); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | option.series[0].itemStyle = { |
| | | normal: { |
| | | color: '#15b1fa', |
| | | label: { |
| | | show: true // 卿±ç¶å¾ä¸æ¾ç¤ºæ°æ® |
| | | } |
| | | } |
| | | }; |
| | | } else { |
| | | // æ²¡ææ°æ®æ¶ï¼æ¾ç¤º"ææ æ°æ®"æç¤º |
| | | option.title.text = 'ææ æ°æ®'; |
| | | } |
| | | |
| | | // æ´æ°å¾è¡¨ |
| | | mychart11.setOption(option); |
| | | } |
| | | |
| | | //æ±ç¶å¾2 |
| | | function get_LineChart(mychart22, chartData1) { |
| | | // é»è®¤çoptionç»æ |
| | | var option = { |
| | | title: { |
| | | text: 'ç»´ä¿®', // é»è®¤æ é¢ä¸ºç©º |
| | | left: 'center', |
| | | top: '10%', // è°æ´æ é¢ä½ç½®ï¼æ¾å°æä¸é¢ |
| | | textStyle: { |
| | | fontSize: 18, |
| | | color: '#ff0000' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | color: '#15b1fa', |
| | | formatter: function (value) { |
| | | var ret = "";//æ¼æ¥å \nè¿åçç±»ç®é¡¹ |
| | | var maxLength = 1;//æ¯é¡¹æ¾ç¤ºæåä¸ªæ° |
| | | var valLength = value.length;//Xè½´ç±»ç®é¡¹çæåä¸ªæ° |
| | | var rowN = Math.ceil(valLength / maxLength); //ç±»ç®é¡¹éè¦æ¢è¡çè¡æ° |
| | | if (rowN > 1)//å¦æç±»ç®é¡¹çæå大äº3, |
| | | { |
| | | for (var i = 0; i < rowN; i++) { |
| | | var temp = "";//æ¯æ¬¡æªåçå符串 |
| | | var start = i * maxLength;//å¼å§æªåçä½ç½® |
| | | var end = start + maxLength;//ç»ææªåçä½ç½® |
| | | //è¿éä¹å¯ä»¥å ä¸ä¸ªæ¯å¦æ¯æåä¸è¡ç夿ï¼ä½æ¯ä¸å 乿²¡æå½±åï¼é£å°±ä¸å å§ |
| | | temp = value.substring(start, end) + "\n"; |
| | | ret += temp; //ååæç»çå符串 |
| | | } |
| | | return ret; |
| | | } |
| | | else { |
| | | return value; |
| | | } |
| | | } |
| | | }, |
| | | grid: { |
| | | top: '25%', // è°æ´gridçtopå¼ï¼ç»æ é¢çåºç©ºé´ |
| | | bottom: '20%', |
| | | left: '10%', |
| | | right: '10%' |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: [] // é»è®¤xè½´æ°æ®ä¸ºç©º |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [], // é»è®¤seriesæ°æ®ä¸ºç©º |
| | | type: 'bar' |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | |
| | | |
| | | // å¦æææ°æ®ï¼æ´æ°optionçå
容 |
| | | if (chartData1 && chartData1.length > 0) { |
| | | option.title.text = 'ä¸è¯åå '; // æ£å¸¸æ°æ®æ¶æ²¡ææ é¢ |
| | | option.xAxis.data = chartData1.map(item => item.ä¸è¯åå ); // 设置xè½´æ°æ® |
| | | option.series[0].data = chartData1.map(item => item['æ°é']); // 设置yè½´æ°æ® |
| | | |
| | | option.series[0].label = { |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | formatter: function (params) { |
| | | return echarts.format.addCommas(params.value); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | option.series[0].itemStyle = { |
| | | normal: { |
| | | color: '#15b1fa', |
| | | label: { |
| | | show: true // 卿±ç¶å¾ä¸æ¾ç¤ºæ°æ® |
| | | } |
| | | } |
| | | }; |
| | | } else { |
| | | // æ²¡ææ°æ®æ¶ï¼æ¾ç¤º"ææ æ°æ®"æç¤º |
| | | option.title.text = 'ææ æ°æ®'; |
| | | } |
| | | |
| | | // æ´æ°å¾è¡¨ |
| | | mychart22.setOption(option); |
| | | } |
| | | |
| | | //é¥¼å¾ |
| | | function get_Statistics(mychart3, chartData2) { |
| | | // 妿 chartData2 ä¸ºç©ºï¼æä¾ä¸ä¸ªâæ æ°æ®âæç¤º |
| | | if (chartData2.length === 0) { |
| | | mychart3.setOption({ |
| | | title: { |
| | | text: 'ææ æ°æ®', |
| | | left: 'center', |
| | | top: '10%', |
| | | textStyle: { |
| | | color: 'red', // 设置æ é¢é¢è²ä¸ºçº¢è² |
| | | fontSize: 18, |
| | | fontWeight: 'bold' |
| | | } |
| | | }, |
| | | series: [], // æ¸
ç©ºæ°æ® |
| | | graphic: [] // æ¸
空å¾å½¢ä¸çææ¬ |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // ç¶æé¢è²æ å° |
| | | const statusColorMap = { |
| | | '弿º': '#28a745', // ç»¿è² |
| | | 'æ
é': '#ff63a5', // æ¡çº¢è² |
| | | 'åæº': '#f0ad4e', // é»è² |
| | | 'æªç¥': '#6c757d' // ç°è² |
| | | }; |
| | | |
| | | // 计ç®å¼æºç |
| | | const totalDevices = chartData2.reduce((sum, item) => sum + item.æ°é, 0); |
| | | const onlineDevices = chartData2.find(item => item.ç¶æ === '弿º')?.æ°é || 0; |
| | | const onlineRate = totalDevices === 0 ? 0 : (onlineDevices / totalDevices * 100).toFixed(2); |
| | | |
| | | // 卿çæé¥¼å¾æ°æ®ï¼å¹¶æ ¹æ®ç¶æè®¾ç½®é¢è² |
| | | var data = chartData2.map(function (item) { |
| | | // è·åå½åç¶æçé¢è²ï¼é»è®¤ä¸ºç°è² |
| | | var color = statusColorMap[item.ç¶æ] || statusColorMap['æªç¥']; |
| | | |
| | | return { |
| | | value: item.æ°é, |
| | | name: item.ç¶æ, |
| | | itemStyle: { |
| | | color: color // 为æ¯ä¸ªç¶æè®¾ç½®å¯¹åºçé¢è² |
| | | } |
| | | }; |
| | | }); |
| | | |
| | | // å¾è¡¨çé
置项 |
| | | var option = { |
| | | title: { |
| | | text: '设å¤ç¶æåæå¯¹æ¯', |
| | | left: 'center', |
| | | top: '10%', // å°æ 颿¾ç½®å°é¡¶é¨ |
| | | textStyle: { |
| | | color: 'red', // 设置æ é¢åä½é¢è²ä¸ºçº¢è² |
| | | fontSize: 18, |
| | | fontWeight: 'bold' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | legend: { |
| | | orient: 'vertical', |
| | | left: 'left' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '设å¤ç¶æ', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: data, // 使ç¨å¨æçæçæ°æ® |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | graphic: [{ |
| | | type: 'text', |
| | | left: 'center', |
| | | top: '85%', // è°æ´ææ¬ä½ç½®ï¼è®©å
¶ç¨å¾®æ´å¾ä¸ |
| | | style: { |
| | | text: `弿ºç: ${onlineRate}%`, // æ¾ç¤ºå¼æºç |
| | | font: '16px Arial', |
| | | fill: '#00aaff' // ä½¿ç¨æµ
èè²æ¾ç¤ºå¼æºç |
| | | } |
| | | }] |
| | | }; |
| | | |
| | | // 设置å¾è¡¨çé
置项 |
| | | mychart3.setOption(option); |
| | | } |
| | | |
| | | //æ±ç¶å¾4 |
| | | function get_Histogram4(mychart4, chartData3) { |
| | | // é»è®¤çoptionç»æ |
| | | var option = { |
| | | title: { |
| | | text: 'ç»´ä¿®', // é»è®¤æ é¢ä¸ºç©º |
| | | left: 'center', |
| | | top: '10%', // è°æ´æ é¢ä½ç½®ï¼æ¾å°æä¸é¢ |
| | | textStyle: { |
| | | fontSize: 18, |
| | | color: '#ff0000' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | color: '#15b1fa', |
| | | formatter: function (value) { |
| | | var ret = "";//æ¼æ¥å \nè¿åçç±»ç®é¡¹ |
| | | var maxLength = 1;//æ¯é¡¹æ¾ç¤ºæåä¸ªæ° |
| | | var valLength = value.length;//Xè½´ç±»ç®é¡¹çæåä¸ªæ° |
| | | var rowN = Math.ceil(valLength / maxLength); //ç±»ç®é¡¹éè¦æ¢è¡çè¡æ° |
| | | if (rowN > 1)//å¦æç±»ç®é¡¹çæå大äº3, |
| | | { |
| | | for (var i = 0; i < rowN; i++) { |
| | | var temp = "";//æ¯æ¬¡æªåçå符串 |
| | | var start = i * maxLength;//å¼å§æªåçä½ç½® |
| | | var end = start + maxLength;//ç»ææªåçä½ç½® |
| | | //è¿éä¹å¯ä»¥å ä¸ä¸ªæ¯å¦æ¯æåä¸è¡ç夿ï¼ä½æ¯ä¸å 乿²¡æå½±åï¼é£å°±ä¸å å§ |
| | | temp = value.substring(start, end) + "\n"; |
| | | ret += temp; //ååæç»çå符串 |
| | | } |
| | | return ret; |
| | | } |
| | | else { |
| | | return value; |
| | | } |
| | | } |
| | | }, |
| | | grid: { |
| | | top: '25%', // è°æ´gridçtopå¼ï¼ç»æ é¢çåºç©ºé´ |
| | | bottom: '20%', |
| | | left: '10%', |
| | | right: '10%' |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: [] // é»è®¤xè½´æ°æ®ä¸ºç©º |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [], // é»è®¤seriesæ°æ®ä¸ºç©º |
| | | type: 'bar' |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | // å¦æææ°æ®ï¼æ´æ°optionçå
容 |
| | | if (chartData3 && chartData3.length > 0) { |
| | | option.title.text = 'ç»´ä¿®'; // æ£å¸¸æ°æ®æ¶æ²¡ææ é¢ |
| | | option.xAxis.data = chartData3.map(item => item.维修项ç®); // 设置xè½´æ°æ® |
| | | option.series[0].data = chartData3.map(item => item['维修次æ°']); // 设置yè½´æ°æ® |
| | | |
| | | option.series[0].label = { |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | formatter: function (params) { |
| | | return echarts.format.addCommas(params.value); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | option.series[0].itemStyle = { |
| | | normal: { |
| | | color: '#15b1fa', |
| | | label: { |
| | | show: true // 卿±ç¶å¾ä¸æ¾ç¤ºæ°æ® |
| | | } |
| | | } |
| | | }; |
| | | } else { |
| | | // æ²¡ææ°æ®æ¶ï¼æ¾ç¤º"ææ æ°æ®"æç¤º |
| | | option.title.text = 'ææ æ°æ®'; |
| | | } |
| | | |
| | | // æ´æ°å¾è¡¨ |
| | | mychart4.setOption(option); |
| | | } |
| | | |
| | | |
| | | |
| | | //#region æä½å°æé®ç¹å»äºä»¶ |
| | | |
| | | //弿ºæé®ç¹å»äºä»¶ |
| | | function PowerOn(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ°å¢å¼æºå', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../设å¤ç®¡ç/设å¤å¼æºå/Sb_EquipBeginBill.html?OperationType=1&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //åæºæé®ç¹å»äºä»¶ |
| | | function PowerOff(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ°å¢åæºå', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../设å¤ç®¡ç/设å¤åæºå/Sb_EquipStopBill.html?OperationType=1&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //ç¹æ£è®°å½æé®ç¹å»äºä»¶ |
| | | function DotCheck(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ¥çè®¾å¤æç¹æ£è®°å½', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../车é´ç®¡ç/å¯å¨ç¹æ£å/Sc_WorkDotCheckBillList_Day.html?OperationType=设å¤&linterid=' + HEquipID + '', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID, |
| | | "HEquipType": "设å¤" |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //æ
éç»è®°æé®ç¹å»äºä»¶ |
| | | function FaultRegistration(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ°å¢æ
éç»è®°å', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../设å¤ç®¡ç/Sb_Add_EqpConkBookBillList.html?OperationType=1&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //ç»´ä¿®è®°å½æé®ç¹å»äºä»¶ |
| | | function Maintenance(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ°å¢ç»´ä¿®è®°å½å', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../设å¤ç®¡ç/Sb_Add_EqpMaintenanceBillList.html?OperationType=1&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //å±¥åæé®ç¹å»äºä»¶ |
| | | function Resume(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ¥ç设å¤å±¥å', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../设å¤ç®¡ç/è®¾å¤æ¥è¡¨/Sb_EquipResumeCheckQuery.html?OperationType=1&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID, |
| | | "HEquipNumber": HEquipNumber, |
| | | "HEquipName": HEquipName |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //å·¥èºæé®ç¹å»äºä»¶ |
| | | function Process(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ¥ç设å¤å·¥èºåæ°', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../ç产管ç/订åç¶æåå¸/Sc_EquipmentProcessList.html?OperationType=4&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipID": HEquipID, |
| | | "HICMOInterID": HICMOInterID, |
| | | "HICMOEntryID": HICMOEntryID |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | //ç¶ææé®ç¹å»äºä»¶ |
| | | function HStatus(event, obj) { |
| | | if (wktag == 0) { |
| | | layer.alert("è¯·éæ©å¯¹åºè®¾å¤", { icon: 5 }); |
| | | return false; |
| | | } |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', //å ä¸è¾¹æ¡ |
| | | title: 'æ¥ç设å¤OEE', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['100%', '100%'], |
| | | maxmin: true, |
| | | content: '../../ç产管ç/订åç¶æåå¸/Sc_OEEStatusReport.html?OperationType=4&linterid=0&HSouceBillType=', |
| | | end: function () { |
| | | |
| | | }, |
| | | success: function (dom, index) { |
| | | var data = []; |
| | | data.push({ |
| | | "HEquipNumber": HEquipNumber |
| | | }); |
| | | |
| | | //éè¿ç´¢å¼è·åå°å½åiframeå¼¹åºå± |
| | | var iframe = window['layui-layer-iframe' + index]; |
| | | //è°ç¨iframeå¼¹åºå±å
çæ¹æ³ |
| | | iframe.edit(data); |
| | | |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | |
| | | //#endregion |
| | | |
| | | </script> |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <title>è¯æ®è®¾å¤é©¾é©¶è±</title> |
| | | <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/layui1.js"></script> |
| | | <script src="../../layuiadmin/Scripts/json2.js"></script> |
| | | <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script> |
| | | <script src="../../layuiadmin/PubCustom.js"></script> |
| | | <script src="../../layuiadmin/zgqCustom/zgqCustom.js"></script> |
| | | <script src="../../layuiadmin/HideButton.js"></script> |
| | | <script src="../../layuiadmin/soulTable.slim.js"></script> |
| | | <script src="../../layuiadmin/PageTitle.js"></script> |
| | | <script src="../../layuiadmin/echarts.min.js"></script> |
| | | <script src="../../layuiadmin/Scripts/webConfig.js"></script> |
| | | |
| | | <style type="text/css"> |
| | | #deviceRunningInfo { |
| | | background: #ffffff; |
| | | border-radius: 8px; |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); |
| | | padding: 22px 20px; |
| | | margin: 15px 0; |
| | | border: 1px solid #f0f0f0; |
| | | } |
| | | |
| | | #deviceRunningInfo .layui-form-label { |
| | | text-align: left; |
| | | font-weight: 500; |
| | | color: #555; |
| | | padding-left: 0; |
| | | width: auto; |
| | | } |
| | | |
| | | #deviceRunningInfo .layui-form-static { |
| | | border: 1px solid #e8e8e8; |
| | | border-radius: 6px; |
| | | padding: 0 12px; |
| | | line-height: 38px; |
| | | background-color: #fafbfc; |
| | | color: #333; |
| | | font-size: 14px; |
| | | transition: all 0.2s; |
| | | } |
| | | |
| | | #deviceRunningInfo .layui-form-static:hover { |
| | | background-color: #f5f7fa; |
| | | border-color: #dcdfe6; |
| | | } |
| | | |
| | | #deviceRunningInfo .layui-form-item { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | .zy-sub-title { |
| | | font-size: large; |
| | | padding: 20px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | #EquipRunningStatusCharts { |
| | | height: 230px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-card" style="padding: 1px"> |
| | | <div class="layui-card-body" style="padding: 1px;"> |
| | | <form class="layui-form" action="" lay-filter="component-form-group"> |
| | | <!-- éæ©æ¥æ --> |
| | | <div class="layui-collapse"> |
| | | <div class="layui-colla-item"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">æ¥æèå´</label> |
| | | <div class="layui-inline" id="ID-laydate-range"> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" autocomplete="off" id="HBeginDate" |
| | | class="layui-input" placeholder="å¼å§æ¥æ"> |
| | | </div> |
| | | <div class="layui-form-mid">-</div> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" autocomplete="off" id="HEndDate" class="layui-input" |
| | | placeholder="ç»ææ¥æ"> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 设å¤è¿è¡ä¿¡æ¯ --> |
| | | |
| | | <div class="layui-form-item" id="deviceRunningInfo"> |
| | | <label class="zy-sub-title" style="padding: 0;">设å¤è¿è¡ä¿¡æ¯<label |
| | | id="deviceRunningDate"></label></label> |
| | | <div class="layui-row" style="padding-top: 20px;"> |
| | | <!-- å æ¯ 2/12 (约1/6)ï¼ç¨äºæ¾æ ç¾ --> |
| | | <div class="layui-col-xs1 layui-col-md1"> |
| | | <label class="layui-form-label" |
| | | style="text-align: left; padding-left: 0;">设å¤åç§°</label> |
| | | </div> |
| | | <!-- å æ¯ 4/12 (约1/3)ï¼ç¨äºæ¾å¼ --> |
| | | <div class="layui-col-xs4 layui-col-md4"> |
| | | <div class="layui-form-static" id="HEquipName"></div> |
| | | </div> |
| | | |
| | | <!-- å ä½ç©ºåï¼ç¨äºéå¼å·¦å³ä¸¤ç»æ°æ® --> |
| | | <div class="layui-col-xs1 layui-col-md1"> </div> |
| | | |
| | | <!-- 第äºåæ ç¾ï¼æå±åºå --> |
| | | <div class="layui-col-xs1 layui-col-md1"> |
| | | <label class="layui-form-label" |
| | | style="text-align: left; padding-left: 0;">æå±åºå</label> |
| | | </div> |
| | | <div class="layui-col-xs4 layui-col-md4"> |
| | | <div class="layui-form-static" id="HDeptName"></div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row"> |
| | | <!-- å æ¯ 2/12 (约1/6)ï¼ç¨äºæ¾æ ç¾ --> |
| | | <div class="layui-col-xs1 layui-col-md1"> |
| | | <label class="layui-form-label" |
| | | style="text-align: left; padding-left: 0;">设å¤ç¶æ</label> |
| | | </div> |
| | | <!-- å æ¯ 4/12 (约1/3)ï¼ç¨äºæ¾å¼ --> |
| | | <div class="layui-col-xs4 layui-col-md4"> |
| | | <div class="layui-form-static" id="HEquipStatus"></div> |
| | | </div> |
| | | |
| | | <!-- å ä½ç©ºåï¼ç¨äºéå¼å·¦å³ä¸¤ç»æ°æ® --> |
| | | <div class="layui-col-xs1 layui-col-md1"> </div> |
| | | |
| | | <!-- 第äºåæ ç¾ï¼æå±åºå --> |
| | | <div class="layui-col-xs1 layui-col-md1"> |
| | | <label class="layui-form-label" |
| | | style="text-align: left; padding-left: 0;">æ¥æ</label> |
| | | </div> |
| | | <div class="layui-col-xs4 layui-col-md4"> |
| | | <div class="layui-form-static" id="HDate"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 设å¤è¿è¡ä¿¡æ¯(æ¶åº) echarts å®ç°--> |
| | | <div> |
| | | <label class="zy-sub-title">设å¤è¿è¡æ¶åº</label> |
| | | <div class="layui-row"> |
| | | <div class="layui-col-xs12 layui-inline"> |
| | | <div id="EquipRunningStatusCharts"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- å®ç¯(è¦æ¥)è®°å½ maintable --> |
| | | <div> |
| | | <label class="zy-sub-title">æè¿10æ¡è¦æ¥è®°å½</label> |
| | | <table class="" id="mainTable" lay-filter="mainTable"></table> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.config({ |
| | | base: '../../layuiadmin/' //éæèµæºæå¨è·¯å¾ |
| | | }).extend({ |
| | | index: 'lib/index', //主å
¥å£æ¨¡å |
| | | }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'tree', 'util'], 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 |
| | | , tree = layui.tree |
| | | , util = layui.util; |
| | | |
| | | //æ¥è¯¢æ¡ä»¶ |
| | | var sWhere = ""; |
| | | var option = []; |
| | | var chartsOption = {} |
| | | var params = getUrlVars() |
| | | var HEquipID = params[params[0]] |
| | | //#endregion |
| | | |
| | | //#region è¿å
¥é¡µé¢å³å è½½ |
| | | |
| | | //åå§åçé¢ |
| | | set_ClearBill(); |
| | | |
| | | //#endregion |
| | | |
| | | //#region 触åäºä»¶ï¼å
æ¬form.on(){}æ ¼å¼çææç¹å»äºä»¶ãéæ©äºä»¶ç |
| | | form.on("submit(btnSearch)", function (data) { |
| | | get_Display(); |
| | | }) |
| | | |
| | | |
| | | |
| | | //#endregion |
| | | |
| | | |
| | | // #region æ¬é¡µé¢è°ç¨çæææ¹æ³ |
| | | function set_ClearBill() { |
| | | // åå§åæ¥æéæ©å¨ |
| | | initDateSelector() |
| | | |
| | | // åå§åecharts |
| | | set_InitCharts() |
| | | |
| | | //åå§åè¡¨æ ¼ |
| | | set_InitGrid(); |
| | | |
| | | // è·åæ°æ® |
| | | get_Display(); |
| | | } |
| | | |
| | | function initDateSelector() { |
| | | // é»è®¤æ¥æä¸ºä»å¤© |
| | | var yesterdaySameTime = new Date(); |
| | | yesterdaySameTime.setDate(yesterdaySameTime.getDate() - 1); |
| | | $("#HBeginDate").val(util.toDateString(yesterdaySameTime, 'yyyy-MM-dd HH:mm:ss')) |
| | | $("#HEndDate").val(util.toDateString(new Date(), 'yyyy-MM-dd HH:mm:ss')) |
| | | // åå§åæ¥æèå´éæ© |
| | | |
| | | laydate.render({ |
| | | elem: '#ID-laydate-range', |
| | | range: ['#HBeginDate', '#HEndDate'], |
| | | type: 'datetime', |
| | | }); |
| | | } |
| | | |
| | | function set_InitCharts() { |
| | | var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts")) |
| | | get_LineChart(EquipRunningStatusCharts, []);//æçº¿ |
| | | } |
| | | |
| | | function set_InitGrid() { |
| | | option = { |
| | | elem: '#mainTable' |
| | | // , toolbar: '#toolbarDemo' |
| | | , height: 'full-50' |
| | | , page: true |
| | | , cellMinWidth: 90 |
| | | , totalRow: true |
| | | , limit: 50 |
| | | , limits: [50, 500, 5000, 20000] |
| | | , done: function (res, curr, count) { |
| | | // soulTable.render(this); |
| | | } |
| | | , cols: [[ |
| | | { type: 'checkbox', fixed: 'left', totalRowText: 'å计è¡' } |
| | | , { field: 'è¦æ¥ä»£ç ', title: 'è¦æ¥ä»£ç ' } |
| | | , { field: 'æç»æ¶é´', title: 'æç»æ¶é´' } |
| | | , { field: 'åå ', title: 'åå ' } |
| | | , { |
| | | field: 'æ¶é´', title: 'æ¶é´', templet: function (d) { |
| | | return layui.util.toDateString(d.æ¶é´, 'yyyy-MM-dd HH:mm:ss'); |
| | | } |
| | | } |
| | | ]], |
| | | data: [] |
| | | }; |
| | | |
| | | table.render(option) |
| | | } |
| | | |
| | | function get_LineChart(mychart22, chartData1) { |
| | | var baseTime = $("HBeginDate").val() |
| | | var endTime = $("HEndDate").val() |
| | | var yAxisData = [$("#HDeptName").val()] |
| | | var seriesData = chartData1.map(item => [ |
| | | item.StartTime, |
| | | item.EndTime, |
| | | item.EquipName, |
| | | item.Status |
| | | ]); |
| | | // é»è®¤çoptionç»æ |
| | | chartsOption = { |
| | | // æ é¢ |
| | | title: { |
| | | text: '设å¤è¿è¡æ¶åº', |
| | | left: 'left', |
| | | show: false |
| | | }, |
| | | // å¾ä¾ï¼å³ä¸è§çç¶ææ è¯ï¼ |
| | | legend: { |
| | | data: ['è¿è¡', '弿º', 'åæº', 'åè¦', 'å
³æº'], |
| | | right: 10, |
| | | top: 5, |
| | | show: true |
| | | }, |
| | | // æç¤ºæ¡ï¼é¼ æ æ¬æµ®æ¶æ¾ç¤ºï¼ |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | formatter: function (params) { |
| | | // params æ¯ä¸ä¸ªæ°ç»ï¼è¿éåªæä¸æ¡æ°æ® |
| | | const data = params[0]; |
| | | const start = new Date(data.value[0]); |
| | | const end = new Date(data.value[1]); |
| | | // æ ¼å¼åæ¶é´æ¾ç¤º |
| | | return `${data.name}<br/>${start.toLocaleTimeString()} ~ ${end.toLocaleTimeString()}`; |
| | | } |
| | | }, |
| | | // ç½æ ¼ï¼è°æ´å¾è¡¨å
è¾¹è·ï¼ç»Yè½´åXè½´æ ç¾çåºç©ºé´ï¼ |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | // Xè½´é
ç½®ï¼æ¶é´è½´ |
| | | xAxis: { |
| | | type: 'time', // å
³é®ï¼æ¶é´ç±»åè½´ |
| | | min: baseTime, // åºå®æå°æ¶é´ï¼14:00 |
| | | max: endTime, // åºå®æå¤§æ¶é´ï¼æ¬¡æ¥12:00 |
| | | axisLabel: { |
| | | // æ ¼å¼åXè½´æ ç¾æ¾ç¤ºä¸º 14:00, 16:00 æ ¼å¼ |
| | | formatter: function (value) { |
| | | const date = new Date(value); |
| | | return `${date.getHours()}:${String(date.getMinutes()).padStart(2, '0')}`; |
| | | }, |
| | | interval: 2 * 3600 * 1000 // æ¯2å°æ¶æ¾ç¤ºä¸ä¸ªå»åº¦ï¼å¯¹åº14, 16, 18...ï¼ |
| | | }, |
| | | axisLine: { show: true }, |
| | | splitLine: { show: true } |
| | | }, |
| | | // Yè½´é
ç½®ï¼ç±»ç®è½´ |
| | | yAxis: { |
| | | type: 'category', |
| | | data: yAxisData, |
| | | axisLine: { show: false }, |
| | | axisTick: { show: false } // éèYè½´å»åº¦çº¿ |
| | | }, |
| | | // ç³»åæ°æ® |
| | | series: [ |
| | | { |
| | | name: ['è¿è¡', '弿º', 'åæº', 'åè¦', 'å
³æº'], |
| | | type: 'bar', // ä½¿ç¨æ±ç¶å¾å®ç°çç¹å¾ææ |
| | | barWidth: '80%', // æ±åé«åº¦ |
| | | // æ°æ®æ å°ï¼å°æ¶é´æ³æ°æ®å
³èå°Xè½´ |
| | | encode: { |
| | | x: [0, 1], // value ç第0项ä½ä¸ºèµ·å§ï¼ç¬¬1项ä½ä¸ºç»æ |
| | | y: 2 // value ç第2项ä½ä¸ºYè½´ç±»ç® |
| | | }, |
| | | // å
·ä½æ°æ® |
| | | data: seriesData, |
| | | // ç¶æé¢è²æ å° |
| | | itemStyle: { |
| | | color: function (params) { |
| | | // æ ¹æ®æ°æ®åç§°å¹é
é¢è² |
| | | const name = params.data[2]; |
| | | const colorMap = { |
| | | 'è¿è¡': '#67C23A', |
| | | 'è¿è¡ä¸': '#67C23A', |
| | | '弿º': '#409EFF', |
| | | 'åæº': '#E6A23C', |
| | | 'åè¦': '#F56C6C', |
| | | 'å
³æº': '#909399', |
| | | 'ç»´ä¿®ä¸': '#F56C6C', |
| | | 'ç»´æ¤ä¸': '#F56C6C' |
| | | }; |
| | | return colorMap[name] || '#ccc'; |
| | | } |
| | | }, |
| | | // æ±åä¸ä¸æ¾ç¤ºæåæ ç¾ |
| | | label: { show: false } |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | |
| | | // å¦æææ°æ®ï¼æ´æ°optionçå
容 |
| | | if (chartData1 && chartData1.length > 0) { |
| | | |
| | | } else { |
| | | // æ²¡ææ°æ®æ¶ï¼æ¾ç¤º"ææ æ°æ®"æç¤º |
| | | chartsOption.title.text = 'ææ æ°æ®'; |
| | | } |
| | | |
| | | // æ´æ°å¾è¡¨ |
| | | mychart22.setOption(chartsOption); |
| | | } |
| | | |
| | | |
| | | function get_Display() { |
| | | var HBeginDate = $("#HBeginDate").val() |
| | | var HEndDate = $("#HEndDate").val() |
| | | sWhere = get_sWhere() |
| | | var sWhere2 = "" |
| | | |
| | | if (HBeginDate && HEndDate) { |
| | | sWhere2 += " and StartTime BETWEEN CAST('" + HBeginDate + "' AS DATETIME)" + |
| | | " AND DATEADD(MILLISECOND, -3, DATEADD(DAY, 1, CAST('" + HEndDate + "' AS DATETIME))) " |
| | | } |
| | | // è·åè®¾å¤æ¡£æ¡ |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Gy_EquipFileMain/GetList', |
| | | type: "GET", |
| | | data: { "user": sessionStorage["HUserName"], sWhere: " and hmainid = " + HEquipID }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | if (data.count == 1) { |
| | | $("#HEquipName").text(data.data[0]["设å¤åç§°"]) |
| | | $("#HDeptName").text(data.data[0]["使ç¨é¨é¨"]) |
| | | $("#HEquipStatus").text(data.data[0]["å½åç¶æ"]) |
| | | $("#HDate").text(util.toDateString(new Date(), 'MMæddæ¥')) |
| | | } |
| | | else { |
| | | layer.alert(data.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | // è·å设å¤è¿è¡æ¶åºä¿¡æ¯ |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/SB_EquipRunningStatus/ReportByID', |
| | | type: "GET", |
| | | data: { "HEquipID": HEquipID, "sWhere": sWhere2, "user": sessionStorage["HUserName"] }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | console.log(data) |
| | | |
| | | if (data.count == 1) { |
| | | var EquipRunningStatusCharts = echarts.init(document.getElementById("EquipRunningStatusCharts")) |
| | | get_LineChart(EquipRunningStatusCharts, data.data);//æçº¿ |
| | | } else { |
| | | layer.alert(data.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | // è·åæè¿10æ¡å®ç¯(è¦æ¥è®°å½) |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/Sc_MESTransFerWorkBill/Get_TransFerBillListByHEquipID', |
| | | type: "GET", |
| | | data: { "HEquipID": HEquipID, sWhere: sWhere }, |
| | | dataType: "json",//æ°æ®ç±»åå¯ä»¥ä¸º text xml json script jsonp |
| | | success: function (data) { |
| | | |
| | | var LoadData1 = data.data.OA_ErrMsgBackBillMain; |
| | | if (data.code == 1) //å·¥ååè¡¨æ°æ® |
| | | { |
| | | option.data = LoadData1; |
| | | table.render(option) |
| | | } else { |
| | | layer.alert(data.msg, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }, |
| | | error: function (err) { |
| | | layer.alert(err.Message, { time: 1 * 2000, icon: 5 }); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function get_sWhere() { |
| | | var sWhereStr = "" |
| | | var HBeginDate = $("#HBeginDate").val() |
| | | var HEndDate = $("#HEndDate").val() |
| | | |
| | | if (HBeginDate && HEndDate) { |
| | | sWhereStr += " and a.HDate BETWEEN CAST('" + HBeginDate + "' AS DATETIME)" + |
| | | " AND DATEADD(MILLISECOND, -3, DATEADD(DAY, 1, CAST('" + HEndDate + "' AS DATETIME))) " |
| | | } |
| | | return sWhereStr |
| | | } |
| | | |
| | | // #endregion |
| | | |
| | | function getUrlVars() { |
| | | var vars = [], hash; |
| | | var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
| | | for (var i = 0; i < hashes.length; i++) { |
| | | hash = hashes[i].split('='); |
| | | vars.push(hash[0]); |
| | | vars[hash[0]] = hash[1]; |
| | | } |
| | | return vars; |
| | | } |
| | | //#endregion |
| | | |
| | | }) |
| | | </script> |
| | | </body> |
| | | |
| | | |
| | | |
| | | </html> |
| 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/HideButton.js"></script> |
| | | <script src='../../../layuiadmin/lib/extend/echarts.min.js'></script> |
| | | <style type="text/css"> |
| | | * { margin: 0; padding: 0; box-sizing: border-box; } |
| | | html, body { height: 100%; } |
| | | .page-container { |
| | | height: 100%; |
| | | padding: 10px; |
| | | background: linear-gradient(180deg, #eef2f5 0%, #e4e8eb 100%); |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .query-bar { |
| | | background: #fff; |
| | | padding: 10px 15px; |
| | | border-radius: 6px; |
| | | margin-bottom: 10px; |
| | | box-shadow: 0 1px 4px rgba(0,0,0,0.08); |
| | | flex-shrink: 0; |
| | | } |
| | | .summary-row { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin-bottom: 10px; |
| | | flex-shrink: 0; |
| | | } |
| | | .chart-container { |
| | | background: #fff; |
| | | border-radius: 6px; |
| | | padding: 8px; |
| | | box-shadow: 0 1px 4px rgba(0,0,0,0.08); |
| | | flex: 1; |
| | | overflow: hidden; |
| | | min-height: 0; |
| | | } |
| | | .chart-row { display: flex; height: 100%; } |
| | | .chart-box { flex: 1; margin: 4px; border: 1px solid #eee; border-radius: 4px; background: #fafbfc; } |
| | | |
| | | /* æ±æ»ç»è®¡å¡çæ ·å¼ */ |
| | | .summary-card { |
| | | margin: 4px; |
| | | border: 1px solid #eee; |
| | | border-radius: 4px; |
| | | background: #fafbfc; |
| | | text-align: center; |
| | | padding: 8px 4px; |
| | | min-width: 200px; |
| | | } |
| | | .summary-card.total-card { |
| | | background: linear-gradient(135deg, #1e9fff 0%, #5fb3ff 100%); |
| | | border-color: #1e9fff; |
| | | } |
| | | .summary-card.total-card .summary-number, |
| | | .summary-card.total-card .summary-label { color: #fff; } |
| | | .summary-number { font-size: 16px; font-weight: bold; color: #1e9fff; } |
| | | .summary-label { font-size: 11px; color: #888; margin-top: 2px; } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div class="page-container"> |
| | | <!-- æ¥è¯¢æ --> |
| | | <div class="query-bar"> |
| | | <form class="layui-form" action="" lay-filter="component-form-group"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 75px;">å¼å§æ¥æ</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="date" class="layui-input" id="HBeginDate" style="width:140px;"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: 75px;">ç»ææ¥æ</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="date" class="layui-input" id="HEndDate" style="width:140px;"> |
| | | </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 layui-btn-primary layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">éç½®</button> |
| | | </form> |
| | | </div> |
| | | |
| | | <!-- æ±æ»ç»è®¡ï¼å¨æçæï¼ --> |
| | | <div class="summary-row" id="summaryRow"></div> |
| | | |
| | | <!-- å¾è¡¨åºåï¼å¨æçæï¼ --> |
| | | <div class="chart-container" id="chartContainer"></div> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.config({ |
| | | base: '../../../layuiadmin/' |
| | | }).extend({ |
| | | index: 'lib/index', |
| | | }).use(['index', 'form', 'element'], function () { |
| | | |
| | | var $ = layui.$, layer = layui.layer, form = layui.form; |
| | | var chartInstances = {}; |
| | | var chartConfigKeys = []; // åå¨é
ç½®keyé¡ºåº |
| | | |
| | | //#region ========== å¾è¡¨é
ç½®ï¼æ°å¢å¾è¡¨åªé卿¤å¤æ·»å é
ç½®ï¼========== |
| | | /* |
| | | * é
置说æï¼ |
| | | * - chartTitle: å¾è¡¨æ é¢ |
| | | * - chartType: å¾è¡¨ç±»å (pie/bar) |
| | | * - chartColors: å¾è¡¨é¢è²æ°ç» |
| | | * - api: æ¥å£é
ç½® |
| | | * - url: æ¥å£å°å |
| | | * - method: è¯·æ±æ¹æ³ (GET/POST) |
| | | * - buildParams: æå»ºåæ°ç彿°(beginDate, endDate) |
| | | * - dataPath: æ°æ®å¨è¿åç»æä¸çè·¯å¾ï¼å¦ 'data' æ 'data.list' |
| | | * - successCode: æåçç¶æç |
| | | * - statusMap: ç¶ææ å°é
ç½® |
| | | * - name: ç¶æåç§° |
| | | * - condition: 夿æ¡ä»¶è¡¨è¾¾å¼ |
| | | * |
| | | * æ°å¢å¾è¡¨åªé卿¤å¤æ·»å é
ç½®ï¼é¡µé¢ä¼èªå¨çæå¯¹åºçæ±æ»å¡çåå¾è¡¨ |
| | | */ |
| | | var ChartConfig = { |
| | | // é¢ç¨å |
| | | lingyong: { |
| | | chartTitle: 'é¢ç¨åç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldProdOutBillController/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'" + " and 徿¥ç±»å='é¨é¨'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999, |
| | | Type: '3802' |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null && (å
³é人=="" || å
³é人==null)' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // éåºå |
| | | tuiku: { |
| | | chartTitle: 'éåºåç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#73c0de', '#3ba272', '#fc8452', '#9a60b4'], |
| | | api: { |
| | | url: '/Sc_MouldProdBackBillController/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'" + " and 徿¥ç±»å='é¨é¨'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999, |
| | | Type: '3803' |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // è°æ¨å |
| | | diaobo: { |
| | | chartTitle: 'è°æ¨åç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#ea7ccc', '#5470c6', '#91cc75', '#fac858'], |
| | | api: { |
| | | url: '/Sc_MouldProdMoveBillController/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999, |
| | | Type: '3814' |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // ååºå |
| | | jiechu: { |
| | | chartTitle: 'ååºåç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#fc8452', '#73c0de', '#3ba272', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldProdOutBillController/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'" + " and 徿¥ç±»å='ä¾åºå'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999, |
| | | Type: '3802' |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // å½è¿å |
| | | guihuan: { |
| | | chartTitle: 'å½è¿åç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#9a60b4', '#ea7ccc', '#5470c6', '#fac858'], |
| | | api: { |
| | | url: '/Sc_MouldProdBackBillController/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'" + " and 徿¥ç±»å='ä¾åºå'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999, |
| | | Type: '3803' |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // 䏿¨¡å |
| | | shangmo: { |
| | | chartTitle: '䏿¨¡åç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#3ba272', '#fc8452', '#73c0de', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldUpperBill/Sc_MouldUpperBillListPage', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // 䏿¨¡å |
| | | xiamo: { |
| | | chartTitle: '䏿¨¡åç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#5470c6', '#91cc75', '#fac858', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldUpperBill/Sc_MouldLowerBillListPage', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // ä¿å
»è®°å½ |
| | | baoyang: { |
| | | chartTitle: 'ä¿å
»è®°å½ç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#73c0de', '#3ba272', '#fc8452', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldMaintainBill/GetMouldMaintainBillListPage', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å¾
ä¿å
»', condition: '1==1' } |
| | | ] |
| | | }, |
| | | // ç¹æ£è®°å½ |
| | | dianjian: { |
| | | chartTitle: 'ç¹æ£è®°å½ç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#91cc75', '#fac858', '#5470c6', '#ee6666'], |
| | | api: { |
| | | url: '/Sc_MouldDotCheckBill/GetMouldDotCheckBillListPage', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å¼å¸¸', condition: '1==1' } |
| | | ] |
| | | }, |
| | | // ç»´ä¿®è®°å½ |
| | | weixiu: { |
| | | chartTitle: '维修记å½ç»è®¡', |
| | | chartType: 'pie', |
| | | chartColors: ['#3ba272', '#fc8452', '#73c0de', '#9a60b4'], |
| | | api: { |
| | | url: '/Sb_MouldRepairWorkBill/GetMouldRepairWorkBillListPage', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // 寿å½è°æ´å |
| | | shoumingtiaozheng: { |
| | | chartTitle: '寿å½è°æ´å', |
| | | chartType: 'pie', |
| | | chartColors: ['#5470c6', '#fac858', '#ee6666', '#73c0de'], |
| | | api: { |
| | | url: '/Sc_MouldLifeChangeBill/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | Organization: sessionStorage["Organization"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | }, |
| | | // 寿å½èç¨å |
| | | shouminghaoyon: { |
| | | chartTitle: '寿å½èç¨å', |
| | | chartType: 'pie', |
| | | chartColors: ['#91cc75', '#3ba272', '#fc8452', '#ea7ccc'], |
| | | api: { |
| | | url: '/Sc_MouldLifeUseBill/page', |
| | | method: 'GET', |
| | | buildParams: function(beginDate, endDate) { |
| | | return { |
| | | sWhere: " and æ¥æ between '" + beginDate + "' and '" + endDate + "'", |
| | | user: sessionStorage["HUserName"] || '', |
| | | Organization: sessionStorage["Organization"] || '', |
| | | page: 1, |
| | | size: 999999 |
| | | }; |
| | | }, |
| | | dataPath: 'data', |
| | | successCode: 1 |
| | | }, |
| | | statusMap: [ |
| | | { name: 'å建', condition: 'å®¡æ ¸äºº=="" || å®¡æ ¸äºº==null' }, |
| | | { name: 'å·²å®¡æ ¸', condition: 'å®¡æ ¸äºº!="" && å®¡æ ¸äºº!=null' }, |
| | | { name: 'å·²å
³é', condition: 'å
³é人!="" && å
³é人!=null' } |
| | | ] |
| | | } |
| | | }; |
| | | //#endregion |
| | | |
| | | //#region ========== 卿çæé¡µé¢ç»æ ========== |
| | | |
| | | /** |
| | | * æ ¹æ®ChartConfigå¨æçææ±æ»å¡çåå¾è¡¨å®¹å¨ |
| | | */ |
| | | function generatePageStructure() { |
| | | // è·åé
ç½®keyé¡ºåº |
| | | chartConfigKeys = []; |
| | | for (var key in ChartConfig) { |
| | | chartConfigKeys.push(key); |
| | | } |
| | | |
| | | var chartCount = chartConfigKeys.length; |
| | | |
| | | // çææ±æ»å¡ç |
| | | generateSummaryCards(chartCount); |
| | | |
| | | // çæå¾è¡¨å®¹å¨ |
| | | generateChartBoxes(chartCount); |
| | | |
| | | // 计ç®é«åº¦ |
| | | calculateHeights(chartCount); |
| | | } |
| | | |
| | | /** |
| | | * çææ±æ»å¡ç |
| | | */ |
| | | function generateSummaryCards(chartCount) { |
| | | var $summaryRow = $('#summaryRow'); |
| | | $summaryRow.empty(); |
| | | |
| | | // æ»è®¡å¡ç |
| | | var cardWidth = calculateCardWidth(chartCount + 1); |
| | | $summaryRow.append('<div class="summary-card total-card" id="card-total" style="width:' + cardWidth + '">' + |
| | | '<div class="summary-number">0</div><div class="summary-label">æ»è®¡</div></div>'); |
| | | |
| | | // åç±»åå¡ç |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | var config = ChartConfig[key]; |
| | | var label = config.chartTitle.replace('ç»è®¡', '').replace('å', ''); |
| | | $summaryRow.append('<div class="summary-card" id="card-' + key + '" style="width:' + cardWidth + '">' + |
| | | '<div class="summary-number">0</div><div class="summary-label">' + label + '</div></div>'); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 计ç®å¡ç宽度 |
| | | */ |
| | | function calculateCardWidth(count) { |
| | | // æ¯è¡æå¤12ä¸ªï¼æ ¹æ®æ°é计ç®å®½åº¦ |
| | | var perRow = Math.min(count, 12); |
| | | return 'calc(' + (100 / perRow) + '% - 8px)'; |
| | | } |
| | | |
| | | /** |
| | | * çæå¾è¡¨å®¹å¨ï¼æ¯è¡4ä¸ªï¼ |
| | | */ |
| | | function generateChartBoxes(chartCount) { |
| | | var $chartContainer = $('#chartContainer'); |
| | | $chartContainer.empty(); |
| | | |
| | | var colsPerRow = 4; // æ¯è¡4个å¾è¡¨ |
| | | var rows = Math.ceil(chartCount / colsPerRow); |
| | | |
| | | for (var row = 0; row < rows; row++) { |
| | | var $rowDiv = $('<div class="chart-row"></div>'); |
| | | |
| | | for (var col = 0; col < colsPerRow; col++) { |
| | | var index = row * colsPerRow + col; |
| | | if (index < chartCount) { |
| | | var key = chartConfigKeys[index]; |
| | | $rowDiv.append('<div class="chart-box" id="chart-' + key + '"></div>'); |
| | | } else { |
| | | // å¡«å
空ç½çåä¿æå¸å± |
| | | $rowDiv.append('<div class="chart-box" style="visibility:hidden;"></div>'); |
| | | } |
| | | } |
| | | |
| | | $chartContainer.append($rowDiv); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 计ç®åé¨åé«åº¦ |
| | | */ |
| | | function calculateHeights(chartCount) { |
| | | var rows = Math.ceil(chartCount / 4); |
| | | // chart-containerå·²éè¿flex:1èªå¨å¡«å
ï¼åªé设置æ¯è¡é«åº¦ |
| | | $('.chart-row').css('height', (100 / rows) + '%'); |
| | | } |
| | | |
| | | //#endregion |
| | | |
| | | //#region ========== éç¨æ°æ®è·åæ¹æ³ ========== |
| | | |
| | | function getValueByPath(obj, path) { |
| | | if (!path) return obj; |
| | | var keys = path.split('.'); |
| | | var result = obj; |
| | | for (var i = 0; i < keys.length; i++) { |
| | | if (result && result[keys[i]] !== undefined) { |
| | | result = result[keys[i]]; |
| | | } else { |
| | | return null; |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | function fetchChartData(chartKey, beginDate, endDate) { |
| | | var config = ChartConfig[chartKey]; |
| | | if (!config) return Promise.resolve([]); |
| | | |
| | | return new Promise(function(resolve) { |
| | | var params = {}; |
| | | if (config.api.buildParams) { |
| | | params = config.api.buildParams(beginDate, endDate); |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: GetWEBURL() + config.api.url, |
| | | type: config.api.method || 'GET', |
| | | data: params, |
| | | success: function(result) { |
| | | var successCode = config.api.successCode || 1; |
| | | var dataPath = config.api.dataPath || 'data'; |
| | | |
| | | if (result.code == successCode || result.count == successCode) { |
| | | var data = getValueByPath(result, dataPath); |
| | | resolve(data || []); |
| | | } else { |
| | | resolve([]); |
| | | } |
| | | }, |
| | | error: function() { |
| | | resolve([]); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | function countByStatusConfig(dataList, config) { |
| | | var result = []; |
| | | var statusMap = config.statusMap; |
| | | |
| | | for (var i = 0; i < statusMap.length; i++) { |
| | | var statusItem = statusMap[i]; |
| | | var count = 0; |
| | | |
| | | for (var j = 0; j < dataList.length; j++) { |
| | | if (evalCondition(dataList[j], statusItem.condition)) { |
| | | count++; |
| | | } |
| | | } |
| | | |
| | | result.push({ |
| | | name: statusItem.name, |
| | | value: count |
| | | }); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | function evalCondition(item, condition) { |
| | | if (!condition) return true; |
| | | |
| | | if (condition.indexOf('==""') > -1 || condition.indexOf('==null') > -1) { |
| | | var fieldMatch = condition.match(/(\S+)==""/); |
| | | if (fieldMatch) { |
| | | var field = fieldMatch[1]; |
| | | return !item[field] || item[field] === ''; |
| | | } |
| | | } |
| | | |
| | | if (condition.indexOf('!=""') > -1 || condition.indexOf('!=null') > -1) { |
| | | var notEmptyMatch = condition.match(/(\S+)!=""/); |
| | | if (notEmptyMatch) { |
| | | var field = notEmptyMatch[1]; |
| | | return item[field] && item[field] !== ''; |
| | | } |
| | | } |
| | | |
| | | var equalMatch = condition.match(/(\S+)==\"([^\"]+)\"/); |
| | | if (equalMatch) { |
| | | var field = equalMatch[1]; |
| | | var value = equalMatch[2]; |
| | | return item[field] === value; |
| | | } |
| | | |
| | | return condition === '1==1'; |
| | | } |
| | | |
| | | function fetchAllChartData(beginDate, endDate) { |
| | | var promises = []; |
| | | var results = {}; |
| | | |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | (function(chartKey) { |
| | | var promise = fetchChartData(chartKey, beginDate, endDate).then(function(data) { |
| | | results[chartKey] = countByStatusConfig(data, ChartConfig[chartKey]); |
| | | }); |
| | | promises.push(promise); |
| | | })(key); |
| | | } |
| | | |
| | | return Promise.all(promises).then(function() { |
| | | return results; |
| | | }); |
| | | } |
| | | |
| | | //#endregion |
| | | |
| | | //#region ========== å¾è¡¨æ¸²æ ========== |
| | | |
| | | function renderPieChart(chartId, title, data, colors) { |
| | | var chartDom = document.getElementById(chartId); |
| | | if (!chartDom) return; |
| | | |
| | | var chart = echarts.init(chartDom); |
| | | chartInstances[chartId] = chart; |
| | | |
| | | var pieData = data.map(function(item) { |
| | | return { name: item.name, value: item.value }; |
| | | }); |
| | | |
| | | chart.setOption({ |
| | | title: { |
| | | text: title, |
| | | left: 'center', |
| | | top: 5, |
| | | textStyle: { fontSize: 12, fontWeight: 'bold' } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: '{b}: {c} ({d}%)' |
| | | }, |
| | | series: [{ |
| | | type: 'pie', |
| | | radius: ['30%', '50%'], |
| | | center: ['50%', '55%'], |
| | | data: pieData, |
| | | itemStyle: { borderRadius: 3, borderColor: '#fff', borderWidth: 1 }, |
| | | label: { show: true, fontSize: 10, formatter: '{b}\n{c}' }, |
| | | color: colors || ['#91cc75', '#fac858', '#ee6666', '#73c0de'] |
| | | }] |
| | | }); |
| | | } |
| | | |
| | | function renderAllCharts(data) { |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | var config = ChartConfig[key]; |
| | | if (config.chartType === 'pie') { |
| | | renderPieChart('chart-' + key, config.chartTitle, data[key] || [], config.chartColors); |
| | | } |
| | | } |
| | | |
| | | updateSummaryCards(data); |
| | | } |
| | | |
| | | function updateSummaryCards(data) { |
| | | var grandTotal = 0; |
| | | |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | var config = ChartConfig[key]; |
| | | var total = 0; |
| | | if (data[key]) { |
| | | for (var j = 0; j < data[key].length; j++) { |
| | | total += data[key][j].value; |
| | | } |
| | | } |
| | | grandTotal += total; |
| | | $('#card-' + key).find('.summary-number').text(total); |
| | | } |
| | | |
| | | $('#card-total').find('.summary-number').text(grandTotal); |
| | | } |
| | | |
| | | //#endregion |
| | | |
| | | //#region ========== äºä»¶ç»å® ========== |
| | | |
| | | form.on('submit(btnReSearch)', function(data) { |
| | | set_ClearQuery(); |
| | | }); |
| | | |
| | | form.on('submit(btnSearch)', function(data) { |
| | | get_FastQuery(); |
| | | }); |
| | | |
| | | function set_ClearBill() { |
| | | // å
çæé¡µé¢ç»æ |
| | | generatePageStructure(); |
| | | |
| | | // è®¾ç½®æ¥æå¹¶æ¥è¯¢ |
| | | var today = Format(new Date(), "yyyy-MM-dd"); |
| | | $("#HBeginDate").val(Format(new Date(new Date().setDate(new Date().getDate() - 5)), "yyyy-MM-dd")); |
| | | $("#HEndDate").val(today); |
| | | get_FastQuery(); |
| | | } |
| | | |
| | | function get_FastQuery() { |
| | | var wait = layer.load(); |
| | | var beginDate = $("#HBeginDate").val(); |
| | | var endDate = $("#HEndDate").val(); |
| | | |
| | | fetchAllChartData(beginDate, endDate).then(function(statsData) { |
| | | var hasData = false; |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | if (statsData[key] && statsData[key].length > 0) { |
| | | var sum = 0; |
| | | for (var j = 0; j < statsData[key].length; j++) { |
| | | sum += statsData[key][j].value; |
| | | } |
| | | if (sum > 0) { |
| | | hasData = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (hasData) { |
| | | renderAllCharts(statsData); |
| | | } else { |
| | | renderAllCharts(getMockData()); |
| | | } |
| | | layer.close(wait); |
| | | }).catch(function() { |
| | | renderAllCharts(getMockData()); |
| | | layer.close(wait); |
| | | }); |
| | | } |
| | | |
| | | function set_ClearQuery() { |
| | | var today = Format(new Date(), "yyyy-MM-dd"); |
| | | $("#HBeginDate").val(today); |
| | | $("#HEndDate").val(today); |
| | | get_FastQuery(); |
| | | } |
| | | |
| | | //#endregion |
| | | |
| | | //#region ========== æ¨¡ææ°æ® ========== |
| | | |
| | | function getMockData() { |
| | | var mockData = {}; |
| | | for (var i = 0; i < chartConfigKeys.length; i++) { |
| | | var key = chartConfigKeys[i]; |
| | | var config = ChartConfig[key]; |
| | | mockData[key] = []; |
| | | for (var j = 0; j < config.statusMap.length; j++) { |
| | | mockData[key].push({ |
| | | name: config.statusMap[j].name, |
| | | value: Math.floor(Math.random() * 20) + 5 |
| | | }); |
| | | } |
| | | } |
| | | return mockData; |
| | | } |
| | | |
| | | //#endregion |
| | | |
| | | // åå§å |
| | | set_ClearBill(); |
| | | |
| | | // çªå£å¤§å°ååæ¶éæ°æ¸²æå¾è¡¨ |
| | | window.onresize = function() { |
| | | setTimeout(function() { |
| | | for (var key in chartInstances) { |
| | | if (chartInstances[key]) { |
| | | chartInstances[key].resize(); |
| | | } |
| | | } |
| | | }, 100); |
| | | }; |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html xmlns="http://www.w3.org/1999/xhtml"> |
| | | <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"> |
| | | <!-- 注æï¼ææå¼ç¨è·¯å¾ä¿æä¸å项ç®ä¸è´ï¼ç¡®ä¿åè½å®æ´ --> |
| | | <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> |
| | | <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all"> |
| | | <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all"> |
| | | <script src="../../../layuiadmin/layui/layui.js"></script> |
| | | <script src="../../../layuiadmin/SetColumn.js"></script> |
| | | </head> |
| | | <body> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | <form class="layui-form" action="" lay-filter="component-form-group" autocomplete="off"> |
| | | <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">ç产车é´</label> |
| | | <div class="layui-input-block"> |
| | | <select name="HDeptID" id="HDeptID" lay-verify="required" lay-search class="layui-input ForFilteringSchemes">--> |
| | | <!-- å¨ææ¸²æè½¦é´ --> |
| | | <!--</select> |
| | | </div> |
| | | </div>--> |
| | | <!-- ç©æ --> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">模å
·</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" name="HMouldNumber" id="HMouldNumber" style="float:left;width:150px;"> |
| | | <input type="hidden" class="layui-input" name="HMouldID" id="HMouldID" value="0"> |
| | | <button type="button" lay-submit="" class="layui-btn" lay-filter="HMaterList" style="width:40px;"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <!--<div class="layui-inline"> |
| | | <label class="layui-form-label">è´¹ç¨é¡¹ç®</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" name="HItMoneyName" id="HItMoneyName" style="float:left;width:150px;"> |
| | | <input type="hidden" class="layui-input" name="HItMoneyID" id="HItMoneyID" value="0"> |
| | | <button type="button" lay-submit="" class="layui-btn" lay-filter="HItemMoneyList" style="width:40px;"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i> |
| | | </button> |
| | | </div> |
| | | </div>--> |
| | | <!--<div class="layui-inline"> |
| | | <label class="layui-form-label">ææ¬å¯¹è±¡ </label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" name="HCostObjectName" id="HCostObjectName" style="float:left;width:150px;"> |
| | | <input type="hidden" class="layui-input" name="HCostObjectID" id="HCostObjectID" value="0"> |
| | | <button type="button" lay-submit="" class="layui-btn" lay-filter="HCostobjList" style="width:40px;"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i> |
| | | </button> |
| | | </div> |
| | | </div>--> |
| | | <!--<div class="layui-inline"> |
| | | <label class="layui-form-label">å·¥åº</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" name="HProcName" id="HProcName" style="float:left;width:150px;"> |
| | | <input type="hidden" class="layui-input" name="HProcID" id="HProcID" value="0"> |
| | | <button type="button" lay-submit="" class="layui-btn" lay-filter="HProcList" style="width:40px;"> |
| | | <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i> |
| | | </button> |
| | | </div> |
| | | </div>--> |
| | | <!-- å¼å§å¹´æ --> |
| | | <div class="layui-inline" style="margin-left: 20px;"> |
| | | <label class="layui-form-label">å¼å§å¹´æ</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" id="ID-laydate-start-month" placeholder="éæ©å¼å§å¹´æ" readonly> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- ç»æå¹´æ --> |
| | | <div class="layui-inline" style="margin-left: 20px;"> |
| | | <label class="layui-form-label">ç»æå¹´æ</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" id="ID-laydate-end-month" placeholder="éæ©ç»æå¹´æ" readonly> |
| | | </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> |
| | | </div> |
| | | </form> |
| | | <div style="margin-top: 10px;"> |
| | | <table class="" id="mainTable" lay-filter="mainTable"></table> |
| | | <!-- è¡¨æ ¼å¤´å·¥å
·æ --> |
| | | <script type="text/html" id="toolbarDemo"> |
| | | <div class="layui-btn-container"> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload2"><i class="layui-icon layui-icon-refresh"></i>å·æ°</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export2"><i class="layui-icon layui-icon-export"></i>导åº</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>å设置</button> |
| | | <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>导å
¥</button> |
| | | </div> |
| | | </script> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.config({ |
| | | base: '../../../layuiadmin/' |
| | | }).extend({ |
| | | index: 'lib/index', |
| | | }).use(['index', 'form', 'table', 'element', 'laydate', 'soulTable', 'tableSelect'], function () { |
| | | var $ = layui.$, |
| | | admin = layui.admin, |
| | | layer = layui.layer, |
| | | table = layui.table, |
| | | form = layui.form, |
| | | element = layui.element, |
| | | laydate = layui.laydate, |
| | | soulTable = layui.soulTable, |
| | | tableSelect = layui.tableSelect; |
| | | |
| | | // 模ååï¼ç¨äºå设置åå¨ï¼ |
| | | var HModName = "Sc_MouldMonthUseReport"; |
| | | // è¡¨æ ¼é项 |
| | | var option = { |
| | | elem: '#mainTable', |
| | | toolbar: '#toolbarDemo', |
| | | height: 'full-120', // éå½çåºåºé¨ç©ºé´ |
| | | page: true, |
| | | cellMinWidth: 90, |
| | | totalRow: true, |
| | | limit: 500, |
| | | limits: [50, 500, 5000, 20000], |
| | | done: function (res, curr, count) { |
| | | soulTable.render(this); |
| | | }, |
| | | cols: [[]] |
| | | }; |
| | | // å¯å¨é¡µé¢ |
| | | initPage(); |
| | | |
| | | function initPage() { |
| | | // 渲æè½¦é´ä¸ææ¡ |
| | | loadDeptSelect(); |
| | | |
| | | // 设置é»è®¤æ¥æ: å¼å§å¹´æä¸º7个æåï¼ç»æå¹´æä¸ºä»å¤© |
| | | var currentDate = new Date(); |
| | | var lastMonth = new Date(currentDate); |
| | | lastMonth.setMonth(currentDate.getMonth() - 6); |
| | | |
| | | // æ°å¢ï¼æ¸²æå¼å§å¹´æéæ©å¨ |
| | | laydate.render({ |
| | | elem: '#ID-laydate-start-month', |
| | | type: 'month', |
| | | format: 'yyyy-MM', |
| | | value: lastMonth, |
| | | done: function (value, date) { |
| | | // å¯ä»¥éæ©å¨è¿éè§¦åæ¥è¯¢ |
| | | // getFastQuery(2); |
| | | } |
| | | }); |
| | | |
| | | // æ°å¢ï¼æ¸²æç»æå¹´æéæ©å¨ |
| | | laydate.render({ |
| | | elem: '#ID-laydate-end-month', |
| | | type: 'month', |
| | | format: 'yyyy-MM', |
| | | value: currentDate, |
| | | done: function (value, date) { |
| | | // å¯ä»¥éæ©å¨è¿éè§¦åæ¥è¯¢ |
| | | // getFastQuery(2); |
| | | } |
| | | }); |
| | | |
| | | getFastQuery(2); |
| | | // éæ°æ¸²æè¡¨åå
ç´ ï¼selectçï¼ |
| | | form.render('select'); |
| | | } |
| | | |
| | | // è·å车é´ä¸æ |
| | | function loadDeptSelect() { |
| | | $.ajax({ |
| | | type: "GET", |
| | | url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList", |
| | | async: false, |
| | | data: { "HOrgID": sessionStorage["OrganizationID"] || 1 }, // é»è®¤ç»ç»1 |
| | | success: function (result) { |
| | | var html = '<option value="0" style="color:red;" selected>å
¨é¨è½¦é´</option>'; |
| | | if (result.count == 1 && result.data) { |
| | | var data = result.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | html += '<option style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>'; |
| | | } |
| | | } |
| | | $("#HDeptID").html(html); |
| | | form.render('select'); |
| | | }, |
| | | error: function () { |
| | | layer.alert('è·å车é´å表失败', { icon: 2 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | // ä¿®æ¹åçgetFastQuery彿° |
| | | function getFastQuery(type) { |
| | | // ä¿®æ¹ï¼ä»å¹´æéæ©å¨è·åå¼ï¼è䏿¯ä»æ¥æè¾å
¥æ¡ |
| | | var HStartYearMonth = $("#ID-laydate-start-month").val(); |
| | | var HEndYearMonth = $("#ID-laydate-end-month").val(); |
| | | |
| | | // æ°å¢ï¼éªè¯æ¯å¦éæ©äºå¼å§å¹´æ |
| | | if (!HStartYearMonth) { |
| | | layer.msg('è¯·éæ©å¼å§å¹´æ', { icon: 2 }); |
| | | return; |
| | | } |
| | | |
| | | // æ°å¢ï¼éªè¯æ¯å¦éæ©äºç»æå¹´æ |
| | | if (!HEndYearMonth) { |
| | | layer.msg('è¯·éæ©ç»æå¹´æ', { icon: 2 }); |
| | | return; |
| | | } |
| | | |
| | | // æ°å¢ï¼è§£æå¼å§å¹´æä¸ºå¹´åæ |
| | | var startParts = HStartYearMonth.split('-'); |
| | | var HStartYear = startParts[0]; |
| | | var HStartPeriod = startParts[1]; |
| | | |
| | | // æ°å¢ï¼è§£æç»æå¹´æä¸ºå¹´åæ |
| | | var endParts = HEndYearMonth.split('-'); |
| | | var HEndYear = endParts[0]; |
| | | var HEndPeriod = endParts[1]; |
| | | |
| | | // æ°å¢ï¼éªè¯å¹´æèå´æ¯å¦ææ |
| | | var startValue = parseInt(HStartYear) * 100 + parseInt(HStartPeriod); |
| | | var endValue = parseInt(HEndYear) * 100 + parseInt(HEndPeriod); |
| | | |
| | | if (startValue > endValue) { |
| | | layer.msg('å¼å§å¹´æä¸è½å¤§äºç»æå¹´æ', { icon: 2 }); |
| | | return; |
| | | } |
| | | |
| | | var HCostObjID = $("#HMouldID").val() || '0'; |
| | | var HWorkShopID = $("#HDeptID").val() || '0'; |
| | | var HWorkShopID = $("#HDeptID").val() || '0'; |
| | | var HProcID = $("#HProcID").val() || '0'; |
| | | |
| | | // ä¿®æ¹ï¼åå¨è¿ç¨åæ°æ¹ä¸ºå¼å§å¹´ãå¼å§æãç»æå¹´ãç»ææã车é´ãç©æ |
| | | var spParams = "'" + HStartYear + "','" + HStartPeriod + "','" + |
| | | HEndYear + "','" + HEndPeriod + "','" + |
| | | HWorkShopID + "','" + HCostObjID + "'" + ",'" + HProcID+"'"; |
| | | sWhere = spParams; |
| | | |
| | | if (type == 2) { |
| | | get_Display(spParams); |
| | | } |
| | | } |
| | | |
| | | // å è½½é¶æ¢¯è®¡ä»¶æ°æ® |
| | | function get_Display(params) { |
| | | var loadIndex = layer.load(1, { shade: false }); |
| | | |
| | | var sql = "exec h_p_CB_ActualItemMoneyCost" + params; |
| | | |
| | | $.ajax({ |
| | | url: GetWEBURL() + '/CB_ActualItemMoneyCostController/CB_ActualItemMoneyCostList', |
| | | type: "GET", |
| | | data: { "sWhere": sql }, |
| | | success: function (data1) { |
| | | layer.close(loadIndex); |
| | | if (data1.count == 1) { |
| | | // è§£æåå®ä¹ |
| | | var colDefs = []; // åæ¾ {id, name, Type} |
| | | if (data1.list && data1.list.length > 0) { |
| | | for (var k in data1.list) { |
| | | colDefs.push({ |
| | | id: data1.list[k].ColmCols, |
| | | name: data1.list[k].ColmCols, |
| | | Type: data1.list[k].ColmType |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // æå»ºè¡¨æ ¼å |
| | | var cols = []; |
| | | // å¤éæ¡å |
| | | cols.push({ type: 'checkbox', fixed: 'left', totalRowText: 'å计' }); |
| | | |
| | | // è¾
å©å¤ææ¥æå段(å½¢å¦"2025-02-20")ï¼å代ç ç¨isValidDate使ªå®ä¹ï¼ç®åæåæ®µåæ¯å¦å«æ¨ªçº¿å¤æï¼å®é
æ ¹æ®ä¸å¡è°æ´ |
| | | for (var i = 0; i < colDefs.length; i++) { |
| | | var fieldName = colDefs[i].name; |
| | | var fieldId = colDefs[i].id; |
| | | var fieldType = colDefs[i].Type; |
| | | |
| | | // é坹鶿¢¯æ¥è¡¨ï¼æäºåå¯è½æ¯å¨ææ¥æ(ä¾å¦â02-20â)ï¼å代ç ç¨isValidDateå¤æï¼æä»¬ç®å模æï¼å¦æå段åå
å« '-' ä¸é¿åº¦<=10 è§ä¸ºæ¥æçå |
| | | var isShortDate = (fieldName.indexOf('-') > 0 && fieldName.length <= 10); |
| | | if (isShortDate) { |
| | | // æ¾ç¤ºæ MM-dd æ ¼å¼ï¼å代ç å°è¯Format使ªå®ä¹ï¼æ¤å¤ç´æ¥æ¾ç¤ºååæ®µå |
| | | cols.push({ |
| | | field: fieldId, |
| | | title: fieldName, // å代ç : Format(fieldName,'MM-dd') ä½Format彿°å¯è½æªå¼å
¥ï¼ä¿æåæ · |
| | | width: 70, |
| | | totalRow: true, |
| | | filter: true, |
| | | align: 'center' |
| | | }); |
| | | } else if (fieldType == 'DateTime') { |
| | | cols.push({ |
| | | field: fieldId, |
| | | title: fieldName, |
| | | align: 'center', |
| | | sort: true, |
| | | filter: true, |
| | | templet: "<div>{{ d." + fieldId + " == '' ? '' : layui.util.toDateString(d." + fieldId + ", 'yyyy-MM-dd HH:mm:ss') }}</div>", |
| | | width: 180 |
| | | }); |
| | | } else { |
| | | cols.push({ |
| | | field: fieldId, |
| | | title: fieldName, |
| | | align: 'center', |
| | | sort: true, |
| | | width: 150, |
| | | filter: true |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // æ´æ°è¡¨æ ¼é
ç½® |
| | | option.cols = [cols]; |
| | | option.data = data1.data || []; |
| | | |
| | | // åºç¨åéè设置ï¼å¦æåå¨ï¼ |
| | | DisPlay_HideColumn(HModName, sessionStorage["HUserName"] || 'admin', option, []); |
| | | |
| | | // 渲æè¡¨æ ¼ |
| | | table.render(option); |
| | | } else { |
| | | layer.alert(data1.code + ' ' + data1.Message, { icon: 5 }); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(loadIndex); |
| | | layer.alert("æ¥å£è¯·æ±å¤±è´¥", { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // éç½®è¿æ»¤æ¡ä»¶ |
| | | // ä¿®æ¹åçclearQuery彿° |
| | | function clearQuery() { |
| | | var currentDate = new Date(); |
| | | var lastMonth = new Date(currentDate); |
| | | lastMonth.setMonth(currentDate.getMonth() - 7); |
| | | |
| | | // ä¿®æ¹ï¼éæ°è®¾ç½®å¼å§å¹´æéæ©å¨çå¼ |
| | | laydate.render({ |
| | | elem: '#ID-laydate-start-month', |
| | | type: 'month', |
| | | format: 'yyyy-MM', |
| | | value: lastMonth, |
| | | show: false // 䏿¾ç¤ºé¢æ¿ |
| | | }); |
| | | |
| | | // ä¿®æ¹ï¼éæ°è®¾ç½®ç»æå¹´æéæ©å¨çå¼ |
| | | laydate.render({ |
| | | elem: '#ID-laydate-end-month', |
| | | type: 'month', |
| | | format: 'yyyy-MM', |
| | | value: currentDate, |
| | | show: false // 䏿¾ç¤ºé¢æ¿ |
| | | }); |
| | | |
| | | $("#HDeptID").val(0); |
| | | $("#HMouldID").val("0"); |
| | | $("#HMouldNumber").val(""); |
| | | $("#HProcID").val("0"); |
| | | $("#HProcName").val(""); |
| | | form.render('select'); |
| | | } |
| | | |
| | | // ---------- äºä»¶ç»å® ---------- |
| | | // æ¥è¯¢æé® |
| | | form.on('submit(btnSearch)', function () { |
| | | getFastQuery(2); |
| | | return false; |
| | | }); |
| | | |
| | | // éç½®æé® |
| | | form.on('submit(btnReSearch)', function () { |
| | | clearQuery(); |
| | | getFastQuery(2); |
| | | return false; |
| | | }); |
| | | |
| | | // çç»å¼¹åºæ¡(ä¿çåæå¼¹çªæ¹å¼ï¼ä¸tableSelectå
±åï¼ä¼å
使ç¨tableSelectï¼åæ¶æ¯æå¼¹çªéæ©) |
| | | |
| | | // èåå¼¹åºæ¡ HItemMoneyList |
| | | form.on('submit(HMaterList)', function () { |
| | | openHMaterDialog(); |
| | | return false; |
| | | }); |
| | | |
| | | // æå¼æ¨¡å
· (å get_checkEmp) |
| | | function openHMaterDialog() { |
| | | layer.open({ |
| | | type: 2, |
| | | skin: 'layui-layer-rim', |
| | | title: 'è', |
| | | closeBtn: 1, |
| | | shift: 2, |
| | | area: ['80%', '80%'], |
| | | maxmin: true, |
| | | content: ['../../模治å
·ç®¡ç/模治å
·ç®¡ç/Gy_MouldFileList.html?openType=2', 'yes'], |
| | | btn: ['ç¡®å®', 'åæ¶'], |
| | | btn1: function (index, layero) { |
| | | var iframeWindow = window['layui-layer-iframe' + index]; |
| | | var checkStatus = iframeWindow.layui.table.checkStatus('mainTable'); |
| | | if (checkStatus.data.length === 0) { |
| | | return layer.msg('è¯·éæ©æ°æ®'); |
| | | } |
| | | $("#HMouldID").val(checkStatus.data[0].hmainid); |
| | | $("#HMouldNumber").val(checkStatus.data[0].模å
·åç§°); |
| | | layer.close(index); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 头工å
·æ äºä»¶ (mainTable) |
| | | table.on('toolbar(mainTable)', function (obj) { |
| | | switch (obj.event) { |
| | | case 'set_HideColumn2': |
| | | get_HideColumnNoPage(HModName, sessionStorage["HUserName"] || 'admin', option, function () { getFastQuery(2); }); |
| | | break; |
| | | case 'btn-reload2': |
| | | getFastQuery(2); |
| | | break; |
| | | case 'get_export2': |
| | | exportExcel(); |
| | | break; |
| | | //导å
¥ |
| | | case 'set_SouceExcel': set_SouceExcel(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | }); |
| | | |
| | | // 导åºExcel (å get_Export2) |
| | | function exportExcel() { |
| | | var ModRightNameCheck = "Pay_PaymentEntryReportExcel"; |
| | | $.ajax({ |
| | | type: "GET", |
| | | url: GetWEBURL() + "/LMES/getReportByModRightNameCheck", |
| | | data: { "ModRightNameCheck": ModRightNameCheck, "user": sessionStorage["HUserName"] }, |
| | | success: function (result) { |
| | | if (result.count == 1) { |
| | | var data = option.data || []; |
| | | // æ¸
æ´æ°æ® |
| | | data.forEach(function (item) { |
| | | for (var key in item) { |
| | | if (item[key] == null) item[key] = ""; |
| | | if (typeof item[key] === 'string') { |
| | | item[key] = item[key].replace(/[\r\n]+/g, '').replace(/,/g, ''); |
| | | } |
| | | } |
| | | }); |
| | | table.exportFile("mainTable", data, "xls"); |
| | | } else { |
| | | layer.alert("å½åæ¨¡åæ²¡æå¯¼åºæé!", { icon: 5 }); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.alert("æ¥å£è¯·æ±å¤±è´¥!", { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //导å
¥ |
| | | function set_SouceExcel() { |
| | | layer.open({ |
| | | type: 2 |
| | | , area: ['100%', '100%'] |
| | | , title: 'èµæå¯¼å
¥' |
| | | , shift: 0//å¼¹åºå¨ç» |
| | | , content: './Gy_WIPBal_Excel.html?OperationType=dao&HSouceBillType=' |
| | | }) |
| | | } |
| | | |
| | | // å
¨å±è¾
å©å½æ° Format (妿ä¸åå¨ï¼ç®åå®ä¹) |
| | | if (typeof Format !== 'function') { |
| | | window.Format = function (date, fmt) { |
| | | if (!date) return ''; |
| | | var d = new Date(date); |
| | | var o = { |
| | | "M+": d.getMonth() + 1, |
| | | "d+": d.getDate(), |
| | | "H+": d.getHours(), |
| | | "m+": d.getMinutes(), |
| | | "s+": d.getSeconds() |
| | | }; |
| | | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length)); |
| | | for (var k in o) |
| | | if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); |
| | | return fmt; |
| | | }; |
| | | } |
| | | |
| | | |
| | | }); |
| | | |
| | | // ä¸é¢ä¸¤ä¸ªæ¹æ³ä¾å¼¹çªåè°ä½¿ç¨ (Gy_EmployeeList.html å Gy_Group.html ä¼è°ç¨) |
| | | function GetMouldFileValue(obj) //å¨å
· |
| | | { |
| | | $("#HMouldID").val(obj[0].hmainid); |
| | | $("#HMouldNumber").val(obj[0].模å
·åç§°); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </body> |
| | | </html> |
| | |
| | | <div class="layui-input-inline"> |
| | | <input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly> |
| | | <input type="hidden" name="HInterID" id="HInterID" value="0"> |
| | | <input type="hidden" name="HRedBlueFlag" id="HRedBlueFlag" value="false" > |
| | | <input type="hidden" name="HRedBlueFlag" id="HRedBlueFlag" value="false"> |
| | | <input type="hidden" name="HBillSubType" id="HBillSubType" value="3802"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | |
| | | //éæ©é¨é¨ |
| | | function get_btnHDeptID() { |
| | | var HOrgName = sessionStorage["Organization"] |
| | | //æå¼é¨é¨å°çªä½ |
| | | layer.open({ |
| | | type: 2 |
| | | , skin: "layui-layer-rim" //å ä¸è¾¹æ¡ |
| | | , title: "ä¾åºåå表" //æ é¢ |
| | | , title: "é¨é¨å表" //æ é¢ |
| | | , closeBtn: 1 //çªä½å³ä¸è§å
³é ç æ ·å¼ |
| | | , shift: 2 //å¼¹åºå¨ç» |
| | | , area: ["90%", "90%"] //çªä½å¤§å° |
| | | , maxmin: true //设置æå¤§æå°æé®æ¯å¦æ¾ç¤º |
| | | , content: ["../../../Baseset/åºç¡èµæ/Gy_DepartmentList.html", "yes"] |
| | | , content: ['../../../åºç¡èµæ/å
¬ç¨åºç¡èµæ/Gy_DepartmentList.html?Type=2&HOrgName=' + HOrgName, 'yes'] |
| | | , btn: ["ç¡®å®", "åæ¶"] |
| | | , btn1: function (index, laero) { |
| | | //æé®ä¸ çåè° |
| | |
| | | } |
| | | //æ´æ°è¡¨æ ¼ç¼åçæ°æ® |
| | | $("#HDeptID").val(checkStatus.data[0].HItemID); |
| | | $("#HDeptIDName").val(checkStatus.data[0].HName); |
| | | $("#HDeptIDName").val(checkStatus.data[0].é¨é¨åç§°); |
| | | layer.close(index);//å
³éå¼¹çª |
| | | } |
| | | }) |
| | |
| | | let interID = isEmpty($('#HInterID').val()) == true ? 0 : $('#HInterID').val() |
| | | let HProcID = $('#HProcID').val() |
| | | let HSourceID = $('#HSourceID').val() |
| | | debugger |
| | | if (isEmpty(HProcID, true, true) == false) { |
| | | // å·¥åºæ¯å¿
填项 |
| | | sWhere = " and HProcID = " + HProcID + " and HSourceID = " + HSourceID |
| | |
| | | |
| | | //#region å®¡æ ¸ï¼num=1ï¼/åå®¡æ ¸ï¼num=2ï¼ |
| | | function set_CheckBill(num) { |
| | | HInterID = $("#HInterID").val() |
| | | $.ajax({ |
| | | type: "GET", |
| | | url: GetWEBURL() + "/SB_EquipICMOTechParamBillController/GetSB_EquipICMOTechParamBill_Check_Json", |
| | |
| | | |
| | | //#region å¿«éè¿æ»¤ |
| | | function get_FastQuery(number) { |
| | | var sqlWhere = " and 1=1 "; |
| | | var sqlWhere = " "; |
| | | var HBillNo = $("#HBillNo").val();//åæ®å· |
| | | var HProject = $("#HProject").val();//项ç®å· |
| | | var HNumber = $("#HNumber").val();//ç©æç¼ç |