11 changed files with 865 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace AMESCoreStudio.Web.ViewModels.QRS |
||||
|
{ |
||||
|
public class QRS016ViewModel |
||||
|
{ |
||||
|
public QRS016ViewModel() |
||||
|
{ |
||||
|
FqcDatas = new List<FqcData>(); |
||||
|
} |
||||
|
|
||||
|
public List<FqcData> FqcDatas { get; set; } |
||||
|
} |
||||
|
|
||||
|
public class FqcData |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 周次
|
||||
|
/// </summary>
|
||||
|
public string WeekCode { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 抽檢總筆數
|
||||
|
/// </summary>
|
||||
|
public int FqcCnt { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 通過筆數
|
||||
|
/// </summary>
|
||||
|
public int PassCnt { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 不良筆數
|
||||
|
/// </summary>
|
||||
|
public int FailCnt { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 通過率
|
||||
|
/// </summary>
|
||||
|
public double Rate { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,99 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "IPQC查詢報表"; |
||||
|
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"> |
||||
|
<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-sm3"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">機種:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="modelNO" name="modelNo" 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" value="@ViewBag.StartDate"> |
||||
|
</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" value="@ViewBag.EndDate"> |
||||
|
</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 modelNO = $("#modelNO").val(); |
||||
|
var itemNO = $("#itemNO").val(); |
||||
|
var wipNO = $("#wipNO").val(); |
||||
|
var dateStart = $("#dateStart").val(); |
||||
|
var dateEnd = $("#dateEnd").val(); |
||||
|
|
||||
|
var query = "?modelNO=" + modelNO + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd; |
||||
|
hg.open('IPQC查詢報表', '/QRS/QRS015A' + query, '', '', true); |
||||
|
|
||||
|
}; |
||||
|
</script> |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
@{ |
||||
|
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"> |
||||
|
<input type="hidden" id="param_list" value="@ViewData["ParamList"]" /> |
||||
|
@Html.Raw(ViewData["IPQCDataList"]) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts { |
||||
|
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); |
||||
|
await Html.RenderPartialAsync("_FileinputScriptsPartial"); } |
||||
|
|
||||
|
<script type="text/javascript"> |
||||
|
$(document).ready(function () { |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,99 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "FQC查詢報表"; |
||||
|
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"> |
||||
|
<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-sm3"> |
||||
|
<div class="layui-inline"> |
||||
|
<label class="layui-form-label">機種:</label> |
||||
|
<div class="layui-input-inline" style="width:160px"> |
||||
|
<input id="modelNO" name="modelNo" 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" value="@ViewBag.StartDate"> |
||||
|
</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" value="@ViewBag.EndDate"> |
||||
|
</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 modelNO = $("#modelNO").val(); |
||||
|
var itemNO = $("#itemNO").val(); |
||||
|
var wipNO = $("#wipNO").val(); |
||||
|
var dateStart = $("#dateStart").val(); |
||||
|
var dateEnd = $("#dateEnd").val(); |
||||
|
|
||||
|
var query = "?modelNO=" + modelNO + "&itemNO=" + itemNO + "&wipNO=" + wipNO + "&dateStart=" + dateStart + "&dateEnd=" + dateEnd; |
||||
|
hg.open('FQC查詢報表', '/QRS/QRS016A' + query, '', '', true); |
||||
|
|
||||
|
}; |
||||
|
</script> |
||||
|
} |
@ -0,0 +1,91 @@ |
|||||
|
@{ |
||||
|
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"> |
||||
|
<input type="hidden" id="param_list" value="@ViewData["ParamList"]" /> |
||||
|
<div id="divChart" style="width: 100%; height: 400px; margin: 0 auto"></div> |
||||
|
@Html.Raw(ViewData["FQCDataList"]) |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts { |
||||
|
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); |
||||
|
await Html.RenderPartialAsync("_FileinputScriptsPartial"); } |
||||
|
|
||||
|
<script type="text/javascript"> |
||||
|
$(document).ready(function () { |
||||
|
$.ajax({ |
||||
|
type: "Post", |
||||
|
url: '/QRS/GetFQCData4QRS016?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["rate"]; |
||||
|
xAxisData[idx] = item["weekCode"]; |
||||
|
idx = idx + 1; |
||||
|
}); |
||||
|
|
||||
|
Highcharts.chart('divChart', { |
||||
|
title: { |
||||
|
text: 'FQC通過率圖表' |
||||
|
}, |
||||
|
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("查無FQC資料!"); |
||||
|
$("#divChart").empty(); |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,79 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "FQC查詢報表 - FQC明細資料"; |
||||
|
Layout = "~/Views/Shared/_AMESLayout.cshtml"; |
||||
|
} |
||||
|
|
||||
|
<div class="layui-card"> |
||||
|
<div class="layui-card-body"> |
||||
|
<input id="wip_no" name="wip_no" value="@ViewBag.WIP_NO" type="hidden" /> |
||||
|
<input id="item_no" name="item_no" value="@ViewBag.ITEM_NO" type="hidden" /> |
||||
|
<input id="model_no" name="model_no" value="@ViewBag.MODEL_NO" type="hidden" /> |
||||
|
<input id="start_date" name="start_date" value="@ViewBag.START_DATE" type="hidden" /> |
||||
|
<input id="end_date" name="end_date" value="@ViewBag.END_DATE" type="hidden" /> |
||||
|
<input id="week" name="week" value="@ViewBag.WEEK" type="hidden" /> |
||||
|
<table class="layui-hide" id="test" lay-filter="test"></table> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
@section Scripts{ |
||||
|
<script type="text/javascript"> |
||||
|
//监听表单提交事件 |
||||
|
hg.form.onsubmit('querysubmit', function (data) { |
||||
|
table && table.reload(data); |
||||
|
}); |
||||
|
var tableCols = [[ |
||||
|
{ |
||||
|
field: 'inhouseNo', |
||||
|
width: 130, |
||||
|
title: 'FQC單號', |
||||
|
sort: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'wipNo', |
||||
|
width: 100, |
||||
|
title: '工單' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'modelNo', |
||||
|
width: 100, |
||||
|
title: '機種' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'itemNo', |
||||
|
width: 150, |
||||
|
title: '料號' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'lotQty', |
||||
|
width: 70, |
||||
|
title: '送檢數' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'qaResult', |
||||
|
width: 60, |
||||
|
title: '結果', |
||||
|
templet: function (d) { |
||||
|
if (d.qaResult == 'P') |
||||
|
return '允收' |
||||
|
if (d.qaResult == 'R') |
||||
|
return '批退' |
||||
|
if (d.qaResult == 'A') |
||||
|
return '初始' |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'specialPo', |
||||
|
title: '特採單號' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'createDate', |
||||
|
title: '開單日', |
||||
|
width: 90, |
||||
|
templet: '<div>{{ layui.util.toDateString(d.inputDate, "yyyy/MM/dd") }}</div>' |
||||
|
}] |
||||
|
]; |
||||
|
|
||||
|
//基本数据表格 |
||||
|
var table = hg.table.datatable('test', 'FQC明細資料', '/QRS/GetFQCDetailData/' + wip_no.value + '_' + item_no.value + '_' + model_no.value + '_' + start_date.value + '_' + end_date.value + '_' + week.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); |
||||
|
</script> |
||||
|
} |
Loading…
Reference in new issue