9 changed files with 510 additions and 1366 deletions
File diff suppressed because it is too large
@ -0,0 +1,113 @@ |
|||||
|
@model AMESCoreStudio.WebApi.Models.AMES.SteelPlateMeasure |
||||
|
@{ 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="PCB013ASave" class="layui-form"> |
||||
|
<div asp-validation-summary="ModelOnly" class="text-danger"></div> |
||||
|
<input type="hidden" asp-for="SteelPlateID" value="@ViewBag.steelPlateID" /> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">鋼板編號</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input value="@ViewBag.steelPlateNo" class="layui-input" autocomplete="off" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">量測狀態</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<select asp-items="@ViewBag.GetSteelPlateStatusSelect" asp-for="Status" class=""> |
||||
|
</select> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">張力_1</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input asp-for="Tension1" onkeyup="clearNoNum(this)" class="layui-input" /> |
||||
|
<span asp-validation-for="Tension1" class="layui-bg-red"></span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">張力_2</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input asp-for="Tension2" onkeyup="clearNoNum(this)" class="layui-input" /> |
||||
|
<span asp-validation-for="Tension2" class="layui-bg-red"></span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">張力_3</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input asp-for="Tension3" onkeyup="clearNoNum(this)" class="layui-input" /> |
||||
|
<span asp-validation-for="Tension3" class="layui-bg-red"></span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">張力_4</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input asp-for="Tension4" onkeyup="clearNoNum(this)" class="layui-input" /> |
||||
|
<span asp-validation-for="Tension4" class="layui-bg-red"></span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">張力_5</label> |
||||
|
<div class="layui-input-inline"> |
||||
|
<input asp-for="Tension5" onkeyup="clearNoNum(this)" class="layui-input" /> |
||||
|
<span asp-validation-for="Tension5" class="layui-bg-red"></span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label">備註</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input asp-for="Remark" class="layui-input" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span> |
||||
|
<div class="layui-row" style="text-align:center"> |
||||
|
<div class="layui-col-md12"> |
||||
|
<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); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
function clearNoNum(obj) { |
||||
|
//先把非數字的都替換掉,除了數字和. |
||||
|
obj.value = obj.value.replace(/[^\d.]/g, ""); |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,77 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "檢視鋼板量測紀錄"; |
||||
|
Layout = "~/Views/Shared/_AMESLayout.cshtml"; |
||||
|
} |
||||
|
|
||||
|
<div class="layui-card"> |
||||
|
<div class="layui-card-body"> |
||||
|
<input id="steelPlateID" name="steelPlateID" value="@ViewBag.steelPlateID" type="hidden" /> |
||||
|
<input id="steelPlateNo" name="steelPlateNo" value="@ViewBag.steelPlateNo" 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: 'status', |
||||
|
title: '量測狀態', |
||||
|
sort: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'measureResult', |
||||
|
title: '結果', |
||||
|
sort: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'tension1', |
||||
|
title: '張力1', |
||||
|
width: 70 |
||||
|
}, |
||||
|
{ |
||||
|
field: 'tension2', |
||||
|
title: '張力2', |
||||
|
width: 70 |
||||
|
}, |
||||
|
{ |
||||
|
field: 'tension3', |
||||
|
title: '張力3', |
||||
|
width: 70 |
||||
|
}, |
||||
|
{ |
||||
|
field: 'tension4', |
||||
|
title: '張力4', |
||||
|
width: 70 |
||||
|
}, |
||||
|
{ |
||||
|
field: 'tension5', |
||||
|
title: '張力5', |
||||
|
width: 70 |
||||
|
}, |
||||
|
{ |
||||
|
field: 'remark', |
||||
|
title: '備註', |
||||
|
sort: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'userName', |
||||
|
title: '量測人員', |
||||
|
sort: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'createDate', |
||||
|
title: '量測時間', |
||||
|
sort: true, |
||||
|
templet: '<div>{{ layui.util.toDateString(d.createDate, "yyyy/MM/dd HH:mm:ss") }}</div>' |
||||
|
}] |
||||
|
]; |
||||
|
|
||||
|
//基本数据表格 |
||||
|
var table = hg.table.datatable('test', '鋼板量測紀錄', '/PCB/PCB013VQuery?steelPlateID=' + steelPlateID.value + '&steelPlateNo=' + steelPlateNo.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); |
||||
|
</script> |
||||
|
} |
@ -0,0 +1,90 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.DTO.AMES |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// SteelPlateInfoDto 鋼板紀錄資料檔Dto
|
||||
|
/// </summary>
|
||||
|
public partial class SteelPlateMeasureDto |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 鋼板量測記錄ID
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public int SpMeasureID { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 鋼板ID
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public int SteelPlateID { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 鋼板編號
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public string SteelPlateNo { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 張力_1
|
||||
|
/// </summary>
|
||||
|
public string Tension1 { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 張力_2
|
||||
|
/// </summary>
|
||||
|
public string Tension2 { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 張力_3
|
||||
|
/// </summary>
|
||||
|
public string Tension3 { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 張力_4
|
||||
|
/// </summary>
|
||||
|
public string Tension4 { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 張力_5
|
||||
|
/// </summary>
|
||||
|
public string Tension5 { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 檢查狀態
|
||||
|
/// </summary>
|
||||
|
public string Status { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 備註
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public string Remark { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 判定結果 P=PASS ; F=FAIL ; N=未量測
|
||||
|
/// </summary>
|
||||
|
public string MeasureResult { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 建立UserID
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public int CreateUserID { get; set; } = 0; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 建立User
|
||||
|
/// </summary>
|
||||
|
public string CreateUserName { get; set; } |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 建立日期
|
||||
|
/// </summary>
|
||||
|
|
||||
|
public DateTime CreateDate { get; set; } = DateTime.Now; |
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
using System.ComponentModel; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System; |
||||
|
using System.Linq; |
||||
|
using System.Reflection; |
||||
|
using System.Collections.Generic; |
||||
|
using Microsoft.AspNetCore.Mvc.Rendering; |
||||
|
|
||||
|
namespace AMESCoreStudio.WebApi.Enum |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
///
|
||||
|
/// </summary>
|
||||
|
public class EnumPCB |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 鋼板量測狀態
|
||||
|
/// </summary>
|
||||
|
public enum EnumSteelPlateStatus |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// 上線前
|
||||
|
/// </summary>
|
||||
|
[Display(Name = "上線前")] |
||||
|
A = 1, |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 清洗後
|
||||
|
/// </summary>
|
||||
|
[Display(Name = "清洗後")] |
||||
|
B = 2, |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 每周點檢
|
||||
|
/// </summary>
|
||||
|
[Display(Name = "每周點檢")] |
||||
|
C = 3 |
||||
|
} |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Get Enum Display
|
||||
|
/// </summary>
|
||||
|
/// <param name="enumValue"></param>
|
||||
|
/// <returns></returns>
|
||||
|
public static string GetDisplayName(System.Enum enumValue) |
||||
|
{ |
||||
|
return enumValue.GetType()? |
||||
|
.GetMember(enumValue.ToString())?.First()? |
||||
|
.GetCustomAttribute<DisplayAttribute>()? |
||||
|
.Name; |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue