@{ Layout = "~/Views/Shared/_AMESLayout.cshtml"; } <script src="~/Highcharts-7.1.2/highcharts.js"></script> <script src="~/Highcharts-7.1.2/modules/exporting.js"></script> <script src="~/Highcharts-7.1.2/modules/export-data.js"></script> <div class="layui-card"> <div class="layui-card-header"> <div class="layui-form"> <div class="layui-form-item "> <div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div> </div> </div> </div> <div class="layui-card-body"> <div id="divChart" style="width: 100%; height: 400px; margin: 0 auto"></div> <input type="hidden" id="param_list" value="@ViewData["ParamList"]" /> <button type="button" onclick="tableToExcel('ratelist','直通率明細')" class="layui-btn layui-btn-normal layui-btn-sm"><i class="fa fa-file-excel-o"></i>導出Excel</button> <br /> <br /> @Html.Raw(ViewData["RateDataList"]) </div> </div> @section Scripts { @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); await Html.RenderPartialAsync("_FileinputScriptsPartial"); } <script type="text/javascript"> function formatJSONDate(jsonDate) { if (jsonDate == null) { return ""; } else { var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")); var myDate = new Date(date); var yy = myDate.getFullYear(); var mm = (myDate.getMonth() + 1 < 10 ? '0' : '') + (myDate.getMonth() + 1); var dd = (myDate.getDate() < 10 ? '0' : '') + myDate.getDate(); var h = (myDate.getHours() < 10 ? '0' : '') + myDate.getHours(); var m = (myDate.getMinutes() < 10 ? '0' : '') + myDate.getMinutes(); var s = (myDate.getSeconds() < 10 ? '0' : '') + myDate.getSeconds(); //mm + "/" + dd + " " + //var output = yy + "-" + mm + "-" + dd + " " + h + ":" + m + ":" + s; var output = yy + mm + dd + h + m + s; // myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds(); return output; } } function base64(content) { return window.btoa(unescape(encodeURIComponent(content))); } function tableToExcel(tableID, fileName) { var table = document.getElementById(tableID); var excelContent = table.innerHTML; var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>"; excelFile += "<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>"; excelFile += "<body><table>"; excelFile += excelContent; excelFile += "</table></body>"; excelFile += "</html>"; var link = "data:application/vnd.ms-excel;base64," + base64(excelFile); var a = document.createElement("a"); a.download = fileName + formatJSONDate(Date.now().toString()) + ".xls"; a.href = link; a.click(); } $(document).ready(function () { //alert(param_list.value); $.ajax({ type: "Post", url: '/QRS/GetYieldData4QRS014?id=' + param_list.value, contentType: "application/json; charset=utf-8", dataType: 'json', success: function (response) { var idx = 0; var xAxisData = new Array(); var yieldData = new Array(); $.each(response, function (i, item) { yieldData[idx] = item["yield"]; xAxisData[idx] = item["wipNO"]; idx = idx + 1; }); Highcharts.chart('divChart', { title: { text: '直通率圖表' }, subtitle: { text: '' }, xAxis: { categories: xAxisData }, yAxis: { title: { text: '直通率' } }, plotOptions: { line: { dataLabels: { enabled: true }, enableMouseTracking: false } }, series: [{ type: 'column', name: '工單號碼', data: yieldData }, { type: 'line', name: '工單號碼', data: yieldData }] }); }, error: function () { alert("查無直通率資料!"); $("#divChart").empty(); } }); }); </script> }