Browse Source

1.新增後判維修輸入(REP002)

PTD
Marvin 3 years ago
parent
commit
a63ee26fe0
  1. 313
      AMESCoreStudio.Web/Controllers/REPController.cs
  2. 7
      AMESCoreStudio.Web/HttpApis/AMES/IREP.cs
  3. 360
      AMESCoreStudio.Web/Views/REP/REP002C.cshtml
  4. 435
      AMESCoreStudio.Web/Views/REP/REP002R.cshtml
  5. 16
      AMESCoreStudio.Web/Views/REP/REP002V.cshtml
  6. 2
      AMESCoreStudio.WebApi/Controllers/AMES/NgComponentsController.cs
  7. 2
      AMESCoreStudio.WebApi/Controllers/AMES/NgRepairsController.cs

313
AMESCoreStudio.Web/Controllers/REPController.cs

@ -459,6 +459,319 @@ namespace AMESCoreStudio.Web.Controllers
return View();
}
public async Task<IActionResult> REP002V(int id)
{
REP001ViewModel model = new REP001ViewModel();
var result = await _repApi.GetNgInfo(id);
if (result.Count != 0)
{
model.ngInfo = result[0];
}
return View(model);
}
public async Task<IActionResult> REP002C(int id)
{
await GetRMAReasonList();
await GetRepairTypeList();
await GetNGReasonList();
await GetRepairResponsibleUnitList();
REP001ViewModel model = new REP001ViewModel();
var ng_info = await _repApi.GetNgInfo(id);
if (ng_info.Count != 0)
{
model.ngInfo = ng_info[0];
}
return View(model);
}
public async Task<IActionResult> REP002R(int id)
{
await GetRMAReasonList();
await GetRepairTypeList();
await GetNGReasonList();
await GetRepairResponsibleUnitList();
REP001ViewModel model = new REP001ViewModel();
var result1 = await _repApi.GetNgComponent(id);
if (result1.Count != 0)
{
model.ngComponent = result1[0];
var result2 = await _repApi.GetNgInfo((int)result1[0].NgID);
if (result2.Count != 0)
{
model.ngInfo = result2[0];
}
var result3 = await _repApi.GetRepairRecord((int)result1[0].ComponentID);
if (result3.Count != 0)
{
model.repairRecord = result3[0];
}
var result4 = await _repApi.GetNgRepairByComponent((int)result1[0].ComponentID);
if (result4.Count != 0)
{
model.ngRepair = result4[0];
var result5 = await _repApi.GetNgRepairBlob(result4[0].RepairID);
if (result5.Count != 0)
{
model.ngRepairBlob = result5[0];
//if (result5[0].ImageName1 != "" && result5[0].ImageName1 != null)
//{
// ViewBag.Image1Url = $"\\REPImage\\" + result5[0].ImageName1;
//}
//else
//{
// ViewBag.Image1Url = $"\\REPImage\\" + "noimage.jfif";
//}
//if (result5[0].ImageName2 != "" && result5[0].ImageName2 != null)
//{
// ViewBag.Image2Url = $"\\REPImage\\" + result5[0].ImageName2;
//}
//else
//{
// ViewBag.Image2Url = $"\\REPImage\\" + "noimage.jfif";
//}
//if (result5[0].ImageName3 != "" && result5[0].ImageName3 != null)
//{
// ViewBag.Image3Url = $"\\REPImage\\" + result5[0].ImageName3;
//}
//else
//{
// ViewBag.Image3Url = $"\\REPImage\\" + "noimage.jfif";
//}
}
else
{
ViewBag.Image1Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image2Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image3Url = $"\\REPImage\\" + "noimage.jfif";
}
}
else
{
ViewBag.Image1Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image2Url = $"\\REPImage\\" + "noimage.jfif";
ViewBag.Image3Url = $"\\REPImage\\" + "noimage.jfif";
}
}
return View(model);
}
[HttpPost]
public async Task<IActionResult> REP002CSaveAsync(REP001ViewModel model, IFormFile formFile)
{
IResultModel result;
var userID = "";
HttpContext.Request.Cookies.TryGetValue("UserID", out userID);
int user_id = 0;
if (userID != null)
{
if (int.Parse(userID.ToString()) >= 0)
{
user_id = int.Parse(userID.ToString());
}
}
model.ngComponent.ReplyUserID = user_id;
model.ngComponent.ReplyDate = System.DateTime.Now;
model.ngComponent.Status = 1;
model.ngComponent.NgID = model.ngInfo.NgID;
string FileName = string.Empty;
string NewName = string.Empty;
string FilePath = string.Empty;
if (formFile != null)
{
if (formFile.Length > 0)
{
//取得使用者上傳檔案的原始檔名
FileName = Path.GetFileName(formFile.FileName);
//取原始檔名中的副檔名
var fileExt = Path.GetExtension(FileName);
//為避免使用者上傳的檔案名稱發生重複,重新給一個亂數名稱
NewName = Path.GetRandomFileName() + fileExt;
//指定要寫入的路徑、檔名和副檔名
FilePath = $"\\REPImage\\";//本機目錄
using (var stream = new FileStream(_env.WebRootPath + FilePath + NewName, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
}
}
else
{
ModelState.AddModelError("error", "請選擇要上傳檔案");
}
if (model.ngRepair.Missing == "Y")
{
model.ngRepair.RepairNo = "N/A";
model.ngComponent.Status = 2;
}
result = await _repApi.PostNgComponent(JsonConvert.SerializeObject(model.ngComponent));
if (result.Success)
{
int component_id = int.Parse(result.Msg.ToString().Replace("OK-", ""));
model.repairRecord.ComponentID = component_id;
model.repairRecord.NgID = model.ngInfo.NgID;
result = await _repApi.PostRepairRecord(JsonConvert.SerializeObject(model.repairRecord));
model.ngRepair.NgID = model.ngInfo.NgID;
model.ngRepair.ComponentID = component_id;
result = await _repApi.PostNgRepair(JsonConvert.SerializeObject(model.ngRepair));
if (result.Success)
{
int repair_id = int.Parse(result.Msg.ToString().Replace("OK-", ""));
if (NewName == string.Empty)
{ }
else
{
decimal repairID = 0;
if (model.ngRepair.RepairID == 0)
{
var ng_repair = await _repApi.GetNgRepairByComponent(model.ngRepair.ComponentID);
repairID = ng_repair[0].RepairID;
}
else
{
repairID = model.ngRepair.RepairID;
}
if (model.ngRepairBlob == null)
{
NgRepairBlob ng_repair_blob = new NgRepairBlob();
ng_repair_blob.ImageName = NewName;
ng_repair_blob.RepairID = repair_id;
model.ngRepairBlob = ng_repair_blob;
}
else
{
model.ngRepairBlob.ImageName = NewName;
model.ngRepairBlob.RepairID = repair_id;
}
result = await _repApi.PostNgRepairBlob(JsonConvert.SerializeObject(model.ngRepairBlob));
}
}
}
bool repairComplete = true;
var ng_component = await _repApi.GetNgComponentByNGID(model.ngInfo.NgID);
for (int i = 0; i < ng_component.Count; i++)
{
if (ng_component[i].Status == 0)
{
repairComplete = false;
break;
}
}
List<BarCodeCheckDto.inputItem> items = new List<BarCodeCheckDto.inputItem>();
//判斷組件是否更換
for (int i = 0; i < ng_component.Count; i++)
{
if (ng_component[i].NewPartNo != "")
{
items.Add(new BarCodeCheckDto.inputItem
{
inputType = "KP",
inputData = ng_component[i].NewPartNo,
oldInputData = ng_component[i].OldPartNo
});
}
}
if (repairComplete)
{
//判断全部维修完成过站
int repairStationID = -1;
var rules = await _basApi.GetRules(model.ngInfo.Barcode.RuleStationID);
if (rules.Count > 0)
{
for (int i = 0; i < rules.Count; i++)
{
if (rules[i].RuleStatus == model.ngInfo.Barcode.RuleStatus)
{
repairStationID = rules[i].NextStationID;
break;
}
}
}
int lineID = -1;
if (model.ngInfo.Wip.LineID != null)
{
lineID = model.ngInfo.Wip.LineID.Value;
}
//准备资料
var barCode = new BarCodeCheckDto
{
wipNo = model.ngInfo.Wip.WipNO,
barcode = model.ngInfo.Barcode.BarcodeNo,
barcodeType = "S",
station = repairStationID,
line = lineID,
unitNo = model.ngInfo.Wip.UnitNO,
inputItems = items
};
try
{
var barcode_result = await _pcsApi.PassIngByCheck(JsonConvert.SerializeObject(barCode));
}
catch { }
//更新NG_INFO
//var ng_info = await _repApi.GetNgInfo((int)model.ngInfo.NgID);
//ng_info[0].Status = 1;
model.ngInfo.Status = 1;
result = await _repApi.PutNgInfo(JsonConvert.SerializeObject(model.ngInfo));
}
if (result.Success)
{
var _msg = "保存成功!";
//return RedirectToAction("REP001V", "REP", new { id = model.ngComponent.NgID, msg = _msg });
return RedirectToAction("Refresh", "Home", new { id = model.ngComponent.NgID, msg = _msg });
}
else
{
if (result.Errors.Count > 0)
{
ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg);
}
else
{
ModelState.AddModelError("error", result.Msg);
}
}
return View("REP001R", model);
//return RedirectToAction("REP001V", "REP", new { id = model.ngComponent.NgID });
}
#endregion
}
}

