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.

122 lines
6.5 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">
<a class="btn btn-primary" href="{{url($urlPrefix.'/create')}}">
@lang("icons.action_create") @lang('actions.create'){{$modelName}}
</a>
</div>
<table class="table table-bordered">
<thead>
<tr>
<th>
{{$modelName}}
</th>
<th>操作</th>
</tr>
</thead>
<tbody>
@foreach ($data as $row)
<tr>
<td>
{{ $row->name }}
</td>
<td>
<a class="btn btn-sm btn-success"
href="javascript:;" onclick="toggleAuthorize(this)"><i
class="mdi mdi-shield-check-outline"></i> 授权</a>
<a class="btn btn-sm btn-primary"
href="{{url("{$urlPrefix}/edit?id={$row->id}")}}">@lang("icons.action_edit") @lang("actions.edit")</a>
<a class="btn btn-sm btn-danger btn-delete" data-id="{{$row->id}}"
href="javascript:;">@lang("icons.action_delete") @lang("actions.delete")</a>
</td>
</tr>
<tr class="authorize-box" style="display: none;">
<td colspan="2">
<form>
@csrf
<input type="hidden" value="{{$row->id}}" name="id">
<div class="row">
@foreach($permissions as $permission)
<?php
$checked = in_array($permission["id"], array_column($row->permissions->toArray(), "id")) ? true : false;
?>
<div class="col-md-3 col-sm-6 col-lg-2 mb-3">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input"
id="permission-{{$row->id}}-{{$permission["id"]}}"
value="{{$permission['id']}}" name="permission_id[]"
{{ $checked ? "checked" : "" }}>
<label class="custom-control-label"
for="permission-{{$row->id}}-{{$permission['id']}}">{{$permission['name']}}</label>
</div>
@foreach($permission["children"] as $child)
<?php
$checked = in_array($child["id"], array_column($row->permissions->toArray(), "id")) ? true : false;
?>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input"
id="permission-{{$row->id}}-{{$child["id"]}}"
value="{{$child['id']}}" name="permission_id[]"
{{ $checked ? "checked" : "" }}>
<label class="custom-control-label"
style="font-weight: normal;"
for="permission-{{$row->id}}-{{$child['id']}}">├ {{$child['name']}}</label>
</div>
@endforeach
</div>
@endforeach
</div>
<hr>
<div class="row">
<div class="col-12">
<button type="button" class="btn btn-success btn-sm"
onclick="authorize(this)"><i class="mdi mdi-check"></i>
确认授权
</button>
</div>
</div>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
@include("public._pages")
</div>
</div>
</div>
</div>
@include("public._delete")
@endsection
@push("footer")
<script>
function toggleAuthorize(obj) {
$(obj).closest("tr").next(".authorize-box").toggle();
}
function authorize(obj) {
var url = "{{url($urlPrefix."/set-permissions")}}";
var data = $(obj).closest("form").serializeArray();
$.post(url, data, function (result) {
if (result.status) {
alertSuccess(result.msg);
} else {
alertError(result.msg);
$(obj).closest("form")[0].reset();
}
});
}
</script>
@endpush