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.

301 lines
16 KiB

@extends("admin.layouts.layout")
@section("content")
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="mb-3">
<form class="form-inline" id="search-form" autocomplete="off">
<select class="form-control mr-1" name="project_id"
onchange="$(this).closest('form').submit()">
@foreach($projects as $pp)
<option
value="{{$pp->id}}" @if($pp->id == $project_id) {{ "selected" }}@endif>{{$pp->name}}</option>
@endforeach
</select>
<select class="form-control mr-1" name="building_id"
onchange="$(this).closest('form').submit()">
@foreach($buildings as $pp)
<option value="">全部</option>
<option
value="{{$pp->id}}" @if($pp->id == $building_id) {{ "selected" }}@endif>{{$pp->name}}</option>
@endforeach
</select>
<select class="form-control mr-1" name="building_id"
onchange="$(this).closest('form').submit()">
@foreach($areas as $pp)
<option value="">全部</option>
<option value="{{$pp->id}}" @if($pp->id == $area_id) {{ "selected" }}@endif>{{$pp->name}}</option>
@endforeach
</select>
<select class="form-control mr-1" name="month" onchange="$(this).closest('form').submit()">
@foreach($months as $mm)
<option value="{{$mm}}" @if($mm == $month) {{ "selected" }}@endif>{{$mm}}</option>
@endforeach
</select>
<select class="form-control mr-1" name="date" onchange="$(this).closest('form').submit()">
<option value="">包含本月所有日期</option>
@for($i=1;$i<=31;$i++)
<option
value="{{ sprintf("%02d",$i)}}" @if(sprintf("%02d",$i) == request()->date) {{ "selected" }}@endif>{{sprintf("%02d",$i)}}</option>
@endfor
</select>
<select class="form-control mr-1" name="status" onchange="$(this).closest('form').submit()">
@foreach($order_status_list as $key=>$mm)
<option value="{{$key}}" @if($key == $status) {{ "selected" }}@endif>{{$mm}}</option>
@endforeach
</select>
<input class="form-control" type="text" name="keyword" value="{{ request()->keyword }}"
placeholder="订单编号/联系人/联系电话">
@if(\App\Models\CommonModel::checkExport())
<button class="btn btn-primary ml-1" type="button" onclick="doExport(this)">导出</button>
@endif
</form>
</div>
<table class="table table-bordered" id="data-table">
<thead>
<tr>
<th>订单编号</th>
<th>所属项目/医院</th>
<th>所在楼栋</th>
<th>所在病区</th>
{{-- <th>客户科室</th>--}}
<th>客户姓名</th>
<th>客户余额</th>
<th>联系电话</th>
<th>被护理人</th>
<th>开始服务日期</th>
<th>结束日期</th>
<th>状态</th>
<th>总计</th>
@if (empty($hushizhang) && empty($yuanfang))
<th>操作</th>
@endif
</tr>
</thead>
<tbody>
@foreach ($data as $row)
<tr data-id="{{$row->id}}">
<td>
{{ $row->serial }}
</td>
<td>{{ $row->project->name }}</td>
<td>{{ $row->bed->building->name }}</td>
<td>{{ $row->bed->area->name }}</td>
{{-- <td>{{ $row->department }}</td>--}}
<td>{{ $row->customer->name ?: $row->patient->name }}</td>
<td>{{ $row->customer->balance }}</td>
<td>{{ $row->customer->mobile }}</td>
<td>{{ $row->patient->name }}</td>
<td>{{ $row->from_date }}</td>
<td>{!! $row->status == \App\Models\Orders::STATUS_FINISHED ? $row->to_date : "<label class='badge badge-danger'>未结</label> {$row->to_date}" !!}</td>
<td>{!! $row->getStatusLabelAttribute() !!} </td>
<td>{!! $row->status == \App\Models\Orders::STATUS_FINISHED ? "" : "<label class='badge badge-danger'>预计</label>" !!} {{ $row->total }} </td>
@if (empty($hushizhang) && empty($yuanfang))
<td>
<a class="btn btn-sm btn-primary"
href="javascript:;" onclick="toggleItems(this)"><i
class="mdi mdi-arrow-down"></i> 查看</a>
</td>
@endif
</tr>
<tr style="display: none">
<td colspan="14" class="p-0">
<table class="table table-striped mb-0 border-0">
<thead>
<tr>
<th>所在床位</th>
<th>护理日期</th>
<th>护工</th>
<th>单价</th>
<th>扣款时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
@foreach($row->orderItems as $item)
<tr data-id="{{ $item->id }}" data-item-id="{{ $item->id }}">
<td>{{ $item->building->name }}-{{ $item->room->name }}
-{{ $item->bed->name }}床
</td>
<td>{{ $item->service_date }}</td>
<td>{{ $item->paramedic ? $item->paramedic->name : "" }}</td>
<td data-field="total">{{ $item->total }}</td>
<td>{{ $item->paid_at }}</td>
<td>
<button type="button" class="btn btn-primary btn-sm"
onclick="changeItem(this)">修改
</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</td>
</tr>
@endforeach
</tbody>
</table>
@include("public._pages")
</div>
</div>
</div>
</div>
<div id="modal-box" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<form class="pl-3 pr-3" action="#">
@csrf
<input type="hidden" name="item_id">
<input type="hidden" name="fee">
<div class="form-group">
<label for="serial">订单编号</label>
<input class="form-control" type="text" name="serial" disabled>
</div>
<div class="form-group">
<label for="service_date">服务日期</label>
<input class="form-control" type="text" name="service_date" disabled>
</div>
<div class="form-group">
<label for="total">价格</label>
<input class="form-control" type="number" name="total" required=""
onblur="calculateSalary();">
</div>
<div id="factor-box">
</div>
<div class="form-group text-right">
<button class="btn btn-primary mr-1" type="button" onclick="saveItemChange();">修改</button>
<button class="btn btn-light" type="button" data-dismiss="modal">取消</button>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
@include("public._delete")
@endsection
@push("footer")
<script>
$(function () {
$("#pages a.page-link").each(function () {
if (!$(this).attr("href")) {
return;
}
var filters = $("#search-form").serialize();
$(this).attr("href", $(this).attr("href") + "&" + filters);
});
});
function toggleItems(element) {
$(element).closest("tr").next("tr").toggle();
$(element).closest("tr").toggleClass("bg-warning");
$(element).find("i").toggleClass("mdi-arrow-up")
}
function changeItem(element) {
var item_id = $(element).closest("tr").attr("data-id");
var url = "{{ url("admin/orders/get-item") }}/" + item_id;
$.get(url, function (res) {
$("#modal-box").modal("show");
$("#modal-box form input[name=item_id]").val(item_id);
$("#modal-box form input[name=fee]").val(res.fee);
$("#modal-box form input[name=serial]").val(res.order.serial);
$("#modal-box form input[name=service_date]").val(res.service_date);
$("#modal-box form input[name=total]").val(res.total).prop("disabled", false);
$("#factor-box").html("");
try {
var factors = JSON.parse(res.factors);
for (var i = 0; i < factors.length; i++) {
var factor = factors[i];
if (!factor.used_for_fee) continue;
var html = "";
html += '<div class="form-group">' +
' <label for="factor_item[' + factor.factor_item_id + '][factor_item_name]">' + factor.factor_name + '</label>' +
' <input class="form-control" type="text" name="factor_item[' + factor.factor_item_id + '][factor_item_name]" value="' + factor.factor_item_name + '" required="">' +
' </div>';
html += '<div class="form-group">' +
' <label for="factor_item[' + factor.factor_item_id + '][fee_percent]">管理费比例</label>' +
' <input class="form-control" onblur="calculateSalary();" type="number" name="factor_item[' + factor.factor_item_id + '][fee_percent]" value="' + factor.fee_percent + '" required="">' +
' </div>';
html += '<div class="form-group">' +
' <label for="factor_item[' + factor.factor_item_id + '][fee]">固定管理费</label>' +
' <input class="form-control" onblur="calculateSalary();" type="number" name="factor_item[' + factor.factor_item_id + '][fee]" value="' + factor.fee + '" required="">' +
' </div>';
html += '<div class="form-group">' +
' <label for="salary">护工工资</label>' +
' <input class="form-control" type="number" name="salary" disabled>' +
' </div>';
html += '<div class="custom-control custom-checkbox">' +
'<input type="checkbox" onchange="changeIsBatch()" class="custom-control-input" id="is_batch" name="is_batch" value="1">' +
'<label class="custom-control-label" for="is_batch">是否批量修改同级子订单</label>' +
'</div>';
$("#factor-box").html(html);
calculateSalary();
}
} catch (e) {
console.log(e);
}
});
}
function calculateSalary() {
if (!$("#modal-box form").find("input[name=salary]").length) return;
var total = $("#modal-box form input[name=total]").val();
var fee = $("#modal-box form input[name=fee]").val();
var salary = total - fee;
$("#modal-box form").find("input[name=salary]").val(salary);
}
function changeIsBatch() {
var is_batch = $("#is_batch").is(":checked");
if (is_batch) {
$("#modal-box form input[name=total]").prop("disabled", true);
} else {
$("#modal-box form input[name=total]").prop("disabled", false);
}
}
function saveItemChange() {
var url = "{{ url("admin/orders/change-item") }}";
var data = $("#modal-box form").serialize();
$.post(url, data, function (res) {
if (!res.status) {
alertError(res.msg);
return false;
}
updateItem();
alertSuccess(res.msg);
$("#modal-box").modal("hide");
});
}
function updateItem() {
var total = $("#modal-box form input[name=total]").val();
var item_id = $("#modal-box form input[name=item_id]").val();
$("#data-table tbody tr[data-item-id='" + item_id + "']").find("td[data-field=total]").html(total);
}
function doExport(ele) {
var url = "{{ url("admin/orders") }}";
url += "?is_export=1";
var params = $(ele).closest("form").serialize();
url += "&" + params;
window.open(url);
}
</script>
@endpush