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.
173 lines
7.4 KiB
173 lines
7.4 KiB
@extends("admin.layouts.layout")
|
|
|
|
@php
|
|
$pageTitle = ($isEdit ? "编辑" : "新增") . $modelName;
|
|
@endphp
|
|
|
|
@section("content")
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
@if ($errors->any())
|
|
<div class="alert alert-danger">
|
|
@foreach ($errors->all() as $error)
|
|
<div>{{ $error }}</div>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
|
|
<form method="POST" action="{{ $isEdit ? url($urlPrefix . '/update/' . $holiday->id) : url($urlPrefix . '/store') }}">
|
|
@csrf
|
|
<div class="form-group">
|
|
<label for="project_id">所属项目/医院</label>
|
|
<select class="form-control" id="project_id" name="project_id" required>
|
|
<option value="">请选择</option>
|
|
@foreach($projects as $project)
|
|
<option value="{{ $project->id }}" {{ (string) old('project_id', $holiday->project_id) === (string) $project->id ? 'selected' : '' }}>
|
|
{{ $project->name }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
|
|
@if($isEdit)
|
|
<div class="form-group">
|
|
<label for="date">日期</label>
|
|
<input
|
|
class="form-control"
|
|
id="date"
|
|
name="date"
|
|
type="text"
|
|
data-plugin="date-picker"
|
|
value="{{ old('date', $holiday->date) }}"
|
|
required
|
|
>
|
|
</div>
|
|
@else
|
|
<div class="form-group">
|
|
<label for="date-picker-input">日期</label>
|
|
<div class="input-group">
|
|
<input
|
|
class="form-control"
|
|
id="date-picker-input"
|
|
type="text"
|
|
data-plugin="date-picker"
|
|
placeholder="点击日历选择日期"
|
|
>
|
|
<div class="input-group-append">
|
|
<button class="btn btn-info" id="add-date-btn" type="button">加入</button>
|
|
</div>
|
|
</div>
|
|
<small class="form-text text-muted">可连续选择多个日期,加入后会在下方列表展示。</small>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label>已选日期</label>
|
|
<div id="selected-dates" class="border rounded p-2" style="min-height: 48px;"></div>
|
|
<div id="selected-date-inputs"></div>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="form-group">
|
|
<label for="price_ratio">节假日倍率</label>
|
|
<input
|
|
class="form-control"
|
|
id="price_ratio"
|
|
name="price_ratio"
|
|
type="number"
|
|
step="0.1"
|
|
min="0"
|
|
value="{{ old('price_ratio', $holiday->price_ratio ?: 1) }}"
|
|
required
|
|
>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="remark">备注</label>
|
|
<input
|
|
class="form-control"
|
|
id="remark"
|
|
name="remark"
|
|
type="text"
|
|
value="{{ old('remark', $holiday->remark) }}"
|
|
>
|
|
</div>
|
|
|
|
<button class="btn btn-primary mr-1" type="submit">保存</button>
|
|
<a class="btn btn-light" href="{{ url($urlPrefix . (request()->project_id ? '?project_id=' . request()->project_id : ($holiday->project_id ? '?project_id=' . $holiday->project_id : ''))) }}">返回</a>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@push("footer")
|
|
<script>
|
|
$(function () {
|
|
if (!{{ $isEdit ? 'true' : 'false' }}) {
|
|
var selectedDates = [];
|
|
|
|
function renderSelectedDates() {
|
|
var $list = $("#selected-dates");
|
|
var $inputs = $("#selected-date-inputs");
|
|
$list.empty();
|
|
$inputs.empty();
|
|
|
|
if (!selectedDates.length) {
|
|
$list.append('<span class="text-muted">尚未选择日期</span>');
|
|
return;
|
|
}
|
|
|
|
selectedDates.sort();
|
|
selectedDates.forEach(function (date) {
|
|
$list.append(
|
|
'<span class="badge badge-primary mr-2 mb-2 p-2">' +
|
|
date +
|
|
' <a href="javascript:;" class="text-white remove-date" data-date="' + date + '">x</a></span>'
|
|
);
|
|
$inputs.append('<input type="hidden" name="dates[]" value="' + date + '">');
|
|
});
|
|
}
|
|
|
|
function addDate(date) {
|
|
if (!date) return;
|
|
if (selectedDates.indexOf(date) !== -1) return;
|
|
selectedDates.push(date);
|
|
renderSelectedDates();
|
|
}
|
|
|
|
$("#add-date-btn").on("click", function () {
|
|
addDate($("#date-picker-input").val());
|
|
$("#date-picker-input").val("");
|
|
});
|
|
|
|
$("#date-picker-input").on("dp.change", function (e) {
|
|
if (e.date) {
|
|
addDate(e.date.format("YYYY-MM-DD"));
|
|
$(this).val("");
|
|
}
|
|
});
|
|
|
|
$(document).on("click", ".remove-date", function () {
|
|
var date = $(this).data("date");
|
|
selectedDates = selectedDates.filter(function (item) {
|
|
return item !== date;
|
|
});
|
|
renderSelectedDates();
|
|
});
|
|
|
|
$("form").on("submit", function (e) {
|
|
if (!selectedDates.length) {
|
|
e.preventDefault();
|
|
alert("请至少选择一个日期");
|
|
}
|
|
});
|
|
|
|
renderSelectedDates();
|
|
}
|
|
});
|
|
</script>
|
|
@endpush
|