187 changed files with 10522 additions and 0 deletions
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreRecycledMaterialReceiptNoteDetail.StoreRecycledMaterialReceiptNoteDetail.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreRecycledMaterialReceiptNoteDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapNote.StoreScrapNote.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreScrapNote"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapNote; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapNote.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapNote.StoreScrapNote.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapNote.StoreScrapNote; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreScrapNoteViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreScrapNoteAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreScrapNoteAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreScrapNoteDto, CreateEditStoreScrapNoteViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreScrapNoteViewModel, CreateUpdateStoreScrapNoteDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapNote.StoreScrapNote |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreScrapNote"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreScrapNote"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreScrapNote; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreScrapNote/StoreScrapNote/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreScrapNote/StoreScrapNote/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreScrapNote"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreScrapNote.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreScrapNoteButton" |
||||
|
text="@L["CreateStoreScrapNote"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreScrapNoteCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreScrapNoteFilter" id="StoreScrapNoteFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreScrapNoteCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreScrapNoteTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,51 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapNote.StoreScrapNote; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreScrapNoteFilterInput StoreScrapNoteFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreScrapNoteFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteScrapRequestNumber")] |
||||
|
public string? ScrapRequestNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteStoreScrapNoteDetails")] |
||||
|
public ICollection<StoreScrapNoteDetail>? StoreScrapNoteDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapNoteWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,113 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreScrapNoteFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreScrapNoteCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreScrapNoteFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreScrapNoteFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeScrapNote.storeScrapNote; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapNote/StoreScrapNote/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapNote/StoreScrapNote/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreScrapNoteTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapNote.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapNote.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreScrapNoteDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteJobNumber'), |
||||
|
data: "jobNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteScrapRequestNumber'), |
||||
|
data: "scrapRequestNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteStoreScrapNoteDetails'), |
||||
|
data: "storeScrapNoteDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteType'), |
||||
|
data: "type" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapNoteWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreScrapNoteButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreScrapRequest"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequest; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequest.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreScrapRequestViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreScrapRequestAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreScrapRequestAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreScrapRequestViewModel, CreateUpdateStoreScrapRequestDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreScrapRequest"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequest; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequest.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreScrapRequestViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreScrapRequestAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreScrapRequestAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreScrapRequestDto, CreateEditStoreScrapRequestViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreScrapRequestViewModel, CreateUpdateStoreScrapRequestDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreScrapRequest"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreScrapRequest"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreScrapRequest; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreScrapRequest/StoreScrapRequest/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreScrapRequest/StoreScrapRequest/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreScrapRequest"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreScrapRequest.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreScrapRequestButton" |
||||
|
text="@L["CreateStoreScrapRequest"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreScrapRequestCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreScrapRequestFilter" id="StoreScrapRequestFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreScrapRequestCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreScrapRequestTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,67 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreScrapRequestFilterInput StoreScrapRequestFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreScrapRequestFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestAutoAgree")] |
||||
|
public bool? AutoAgree { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestAutoCompleteJob")] |
||||
|
public bool? AutoCompleteJob { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestAutoHandle")] |
||||
|
public bool? AutoHandle { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestAutoSubmit")] |
||||
|
public bool? AutoSubmit { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDirectCreateNote")] |
||||
|
public bool? DirectCreateNote { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestRequestStatus")] |
||||
|
public string? RequestStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestStoreScrapRequestDetails")] |
||||
|
public ICollection<StoreScrapRequestDetail>? StoreScrapRequestDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,43 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequest.StoreScrapRequest.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreScrapRequestViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreScrapRequestActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestAutoAgree")] |
||||
|
public bool AutoAgree { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestAutoCompleteJob")] |
||||
|
public bool AutoCompleteJob { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestAutoHandle")] |
||||
|
public bool AutoHandle { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestAutoSubmit")] |
||||
|
public bool AutoSubmit { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDirectCreateNote")] |
||||
|
public bool DirectCreateNote { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestRequestStatus")] |
||||
|
public string RequestStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestStoreScrapRequestDetails")] |
||||
|
public ICollection<StoreScrapRequestDetail> StoreScrapRequestDetails { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,129 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreScrapRequestFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreScrapRequestCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreScrapRequestFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreScrapRequestFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeScrapRequest.storeScrapRequest; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapRequest/StoreScrapRequest/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapRequest/StoreScrapRequest/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreScrapRequestTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapRequest.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapRequest.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreScrapRequestDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestAutoAgree'), |
||||
|
data: "autoAgree" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestAutoCompleteJob'), |
||||
|
data: "autoCompleteJob" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestAutoHandle'), |
||||
|
data: "autoHandle" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestAutoSubmit'), |
||||
|
data: "autoSubmit" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDirectCreateNote'), |
||||
|
data: "directCreateNote" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestRequestStatus'), |
||||
|
data: "requestStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestStoreScrapRequestDetails'), |
||||
|
data: "storeScrapRequestDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestType'), |
||||
|
data: "type" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreScrapRequestButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreScrapRequestDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequestDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequestDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreScrapRequestDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreScrapRequestDetailAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreScrapRequestDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreScrapRequestDetailViewModel, CreateUpdateStoreScrapRequestDetailDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreScrapRequestDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequestDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreScrapRequestDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreScrapRequestDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreScrapRequestDetailAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreScrapRequestDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreScrapRequestDetailDto, CreateEditStoreScrapRequestDetailViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreScrapRequestDetailViewModel, CreateUpdateStoreScrapRequestDetailDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreScrapRequestDetail"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreScrapRequestDetail"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreScrapRequestDetail; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreScrapRequestDetail/StoreScrapRequestDetail/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreScrapRequestDetail/StoreScrapRequestDetail/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreScrapRequestDetail"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreScrapRequestDetail.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreScrapRequestDetailButton" |
||||
|
text="@L["CreateStoreScrapRequestDetail"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreScrapRequestDetailCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreScrapRequestDetailFilter" id="StoreScrapRequestDetailFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreScrapRequestDetailCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreScrapRequestDetailTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,87 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreScrapRequestDetailFilterInput StoreScrapRequestDetailFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreScrapRequestDetailFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailItemCode")] |
||||
|
public string? ItemCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailLocationArea")] |
||||
|
public string? LocationArea { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailLocationCode")] |
||||
|
public string? LocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailLocationErpCode")] |
||||
|
public string? LocationErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailLocationGroup")] |
||||
|
public string? LocationGroup { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailMaster")] |
||||
|
public StoreScrapRequest? Master { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailMasterId")] |
||||
|
public Guid? MasterId { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailQty")] |
||||
|
public decimal? Qty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailReasonCode")] |
||||
|
public string? ReasonCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailStdPackQty")] |
||||
|
public decimal? StdPackQty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailUom")] |
||||
|
public string? Uom { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreScrapRequestDetailWarehouseCode")] |
||||
|
public string? WarehouseCode { get; set; } |
||||
|
} |
@ -0,0 +1,58 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreScrapRequestDetail.StoreScrapRequestDetail.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreScrapRequestDetailViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreScrapRequestDetailItemCode")] |
||||
|
public string ItemCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailLocationArea")] |
||||
|
public string? LocationArea { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailLocationCode")] |
||||
|
public string LocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailLocationErpCode")] |
||||
|
public string LocationErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailLocationGroup")] |
||||
|
public string? LocationGroup { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailMaster")] |
||||
|
public StoreScrapRequest Master { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailMasterId")] |
||||
|
public Guid MasterId { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailQty")] |
||||
|
public decimal Qty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailReasonCode")] |
||||
|
public string? ReasonCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailStdPackQty")] |
||||
|
public decimal StdPackQty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailUom")] |
||||
|
public string Uom { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreScrapRequestDetailWarehouseCode")] |
||||
|
public string WarehouseCode { get; set; } |
||||
|
} |
@ -0,0 +1,149 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreScrapRequestDetailFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreScrapRequestDetailCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreScrapRequestDetailFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreScrapRequestDetailFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeScrapRequestDetail.storeScrapRequestDetail; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapRequestDetail/StoreScrapRequestDetail/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreScrapRequestDetail/StoreScrapRequestDetail/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreScrapRequestDetailTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapRequestDetail.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreScrapRequestDetail.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreScrapRequestDetailDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailItemCode'), |
||||
|
data: "itemCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailItemDesc1'), |
||||
|
data: "itemDesc1" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailItemDesc2'), |
||||
|
data: "itemDesc2" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailItemName'), |
||||
|
data: "itemName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailLocationArea'), |
||||
|
data: "locationArea" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailLocationCode'), |
||||
|
data: "locationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailLocationErpCode'), |
||||
|
data: "locationErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailLocationGroup'), |
||||
|
data: "locationGroup" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailMaster'), |
||||
|
data: "master" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailMasterId'), |
||||
|
data: "masterId" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailQty'), |
||||
|
data: "qty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailReasonCode'), |
||||
|
data: "reasonCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailStdPackQty'), |
||||
|
data: "stdPackQty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailUom'), |
||||
|
data: "uom" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreScrapRequestDetailWarehouseCode'), |
||||
|
data: "warehouseCode" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreScrapRequestDetailButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreSupplierAsn"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsn; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsn.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreSupplierAsnViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreSupplierAsnAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreSupplierAsnAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreSupplierAsnViewModel, CreateUpdateStoreSupplierAsnDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreSupplierAsn"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsn; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsn.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreSupplierAsnViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreSupplierAsnAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreSupplierAsnAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreSupplierAsnDto, CreateEditStoreSupplierAsnViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreSupplierAsnViewModel, CreateUpdateStoreSupplierAsnDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreSupplierAsn"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreSupplierAsn"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreSupplierAsn; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreSupplierAsn/StoreSupplierAsn/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreSupplierAsn/StoreSupplierAsn/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreSupplierAsn"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreSupplierAsn.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreSupplierAsnButton" |
||||
|
text="@L["CreateStoreSupplierAsn"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreSupplierAsnCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreSupplierAsnFilter" id="StoreSupplierAsnFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreSupplierAsnCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreSupplierAsnTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,111 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreSupplierAsnFilterInput StoreSupplierAsnFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreSupplierAsnFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnContactEmail")] |
||||
|
public string? ContactEmail { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnContactName")] |
||||
|
public string? ContactName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnContactPhone")] |
||||
|
public string? ContactPhone { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnCreateType")] |
||||
|
public string? CreateType { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnCtype")] |
||||
|
public string? Ctype { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDockCode")] |
||||
|
public string? DockCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDueDate")] |
||||
|
public DateTime? DueDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnPlanArriveDate")] |
||||
|
public DateTime? PlanArriveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnPlanUserCode")] |
||||
|
public string? PlanUserCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnPoNumber")] |
||||
|
public string? PoNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnRpNumber")] |
||||
|
public string? RpNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnShipDate")] |
||||
|
public DateTime? ShipDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnStatus")] |
||||
|
public string? Status { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnStoreSupplierAsnDetails")] |
||||
|
public ICollection<StoreSupplierAsnDetail>? StoreSupplierAsnDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnSupplierAddress")] |
||||
|
public string? SupplierAddress { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnSupplierCode")] |
||||
|
public string? SupplierCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnSupplierName")] |
||||
|
public string? SupplierName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnTimeWindow")] |
||||
|
public string? TimeWindow { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnTruckNumber")] |
||||
|
public string? TruckNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,76 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsn.StoreSupplierAsn.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreSupplierAsnViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreSupplierAsnActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnContactEmail")] |
||||
|
public string? ContactEmail { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnContactName")] |
||||
|
public string? ContactName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnContactPhone")] |
||||
|
public string? ContactPhone { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnCreateType")] |
||||
|
public string CreateType { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnCtype")] |
||||
|
public string? Ctype { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDockCode")] |
||||
|
public string DockCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDueDate")] |
||||
|
public DateTime DueDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnPlanArriveDate")] |
||||
|
public DateTime PlanArriveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnPlanUserCode")] |
||||
|
public string? PlanUserCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnPoNumber")] |
||||
|
public string? PoNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnRpNumber")] |
||||
|
public string RpNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnShipDate")] |
||||
|
public DateTime ShipDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnStatus")] |
||||
|
public string Status { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnStoreSupplierAsnDetails")] |
||||
|
public ICollection<StoreSupplierAsnDetail> StoreSupplierAsnDetails { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnSupplierAddress")] |
||||
|
public string? SupplierAddress { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnSupplierCode")] |
||||
|
public string SupplierCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnSupplierName")] |
||||
|
public string? SupplierName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnTimeWindow")] |
||||
|
public string? TimeWindow { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnTruckNumber")] |
||||
|
public string? TruckNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,173 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreSupplierAsnFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreSupplierAsnCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreSupplierAsnFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreSupplierAsnFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeSupplierAsn.storeSupplierAsn; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreSupplierAsn/StoreSupplierAsn/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreSupplierAsn/StoreSupplierAsn/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreSupplierAsnTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreSupplierAsn.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreSupplierAsn.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreSupplierAsnDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnContactEmail'), |
||||
|
data: "contactEmail" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnContactName'), |
||||
|
data: "contactName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnContactPhone'), |
||||
|
data: "contactPhone" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnCreateType'), |
||||
|
data: "createType" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnCtype'), |
||||
|
data: "ctype" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDockCode'), |
||||
|
data: "dockCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDueDate'), |
||||
|
data: "dueDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnPlanArriveDate'), |
||||
|
data: "planArriveDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnPlanUserCode'), |
||||
|
data: "planUserCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnPoNumber'), |
||||
|
data: "poNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnRpNumber'), |
||||
|
data: "rpNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnShipDate'), |
||||
|
data: "shipDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnStatus'), |
||||
|
data: "status" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnStoreSupplierAsnDetails'), |
||||
|
data: "storeSupplierAsnDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnSupplierAddress'), |
||||
|
data: "supplierAddress" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnSupplierCode'), |
||||
|
data: "supplierCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnSupplierName'), |
||||
|
data: "supplierName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnTimeWindow'), |
||||
|
data: "timeWindow" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnTruckNumber'), |
||||
|
data: "truckNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreSupplierAsnButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreSupplierAsnDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsnDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsnDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreSupplierAsnDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreSupplierAsnDetailAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreSupplierAsnDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreSupplierAsnDetailViewModel, CreateUpdateStoreSupplierAsnDetailDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreSupplierAsnDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsnDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreSupplierAsnDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreSupplierAsnDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreSupplierAsnDetailAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreSupplierAsnDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreSupplierAsnDetailDto, CreateEditStoreSupplierAsnDetailViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreSupplierAsnDetailViewModel, CreateUpdateStoreSupplierAsnDetailDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreSupplierAsnDetail"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreSupplierAsnDetail"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreSupplierAsnDetail; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreSupplierAsnDetail/StoreSupplierAsnDetail/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreSupplierAsnDetail/StoreSupplierAsnDetail/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreSupplierAsnDetail"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreSupplierAsnDetail.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreSupplierAsnDetailButton" |
||||
|
text="@L["CreateStoreSupplierAsnDetail"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreSupplierAsnDetailCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreSupplierAsnDetailFilter" id="StoreSupplierAsnDetailFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreSupplierAsnDetailCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreSupplierAsnDetailTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,127 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreSupplierAsnDetailFilterInput StoreSupplierAsnDetailFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreSupplierAsnDetailFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailArriveDate")] |
||||
|
public DateTime? ArriveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailContainerCode")] |
||||
|
public string? ContainerCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailConvertRate")] |
||||
|
public decimal? ConvertRate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailCtype")] |
||||
|
public string? Ctype { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailExpireDate")] |
||||
|
public DateTime? ExpireDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailItemCode")] |
||||
|
public string? ItemCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailLot")] |
||||
|
public string? Lot { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailMaster")] |
||||
|
public StoreSupplierAsn? Master { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailMasterId")] |
||||
|
public Guid? MasterId { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailPackingCode")] |
||||
|
public string? PackingCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailPlanUserCode")] |
||||
|
public string? PlanUserCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailPoLine")] |
||||
|
public string? PoLine { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailPoNumber")] |
||||
|
public string? PoNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailProduceDate")] |
||||
|
public DateTime? ProduceDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailProjectCode")] |
||||
|
public string? ProjectCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailQty")] |
||||
|
public decimal? Qty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailRecommendErpCode")] |
||||
|
public string? RecommendErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailStdPackQty")] |
||||
|
public decimal? StdPackQty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierPackQty")] |
||||
|
public decimal? SupplierPackQty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierPackUom")] |
||||
|
public string? SupplierPackUom { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreSupplierAsnDetailUom")] |
||||
|
public string? Uom { get; set; } |
||||
|
} |
@ -0,0 +1,88 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreSupplierAsnDetail.StoreSupplierAsnDetail.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreSupplierAsnDetailViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreSupplierAsnDetailArriveDate")] |
||||
|
public DateTime ArriveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailContainerCode")] |
||||
|
public string? ContainerCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailConvertRate")] |
||||
|
public decimal ConvertRate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailCtype")] |
||||
|
public string? Ctype { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailExpireDate")] |
||||
|
public DateTime ExpireDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailItemCode")] |
||||
|
public string ItemCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailLot")] |
||||
|
public string? Lot { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailMaster")] |
||||
|
public StoreSupplierAsn Master { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailMasterId")] |
||||
|
public Guid MasterId { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailPackingCode")] |
||||
|
public string PackingCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailPlanUserCode")] |
||||
|
public string? PlanUserCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailPoLine")] |
||||
|
public string? PoLine { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailPoNumber")] |
||||
|
public string? PoNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailProduceDate")] |
||||
|
public DateTime ProduceDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailProjectCode")] |
||||
|
public string? ProjectCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailQty")] |
||||
|
public decimal Qty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailRecommendErpCode")] |
||||
|
public string? RecommendErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailStdPackQty")] |
||||
|
public decimal StdPackQty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierPackQty")] |
||||
|
public decimal SupplierPackQty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailSupplierPackUom")] |
||||
|
public string? SupplierPackUom { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreSupplierAsnDetailUom")] |
||||
|
public string Uom { get; set; } |
||||
|
} |
@ -0,0 +1,189 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreSupplierAsnDetailFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreSupplierAsnDetailCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreSupplierAsnDetailFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreSupplierAsnDetailFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeSupplierAsnDetail.storeSupplierAsnDetail; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreSupplierAsnDetail/StoreSupplierAsnDetail/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreSupplierAsnDetail/StoreSupplierAsnDetail/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreSupplierAsnDetailTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreSupplierAsnDetail.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreSupplierAsnDetail.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreSupplierAsnDetailDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailArriveDate'), |
||||
|
data: "arriveDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailContainerCode'), |
||||
|
data: "containerCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailConvertRate'), |
||||
|
data: "convertRate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailCtype'), |
||||
|
data: "ctype" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailExpireDate'), |
||||
|
data: "expireDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailItemCode'), |
||||
|
data: "itemCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailItemDesc1'), |
||||
|
data: "itemDesc1" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailItemDesc2'), |
||||
|
data: "itemDesc2" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailItemName'), |
||||
|
data: "itemName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailLot'), |
||||
|
data: "lot" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailMaster'), |
||||
|
data: "master" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailMasterId'), |
||||
|
data: "masterId" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailPackingCode'), |
||||
|
data: "packingCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailPlanUserCode'), |
||||
|
data: "planUserCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailPoLine'), |
||||
|
data: "poLine" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailPoNumber'), |
||||
|
data: "poNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailProduceDate'), |
||||
|
data: "produceDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailProjectCode'), |
||||
|
data: "projectCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailQty'), |
||||
|
data: "qty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailRecommendErpCode'), |
||||
|
data: "recommendErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailStdPackQty'), |
||||
|
data: "stdPackQty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailSupplierBatch'), |
||||
|
data: "supplierBatch" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailSupplierPackQty'), |
||||
|
data: "supplierPackQty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailSupplierPackUom'), |
||||
|
data: "supplierPackUom" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreSupplierAsnDetailUom'), |
||||
|
data: "uom" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreSupplierAsnDetailButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreTransferNote"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNote; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNote.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreTransferNoteAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteViewModel, CreateUpdateStoreTransferNoteDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreTransferNote"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNote; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNote.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreTransferNoteAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreTransferNoteDto, CreateEditStoreTransferNoteViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteViewModel, CreateUpdateStoreTransferNoteDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreTransferNote"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreTransferNote"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreTransferNote; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreTransferNote/StoreTransferNote/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreTransferNote/StoreTransferNote/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreTransferNote"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreTransferNote.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreTransferNoteButton" |
||||
|
text="@L["CreateStoreTransferNote"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreTransferNoteCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreTransferNoteFilter" id="StoreTransferNoteFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreTransferNoteCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreTransferNoteTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,67 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreTransferNoteFilterInput StoreTransferNoteFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreTransferNoteFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteConfirmed")] |
||||
|
public bool? Confirmed { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteConfirmTime")] |
||||
|
public DateTime? ConfirmTime { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteRequestNumber")] |
||||
|
public string? RequestNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteStoreTransferNoteDetailCopies")] |
||||
|
public ICollection<StoreTransferNoteDetailCopy>? StoreTransferNoteDetailCopies { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteStoreTransferNoteDetails")] |
||||
|
public ICollection<StoreTransferNoteDetail>? StoreTransferNoteDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteUseOnTheWayLocation")] |
||||
|
public bool? UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,43 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNote.StoreTransferNote.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreTransferNoteViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreTransferNoteActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteConfirmed")] |
||||
|
public bool Confirmed { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteConfirmTime")] |
||||
|
public DateTime? ConfirmTime { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteRequestNumber")] |
||||
|
public string? RequestNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteStoreTransferNoteDetailCopies")] |
||||
|
public ICollection<StoreTransferNoteDetailCopy> StoreTransferNoteDetailCopies { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteStoreTransferNoteDetails")] |
||||
|
public ICollection<StoreTransferNoteDetail> StoreTransferNoteDetails { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteUseOnTheWayLocation")] |
||||
|
public bool UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,129 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreTransferNoteFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreTransferNoteCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreTransferNoteFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreTransferNoteFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeTransferNote.storeTransferNote; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNote/StoreTransferNote/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNote/StoreTransferNote/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreTransferNoteTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNote.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNote.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreTransferNoteDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteConfirmed'), |
||||
|
data: "confirmed" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteConfirmTime'), |
||||
|
data: "confirmTime" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteJobNumber'), |
||||
|
data: "jobNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteRequestNumber'), |
||||
|
data: "requestNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteStoreTransferNoteDetailCopies'), |
||||
|
data: "storeTransferNoteDetailCopies" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteStoreTransferNoteDetails'), |
||||
|
data: "storeTransferNoteDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteType'), |
||||
|
data: "type" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteUseOnTheWayLocation'), |
||||
|
data: "useOnTheWayLocation" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreTransferNoteButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreTransferNoteCopy"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteCopy; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteCopy.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteCopyViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteCopyAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreTransferNoteCopyAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteCopyViewModel, CreateUpdateStoreTransferNoteCopyDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreTransferNoteCopy"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteCopy; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteCopy.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteCopyViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteCopyAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreTransferNoteCopyAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreTransferNoteCopyDto, CreateEditStoreTransferNoteCopyViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteCopyViewModel, CreateUpdateStoreTransferNoteCopyDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreTransferNoteCopy"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreTransferNoteCopy"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreTransferNoteCopy; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreTransferNoteCopy/StoreTransferNoteCopy/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreTransferNoteCopy/StoreTransferNoteCopy/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreTransferNoteCopy"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreTransferNoteCopy.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreTransferNoteCopyButton" |
||||
|
text="@L["CreateStoreTransferNoteCopy"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreTransferNoteCopyCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreTransferNoteCopyFilter" id="StoreTransferNoteCopyFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreTransferNoteCopyCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreTransferNoteCopyTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,59 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreTransferNoteCopyFilterInput StoreTransferNoteCopyFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreTransferNoteCopyFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyConfirmed")] |
||||
|
public bool? Confirmed { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyConfirmTime")] |
||||
|
public DateTime? ConfirmTime { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyRequestNumber")] |
||||
|
public string? RequestNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyUseOnTheWayLocation")] |
||||
|
public bool? UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteCopyWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteCopy.StoreTransferNoteCopy.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreTransferNoteCopyViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreTransferNoteCopyActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyConfirmed")] |
||||
|
public bool Confirmed { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyConfirmTime")] |
||||
|
public DateTime? ConfirmTime { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyRequestNumber")] |
||||
|
public string? RequestNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyUseOnTheWayLocation")] |
||||
|
public bool UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteCopyWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,121 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreTransferNoteCopyFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreTransferNoteCopyCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreTransferNoteCopyFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreTransferNoteCopyFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeTransferNoteCopy.storeTransferNoteCopy; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNoteCopy/StoreTransferNoteCopy/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNoteCopy/StoreTransferNoteCopy/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreTransferNoteCopyTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNoteCopy.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNoteCopy.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreTransferNoteCopyDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyConfirmed'), |
||||
|
data: "confirmed" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyConfirmTime'), |
||||
|
data: "confirmTime" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyJobNumber'), |
||||
|
data: "jobNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyRequestNumber'), |
||||
|
data: "requestNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyType'), |
||||
|
data: "type" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyUseOnTheWayLocation'), |
||||
|
data: "useOnTheWayLocation" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteCopyWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreTransferNoteCopyButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreTransferNoteDetailCopy"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteDetailCopy; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteDetailCopy.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteDetailCopyViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteDetailCopyAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreTransferNoteDetailCopyAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteDetailCopyViewModel, CreateUpdateStoreTransferNoteDetailCopyDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreTransferNoteDetailCopy"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteDetailCopy; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferNoteDetailCopy.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferNoteDetailCopyViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferNoteDetailCopyAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreTransferNoteDetailCopyAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreTransferNoteDetailCopyDto, CreateEditStoreTransferNoteDetailCopyViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferNoteDetailCopyViewModel, CreateUpdateStoreTransferNoteDetailCopyDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreTransferNoteDetailCopy"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreTransferNoteDetailCopy"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreTransferNoteDetailCopy; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreTransferNoteDetailCopy/StoreTransferNoteDetailCopy/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreTransferNoteDetailCopy/StoreTransferNoteDetailCopy/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreTransferNoteDetailCopy"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreTransferNoteDetailCopy.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreTransferNoteDetailCopyButton" |
||||
|
text="@L["CreateStoreTransferNoteDetailCopy"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreTransferNoteDetailCopyCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreTransferNoteDetailCopyFilter" id="StoreTransferNoteDetailCopyFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreTransferNoteDetailCopyCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreTransferNoteDetailCopyTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,159 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreTransferNoteDetailCopyFilterInput StoreTransferNoteDetailCopyFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreTransferNoteDetailCopyFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyArriveDate")] |
||||
|
public DateTime? ArriveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyExpireDate")] |
||||
|
public DateTime? ExpireDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromContainerCode")] |
||||
|
public string? FromContainerCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationArea")] |
||||
|
public string? FromLocationArea { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationCode")] |
||||
|
public string? FromLocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationErpCode")] |
||||
|
public string? FromLocationErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationGroup")] |
||||
|
public string? FromLocationGroup { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLot")] |
||||
|
public string? FromLot { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromPackingCode")] |
||||
|
public string? FromPackingCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromStatus")] |
||||
|
public string? FromStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromWarehouseCode")] |
||||
|
public string? FromWarehouseCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemCode")] |
||||
|
public string? ItemCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyMaster")] |
||||
|
public StoreTransferNote? Master { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyMasterId")] |
||||
|
public Guid? MasterId { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyOnTheWayLocationCode")] |
||||
|
public string? OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyProduceDate")] |
||||
|
public DateTime? ProduceDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyQty")] |
||||
|
public decimal? Qty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyReason")] |
||||
|
public string? Reason { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyStdPackQty")] |
||||
|
public decimal? StdPackQty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopySupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToContainerCode")] |
||||
|
public string? ToContainerCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationArea")] |
||||
|
public string? ToLocationArea { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationCode")] |
||||
|
public string? ToLocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationErpCode")] |
||||
|
public string? ToLocationErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationGroup")] |
||||
|
public string? ToLocationGroup { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLot")] |
||||
|
public string? ToLot { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToPackingCode")] |
||||
|
public string? ToPackingCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToStatus")] |
||||
|
public string? ToStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToWarehouseCode")] |
||||
|
public string? ToWarehouseCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyUom")] |
||||
|
public string? Uom { get; set; } |
||||
|
} |
@ -0,0 +1,112 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferNoteDetailCopy.StoreTransferNoteDetailCopy.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreTransferNoteDetailCopyViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreTransferNoteDetailCopyArriveDate")] |
||||
|
public DateTime ArriveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyExpireDate")] |
||||
|
public DateTime ExpireDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromContainerCode")] |
||||
|
public string? FromContainerCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationArea")] |
||||
|
public string? FromLocationArea { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationCode")] |
||||
|
public string FromLocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationErpCode")] |
||||
|
public string FromLocationErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLocationGroup")] |
||||
|
public string? FromLocationGroup { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromLot")] |
||||
|
public string? FromLot { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromPackingCode")] |
||||
|
public string? FromPackingCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromStatus")] |
||||
|
public string FromStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyFromWarehouseCode")] |
||||
|
public string FromWarehouseCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemCode")] |
||||
|
public string ItemCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyMaster")] |
||||
|
public StoreTransferNote Master { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyMasterId")] |
||||
|
public Guid MasterId { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyOnTheWayLocationCode")] |
||||
|
public string? OnTheWayLocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyProduceDate")] |
||||
|
public DateTime ProduceDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyQty")] |
||||
|
public decimal Qty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyReason")] |
||||
|
public string? Reason { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyStdPackQty")] |
||||
|
public decimal StdPackQty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopySupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToContainerCode")] |
||||
|
public string? ToContainerCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationArea")] |
||||
|
public string? ToLocationArea { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationCode")] |
||||
|
public string ToLocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationErpCode")] |
||||
|
public string ToLocationErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLocationGroup")] |
||||
|
public string? ToLocationGroup { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToLot")] |
||||
|
public string? ToLot { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToPackingCode")] |
||||
|
public string? ToPackingCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToStatus")] |
||||
|
public string ToStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyToWarehouseCode")] |
||||
|
public string ToWarehouseCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferNoteDetailCopyUom")] |
||||
|
public string Uom { get; set; } |
||||
|
} |
@ -0,0 +1,221 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreTransferNoteDetailCopyFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreTransferNoteDetailCopyCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreTransferNoteDetailCopyFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreTransferNoteDetailCopyFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeTransferNoteDetailCopy.storeTransferNoteDetailCopy; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNoteDetailCopy/StoreTransferNoteDetailCopy/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferNoteDetailCopy/StoreTransferNoteDetailCopy/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreTransferNoteDetailCopyTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNoteDetailCopy.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferNoteDetailCopy.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreTransferNoteDetailCopyDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyArriveDate'), |
||||
|
data: "arriveDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyExpireDate'), |
||||
|
data: "expireDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromContainerCode'), |
||||
|
data: "fromContainerCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromLocationArea'), |
||||
|
data: "fromLocationArea" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromLocationCode'), |
||||
|
data: "fromLocationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromLocationErpCode'), |
||||
|
data: "fromLocationErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromLocationGroup'), |
||||
|
data: "fromLocationGroup" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromLot'), |
||||
|
data: "fromLot" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromPackingCode'), |
||||
|
data: "fromPackingCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromStatus'), |
||||
|
data: "fromStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyFromWarehouseCode'), |
||||
|
data: "fromWarehouseCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyItemCode'), |
||||
|
data: "itemCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyItemDesc1'), |
||||
|
data: "itemDesc1" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyItemDesc2'), |
||||
|
data: "itemDesc2" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyItemName'), |
||||
|
data: "itemName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyMaster'), |
||||
|
data: "master" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyMasterId'), |
||||
|
data: "masterId" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyOnTheWayLocationCode'), |
||||
|
data: "onTheWayLocationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyProduceDate'), |
||||
|
data: "produceDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyQty'), |
||||
|
data: "qty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyReason'), |
||||
|
data: "reason" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyStdPackQty'), |
||||
|
data: "stdPackQty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopySupplierBatch'), |
||||
|
data: "supplierBatch" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToContainerCode'), |
||||
|
data: "toContainerCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToLocationArea'), |
||||
|
data: "toLocationArea" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToLocationCode'), |
||||
|
data: "toLocationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToLocationErpCode'), |
||||
|
data: "toLocationErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToLocationGroup'), |
||||
|
data: "toLocationGroup" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToLot'), |
||||
|
data: "toLot" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToPackingCode'), |
||||
|
data: "toPackingCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToStatus'), |
||||
|
data: "toStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyToWarehouseCode'), |
||||
|
data: "toWarehouseCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferNoteDetailCopyUom'), |
||||
|
data: "uom" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreTransferNoteDetailCopyButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreTransferRequest"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequest; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequest.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferRequestViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferRequestAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreTransferRequestAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferRequestViewModel, CreateUpdateStoreTransferRequestDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreTransferRequest"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequest; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequest.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferRequestViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferRequestAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreTransferRequestAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreTransferRequestDto, CreateEditStoreTransferRequestViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferRequestViewModel, CreateUpdateStoreTransferRequestDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreTransferRequest"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreTransferRequest"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreTransferRequest; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreTransferRequest/StoreTransferRequest/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreTransferRequest/StoreTransferRequest/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreTransferRequest"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreTransferRequest.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreTransferRequestButton" |
||||
|
text="@L["CreateStoreTransferRequest"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreTransferRequestCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreTransferRequestFilter" id="StoreTransferRequestFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreTransferRequestCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreTransferRequestTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,71 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreTransferRequestFilterInput StoreTransferRequestFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreTransferRequestFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestAutoAgree")] |
||||
|
public bool? AutoAgree { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestAutoCompleteJob")] |
||||
|
public bool? AutoCompleteJob { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestAutoHandle")] |
||||
|
public bool? AutoHandle { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestAutoSubmit")] |
||||
|
public bool? AutoSubmit { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDirectCreateNote")] |
||||
|
public bool? DirectCreateNote { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestRequestStatus")] |
||||
|
public string? RequestStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestStoreTransferRequestDetails")] |
||||
|
public ICollection<StoreTransferRequestDetail>? StoreTransferRequestDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestUseOnTheWayLocation")] |
||||
|
public bool? UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequest.StoreTransferRequest.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreTransferRequestViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreTransferRequestActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestAutoAgree")] |
||||
|
public bool AutoAgree { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestAutoCompleteJob")] |
||||
|
public bool AutoCompleteJob { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestAutoHandle")] |
||||
|
public bool AutoHandle { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestAutoSubmit")] |
||||
|
public bool AutoSubmit { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDirectCreateNote")] |
||||
|
public bool DirectCreateNote { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestRequestStatus")] |
||||
|
public string RequestStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestStoreTransferRequestDetails")] |
||||
|
public ICollection<StoreTransferRequestDetail> StoreTransferRequestDetails { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestType")] |
||||
|
public string? Type { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestUseOnTheWayLocation")] |
||||
|
public bool UseOnTheWayLocation { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,133 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreTransferRequestFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreTransferRequestCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreTransferRequestFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreTransferRequestFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeTransferRequest.storeTransferRequest; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferRequest/StoreTransferRequest/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferRequest/StoreTransferRequest/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreTransferRequestTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferRequest.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferRequest.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreTransferRequestDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestAutoAgree'), |
||||
|
data: "autoAgree" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestAutoCompleteJob'), |
||||
|
data: "autoCompleteJob" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestAutoHandle'), |
||||
|
data: "autoHandle" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestAutoSubmit'), |
||||
|
data: "autoSubmit" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDirectCreateNote'), |
||||
|
data: "directCreateNote" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestRequestStatus'), |
||||
|
data: "requestStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestStoreTransferRequestDetails'), |
||||
|
data: "storeTransferRequestDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestType'), |
||||
|
data: "type" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestUseOnTheWayLocation'), |
||||
|
data: "useOnTheWayLocation" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreTransferRequestButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreTransferRequestDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequestDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequestDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferRequestDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferRequestDetailAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreTransferRequestDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferRequestDetailViewModel, CreateUpdateStoreTransferRequestDetailDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreTransferRequestDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequestDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreTransferRequestDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreTransferRequestDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreTransferRequestDetailAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreTransferRequestDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreTransferRequestDetailDto, CreateEditStoreTransferRequestDetailViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreTransferRequestDetailViewModel, CreateUpdateStoreTransferRequestDetailDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreTransferRequestDetail"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreTransferRequestDetail"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreTransferRequestDetail; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreTransferRequestDetail/StoreTransferRequestDetail/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreTransferRequestDetail/StoreTransferRequestDetail/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreTransferRequestDetail"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreTransferRequestDetail.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreTransferRequestDetailButton" |
||||
|
text="@L["CreateStoreTransferRequestDetail"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreTransferRequestDetailCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreTransferRequestDetailFilter" id="StoreTransferRequestDetailFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreTransferRequestDetailCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreTransferRequestDetailTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,155 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreTransferRequestDetailFilterInput StoreTransferRequestDetailFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreTransferRequestDetailFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailArriveDate")] |
||||
|
public DateTime? ArriveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailExpireDate")] |
||||
|
public DateTime? ExpireDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromContainerCode")] |
||||
|
public string? FromContainerCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationArea")] |
||||
|
public string? FromLocationArea { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationCode")] |
||||
|
public string? FromLocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationErpCode")] |
||||
|
public string? FromLocationErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationGroup")] |
||||
|
public string? FromLocationGroup { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromLot")] |
||||
|
public string? FromLot { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromPackingCode")] |
||||
|
public string? FromPackingCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromStatus")] |
||||
|
public string? FromStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailFromWarehouseCode")] |
||||
|
public string? FromWarehouseCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailItemCode")] |
||||
|
public string? ItemCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailMaster")] |
||||
|
public StoreTransferRequest? Master { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailMasterId")] |
||||
|
public Guid? MasterId { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailProduceDate")] |
||||
|
public DateTime? ProduceDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailQty")] |
||||
|
public decimal? Qty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailReason")] |
||||
|
public string? Reason { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailStdPackQty")] |
||||
|
public decimal? StdPackQty { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailSupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToContainerCode")] |
||||
|
public string? ToContainerCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationArea")] |
||||
|
public string? ToLocationArea { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationCode")] |
||||
|
public string? ToLocationCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationErpCode")] |
||||
|
public string? ToLocationErpCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationGroup")] |
||||
|
public string? ToLocationGroup { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToLot")] |
||||
|
public string? ToLot { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToPackingCode")] |
||||
|
public string? ToPackingCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToStatus")] |
||||
|
public string? ToStatus { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailToWarehouseCode")] |
||||
|
public string? ToWarehouseCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreTransferRequestDetailUom")] |
||||
|
public string? Uom { get; set; } |
||||
|
} |
@ -0,0 +1,109 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreTransferRequestDetail.StoreTransferRequestDetail.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreTransferRequestDetailViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreTransferRequestDetailArriveDate")] |
||||
|
public DateTime ArriveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailExpireDate")] |
||||
|
public DateTime ExpireDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromContainerCode")] |
||||
|
public string? FromContainerCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationArea")] |
||||
|
public string? FromLocationArea { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationCode")] |
||||
|
public string FromLocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationErpCode")] |
||||
|
public string FromLocationErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromLocationGroup")] |
||||
|
public string? FromLocationGroup { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromLot")] |
||||
|
public string? FromLot { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromPackingCode")] |
||||
|
public string? FromPackingCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromStatus")] |
||||
|
public string FromStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailFromWarehouseCode")] |
||||
|
public string FromWarehouseCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailItemCode")] |
||||
|
public string ItemCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailItemDesc1")] |
||||
|
public string? ItemDesc1 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailItemDesc2")] |
||||
|
public string? ItemDesc2 { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailItemName")] |
||||
|
public string? ItemName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailMaster")] |
||||
|
public StoreTransferRequest Master { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailMasterId")] |
||||
|
public Guid MasterId { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailProduceDate")] |
||||
|
public DateTime ProduceDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailQty")] |
||||
|
public decimal Qty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailReason")] |
||||
|
public string? Reason { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailStdPackQty")] |
||||
|
public decimal StdPackQty { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailSupplierBatch")] |
||||
|
public string? SupplierBatch { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToContainerCode")] |
||||
|
public string? ToContainerCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationArea")] |
||||
|
public string? ToLocationArea { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationCode")] |
||||
|
public string ToLocationCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationErpCode")] |
||||
|
public string ToLocationErpCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToLocationGroup")] |
||||
|
public string? ToLocationGroup { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToLot")] |
||||
|
public string? ToLot { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToPackingCode")] |
||||
|
public string? ToPackingCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToStatus")] |
||||
|
public string ToStatus { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailToWarehouseCode")] |
||||
|
public string ToWarehouseCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreTransferRequestDetailUom")] |
||||
|
public string Uom { get; set; } |
||||
|
} |
@ -0,0 +1,217 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreTransferRequestDetailFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreTransferRequestDetailCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreTransferRequestDetailFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreTransferRequestDetailFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeTransferRequestDetail.storeTransferRequestDetail; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferRequestDetail/StoreTransferRequestDetail/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreTransferRequestDetail/StoreTransferRequestDetail/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreTransferRequestDetailTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferRequestDetail.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreTransferRequestDetail.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreTransferRequestDetailDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailArriveDate'), |
||||
|
data: "arriveDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailExpireDate'), |
||||
|
data: "expireDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromContainerCode'), |
||||
|
data: "fromContainerCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromLocationArea'), |
||||
|
data: "fromLocationArea" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromLocationCode'), |
||||
|
data: "fromLocationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromLocationErpCode'), |
||||
|
data: "fromLocationErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromLocationGroup'), |
||||
|
data: "fromLocationGroup" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromLot'), |
||||
|
data: "fromLot" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromPackingCode'), |
||||
|
data: "fromPackingCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromStatus'), |
||||
|
data: "fromStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailFromWarehouseCode'), |
||||
|
data: "fromWarehouseCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailItemCode'), |
||||
|
data: "itemCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailItemDesc1'), |
||||
|
data: "itemDesc1" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailItemDesc2'), |
||||
|
data: "itemDesc2" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailItemName'), |
||||
|
data: "itemName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailMaster'), |
||||
|
data: "master" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailMasterId'), |
||||
|
data: "masterId" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailProduceDate'), |
||||
|
data: "produceDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailQty'), |
||||
|
data: "qty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailReason'), |
||||
|
data: "reason" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailStdPackQty'), |
||||
|
data: "stdPackQty" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailSupplierBatch'), |
||||
|
data: "supplierBatch" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToContainerCode'), |
||||
|
data: "toContainerCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToLocationArea'), |
||||
|
data: "toLocationArea" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToLocationCode'), |
||||
|
data: "toLocationCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToLocationErpCode'), |
||||
|
data: "toLocationErpCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToLocationGroup'), |
||||
|
data: "toLocationGroup" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToLot'), |
||||
|
data: "toLot" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToPackingCode'), |
||||
|
data: "toPackingCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToStatus'), |
||||
|
data: "toStatus" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailToWarehouseCode'), |
||||
|
data: "toWarehouseCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreTransferRequestDetailUom'), |
||||
|
data: "uom" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreTransferRequestDetailButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreUnplannedIssueNote"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNote; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNote.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreUnplannedIssueNoteViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreUnplannedIssueNoteAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreUnplannedIssueNoteAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreUnplannedIssueNoteViewModel, CreateUpdateStoreUnplannedIssueNoteDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreUnplannedIssueNote"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,38 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNote; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNote.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote; |
||||
|
|
||||
|
public class EditModalModel : WmsPageModel |
||||
|
{ |
||||
|
[HiddenInput] |
||||
|
[BindProperty(SupportsGet = true)] |
||||
|
public Guid Id { get; set; } |
||||
|
|
||||
|
[BindProperty] |
||||
|
public CreateEditStoreUnplannedIssueNoteViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreUnplannedIssueNoteAppService _service; |
||||
|
|
||||
|
public EditModalModel(IStoreUnplannedIssueNoteAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
var dto = await _service.GetAsync(Id); |
||||
|
ViewModel = ObjectMapper.Map<StoreUnplannedIssueNoteDto, CreateEditStoreUnplannedIssueNoteViewModel>(dto); |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreUnplannedIssueNoteViewModel, CreateUpdateStoreUnplannedIssueNoteDto>(ViewModel); |
||||
|
await _service.UpdateAsync(Id, dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Permissions |
||||
|
@using Microsoft.AspNetCore.Authorization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Layout |
||||
|
@using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using WinIn.FasterZ.Wms.Web.Menus |
||||
|
@model IndexModel |
||||
|
@inject IPageLayout PageLayout |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@inject IAuthorizationService Authorization |
||||
|
@{ |
||||
|
PageLayout.Content.Title = L["StoreUnplannedIssueNote"].Value; |
||||
|
PageLayout.Content.BreadCrumb.Add(L["Menu:StoreUnplannedIssueNote"].Value); |
||||
|
PageLayout.Content.MenuItemName = WmsMenus.StoreUnplannedIssueNote; |
||||
|
} |
||||
|
|
||||
|
@section scripts |
||||
|
{ |
||||
|
<abp-script src="/Pages/Z_Business/StoreUnplannedIssueNote/StoreUnplannedIssueNote/index.js" /> |
||||
|
} |
||||
|
@section styles |
||||
|
{ |
||||
|
<abp-style src="/Pages/Z_Business/StoreUnplannedIssueNote/StoreUnplannedIssueNote/index.css"/> |
||||
|
} |
||||
|
|
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-row> |
||||
|
<abp-column size-md="_6"> |
||||
|
<abp-card-title>@L["StoreUnplannedIssueNote"]</abp-card-title> |
||||
|
</abp-column> |
||||
|
<abp-column size-md="_6" class="text-end"> |
||||
|
@if (await Authorization.IsGrantedAsync(WmsPermissions.StoreUnplannedIssueNote.Create)) |
||||
|
{ |
||||
|
<abp-button id="NewStoreUnplannedIssueNoteButton" |
||||
|
text="@L["CreateStoreUnplannedIssueNote"].Value" |
||||
|
icon="plus" |
||||
|
button-type="Primary" /> |
||||
|
} |
||||
|
</abp-column> |
||||
|
</abp-row> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-row class="mb-3"> |
||||
|
<a abp-collapse-id="StoreUnplannedIssueNoteCollapse" class="text-secondary">@L["TableFilter"] </a> |
||||
|
</abp-row> |
||||
|
<abp-dynamic-form abp-model="StoreUnplannedIssueNoteFilter" id="StoreUnplannedIssueNoteFilter" required-symbols="false" column-size="_3"> |
||||
|
<abp-collapse-body id="StoreUnplannedIssueNoteCollapse"> |
||||
|
<abp-form-content /> |
||||
|
</abp-collapse-body> |
||||
|
</abp-dynamic-form> |
||||
|
<hr /> |
||||
|
<abp-table striped-rows="true" id="StoreUnplannedIssueNoteTable" class="nowrap"/> |
||||
|
</abp-card-body> |
||||
|
</abp-card> |
@ -0,0 +1,59 @@ |
|||||
|
using System; |
||||
|
using System.Threading.Tasks; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote; |
||||
|
|
||||
|
public class IndexModel : WmsPageModel |
||||
|
{ |
||||
|
public StoreUnplannedIssueNoteFilterInput StoreUnplannedIssueNoteFilter { get; set; } |
||||
|
|
||||
|
public virtual async Task OnGetAsync() |
||||
|
{ |
||||
|
await Task.CompletedTask; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public class StoreUnplannedIssueNoteFilterInput |
||||
|
{ |
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteActiveDate")] |
||||
|
public DateTime? ActiveDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteBuildDate")] |
||||
|
public DateTime? BuildDate { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteDeptCode")] |
||||
|
public string? DeptCode { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteDeptName")] |
||||
|
public string? DeptName { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteNumber")] |
||||
|
public string? Number { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteStoreUnplannedIssueNoteDetails")] |
||||
|
public ICollection<StoreUnplannedIssueNoteDetail>? StoreUnplannedIssueNoteDetails { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteUnplannedIssueRequestNumber")] |
||||
|
public string? UnplannedIssueRequestNumber { get; set; } |
||||
|
|
||||
|
[FormControlSize(AbpFormControlSize.Small)] |
||||
|
[Display(Name = "StoreUnplannedIssueNoteWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
using System; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNote.StoreUnplannedIssueNote.ViewModels; |
||||
|
|
||||
|
public class CreateEditStoreUnplannedIssueNoteViewModel |
||||
|
{ |
||||
|
[Display(Name = "StoreUnplannedIssueNoteActiveDate")] |
||||
|
public DateTime ActiveDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteBuildDate")] |
||||
|
public DateTime BuildDate { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteDeptCode")] |
||||
|
public string? DeptCode { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteDeptName")] |
||||
|
public string? DeptName { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteJobNumber")] |
||||
|
public string? JobNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteNumber")] |
||||
|
public string Number { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteRemark")] |
||||
|
public string? Remark { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteStoreUnplannedIssueNoteDetails")] |
||||
|
public ICollection<StoreUnplannedIssueNoteDetail> StoreUnplannedIssueNoteDetails { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteUnplannedIssueRequestNumber")] |
||||
|
public string? UnplannedIssueRequestNumber { get; set; } |
||||
|
|
||||
|
[Display(Name = "StoreUnplannedIssueNoteWorker")] |
||||
|
public string? Worker { get; set; } |
||||
|
} |
@ -0,0 +1,121 @@ |
|||||
|
$(function () { |
||||
|
|
||||
|
$("#StoreUnplannedIssueNoteFilter :input").on('input', function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
//After abp v7.2 use dynamicForm 'column-size' instead of the following settings
|
||||
|
//$('#StoreUnplannedIssueNoteCollapse div').addClass('col-sm-3').parent().addClass('row');
|
||||
|
|
||||
|
var getFilter = function () { |
||||
|
var input = {}; |
||||
|
$("#StoreUnplannedIssueNoteFilter") |
||||
|
.serializeArray() |
||||
|
.forEach(function (data) { |
||||
|
if (data.value != '') { |
||||
|
input[abp.utils.toCamelCase(data.name.replace(/StoreUnplannedIssueNoteFilter./g, ''))] = data.value; |
||||
|
} |
||||
|
}) |
||||
|
return input; |
||||
|
}; |
||||
|
|
||||
|
var l = abp.localization.getResource('Wms'); |
||||
|
|
||||
|
var service = winIn.fasterZ.wms.z_Business.storeUnplannedIssueNote.storeUnplannedIssueNote; |
||||
|
var createModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreUnplannedIssueNote/StoreUnplannedIssueNote/CreateModal'); |
||||
|
var editModal = new abp.ModalManager(abp.appPath + 'Z_Business/StoreUnplannedIssueNote/StoreUnplannedIssueNote/EditModal'); |
||||
|
|
||||
|
var dataTable = $('#StoreUnplannedIssueNoteTable').DataTable(abp.libs.datatables.normalizeConfiguration({ |
||||
|
processing: true, |
||||
|
serverSide: true, |
||||
|
paging: true, |
||||
|
searching: false,//disable default searchbox
|
||||
|
autoWidth: false, |
||||
|
scrollCollapse: true, |
||||
|
order: [[0, "asc"]], |
||||
|
ajax: abp.libs.datatables.createAjax(service.getList,getFilter), |
||||
|
columnDefs: [ |
||||
|
{ |
||||
|
rowAction: { |
||||
|
items: |
||||
|
[ |
||||
|
{ |
||||
|
text: l('Edit'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreUnplannedIssueNote.Update'), |
||||
|
action: function (data) { |
||||
|
editModal.open({ id: data.record.id }); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
text: l('Delete'), |
||||
|
visible: abp.auth.isGranted('Wms.StoreUnplannedIssueNote.Delete'), |
||||
|
confirmMessage: function (data) { |
||||
|
return l('StoreUnplannedIssueNoteDeletionConfirmationMessage', data.record.id); |
||||
|
}, |
||||
|
action: function (data) { |
||||
|
service.delete(data.record.id) |
||||
|
.then(function () { |
||||
|
abp.notify.info(l('SuccessfullyDeleted')); |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteActiveDate'), |
||||
|
data: "activeDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteBuildDate'), |
||||
|
data: "buildDate" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteDeptCode'), |
||||
|
data: "deptCode" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteDeptName'), |
||||
|
data: "deptName" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteJobNumber'), |
||||
|
data: "jobNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteNumber'), |
||||
|
data: "number" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteRemark'), |
||||
|
data: "remark" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteStoreUnplannedIssueNoteDetails'), |
||||
|
data: "storeUnplannedIssueNoteDetails" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteUnplannedIssueRequestNumber'), |
||||
|
data: "unplannedIssueRequestNumber" |
||||
|
}, |
||||
|
{ |
||||
|
title: l('StoreUnplannedIssueNoteWorker'), |
||||
|
data: "worker" |
||||
|
}, |
||||
|
] |
||||
|
})); |
||||
|
|
||||
|
createModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
editModal.onResult(function () { |
||||
|
dataTable.ajax.reload(); |
||||
|
}); |
||||
|
|
||||
|
$('#NewStoreUnplannedIssueNoteButton').click(function (e) { |
||||
|
e.preventDefault(); |
||||
|
createModal.open(); |
||||
|
}); |
||||
|
}); |
@ -0,0 +1,18 @@ |
|||||
|
@page |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNoteDetail.StoreUnplannedIssueNoteDetail.CreateModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="CreateModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["CreateStoreUnplannedIssueNoteDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
@ -0,0 +1,27 @@ |
|||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNoteDetail; |
||||
|
using WinIn.FasterZ.Wms.Z_Business.StoreUnplannedIssueNoteDetail.Dtos; |
||||
|
using WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNoteDetail.StoreUnplannedIssueNoteDetail.ViewModels; |
||||
|
|
||||
|
namespace WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNoteDetail.StoreUnplannedIssueNoteDetail; |
||||
|
|
||||
|
public class CreateModalModel : WmsPageModel |
||||
|
{ |
||||
|
[BindProperty] |
||||
|
public CreateEditStoreUnplannedIssueNoteDetailViewModel ViewModel { get; set; } |
||||
|
|
||||
|
private readonly IStoreUnplannedIssueNoteDetailAppService _service; |
||||
|
|
||||
|
public CreateModalModel(IStoreUnplannedIssueNoteDetailAppService service) |
||||
|
{ |
||||
|
_service = service; |
||||
|
} |
||||
|
|
||||
|
public virtual async Task<IActionResult> OnPostAsync() |
||||
|
{ |
||||
|
var dto = ObjectMapper.Map<CreateEditStoreUnplannedIssueNoteDetailViewModel, CreateUpdateStoreUnplannedIssueNoteDetailDto>(ViewModel); |
||||
|
await _service.CreateAsync(dto); |
||||
|
return NoContent(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
@page |
||||
|
@using WinIn.FasterZ.Wms.Localization |
||||
|
@using Microsoft.AspNetCore.Mvc.Localization |
||||
|
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal; |
||||
|
@inject IHtmlLocalizer<WmsResource> L |
||||
|
@model WinIn.FasterZ.Wms.Web.Pages.Z_Business.StoreUnplannedIssueNoteDetail.StoreUnplannedIssueNoteDetail.EditModalModel |
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
<abp-dynamic-form abp-model="ViewModel" data-ajaxForm="true" asp-page="EditModal"> |
||||
|
<abp-modal> |
||||
|
<abp-modal-header title="@L["EditStoreUnplannedIssueNoteDetail"].Value"></abp-modal-header> |
||||
|
<abp-modal-body> |
||||
|
<abp-input asp-for="Id" /> |
||||
|
<abp-form-content /> |
||||
|
</abp-modal-body> |
||||
|
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
||||
|
</abp-modal> |
||||
|
</abp-dynamic-form> |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue