96 lines
3.2 KiB
Plaintext
96 lines
3.2 KiB
Plaintext
|
@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>
|
||
|
}
|