| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- @model GreenTree.Strohrmann.ERP.Web.Models.Business.CraftMaterialModel
- @{
- var id = Model != null && !String.IsNullOrEmpty(Model.DictIdentifier) ? Model.DictIdentifier : Html.RandomId();
- }
- <script type="text/javascript">
- @{
- <text>
- function recalculateMaterialValue_@id (input) {
- if (input != null && input.name == "CraftMaterials[@id].Value") {
- $.ajax({
- method: "POST",
- url: "@Url.Action("CalculateMaterialCalculationFactor", "Craft")",
- data: {
- MaterialId: $("select[name='CraftMaterials[@id].MaterialId']").val(),
- Amount: $("input[name='CraftMaterials[@id].Amount']").val().replace('.', ','),
- Value: $("input[name='CraftMaterials[@id].Value']").val()
- },
- success: function (data) {
- $("input[name='CraftMaterials[@id].CalculationFactor']").val(data);
- calculateMaterialAggregation();
- },
- error: function (msg) {
- }
- });
- } else {
- $.ajax({
- method: "POST",
- url: "@Url.Action("CalculateMaterialValue", "Craft")",
- data: {
- MaterialId: $("select[name='CraftMaterials[@id].MaterialId']").val(),
- Amount: $("input[name='CraftMaterials[@id].Amount']").val().replace('.', ','),
- CalculationFactor: $("input[name='CraftMaterials[@id].CalculationFactor']").val()
- },
- success: function (data) {
- $("input[name='CraftMaterials[@id].Value']").val(data);
- calculateMaterialAggregation();
- },
- error: function (msg) {
- }
- });
- }
- }
- </text>
- }
- </script>
- <div class="row align-items-start">
- <input type="hidden" asp-for="Index" name="CraftMaterials[@id].Index" />
- <input type="hidden" asp-for="DictIdentifier" name="CraftMaterials[@id].DictIdentifier" value="@id" />
- <div class="form-group col-md-3">
- @if (Model == null || (Model != null && (!Model.Index.HasValue || Model.Index == 0)))
- {
- <label asp-for="MaterialId" class="control-label"></label>
- }
- <select asp-items='(IEnumerable<SelectListItem>)ViewData["AvailableMaterials"]'
- name="CraftMaterials[@id].MaterialId" class="form-control"
- onchange="calculateMaterialAggregation(); recalculateMaterialValue_@id (this);">
- </select>
- @Html.ValidationMessage(String.Format("CraftMaterials[{0}].MaterialId", id), new { @class = "text-danger" })
- </div>
- <div class="form-group col-md-2">
- @if (Model == null || (Model != null && (!Model.Index.HasValue || Model.Index == 0)))
- {
- <label asp-for="Amount" class="control-label"></label>
- }
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text">Stk.</span>
- </div>
- <input name="CraftMaterials[@id].Amount" type="number" min="0.00" step="0.50" class="form-control"
- id="CraftMaterials[@id].Amount"
- value="@Model.Amount.ToString("G29")"
- onchange="calculateMaterialAggregation(); recalculateMaterialValue_@id (this);" />
- </div>
- @Html.ValidationMessage(String.Format("CraftMaterials[{0}].Amount", id), new { @class = "text-danger" })
- </div>
- <div class="form-group col-md-3">
- @if (Model == null || (Model != null && (!Model.Index.HasValue || Model.Index == 0)))
- {
- <label asp-for="CalculationFactor" class="control-label"></label>
- }
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text">%</span>
- </div>
- <input asp-for="CalculationFactor" name="CraftMaterials[@id].CalculationFactor"
- type="number" min="0" step="5"
- value="@((Model == null ? 120m : Model.CalculationFactor * 100m).TrimEnd().ToString().Replace(',','.'))"
- class="form-control" data-aggregation="materialCalculationFactor"
- onchange="calculateMaterialAggregation(); recalculateMaterialValue_@id (this);" />
- </div>
- @Html.ValidationMessage(String.Format("CraftMaterials[{0}].CalculationFactor", id), new { @class = "text-danger" })
- </div>
- <div class="form-group col-md-3">
- @if (Model == null || (Model != null && (!Model.Index.HasValue || Model.Index == 0)))
- {
- <label asp-for="Value" class="control-label"></label>
- }
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text">€</span>
- </div>
- <input asp-for="Value" name="CraftMaterials[@id].Value" type="number" min="0.00" step="1" class="form-control"
- data-aggregation="materialValue"
- onchange="calculateMaterialAggregation(); recalculateMaterialValue_@id (this);"/>
- </div>
- @Html.ValidationMessage(String.Format("CraftMaterials[{0}].Value", id), new { @class = "text-danger" })
- </div>
- <div class="form-group col-md-1 pl-1">
- @if (Model != null && Model.Index > 0)
- {
- <button type="button" class="btn btn-danger" aria-label="Entfernen"
- onclick="$(this).closest('.row').remove(); calculateMaterialAggregation();">
- <span class="fas fa-trash"></span>
- </button>
- }
- </div>
- </div>
|