|
@@ -10,17 +10,17 @@
|
|
|
<form class="form-horizontal m" id="form-competition-add">
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">活动标题:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">活动标题:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="competitionTitle" class="form-control" type="text" placeholder="请输入活动标题">
|
|
|
+ <input name="competitionTitle" class="form-control" type="text" placeholder="请输入活动标题" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">活动类型:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">活动类型:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <select name="competitionType" class="form-control" th:with="type=${@dict.getType('competition_type')}">
|
|
|
+ <select name="competitionType" class="form-control" th:with="type=${@dict.getType('competition_type')}" required>
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
|
|
</select>
|
|
|
</div>
|
|
@@ -28,63 +28,71 @@
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">团队最大人数:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">团队最大人数:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="personMax" class="form-control" type="text" placeholder="请输入团队最大人数">
|
|
|
+ <input name="personMax" class="form-control" type="text" placeholder="请输入团队最大人数" min="1" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">最大团队数:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">最大团队数:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="teamMax" class="form-control" type="text" placeholder="请输入最大团队数">
|
|
|
+ <input name="teamMax" class="form-control" type="text" placeholder="请输入最大团队数" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">场地:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">场地:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="competitionPlace" class="form-control" type="text">
|
|
|
+ <input name="competitionPlace" class="form-control" type="text" placeholder="请输入场地名称或编号" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">报名开始时间:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">赛事开始时间:</label>
|
|
|
<div class="col-sm-8">
|
|
|
<div class="input-group date">
|
|
|
- <input name="applyStartTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text">
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
|
+ <input name="applyStartTime" type="text" class="form-control" id="applyStartTime" placeholder="年-月-日 时:分" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">报名结束时间:</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">赛事结束时间:</label>
|
|
|
<div class="col-sm-8">
|
|
|
<div class="input-group date">
|
|
|
- <input name="applyEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
|
|
+ <input name="applyEndTime" type="text" class="form-control" id="applyEndTime" placeholder="年-月-日 时:分" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">取消报名截至时间(活动开始前N小时可退款):</label>
|
|
|
+ <label class="col-sm-3 control-label">取消报名截至时间:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="applyBeforeTime" class="form-control" type="text">
|
|
|
+ <select name="applyBeforeTime" class="form-control">
|
|
|
+ <option value="1">赛事开始前1小时</option>
|
|
|
+ <option value="2">赛事开始前2小时</option>
|
|
|
+ <option value="3">赛事开始前3小时</option>
|
|
|
+ <option value="6">赛事开始前6小时</option>
|
|
|
+ <option value="12">赛事开始前12小时</option>
|
|
|
+ <option value="24">赛事开始前24小时</option>
|
|
|
+ <option value="48">赛事开始前48小时</option>
|
|
|
+ </select>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-xs-12">
|
|
|
<div class="form-group">
|
|
|
- <label class="col-sm-3 control-label">活动费用(每人):</label>
|
|
|
+ <label class="col-sm-3 control-label is-required">报名费用:</label>
|
|
|
<div class="col-sm-8">
|
|
|
- <input name="competitionExpense" class="form-control" type="text">
|
|
|
+ <input name="competitionExpense" class="form-control" type="text" required>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -112,26 +120,54 @@
|
|
|
<th:block th:include="include :: datetimepicker-js" />
|
|
|
<th:block th:include="include :: summernote-js" />
|
|
|
<script th:inline="javascript">
|
|
|
- var prefix = ctx + "system/competition"
|
|
|
+ var prefix = ctx + "competition"
|
|
|
$("#form-competition-add").validate({
|
|
|
- focusCleanup: true
|
|
|
+ focusCleanup: true,
|
|
|
+ rules:{
|
|
|
+ personMax:{
|
|
|
+ digits: true
|
|
|
+ },
|
|
|
+ teamMax:{
|
|
|
+ digits: true
|
|
|
+ },
|
|
|
+ competitionExpense:{
|
|
|
+ double: true
|
|
|
+ }
|
|
|
+ },
|
|
|
});
|
|
|
|
|
|
function submitHandler() {
|
|
|
+ var applyStartTime = $('#applyStartTime').val()
|
|
|
+ var applyEndTime = $('#applyEndTime').val()
|
|
|
+ var currentTime = new Date().toISOString().slice(0, 16); // 当前时间,格式为 YYYY-MM-DD HH:MM
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if ($.validate.form()) {
|
|
|
+
|
|
|
+ // 检查赛事开始时间不能小于当前时间
|
|
|
+ if (applyStartTime < currentTime) {
|
|
|
+ $.modal.alertWarning("赛事开始时间不能小于当前时间");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检查赛事结束时间不能小于赛事开始时间
|
|
|
+ if (applyEndTime < applyStartTime) {
|
|
|
+ $.modal.alertWarning("赛事结束时间不能小于赛事开始时间");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
$.operate.save(prefix + "/add", $('#form-competition-add').serialize());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$("input[name='applyStartTime']").datetimepicker({
|
|
|
- format: "yyyy-mm-dd",
|
|
|
- minView: "month",
|
|
|
+ format: "yyyy-mm-dd hh:ii",
|
|
|
autoclose: true
|
|
|
});
|
|
|
|
|
|
$("input[name='applyEndTime']").datetimepicker({
|
|
|
- format: "yyyy-mm-dd",
|
|
|
- minView: "month",
|
|
|
+ format: "yyyy-mm-dd hh:ii",
|
|
|
autoclose: true
|
|
|
});
|
|
|
|