Browse Source

1. 新增FQC001~003

PTD
ray 3 years ago
parent
commit
8b7aa694e3
  1. 80
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 37
      AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs
  3. 91
      AMESCoreStudio.Web/Views/FQC/FQC001.cshtml
  4. 66
      AMESCoreStudio.Web/Views/FQC/FQC001C.cshtml
  5. 67
      AMESCoreStudio.Web/Views/FQC/FQC001U.cshtml
  6. 91
      AMESCoreStudio.Web/Views/FQC/FQC002.cshtml
  7. 66
      AMESCoreStudio.Web/Views/FQC/FQC002C.cshtml
  8. 67
      AMESCoreStudio.Web/Views/FQC/FQC002U.cshtml
  9. 96
      AMESCoreStudio.Web/Views/FQC/FQC003.cshtml
  10. 75
      AMESCoreStudio.Web/Views/FQC/FQC003C.cshtml
  11. 67
      AMESCoreStudio.Web/Views/FQC/FQC003U.cshtml
  12. 109
      AMESCoreStudio.WebApi/Controllers/AMES/QcGroupController.cs
  13. 6
      AMESCoreStudio.WebApi/Models/AMES/QcGroup.cs

80
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -37,7 +37,78 @@ namespace AMESCoreStudio.Web.Controllers
#region FQC001 檢驗類別維護
public IActionResult FQC001()
{
return View();
}
//新增頁面
public IActionResult FQC001C()
{
return View();
}
//修改页面
[HttpGet]
public async Task<IActionResult> FQC001UAsync(int id)
{
var result = await _fqcApi.GetQcGroup(id);
return View(result);
}
public async Task<IActionResult> FQC001DAsync(int id)
{
var result = await _fqcApi.DeleteQcGroup(id);
return Json(new Result() { success = result.Success, msg = result.Msg });
}
//頁面提交,id=0 添加,id>0 修改
[HttpPost]
public async Task<IActionResult> FQC001Async(QcGroup model)
{
if (ModelState.IsValid)
{
IResultModel result;
if (model.GroupID == 0)
{
result = await _fqcApi.PostQcGroup(JsonConvert.SerializeObject(model));
}
else
{
result = await _fqcApi.PutQcGroup(JsonConvert.SerializeObject(model));
}
if (result.Success)
{
var _msg = model.GroupID == 0 ? "新增成功!" : "修改成功!";
return RedirectToAction("Refresh", "Home", new { msg = _msg });
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
if (model.GroupID == 0)
{
return View("FQC01C", model);
}
return View("FQC001U", model);
}
[ResponseCache(Duration = 0)]
[HttpGet]
public async Task<IActionResult> FQC001QueryAsync(int page = 1, int limit = 10)
{
var result = await _fqcApi.GetQcGroupQuery(page, limit);
if (result.Data.Count() != 0)
{
return Json(new Table() { code = 0, msg = "", data = result.Data, count = result.DataTotal });
}
return Json(new Table() { count = 0, data = null });
}
#endregion
#region FQC002 檢驗項目維護
@ -45,7 +116,16 @@ namespace AMESCoreStudio.Web.Controllers
#endregion
#region FQC003 檢驗結果維護
public IActionResult FQC003()
{
return View();
}
//新增頁面
public IActionResult FQC003C()
{
return View();
}
#endregion
#region FQC004 抽驗標準維護

37
AMESCoreStudio.Web/HttpApis/AMES/IFQC.cs

@ -13,7 +13,42 @@ namespace AMESCoreStudio.Web
public interface IFQC : IHttpApi
{
#region FQC001 檢驗類別維護
/// <summary>
/// 新增檢驗類別維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/QcGroup")]
ITask<ResultModel<QcGroup>> PostQcGroup([FromBody, RawJsonContent] string model);
/// <summary>
/// 更新檢驗類別維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPut("api/QcGroup")]
ITask<ResultModel<QcGroup>> PutQcGroup([FromBody, RawJsonContent] string model);
/// <summary>
/// 刪除檢驗類別維護
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpDelete("api/QcGroup/{id}")]
ITask<ResultModel<string>> DeleteQcGroup(int id);
/// <summary>
/// 查詢檢驗類別維護
/// </summary>
/// <param name="page">頁數</param>
/// <param name="limit"></param>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcGroup/QcGroupQuery")]
ITask<ResultModel<QcGroup>> GetQcGroupQuery(int page = 1, int limit = 10);
/// <summary>
/// 查詢檢驗類別維護 ID
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/QcGroup/{id}")]
ITask<QcGroup> GetQcGroup(int id);
#endregion
#region FQC002 檢驗項目維護

91
AMESCoreStudio.Web/Views/FQC/FQC001.cshtml

@ -0,0 +1,91 @@
@{
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-card-body">
<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: 'groupNameCN',
title: '檢驗類別中文',
sort: true
},
{
field: 'groupNameEN',
title: '檢驗類別英文',
sort: true
},
{
field: 'right',
width: 200,
title: '操作',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.groupID) {
hg.open('修改檢驗類別', '/FQC/FQC001U/' + obj.data.groupID, 400, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.groupID) {
hg.confirm("檢驗類別:" + obj.data.groupNameCN + ",确定要删除吗?", function () {
$.ajax({
url: '/FQC/FQC001D',
data: { id: obj.data.groupID },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("网络请求失败!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增檢驗類別', '/FQC/FQC001C',400, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗類別維護', '/FQC/FQC001Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

66
AMESCoreStudio.Web/Views/FQC/FQC001C.cshtml

@ -0,0 +1,66 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@{ ViewData["Title"] = "FQC001C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

67
AMESCoreStudio.Web/Views/FQC/FQC001U.cshtml

@ -0,0 +1,67 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@{ ViewData["Title"] = "FQC001U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

91
AMESCoreStudio.Web/Views/FQC/FQC002.cshtml

@ -0,0 +1,91 @@
@{
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-card-body">
<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: 'groupNameCN',
title: '檢驗類別中文',
sort: true
},
{
field: 'groupNameEN',
title: '檢驗類別英文',
sort: true
},
{
field: 'right',
width: 200,
title: '操作',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.groupID) {
hg.open('修改檢驗項目', '/FQC/FQC002U/' + obj.data.groupID, 400, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.groupID) {
hg.confirm("檢驗類別:" + obj.data.groupNameCN + ",确定要删除吗?", function () {
$.ajax({
url: '/FQC/FQC002D',
data: { id: obj.data.groupID },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("网络请求失败!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增檢驗項目', '/FQC/FQC002C',400, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗類別維護', '/FQC/FQC001Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

66
AMESCoreStudio.Web/Views/FQC/FQC002C.cshtml

@ -0,0 +1,66 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@{ ViewData["Title"] = "FQC001C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

67
AMESCoreStudio.Web/Views/FQC/FQC002U.cshtml

@ -0,0 +1,67 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@{ ViewData["Title"] = "FQC001U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

96
AMESCoreStudio.Web/Views/FQC/FQC003.cshtml

@ -0,0 +1,96 @@
@{
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-card-body">
<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: 'fqcNameCN',
title: '檢驗類別中文',
sort: true
},
{
field: 'fqcNameCN',
title: '檢驗類別英文',
sort: true
},
{
field: 'statusNo',
title: '狀態',
sort: true
},
{
field: 'right',
width: 200,
title: '操作',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del">删除</a>'
}
}]
];
//通过行tool编辑,lay-event="edit"
function edit(obj) {
if (obj.data.fqcNo) {
hg.open('修改檢驗結果', '/FQC/FQC003U/' + obj.data.fqcNo, 500, 400);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.fqcNo) {
hg.confirm("檢驗结果:" + obj.data.fqcNameCN + ",确定要删除吗?", function () {
$.ajax({
url: '/FQC/FQC003D',
data: { id: obj.data.fqcNo },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("网络请求失败!");
}
});
});
}
}
var toolbar = [{
text: '新增',
layuiicon: '&#xe608;',
class: 'layui-btn-normal',
handler: function () {
hg.open('新增檢驗結果', '/FQC/FQC003C', 500, 400);
}
}
];
//基本数据表格
var table = hg.table.datatable('test', '檢驗結果維護', '/FQC/FQC003Query', {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}

75
AMESCoreStudio.Web/Views/FQC/FQC003C.cshtml

@ -0,0 +1,75 @@
@model AMESCoreStudio.WebApi.Models.AMES.FqcResult
@{ ViewData["Title"] = "FQC003C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC003" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="FqcNameCN" class="layui-form-label" style="width:150px;text-align:center;"></label>
<div class="layui-input-inline">
<input asp-for="FqcNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗结果中文名" />
<span asp-validation-for="FqcNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="FqcNameEN" class="layui-form-label" style="width:150px;text-align:center;"></label>
<div class="layui-input-inline">
<input asp-for="FqcNameEN" class="layui-input" placeholder="請輸入檢驗结果英文" />
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="width:150px;text-align:center;">狀態</label>
<div class="layui-input-block">
<input type="radio" asp-for="StatusNo" value="P" title="PASS" checked="">
<input type="radio" asp-for="StatusNo" value="N" title="FAIL">
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

67
AMESCoreStudio.Web/Views/FQC/FQC003U.cshtml

@ -0,0 +1,67 @@
@model AMESCoreStudio.WebApi.Models.AMES.QcGroup
@{ ViewData["Title"] = "FQC001U";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
</style>
<div class="layui-card">
<div class="row">
<div class="col-sm-12">
<form enctype="multipart/form-data" method="post" asp-action="FQC001" class="layui-form">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="GroupID" value="@Model.GroupID" />
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameCN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameCN" class="layui-input" autocomplete="off" placeholder="請輸入檢驗類別中文" />
<span asp-validation-for="GroupNameCN" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="GroupNameEN" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="GroupNameEN" class="layui-input" placeholder="請輸入檢驗類別英文" />
</div>
</div>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="submit" value="保存" class="layui-btn" />
</div>
</div>
</form>
</div>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
layui.use(['form'], function () {
form = layui.form;
});
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
</script>
}

109
AMESCoreStudio.WebApi/Controllers/AMES/QcGroupController.cs

@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -33,7 +34,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
// GET: api/QcGroup/5
[HttpGet("{id}")]
public async Task<ActionResult<QcGroup>> GetQcGroup(decimal id)
public async Task<ActionResult<QcGroup>> GetQcGroup(int id)
{
var qcGroup = await _context.QcGroups.FindAsync(id);
@ -45,78 +46,102 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
return qcGroup;
}
// PUT: api/QcGroup/5
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPut("{id}")]
public async Task<IActionResult> PutQcGroup(decimal id, QcGroup qcGroup)
[HttpGet("QcGroupQuery")]
public async Task<ResultModel<QcGroup>> GetQcGroupQuery(int page = 1, int limit = 10)
{
if (id != qcGroup.GroupID)
IQueryable<QcGroup> q = _context.QcGroups;
ResultModel<QcGroup> result = new ResultModel<QcGroup>();
// 紀錄筆數
result.DataTotal = q.Count();
// Table 頁數
if (page > 0)
{
return BadRequest();
q = q.Skip((page - 1) * limit).Take(limit);
}
result.Data = await q.ToListAsync();
return result;
}
/// <summary>
/// 更新檢驗類別維護
/// </summary>
/// <param name="qcGroup"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<QcGroup>> PutQcGroup(QcGroup qcGroup)
{
ResultModel<QcGroup> result = new ResultModel<QcGroup>();
_context.Entry(qcGroup).State = EntityState.Modified;
qcGroup.UpdateDate = DateTime.Now;
qcGroup.UpdateUserID = 0;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateConcurrencyException)
catch (Exception ex)
{
if (!QcGroupExists(id))
{
return NotFound();
result.Success = false;
result.Msg = ex.Message;
}
else
{
throw;
}
}
return NoContent();
return result;
}
// POST: api/QcGroup
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
/// <summary>
/// 新增檢驗類別維護
/// </summary>
/// <param name="qcGroup"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<QcGroup>> PostQcGroup(QcGroup qcGroup)
public async Task<ResultModel<QcGroup>> PostQcGroup(QcGroup qcGroup)
{
ResultModel<QcGroup> result = new ResultModel<QcGroup>();
Helper helper = new Helper(_context);
qcGroup.GroupID = helper.GetIDKey("GROUP_ID").Result;
_context.QcGroups.Add(qcGroup);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (DbUpdateException)
catch (Exception ex)
{
if (QcGroupExists(qcGroup.GroupID))
{
return Conflict();
result.Success = false;
result.Msg = ex.Message;
}
else
{
throw;
}
}
return CreatedAtAction("GetQcGroup", new { id = qcGroup.GroupID }, qcGroup);
return result;
}
// DELETE: api/QcGroup/5
/// <summary>
/// 刪除檢驗類別維護
/// </summary>
/// <param name="id">GroupID</param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<ActionResult<QcGroup>> DeleteQcGroup(decimal id)
public async Task<ResultModel<string>> DeleteQcGroup(int id)
{
ResultModel<string> result = new ResultModel<string>();
var qcGroup = await _context.QcGroups.FindAsync(id);
if (qcGroup == null)
{
return NotFound();
}
try
{
_context.QcGroups.Remove(qcGroup);
await _context.SaveChangesAsync();
return qcGroup;
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.Message;
}
return result;
}
private bool QcGroupExists(decimal id)

6
AMESCoreStudio.WebApi/Models/AMES/QcGroup.cs

@ -56,20 +56,20 @@ namespace AMESCoreStudio.WebApi.Models.AMES
[Required]
[Column("CREATE_DATE")]
[DataMember]
public DateTime CreateDate { get; set; } = System.DateTime.Now;
public DateTime CreateDate { get; set; } = DateTime.Now;
/// <summary>
/// 更新UserID
/// </summary>
[Column("UPDATE_USERID")]
[DataMember]
public int UpdateUserID { get; set; }
public int UpdateUserID { get; set; } = 0;
/// <summary>
/// 更新日期
/// </summary>
[Column("UPDATE_DATE")]
[DataMember]
public DateTime? UpdateDate { get; set; }
public DateTime? UpdateDate { get; set; }=DateTime.Now;
}
}

Loading…
Cancel
Save