7
AMESCoreStudio.Web/HttpApis/AMES/IREP.cs

@ -50,6 +50,13 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpPut("api/NgComponents/{id}")]
ITask<ResultModel<NgComponent>> PutNgComponent(int id, [FromBody, RawJsonContent] string model);
/// <summary>
/// 新增不良零件資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpPost("api/NgComponents")]
ITask<ResultModel<NgComponent>> PostNgComponent([FromBody, RawJsonContent] string model);
/// <summary>
/// 根據COMPONENT_ID獲取指定維修過程資料
/// </summary>

360
AMESCoreStudio.Web/Views/REP/REP002C.cshtml

@ -0,0 +1,360 @@
@model AMESCoreStudio.Web.ViewModels.REP001ViewModel
@{ ViewData["Title"] = "REP002C";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
.text-error {
color: #dc3545 !important;
}
.my-read-only-class {
cursor: not-allowed;
}
</style>
<div class="layui-card">
<div class="col-sm-12">
<form enctype="multipart/form-data" class="layui-form" method="post" asp-action="REP002CSave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="ngInfo.NgID" />
<input type="hidden" asp-for="ngInfo.TypeNo" />
<input type="hidden" asp-for="ngInfo.OperatorID" />
<input type="hidden" asp-for="ngInfo.ProgramNo" />
<input type="hidden" asp-for="ngInfo.FixtureNo" />
<input type="hidden" asp-for="ngInfo.MachineNo" />
<input type="hidden" asp-for="ngInfo.TestQty" />
<input type="hidden" asp-for="ngInfo.NgQty" />
<input type="hidden" asp-for="ngInfo.StartTime" />
<input type="hidden" asp-for="ngInfo.EndTime" />
<input type="hidden" asp-for="ngInfo.TestStatus" />
<input type="hidden" asp-for="ngInfo.BarcodeID" />
<input type="hidden" asp-for="ngInfo.StationId" />
<input type="hidden" asp-for="ngInfo.WipId" />
<input type="hidden" asp-for="ngInfo.Status" />
<input type="hidden" asp-for="ngInfo.ReasonNo" />
<input type="hidden" asp-for="ngInfo.NextStationId" />
<input type="hidden" asp-for="ngInfo.ItemQty" />
<input type="hidden" asp-for="ngInfo.NgMemo" />
<input type="hidden" asp-for="ngInfo.CreateUserID" />
<input type="hidden" asp-for="ngInfo.CreateDate" />
<input type="hidden" asp-for="ngInfo.UpdateUserID" />
<input type="hidden" asp-for="ngInfo.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.BarcodeID" />
<input type="hidden" asp-for="ngInfo.Barcode.BarcodeNo" />
<input type="hidden" asp-for="ngInfo.Barcode.BoxNo" />
<input type="hidden" asp-for="ngInfo.Barcode.CreateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.CreateUserID" />
<input type="hidden" asp-for="ngInfo.Barcode.ExtraBarcodeNo" />
<input type="hidden" asp-for="ngInfo.Barcode.LocationID" />
<input type="hidden" asp-for="ngInfo.Barcode.RuleStationID" />
<input type="hidden" asp-for="ngInfo.Barcode.RuleStatus" />
<input type="hidden" asp-for="ngInfo.Barcode.StatusID" />
<input type="hidden" asp-for="ngInfo.Barcode.StatusNo" />
<input type="hidden" asp-for="ngInfo.Barcode.SysType" />
<input type="hidden" asp-for="ngInfo.Barcode.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.WipID" />
<input type="hidden" asp-for="ngInfo.Station.StationID" />
<input type="hidden" asp-for="ngInfo.Station.StationName" />
<input type="hidden" asp-for="ngInfo.Station.StationNameSt" />
<input type="hidden" asp-for="ngInfo.Station.N01Goal" />
<input type="hidden" asp-for="ngInfo.Station.NewCno" />
<input type="hidden" asp-for="ngInfo.Station.PosNo" />
<input type="hidden" asp-for="ngInfo.Station.ProductGoal" />
<input type="hidden" asp-for="ngInfo.Station.SectionNo" />
<input type="hidden" asp-for="ngInfo.Station.StatusNo" />
<input type="hidden" asp-for="ngInfo.Station.SysType" />
<input type="hidden" asp-for="ngInfo.Station.TestType" />
<input type="hidden" asp-for="ngInfo.Station.TypeNo" />
<input type="hidden" asp-for="ngInfo.Station.UnitNo" />
<input type="hidden" asp-for="ngInfo.Station.WipCnt" />
<input type="hidden" asp-for="ngInfo.Station.WipCntMin" />
<input type="hidden" asp-for="ngInfo.Station.WorkTime" />
<input type="hidden" asp-for="ngInfo.Station.YieldDPPM" />
<input type="hidden" asp-for="ngInfo.Station.YieldRate" />
<input type="hidden" asp-for="ngInfo.Wip.WipID" />
<input type="hidden" asp-for="ngInfo.Wip.WipNO" />
<input type="hidden" asp-for="ngInfo.Wip.BoxCNT" />
<input type="hidden" asp-for="ngInfo.Wip.CNO" />
<input type="hidden" asp-for="ngInfo.Wip.CompleteQTY" />
<input type="hidden" asp-for="ngInfo.Wip.CreateDate" />
<input type="hidden" asp-for="ngInfo.Wip.CreateUserID" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerItemNO" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerNO" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerType" />
<input type="hidden" asp-for="ngInfo.Wip.Description" />
<input type="hidden" asp-for="ngInfo.Wip.ECNCheck" />
<input type="hidden" asp-for="ngInfo.Wip.FlowRuleID" />
<input type="hidden" asp-for="ngInfo.Wip.InputFlag" />
<input type="hidden" asp-for="ngInfo.Wip.LineID" />
<input type="hidden" asp-for="ngInfo.Wip.ModelCheck" />
<input type="hidden" asp-for="ngInfo.Wip.OrderNO" />
<input type="hidden" asp-for="ngInfo.Wip.PlanQTY" />
<input type="hidden" asp-for="ngInfo.Wip.PrintFlag" />
<input type="hidden" asp-for="ngInfo.Wip.Priority" />
<input type="hidden" asp-for="ngInfo.Wip.ProductTypeID" />
<input type="hidden" asp-for="ngInfo.Wip.RelatedWONO" />
<input type="hidden" asp-for="ngInfo.Wip.Remarks" />
<input type="hidden" asp-for="ngInfo.Wip.Sales" />
<input type="hidden" asp-for="ngInfo.Wip.StatusNO" />
<input type="hidden" asp-for="ngInfo.Wip.UnitNO" />
<input type="hidden" asp-for="ngInfo.Wip.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Wip.Werks" />
<input type="hidden" asp-for="ngInfo.Wip.WerksNO" />
<input type="hidden" asp-for="ngInfo.Wip.WipDueDate" />
<input type="hidden" asp-for="ngInfo.Wip.WipScheduleDate" />
<input type="hidden" asp-for="ngInfo.Wip.WipSEQ" />
<input type="hidden" asp-for="ngInfo.Wip.WipTimes" />
<input type="hidden" asp-for="ngInfo.Wip.WipType" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">條碼資料</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.Barcode.BarcodeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Barcode.BarcodeNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Barcode.BarcodeNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.Wip.WipNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Wip.WipNO" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Wip.WipNO" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.Station.TestType" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Station.TestType" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Station.TestType" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.TestStatus" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.TestStatus" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.TestStatus" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.OperatorID" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.OperatorID" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.OperatorID" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.StartTime" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.StartTime" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.StartTime" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.Station.StationName" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Station.StationName" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Station.StationName" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.NgMemo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.NgMemo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.NgMemo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">不良資料</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.LocationNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.LocationNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.LocationNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.NgNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.NgNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.NgNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.ErrorDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.ErrorDesc" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.ErrorDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.PinNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.PinNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.PinNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.CreateDate" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.CreateDate" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.CreateDate" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.KeyNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.KeyNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.KeyNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.OldPartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.OldPartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.OldPartNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.NewPartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.NewPartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.NewPartNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修記錄過程</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="repairRecord.RepairDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="repairRecord.RepairDesc" class="layui-input" autocomplete="off" style="width:810px;" />
<span asp-validation-for="repairRecord.RepairDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修資料輸入</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairNo" asp-items="@ViewBag.RMAReasonList" class=""></select>
<span asp-validation-for="ngRepair.RepairNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.RepairTypeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairTypeNo" asp-items="@ViewBag.RepairTypeList" class=""></select>
<span asp-validation-for="ngRepair.RepairTypeNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.NgTypeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.NgTypeNo" asp-items="@ViewBag.NGReasonList" class=""></select>
<span asp-validation-for="ngRepair.NgTypeNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairResponsibleID" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairResponsibleID" asp-items="@ViewBag.RepairResponsibleUnitList" class=""></select>
<span asp-validation-for="ngRepair.RepairResponsibleID" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.RmaNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.RmaNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngRepair.RmaNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.PartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.PartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngRepair.PartNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.RepairDesc" class="layui-input" autocomplete="off" style="width:810px;" />
<span asp-validation-for="ngRepair.RepairDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修圖片上傳</label>
</div>
</div>
<div class="layui-form-item" style="text-align:center">
<div class="layui-inline">
<label class="layui-btn">
<input type="file" name="formFile">
@*<i class="layui-icon">&#xe67c;</i>上傳文件*@
</label>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<div style="text-align:center">
<div class="layui-inline">
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<input type="submit" value="確認" class="btn btn-primary offset-sm-3" />
</div>
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
$("#saveimage1").click(function (event) {
alert('save1');
});
</script>
}

