海工商新版后台
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.
 
 

112 lines
4.0 KiB

<style>
.table-has-many .input-group{flex-wrap: nowrap!important}
</style>
<div class="row form-group">
<div class="{{$viewClass['label']}} "><label class="control-label pull-right">{!! $label !!}</label></div>
<div class="{{$viewClass['field']}}">
@include('admin::form.error')
<span name="{{$column}}"></span> {{-- 用于显示错误信息 --}}
<div class="has-many-table-{{$columnClass}}" >
<table class="table table-has-many has-many-table-{{$columnClass}}">
<thead>
<tr>
@foreach($headers as $header)
<th>{{ $header }}</th>
@endforeach
<th class="hidden"></th>
@if($options['allowDelete'])
<th></th>
@endif
</tr>
</thead>
<tbody class="has-many-table-{{$columnClass}}-forms">
@foreach($forms as $pk => $form)
<tr class="has-many-table-{{$columnClass}}-form fields-group">
<?php $hidden = ''; ?>
@foreach($form->fields() as $field)
@if (is_a($field, Dcat\Admin\Form\Field\Hidden::class))
<?php $hidden .= $field->render(); ?>
@continue
@endif
<td>{!! $field->setLabelClass(['hidden'])->width(12, 0)->render() !!}</td>
@endforeach
<td class="hidden">{!! $hidden !!}</td>
@if($options['allowDelete'])
<td class="form-group">
<div>
<div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash"></i></div>
</div>
</td>
@endif
</tr>
@endforeach
</tbody>
</table>
<template class="{{$columnClass}}-tpl">
<tr class="has-many-table-{{$columnClass}}-form fields-group">
{!! $template !!}
<td class="form-group">
<div>
<div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash"></i></div>
</div>
</td>
</tr>
</template>
@if($options['allowCreate'])
<div class="form-group row m-t-10">
<div class="{{$viewClass['field']}}" style="margin-top: 8px">
<div class="add btn btn-primary btn-outline btn-sm"><i class="feather icon-plus"></i>&nbsp;{{ trans('admin.new') }}</div>
</div>
</div>
@endif
</div>
</div>
</div>
{{--<hr style="margin-top: 0px;">--}}
<script>
(function () {
var nestedIndex = {!! $count !!},
container = '.has-many-table-{{ $columnClass }}';
function replaceNestedFormIndex(value) {
return String(value).replace(/{{ $parentKey ?: Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}/g, nestedIndex);
}
$(document).off('click', container+' .add').on('click', container+' .add', function (e) {
var $con = $(this).closest(container);
var tpl = $con.find('template.{{ $columnClass }}-tpl');
nestedIndex++;
$con.find('.has-many-table-{{ $columnClass }}-forms').append(replaceNestedFormIndex(tpl.html()));
e.preventDefault();
return false
});
$(document).off('click', container+' .remove').on('click', container+' .remove', function () {
var $form = $(this).closest('.has-many-table-{{ $columnClass }}-form');
$form.hide();
$form.find('[required]').prop('required', false);
$form.find('.{{ Dcat\Admin\Form\NestedForm::REMOVE_FLAG_CLASS }}').val(1);
});
})();
</script>