Ames 昶亨 專案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

278 lines
11 KiB

@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
@{
ViewData["Title"] = @Localizer["PCS002"];
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<style>
/* 停用工單行樣式 */
.layui-table-view[lay-id="query"] .layui-table-main table tbody tr.layui-table-gray-row,
.layui-table-view[lay-id="query"] .layui-table-main table tbody tr.layui-table-gray-row td,
.layui-table-view[lay-id="query"] .layui-table-main table tbody tr.layui-table-gray-row .layui-table-cell,
.layui-table-view[lay-id="query"] .layui-table-fixed table tbody tr.layui-table-gray-row,
.layui-table-view[lay-id="query"] .layui-table-fixed table tbody tr.layui-table-gray-row td,
.layui-table-view[lay-id="query"] .layui-table-fixed table tbody tr.layui-table-gray-row .layui-table-cell {
background-color: #e4e4e4 !important;
color: #11151a !important;
}
</style>
<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 class="layui-form">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">@Localizer["WipNo"]:</label>
<div class="layui-input-inline" style="width:150px">
<input id="wipNo" name="wipNo" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">@Localizer["ItemNo"]:</label>
<div class="layui-input-inline" style="width:150px">
<input id="itemNo" name="itemNo" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-col-sm4">
<div class="layui-inline">
<label class="layui-form-label">@Localizer["UnitNo"]:</label>
<div class="layui-input-inline" style="width:150px">
<select id="unit" lay-filter="unit" name="unit" lay-submit asp-items="@ViewBag.FactoryUnitList">
</select>
<input id="unitNo" type="hidden" name="unitNo" value="@ViewBag.UnitNo" />
</div>
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit">
<i class="layui-icon layui-icon-sm">&#xe615;</i>
</button>
</div>
</div>
</div>
</div>
</div>
<table class="layui-hide" id="query" lay-filter="query"></table>
</div>
</div>
@section Scripts{
<script type="text/javascript">
layui.use(['table', 'form'], function () {
var form = layui.form;
form.on('select(unit)', function (data) {
$("#unitNo").val(data.value);
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
});
var table = layui.table;
});
//监听表单提交事件
hg.form.onsubmit('querysubmit', function (data) {
table && table.reload(data);
});
var tableCols = [[
{
field: 'wipNo',
width: 100,
title: '@Localizer["WipNo"]',
sort: true
},
{
field: 'itemNo',
title: '@Localizer["ItemNo"]',
width: 150,
sort: true,
expandedMode: 'tips'
},
{
field: 'description',
title: '@Localizer["WipDescription"]',
width: 100,
expandedMode: 'tips'
},
{
field: 'planQTY',
title: '@Localizer["PlanQty"]'
},
{
field: 'lineDesc',
title: '@Localizer["Lineid"]',
sort: true
},
{
field: 'unitName',
title: '@Localizer["UnitNo"]',
width: 100,
sort: true
},
{
field: 'factoryNameCh',
title: '@Localizer["Werks"]',
sort: true
},
{
field: 'wipScheduleDate',
title: '@Localizer["WipScheduleDate"]',
sort: true,
templet: '<div>{{ layui.util.toDateString(d.wipScheduleDate, "yyyy/MM/dd") }}</div>'
},
{
field: 'workDate',
title: '@Localizer["StartDate"]',
sort: true
},
{
field: 'wipDueDate',
title: '@Localizer["WipDueDate"]',
sort: true,
templet: '<div>{{ layui.util.toDateString(d.wipDueDate, "yyyy/MM/dd") }}</div>'
},
{
field: 'wipCheck',
title: '@Localizer["SendNotification"]'
},
{
field: 'fqcDate',
title: '@Localizer["FQCDate"]'
},
{
field: 'statusNo',
title: '狀態',
hide: true
},
{
field: 'right',
width: 200,
title: '@Localizer["Action"]',
fixed: 'right',
templet: function (d) {
var editBtn = '';
var detailBtn = '<a class="layui-btn layui-btn-warm layui-icon layui-icon-list layui-btn-xs" lay-event="detail">@Localizer["View"]</a>';
var toggleBtn = '';
// 狀態為停用(D)時隱藏修改按鈕
if (d.statusNo !== 'D') {
editBtn = '<a class="layui-btn layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">@Localizer["Edit"]</a> ';
} else {
// 如果是停用狀態,嘗試設置整行樣式
setTimeout(function() {
var index = d.LAY_TABLE_INDEX;
// 同時套用到主表格與固定欄位的行
$('.layui-table-view[lay-id="query"] tr[data-index="' + index + '"]').addClass('layui-table-gray-row');
}, 100);
}
if (d.statusNo === 'D') {
// 狀態為 D(停用)時顯示啟用按鈕
toggleBtn = '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-play" lay-event="enable">啟用</a>';
} else if (d.statusNo === 'A' || d.statusNo === 'N' || d.statusNo === 'S') {
// 狀態為 A、N 或 S 時顯示停用按鈕
toggleBtn = '<a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-pause" lay-event="disable">停用</a>';
}
return editBtn + detailBtn + ' ' + toggleBtn;
}
}
]
];
//通过行tool編輯,lay-event="edit"
function edit(obj) {
if (obj.data.wipID) {
hg.open('@Localizer["PCS002"]', '/PCS/PCS003/' + obj.data.wipID, '', '', true);
}
}
function del(obj) {
hg.confirm("確定要刪除工單號碼【" + obj.data.wipNo + "】嗎?", function () {
$.ajax({
url: '/PCS/PCS005D',
data: { id: obj.data.wipID },
type: 'POST',
success: function (data) {
if (data.success) {
hg.msghide('@Localizer["DeleteOk"]');
var qs = $('button[lay-filter="querysubmit"]');
qs.click();
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
});
}
//通过行tool檢視,lay-event="detail"
function detail(obj) {
if (obj.data.wipID) {
hg.open('@Localizer["PCS001R"]', '/PCS/PCS001R/' + obj.data.wipID, '', '', true);
}
}
// 停用/啟用工單
function toggleStatus(obj, targetStatus) {
var action = targetStatus === 'D' ? '停用' : '啟用';
var confirmMsg = '確定要' + action + '工單號碼【' + obj.data.wipNo + '】嗎?';
hg.confirm(confirmMsg, function () {
$.ajax({
url: '/PCS/PCS002ToggleStatus',
data: {
wipID: obj.data.wipID,
currentStatus: obj.data.statusNo,
targetStatus: targetStatus
},
type: 'POST',
success: function (data) {
if (data.success) {
hg.msghide(action + '成功!');
// 重新載入表格
layui.use('table', function () {
var table = layui.table;
table.reload('query');
});
}
else {
hg.msg(data.msg);
}
},
error: function () {
hg.msg("網路請求失敗!");
}
});
});
}
//通过行tool停用,lay-event="disable"
function disable(obj) {
toggleStatus(obj, 'D');
}
//通过行tool啟用,lay-event="enable"
function enable(obj) {
toggleStatus(obj, 'N');
}
//基本資料表格
var table = hg.table.datatable('query', '工單資料修改', '/PCS/PCS002Query/' + unitNo.value, {}, tableCols, {}, true, 'full-100', ['filter', 'print', 'exports']);
</script>
}