143 lines
8.2 KiB
C#
143 lines
8.2 KiB
C#
@page
|
|
@attribute [Authorize(Roles = "SalesOrders")]
|
|
@{
|
|
ViewData["Title"] = "Sales Order List";
|
|
}
|
|
|
|
<div id="app" v-cloak>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="grid-container">
|
|
<div ref="mainGridRef"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" ref="mainModalRef" id="MainModal" aria-hidden="true" tabindex="-1" data-bs-focus="false" data-bs-backdrop="static">
|
|
<div class="modal-dialog modal-dialog-centered modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">{{ state.mainTitle }}</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<input type="hidden" v-model="state.id" id="Id" name="Id" />
|
|
<form id="MainForm">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5>Main Info</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row mb-2">
|
|
<div class="col-md-6">
|
|
<label for="OrderDate">Order Date</label>
|
|
<input ref="orderDateRef" />
|
|
<label class="text-danger">{{ state.errors.orderDate }}</label>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label for="Number">Number</label>
|
|
<input ref="numberRef" v-model="state.number" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-md-6">
|
|
<label for="CustomerId">Customer</label>
|
|
<div ref="customerIdRef"></div>
|
|
<label class="text-danger">{{ state.errors.customerId }}</label>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label for="TaxId">Tax</label>
|
|
<div ref="taxIdRef"></div>
|
|
<label class="text-danger">{{ state.errors.taxId }}</label>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-md-6">
|
|
<label for="OrderStatus">Order Status</label>
|
|
<div ref="orderStatusRef"></div>
|
|
<label class="text-danger">{{ state.errors.orderStatus }}</label>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-2">
|
|
<div class="col-md-12">
|
|
<label for="Description">Description</label>
|
|
<textarea class="form-control" rows="3" v-model="state.description"></textarea>
|
|
<label class="text-danger">{{ state.errors.description }}</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<div id="ComplexDiv" :style="{ display: state.showComplexDiv ? 'block' : 'none' }">
|
|
<div class="row mt-3">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5>Sales Order Item</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="grid-container">
|
|
<div ref="secondaryGridRef"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mt-4">
|
|
<div class="col-md-12">
|
|
<div class="card shadow-sm">
|
|
<div class="card-header text-white">
|
|
<h5 class="mb-0">Payment Summary</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row justify-content-end">
|
|
<div class="col-md-6">
|
|
<div class="d-flex justify-content-between py-2 border-bottom">
|
|
<span class="fw-bold">Subtotal</span>
|
|
<span id="SubTotalAmount">{{ state.subTotalAmount }}</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between py-2 border-bottom">
|
|
<span class="fw-bold">Tax</span>
|
|
<span id="TaxAmount">{{ state.taxAmount }}</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between py-2">
|
|
<span class="fw-bold">Total Amount</span>
|
|
<span id="TotalAmount" class="fw-bold text-success">{{ state.totalAmount }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
|
<button type="button"
|
|
id="MainSaveButton"
|
|
class="btn"
|
|
v-bind:class="state.deleteMode ? 'btn-danger' : 'btn-primary'"
|
|
v-on:click="handler.handleSubmit"
|
|
v-bind:disabled="state.isSubmitting">
|
|
<span class="spinner-border spinner-border-sm me-2" v-if="state.isSubmitting" role="status" aria-hidden="true"></span>
|
|
<span v-if="!state.isSubmitting">{{ state.deleteMode ? 'Delete' : 'Save' }}</span>
|
|
<span v-else>{{ state.deleteMode ? 'Deleting...' : 'Saving...' }}</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@section scripts {
|
|
<script src="~/FrontEnd/Pages/SalesOrders/SalesOrderList.cshtml.js"></script>
|
|
} |