8 changed files with 503 additions and 2 deletions
@ -0,0 +1,35 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace AMESCoreStudio.Web.ViewModels.QRS |
||||
|
{ |
||||
|
public class QRS014ViewModel |
||||
|
{ |
||||
|
public QRS014ViewModel() |
||||
|
{ |
||||
|
SumYieldDatas = new List<SumYieldData>(); |
||||
|
} |
||||
|
|
||||
|
public List<SumYieldData> SumYieldDatas { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class SumYieldData |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 工單ID
|
||||
|
/// </summary>
|
||||
|
public int WipID { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 工單號碼
|
||||
|
/// </summary>
|
||||
|
public string WipNO { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 良率
|
||||
|
/// </summary>
|
||||
|
public double Yield { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,102 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "直通率"; |
||||
|
Layout = "~/Views/Shared/_AMESLayout.cshtml"; |
||||
|
} |
||||
|
|
||||
|
<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-form"> |
||||
|
<div class="layui-row"> |
||||
|
<div class="layui-form-item"> |
||||
|
<div class="layui-col-sm3"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">製程單位:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<select id="unit" lay-filter="unit" lay-verify="required" lay-submit asp-items="@ViewBag.UnitList"> |
||||
|
<option value="*">全部</option> |
||||
|
</select> |
||||
|
</div> |
||||
|
<input id="unitNo" type="hidden" name="unitNo" value="*" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-col-sm3"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">工單號碼:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="wipNO" name="wipNo" autocomplete="off" class="layui-input" placeholder="請輸入工單號碼"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-col-sm3"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">料號:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="itemNO" name="itemNo" autocomplete="off" class="layui-input" placeholder="請輸入料號"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-col-sm8"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">生產日期:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="dateStart" name="dateStart" autocomplete="off" class="layui-input" readonly=""> |
||||
|
</div> |
||||
|
<div class="layui-form-mid">~</div> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="dateEnd" name="dateEnd" autocomplete="off" class="layui-input" readonly=""> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="layui-col-sm1"> |
||||
|
<div class="layui-inline layui-show-xs-block"> |
||||
|
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit onclick="result()" lay-filter="querysubmit"> |
||||
|
<i class="layui-icon layui-icon-sm"></i> |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
@section Scripts{ |
||||
|
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); |
||||
|
await Html.RenderPartialAsync("_FileinputScriptsPartial"); } |
||||
|
<script type="text/javascript"> |
||||
|
layui.use(['form', 'layer', 'laydate'], function () { |
||||
|
var form = layui.form; |
||||
|
laydate = layui.laydate; |
||||
|
laydate.render({ |
||||
|
elem: '#dateStart' |
||||
|
, trigger: 'click' |
||||
|
, format: 'yyyy/MM/dd' |
||||
|
, theme: 'grid' |
||||
|
}); |
||||
|
|
||||
|
laydate.render({ |
||||
|
elem: '#dateEnd' |
||||
|
, trigger: 'click' |
||||
|
, format: 'yyyy/MM/dd' |
||||
|
, theme: 'grid' |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
function result() { |
||||
|
var unitNo = $("#unit").val(); |
||||
|
var itemNO = $("#itemNO").val(); |
||||
|
var wipNO = $("#wipNO").val(); |
||||
|
var dateStart = $("#dateStart").val(); |
||||
|
var dateEnd = $("#dateEnd").val(); |
||||
|
|
||||
|
var query = "?unitNo=" + unitNo + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd; |
||||
|
hg.open('直通率', '/QRS/QRS014A' + query, '', '', true); |
||||
|
|
||||
|
}; |
||||
|
</script> |
||||
|
} |
@ -0,0 +1,94 @@ |
|||||
|
@{ |
||||
|
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"]" /> |
||||
|
@Html.Raw(ViewData["RateDataList"]) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts { |
||||
|
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); |
||||
|
await Html.RenderPartialAsync("_FileinputScriptsPartial"); } |
||||
|
|
||||
|
<script type="text/javascript"> |
||||
|
$(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> |
||||
|
|
||||
|
|
||||
|
} |
Loading…
Reference in new issue