96 lines
3.2 KiB
Plaintext
Raw Normal View History

2023-05-20 06:49:33 +04:00
@using HospitalContracts.ViewModels;
@{
ViewData["Title"] = "CreateRecipe";
}
<div class="text-center">
<h2 class="display-4">Создание рецепта</h2>
</div>
<form method="post">
<div class="row">
<div class="col-4">Доза:</div>
<div class="col-8"><input type="text" name="dose" id="dose" /></div>
</div>
<div class="row">
<div class="col-4">Способ применения:</div>
<div class="col-8"><input type="text" id="modeofapplication" name="modeofapplication"/></div>
</div>
<div class="row">
<div class="row mb-3">
<div class="col-4">Лекарство:</div>
<div class="col-8">
<select id="medicines" name="medicines" class="form-control" asp-items="@(new SelectList(@ViewBag.Medicines,"Id", "MedicinesName"))"></select>
</div>
</div>
</div>
<div class="form-group">
<label>Добавление процедур:</label>
</div>
<div class="row">
<div class="col-6">
<select id="procedures" name="procedures" class="form-control" asp-items="@(new SelectList(@ViewBag.Procedures,"Id", "ProceduresName"))"></select>
</div>
<div class="col-6">
<button type="button" class="btn btn-success bg-dark" onclick="addProcedures()">Добавить</button>
</div>
</div>
<div class="row">
<p class="text-center"><strong>Процедуры</strong></p>
<table id="prodedureTable" class="table table-bordered table-striped">
<thead>
<tr>
<th>Название</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var procedure in Model.RecipeProcedures)
{
<tr>
<td>@procedure.Value.ProceduresName</td>
<td>
<button type="button" class="btn btn-danger" data-id="@procedure.Key" onclick="removeProcedure('@procedure.Key')">Удалить</button>
</td>
</tr>
}
</tbody>
</table>
</div>
<br />
<div class="row">
<div class="col-8"></div>
<div class="col-4"><input type="submit" value="Создать" class="btn btn-primary" /></div>
</div>
</form>
@section scripts {
<script>
var recipesProcedures = @Json.Serialize(Model.RecipeProcedures);
function addProcedures() {
var procedureId = $('#procedures').val();
var proceduresName = $('#procedures option:selected').text();
if (recipesProcedures.hasOwnProperty(procedureId)) {
alert('This procedure is already added.');
return;
}
recipesProcedures[procedureId] = { Id: procedureId, Name: proceduresName };
var row = $('<tr>').append($('<td>').text(proceduresName));
var removeButton = $('<button>').text('Удалить').attr('data-id', procedureId).attr('class', 'btn btn-danger').click((function (id) {
return function () {
removeProcedure(id);
};
})(procedureId));
row.append($('<td>').append(removeButton));
$('#procedureTable tbody').append(row);
var input = $('<input>').attr('type', 'hidden').attr('name', 'RecipesProcedures[' + procedureId + ']').val(procedureId);
$('#recipe-form').append(input);
}
function removeProcedure(procedureId) {
delete recipesProcedures[procedureId];
$('#procedureTable button[data-id="' + procedureId + '"]').closest('tr').remove();
$('#recipe-form input[name="RecipesProcedures[' + procedureId + ']"]').remove();
}
</script>
}