435
AMESCoreStudio.Web/Views/REP/REP002R.cshtml

@ -0,0 +1,435 @@
@model AMESCoreStudio.Web.ViewModels.REP001ViewModel
@{ ViewData["Title"] = "REP002R";
Layout = "~/Views/Shared/_AMESLayout.cshtml"; }
<style>
.control-label {
justify-content: flex-end !important;
}
.text-error {
color: #dc3545 !important;
}
.my-read-only-class {
cursor: not-allowed;
}
</style>
<div class="layui-card">
<div class="col-sm-12">
<form enctype="multipart/form-data" class="layui-form" method="post" asp-action="REP001RSave">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="ngComponent.ComponentID" />
<input type="hidden" asp-for="ngComponent.NgID" />
<input type="hidden" asp-for="ngComponent.PinQty" />
<input type="hidden" asp-for="ngComponent.HeightAvg" />
<input type="hidden" asp-for="ngComponent.AreaAvg" />
<input type="hidden" asp-for="ngComponent.VolumeAvg" />
<input type="hidden" asp-for="ngComponent.XOffsetAvg" />
<input type="hidden" asp-for="ngComponent.YOffsetAvg" />
<input type="hidden" asp-for="repairRecord.ComponentID" />
<input type="hidden" asp-for="repairRecord.NgID" />
<input type="hidden" asp-for="ngRepair.RepairID" />
<input type="hidden" asp-for="ngRepair.ComponentID" />
<input type="hidden" asp-for="ngRepair.NgID" />
<input type="hidden" asp-for="ngInfo.NgID" />
<input type="hidden" asp-for="ngInfo.TypeNo" />
<input type="hidden" asp-for="ngInfo.OperatorID" />
<input type="hidden" asp-for="ngInfo.ProgramNo" />
<input type="hidden" asp-for="ngInfo.FixtureNo" />
<input type="hidden" asp-for="ngInfo.MachineNo" />
<input type="hidden" asp-for="ngInfo.TestQty" />
<input type="hidden" asp-for="ngInfo.NgQty" />
<input type="hidden" asp-for="ngInfo.StartTime" />
<input type="hidden" asp-for="ngInfo.EndTime" />
<input type="hidden" asp-for="ngInfo.TestStatus" />
<input type="hidden" asp-for="ngInfo.BarcodeID" />
<input type="hidden" asp-for="ngInfo.StationId" />
<input type="hidden" asp-for="ngInfo.WipId" />
<input type="hidden" asp-for="ngInfo.Status" />
<input type="hidden" asp-for="ngInfo.ReasonNo" />
<input type="hidden" asp-for="ngInfo.NextStationId" />
<input type="hidden" asp-for="ngInfo.ItemQty" />
<input type="hidden" asp-for="ngInfo.NgMemo" />
<input type="hidden" asp-for="ngInfo.CreateUserID" />
<input type="hidden" asp-for="ngInfo.CreateDate" />
<input type="hidden" asp-for="ngInfo.UpdateUserID" />
<input type="hidden" asp-for="ngInfo.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.BarcodeID" />
<input type="hidden" asp-for="ngInfo.Barcode.BarcodeNo" />
<input type="hidden" asp-for="ngInfo.Barcode.BoxNo" />
<input type="hidden" asp-for="ngInfo.Barcode.CreateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.CreateUserID" />
<input type="hidden" asp-for="ngInfo.Barcode.ExtraBarcodeNo" />
<input type="hidden" asp-for="ngInfo.Barcode.LocationID" />
<input type="hidden" asp-for="ngInfo.Barcode.RuleStationID" />
<input type="hidden" asp-for="ngInfo.Barcode.RuleStatus" />
<input type="hidden" asp-for="ngInfo.Barcode.StatusID" />
<input type="hidden" asp-for="ngInfo.Barcode.StatusNo" />
<input type="hidden" asp-for="ngInfo.Barcode.SysType" />
<input type="hidden" asp-for="ngInfo.Barcode.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Barcode.WipID" />
<input type="hidden" asp-for="ngInfo.Station.StationID" />
<input type="hidden" asp-for="ngInfo.Station.StationName" />
<input type="hidden" asp-for="ngInfo.Station.StationNameSt" />
<input type="hidden" asp-for="ngInfo.Station.N01Goal" />
<input type="hidden" asp-for="ngInfo.Station.NewCno" />
<input type="hidden" asp-for="ngInfo.Station.PosNo" />
<input type="hidden" asp-for="ngInfo.Station.ProductGoal" />
<input type="hidden" asp-for="ngInfo.Station.SectionNo" />
<input type="hidden" asp-for="ngInfo.Station.StatusNo" />
<input type="hidden" asp-for="ngInfo.Station.SysType" />
<input type="hidden" asp-for="ngInfo.Station.TestType" />
<input type="hidden" asp-for="ngInfo.Station.TypeNo" />
<input type="hidden" asp-for="ngInfo.Station.UnitNo" />
<input type="hidden" asp-for="ngInfo.Station.WipCnt" />
<input type="hidden" asp-for="ngInfo.Station.WipCntMin" />
<input type="hidden" asp-for="ngInfo.Station.WorkTime" />
<input type="hidden" asp-for="ngInfo.Station.YieldDPPM" />
<input type="hidden" asp-for="ngInfo.Station.YieldRate" />
<input type="hidden" asp-for="ngInfo.Wip.WipID" />
<input type="hidden" asp-for="ngInfo.Wip.WipNO" />
<input type="hidden" asp-for="ngInfo.Wip.BoxCNT" />
<input type="hidden" asp-for="ngInfo.Wip.CNO" />
<input type="hidden" asp-for="ngInfo.Wip.CompleteQTY" />
<input type="hidden" asp-for="ngInfo.Wip.CreateDate" />
<input type="hidden" asp-for="ngInfo.Wip.CreateUserID" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerItemNO" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerNO" />
<input type="hidden" asp-for="ngInfo.Wip.CustomerType" />
<input type="hidden" asp-for="ngInfo.Wip.Description" />
<input type="hidden" asp-for="ngInfo.Wip.ECNCheck" />
<input type="hidden" asp-for="ngInfo.Wip.FlowRuleID" />
<input type="hidden" asp-for="ngInfo.Wip.InputFlag" />
<input type="hidden" asp-for="ngInfo.Wip.LineID" />
<input type="hidden" asp-for="ngInfo.Wip.ModelCheck" />
<input type="hidden" asp-for="ngInfo.Wip.OrderNO" />
<input type="hidden" asp-for="ngInfo.Wip.PlanQTY" />
<input type="hidden" asp-for="ngInfo.Wip.PrintFlag" />
<input type="hidden" asp-for="ngInfo.Wip.Priority" />
<input type="hidden" asp-for="ngInfo.Wip.ProductTypeID" />
<input type="hidden" asp-for="ngInfo.Wip.RelatedWONO" />
<input type="hidden" asp-for="ngInfo.Wip.Remarks" />
<input type="hidden" asp-for="ngInfo.Wip.Sales" />
<input type="hidden" asp-for="ngInfo.Wip.StatusNO" />
<input type="hidden" asp-for="ngInfo.Wip.UnitNO" />
<input type="hidden" asp-for="ngInfo.Wip.UpdateDate" />
<input type="hidden" asp-for="ngInfo.Wip.Werks" />
<input type="hidden" asp-for="ngInfo.Wip.WerksNO" />
<input type="hidden" asp-for="ngInfo.Wip.WipDueDate" />
<input type="hidden" asp-for="ngInfo.Wip.WipScheduleDate" />
<input type="hidden" asp-for="ngInfo.Wip.WipSEQ" />
<input type="hidden" asp-for="ngInfo.Wip.WipTimes" />
<input type="hidden" asp-for="ngInfo.Wip.WipType" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">條碼資料</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.Barcode.BarcodeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Barcode.BarcodeNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Barcode.BarcodeNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.Wip.WipNO" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Wip.WipNO" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Wip.WipNO" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.Station.TestType" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Station.TestType" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Station.TestType" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.TestStatus" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.TestStatus" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.TestStatus" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.OperatorID" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.OperatorID" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.OperatorID" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.StartTime" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.StartTime" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.StartTime" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngInfo.Station.StationName" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.Station.StationName" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.Station.StationName" class="layui-bg-red"></span>
</div>
<label asp-for="ngInfo.NgMemo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngInfo.NgMemo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngInfo.NgMemo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">不良資料</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.LocationNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.LocationNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.LocationNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.NgNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.NgNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.NgNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.ErrorDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.ErrorDesc" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.ErrorDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.PinNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.PinNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.PinNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.CreateDate" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.CreateDate" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.CreateDate" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngComponent.KeyNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.KeyNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.KeyNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.OldPartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.OldPartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.OldPartNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngComponent.NewPartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngComponent.NewPartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngComponent.NewPartNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修記錄過程</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="repairRecord.RepairDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="repairRecord.RepairDesc" class="layui-input" autocomplete="off" style="width:810px;" />
<span asp-validation-for="repairRecord.RepairDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修資料輸入</label>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.Missing" class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="radio" id="Yes" asp-for="ngRepair.Missing" value="Y" class="layui-input" />
<label for="Yes">&nbsp;是&nbsp;</label>
<input type="radio" id="N" asp-for="ngRepair.Missing" value="N" class="layui-input" />
<label for="No">&nbsp;否&nbsp;</label>
</div>
<span asp-validation-for="ngRepair.Missing" class="layui-bg-red"></span>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairNo" asp-items="@ViewBag.RMAReasonList" class=""></select>
<span asp-validation-for="ngRepair.RepairNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.RepairTypeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairTypeNo" asp-items="@ViewBag.RepairTypeList" class=""></select>
<span asp-validation-for="ngRepair.RepairTypeNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.NgTypeNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.NgTypeNo" asp-items="@ViewBag.NGReasonList" class=""></select>
<span asp-validation-for="ngRepair.NgTypeNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairResponsibleID" class="layui-form-label"></label>
<div class="layui-input-inline">
<select asp-for="ngRepair.RepairResponsibleID" asp-items="@ViewBag.RepairResponsibleUnitList" class=""></select>
<span asp-validation-for="ngRepair.RepairResponsibleID" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.RmaNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.RmaNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngRepair.RmaNo" class="layui-bg-red"></span>
</div>
<label asp-for="ngRepair.PartNo" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.PartNo" class="layui-input" autocomplete="off" />
<span asp-validation-for="ngRepair.PartNo" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label asp-for="ngRepair.RepairDesc" class="layui-form-label"></label>
<div class="layui-input-inline">
<input asp-for="ngRepair.RepairDesc" class="layui-input" autocomplete="off" style="width:810px;" />
<span asp-validation-for="ngRepair.RepairDesc" class="layui-bg-red"></span>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" style="color:red">維修圖片上傳</label>
</div>
</div>
<div class="layui-form-item" style="text-align:center">
<div class="layui-inline">
<label class="layui-btn">
<input type="file" name="formFile">
@*<i class="layui-icon">&#xe67c;</i>上傳文件*@
</label>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<div style="text-align:center">
<div class="layui-inline">
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<input type="submit" value="確認" class="btn btn-primary offset-sm-3" />
</div>
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
await Html.RenderPartialAsync("_FileinputScriptsPartial"); }
<script type="text/javascript">
$(document).ready(function () {
var error = '@Html.ValidationMessage("error")';
if ($(error).text() != '') {
parent.hg.msg(error);
}
});
$("#saveimage1").click(function (event) {
alert('save1');
});
var tableCols = [[
{
field: 'repairID',
title: '維修編號',
width: 120
},
{
field: 'imageName',
title: '維修圖片'
},
{
field: 'right',
width: 200,
title: '操作',
align: 'center',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-read" lay-event="detail"> 預覽 </a> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" lay-event="del"> 删除 </a>'
}
}]
];
function detail(obj) {
if (obj.data.imageName) {
//alert(obj.data.imageName);
hg.open('預覽圖片資料', '/REP/REP001B/' + obj.data.imageName, '', '', true);
}
}
//通过行tool删除,lay-event="del"
function del(obj) {
if (obj.data.imageName) {
hg.confirm("圖片資料:" + obj.data.imageName + ",确定要删除吗?", function () {
$.ajax({
url: '/REP/REP001D',
data: { id: obj.data.imageName },
type: 'POST',
success: function (data) {
if (data.success) {
obj.del(); //只删本地数据
hg.msghide("删除成功!");
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("网络请求失败!");
}
});
});
}
}
//基本数据表格
var table = hg.table.datatable('test', '維修圖片資料', '/REP/GetNgRepairBlob/' + @Model.ngRepair.RepairID, {}, tableCols, false, false, 'full-100');
</script>
}

