You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

412 lines
19 KiB

5 years ago
@extends("admin.layouts.layout")
@php
$pageTitle = "床位管理";
@endphp
@push("header")
@endpush
@section("content")
<div class="row">
3 years ago
<div class="col-12">
5 years ago
<div class="card">
3 years ago
<div class="card-body">
<h4>{{ $project->name }}床位管理</h4>
<div class="mb-2">
<form class="form-inline" id="search-form">
<div class="input-group mr-1">
3 years ago
<select class="form-control" name="building_id" id="building_id" data-type="building"
3 years ago
onchange="changeBuilding()">
<option value="">请选择楼栋</option>
@foreach($project->buildings as $building)
3 years ago
<option data-index="{{ $building->myindex }}"
value="{{ $building->id }}" @if($building->id == request()->building_id){{ "selected" }}@endif>{{ $building->name }}</option>
3 years ago
@endforeach
</select>
<div class="input-group-append">
<button class="btn btn-primary" type="button" onclick="createSub('project')"><i
class="mdi mdi-plus"></i></button>
</div>
3 years ago
<div class="input-group-append">
<button class="btn btn-light" type="button" onclick="edit(this)"><i
class="mdi mdi-pencil"></i></button>
</div>
3 years ago
</div>
5 years ago
3 years ago
<div class="input-group mr-1">
3 years ago
<select class="form-control" name="area_id" id="area_id" onchange="changeArea()"
data-type="area">
3 years ago
<option value="">
请选择病区
</option>
@if (isset($areas))
@foreach($areas as $area)
<option
value="{{ $area->id }}" @if($area->id == request()->area_id){{ "selected" }}@endif>{{ $area->name }}</option>
@endforeach
@endif
</select>
<div class="input-group-append">
<button class="btn btn-primary" type="button" onclick="createSub('building')"><i
class="mdi mdi-plus"></i></button>
</div>
3 years ago
<div class="input-group-append">
<button class="btn btn-light" type="button" onclick="edit(this)"><i
class="mdi mdi-pencil"></i></button>
</div>
3 years ago
</div>
5 years ago
3 years ago
<div class="input-group mr-1">
3 years ago
<select class="form-control" name="room_id" id="room_id" data-type="room">
3 years ago
<option value="">
请选择病房
</option>
@if (isset($rooms))
@foreach($rooms as $room)
<option
value="{{ $room->id }}" @if($room->id == request()->room_id){{ "selected" }}@endif>{{ $room->name }}</option>
@endforeach
@endif
</select>
<div class="input-group-append">
<button class="btn btn-primary" type="button" onclick="createSub('area')"><i
class="mdi mdi-plus"></i></button>
</div>
3 years ago
<div class="input-group-append">
<button class="btn btn-light" type="button" onclick="edit(this)"><i
class="mdi mdi-pencil"></i></button>
</div>
3 years ago
</div>
5 years ago
3 years ago
<button class="btn btn-primary mr-3" type="button" onclick="createSub('room')">新增病床 <i
3 years ago
class="mdi mdi-plus"></i></button>
<button class="btn btn-primary" type="submit">搜索</button>
3 years ago
<a class="btn btn-secondary ml-1" href="{{ url("admin/project") }}">返回</a>
3 years ago
</form>
</div>
5 years ago
<table class="table table-bordered" id="data-table">
<thead>
<tr>
<th>床位</th>
<th>病房</th>
<th>医院/项目</th>
<th>楼栋</th>
<th>病区/楼层</th>
3 years ago
<th>排序</th>
5 years ago
<th>操作</th>
</tr>
</thead>
<tbody>
@foreach ($data as $row)
<tr data-id="{{$row->id}}" data-type="bed" data-name="{{ $row->name }}"
data-myindex="{{ $row->myindex }}">
<td>
{{ $row->name }}
</td>
<td>{{ $row->room ? $row->room->name : "已删除" }}</td>
<td>{{ $row->project->name }}</td>
<td>{{ $row->building ? $row->building->name : "已删除" }}</td>
<td>{{ $row->area ? $row->area->name : "已删除" }}</td>
3 years ago
<td>{{ $row->myindex }}</td>
5 years ago
<td>
<a class="btn btn-sm btn-primary"
3 years ago
href="javascript:;" onclick="editBed(this)">@lang("icons.action_edit")</a>
5 years ago
<a class="btn btn-sm btn-danger" data-id="{{$row['id']}}"
href="javascript:;" onclick="del(this)">@lang("icons.action_delete")</a>
</td>
</tr>
@endforeach
</tbody>
</table>
@include("public._pages")
</div>
</div>
</div>
</div>
<!-- sample modal content -->
<div id="model-form" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel"></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<form autocomplete="off">
@csrf
<input type="hidden" name="type">
<input type="hidden" name="id">
<div class="form-group">
<label for="name" class="control-label">名称</label>
<input class="form-control" required="required" name="name" type="text">
</div>
<div class="form-group">
<label for="myindex" class="control-label">排序</label>
<input value="0" class="form-control" required="required" name="myindex" type="number">
</div>
3 years ago
3 years ago
<div class="form-group" id="head" style="display: none">
3 years ago
<label for="head" class="control-label">护士长</label>
3 years ago
<select name="head[]" id="head_option" class="custom-select" multiple>
3 years ago
3 years ago
</select>
</div>
5 years ago
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light waves-effect" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary waves-effect waves-light" onclick="save();">保存</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Warning Alert Modal -->
<div id="delete-alert-modal" class="modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-sm">
<div class="modal-content">
<div class="modal-body p-4">
<div class="text-center">
<i class="dripicons-warning h1 text-warning"></i>
<h4 class="mt-2 title-delete">确认提示</h4>
<p class="mt-3 msg-delete">{{ isset($msg) ? $msg : "请再次确认是否要删除" }}</p>
<button type="button" class="btn btn-warning" onclick="confirmToDelete()">确定</button>
</div>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
@endsection
@push("footer")
<script>
$(function () {
3 years ago
$("#pages a.page-link").each(function () {
if (!$(this).attr("href")) {
return;
}
var filters = $("#search-form").serialize();
$(this).attr("href", $(this).attr("href") + "&" + filters);
5 years ago
});
});
3 years ago
function changeBuilding() {
$("#area_id option:gt(0)").remove();
$("#room_id option:gt(0)").remove();
var building_id = $("#building_id").val();
var url = "{{ url($urlPrefix."/get-subs") }}";
$.get(url, {type: "building", id: building_id}, function (res) {
for (var i = 0; i < res.length; i++) {
3 years ago
$("#area_id").append('<option data-index="' + res[i].myindex + '" value="' + res[i].id + '">' + res[i].name + '</option>');
3 years ago
}
});
}
function changeArea() {
$("#room_id option:gt(0)").remove();
var area_id = $("#area_id").val();
var url = "{{ url($urlPrefix."/get-subs") }}";
$.get(url, {type: "area", id: area_id}, function (res) {
for (var i = 0; i < res.length; i++) {
3 years ago
$("#room_id").append('<option data-index="' + res[i].myindex + '" value="' + res[i].id + '">' + res[i].name + '</option>');
3 years ago
}
});
}
function createSub(type) {
switch (type) {
case "project":
var id = "{{ $project->id }}";
break;
case "building":
var id = $("#building_id").val();
if (id == "") {
alertError("请先选择楼栋");
return false;
}
break;
case "area":
var id = $("#area_id").val();
if (id == "") {
alertError("请先选择病区/楼层");
return false;
}
break;
case "room":
var id = $("#room_id").val();
if (id == "") {
alertError("请先选择病房");
return false;
}
break;
}
5 years ago
var url = "{{ url($urlPrefix."/create-sub") }}";
$("#model-form form input[name=type]").val(type);
$("#model-form form input[name=id]").val(id);
$("#model-form form input[name=name]").val("");
$("#model-form form input[name=myindex]").val(0);
$("#model-form form").attr("action", url);
switch (type) {
case "project":
$("#model-form .modal-title").html("新增楼栋");
3 years ago
$("#head").hide();
5 years ago
break;
case "building":
3 years ago
var building_name = $("#building_id option:selected").html();
$("#model-form .modal-title").html("新增病区/楼层-" + building_name);
3 years ago
// ajax调用获取所有护士长信息并渲染出来
3 years ago
getHead(0)
3 years ago
$("#head").show();
5 years ago
break;
case "area":
3 years ago
var area_name = $("#area_id option:selected").html();
$("#model-form .modal-title").html("新增病房-" + area_name);
3 years ago
$("#head").hide();
5 years ago
break;
case "room":
3 years ago
var room_name = $("#room_id option:selected").html();
$("#model-form .modal-title").html("新增病床-" + room_name);
3 years ago
$("#head").hide();
5 years ago
break;
}
$("#model-form").modal("show");
}
3 years ago
// 根据病区id获取护士长数据并渲染
function getHead(area_id) {
var url = "{{ url($urlPrefix."/get-head") }}";
3 years ago
var project_id = '{{$project->id}}'
$.get(url, {project_id:project_id,area_id: area_id}, function (res) {
3 years ago
$("#head_option").html('')
3 years ago
for (var i = 0; i < res.length; i++) {
3 years ago
$("#head_option").append('<option ' + res[i].selected + ' value=' + res[i].id + '>' + res[i].name + '</option>');
3 years ago
}
3 years ago
});
}
3 years ago
function editBed(element) {
5 years ago
var type = $(element).closest("tr").attr("data-type");
var id = $(element).closest("tr").attr("data-id");
var name = $(element).closest("tr").attr("data-name");
var myindex = $(element).closest("tr").attr("data-myindex");
3 years ago
var url = "{{ url($urlPrefix."/edit-department") }}";
$("#model-form form input[name=type]").val(type);
$("#model-form form input[name=id]").val(id);
$("#model-form form input[name=name]").val(name);
$("#model-form form input[name=myindex]").val(myindex);
$("#model-form form").attr("action", url);
$("#model-form .modal-title").html("修改病床");
$("#model-form").modal("show");
}
function edit(element) {
var target = $(element).parent().siblings("select");
var type = target.attr("data-type");
var id = target.val();
if (id == "") {
return false;
}
var url = "{{ url($urlPrefix."/edit-department") }}";
var name = target.find("option:selected").html();
var myindex = target.find("option:selected").attr("data-index");
5 years ago
$("#model-form form input[name=type]").val(type);
$("#model-form form input[name=id]").val(id);
$("#model-form form input[name=name]").val(name);
$("#model-form form input[name=myindex]").val(myindex);
$("#model-form form").attr("action", url);
switch (type) {
case "building":
$("#model-form .modal-title").html("修改楼栋");
3 years ago
$("#head").hide();
5 years ago
break;
case "area":
$("#model-form .modal-title").html("修改病区/楼层");
3 years ago
// 获取护士长列表
getHead(id)
$("#head").show();
5 years ago
break;
case "room":
$("#model-form .modal-title").html("修改病房");
3 years ago
$("#head").hide();
5 years ago
break;
case "bed":
$("#model-form .modal-title").html("修改床位");
3 years ago
$("#head").hide();
5 years ago
break;
}
$("#model-form").modal("show");
}
function del(element) {
window.delete_type = $(element).closest("tr").attr("data-type");
window.delete_id = $(element).closest("tr").attr("data-id");
$("#delete-alert-modal").modal("show");
$('#delete-alert-modal').on('hidden.bs.modal', function (e) {
$(this).data('bs.modal')._config.keyboard = true;
$(this).data('bs.modal')._config.backdrop = true;
$("#delete-alert-modal .btn-warning").prop("disabled", false).html("确定");
});
}
function confirmToDelete() {
$("#delete-alert-modal .btn-warning").prop("disabled", true).html('<span class="spinner-border spinner-border-sm mr-1" role="status" aria-hidden="true"></span>处理中...');
$("#delete-alert-modal").data('bs.modal')._config.keyboard = false;
$("#delete-alert-modal").data('bs.modal')._config.backdrop = "static";
var url = "{{ url($urlPrefix."/delete-department") }}";
var _token = $("meta[name=csrf-token]").attr("content");
$.post(url, {_token: _token, type: window.delete_type, id: window.delete_id}, function (result) {
$("#delete-alert-modal").modal("hide");
if (result.status) {
alertSuccess(result.msg, function () {
if (typeof deletedCallback == "function") {
window.deletedCallback(result);
} else {
window.location.reload();
}
});
} else {
alertError(result.msg);
}
});
}
function save() {
if (!$("#model-form form").valid()) {
return false;
}
var url = $("#model-form form").attr("action");
var data = $("#model-form form").serialize();
$("#model-form").modal("hide");
$.post(url, data, function (res) {
if (res.status) {
3 years ago
var page = "{{ request()->page}}";
$("#search-form").append("<input type='hidden' value='" + page + "' name='page'>");
3 years ago
$("#search-form").submit();
5 years ago
} else {
alertError(res.msg);
}
});
}
</script>
@endpush