16
AMESCoreStudio.Web/Views/REP/REP002V.cshtml

@ -75,8 +75,13 @@
</div>
</div>
</div>
<div class="layui-form-item" style="text-align:center">
<div class="layui-inline">
<button type="button" id="btnAdd" class="layui-btn layui-btn-normal layui-btn-sm"><i class="layui-icon">&#xe654;</i>新增不良零件資料</button>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="test" lay-filter="test"></table>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
</form>
</div>
@ -139,19 +144,24 @@
align: 'center',
fixed: 'right',
templet: function (d) {
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="repair"> 維修 </a>'
return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="repair"> 維修變更 </a>'
}
}]
];
$('#btnAdd').click(function () {
hg.open('新增不良零件資料', '/REP/REP002C/' +@Model.ngInfo.NgID, 1080, 640);
});
//通过行tool编辑,lay-event="edit"
function repair(obj) {
if (obj.data.componentID) {
hg.open('維修輸入', '/REP/REP001R/' + obj.data.componentID, 1080, 640);
hg.open('維修變更', '/REP/REP002R/' + obj.data.componentID, 1080, 640);
}
}
//基本数据表格
//var table = hg.table.datatable('test', '測試不良零件維護', '/REP/GetNgComponentByNGID/' + @Model.ngInfo.NgID, {}, tableCols, toolbar, false, 'full-100', ['filter', 'print', 'exports']);
var table = hg.table.datatable('test', '測試不良零件維護', '/REP/GetNgComponentByNGID/' + @Model.ngInfo.NgID, {}, tableCols, false, false, 'full-100');
</script>

2
AMESCoreStudio.WebApi/Controllers/AMES/NgComponentsController.cs

@ -173,7 +173,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
}
result.Success = true;
result.Msg = "OK";
result.Msg = "OK"+"-"+ngComponent.ComponentID;
return result;
}

2
AMESCoreStudio.WebApi/Controllers/AMES/NgRepairsController.cs

@ -166,7 +166,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
}
result.Success = true;
result.Msg = "OK";
result.Msg = "OK" + "-" + ngRepair.RepairID;
return result;
}

Loading…
Cancel
Save