lchao 5 bulan lalu
induk
melakukan
a04a72c975

+ 68 - 55
qmjszx-admin/src/main/resources/templates/system/session/edit.html

@@ -1,73 +1,86 @@
 <!DOCTYPE html>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<html lang="zh" xmlns:th="http://www.thymeleaf.org">
 <head>
-    <th:block th:include="include :: header('修改时段管理')" />
+    <th:block th:include="include :: header('修改时段管理')"/>
 </head>
 <body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-session-edit" th:object="${beilvSession}">
-            <input name="id" th:field="*{id}" type="hidden">
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">分类:</label>
-                    <div class="col-sm-8">
-                        <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{siteType}"></option>
-                        </select>
-                    </div>
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-session-edit" th:object="${beilvSession}">
+        <input name="id" th:field="*{id}" type="hidden">
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">分类:</label>
+                <div class="col-sm-8">
+                    <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                th:field="*{siteType}"></option>
+                    </select>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">排序:</label>
-                    <div class="col-sm-8">
-                        <input name="sort" th:field="*{sort}" class="form-control" type="text">
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">排序:</label>
+                <div class="col-sm-8">
+                    <input name="sort" th:field="*{sort}" class="form-control" type="text">
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">时段:</label>
-                    <div class="col-sm-8">
-                        <input name="session" th:field="*{session}" class="form-control" type="text">
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">时段:</label>
+                <div class="col-sm-8">
+                    <input name="session" th:field="*{session}" class="form-control" type="text">
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">价格:</label>
-                    <div class="col-sm-8">
-                        <input name="price" th:field="*{price}" class="form-control" type="text">
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">价格:</label>
+                <div class="col-sm-8">
+                    <input name="price" th:field="*{price}" class="form-control" type="text">
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">场馆名称:</label>
-                    <div class="col-sm-8">
-                        <select name="venueId" class="form-control" >
-                            <option th:each="post:${beilvSitesList}" th:value="${post.id}" th:text="${post.venueName}" ></option>
-                        </select>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">场馆名称:</label>
+                <div class="col-sm-8">
+                    <select name="venueId" class="form-control">
+                        <option th:each="post:${beilvSitesList}" th:value="${post.id}"
+                                th:text="${post.venueName}"></option>
+                    </select>
                 </div>
             </div>
-        </form>
-    </div>
-    <th:block th:include="include :: footer"/>
-    <th:block th:include="include :: datetimepicker-js"/>
-    <th:block th:include="include :: bootstrap-fileinput-js"/>
-    <th:block th:include="include :: summernote-js"/>
-    <script th:inline="javascript">
-        var prefix = ctx + "system/session";
-        $("#form-session-edit").validate({
-            focusCleanup: true
-        });
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer"/>
+<th:block th:include="include :: datetimepicker-js"/>
+<th:block th:include="include :: bootstrap-fileinput-js"/>
+<th:block th:include="include :: summernote-js"/>
+<script th:inline="javascript">
+    var prefix = ctx + "system/session";
+    $("#form-session-edit").validate({
+        focusCleanup: true,
+        rules: {
+            price: {
+                double: true
+            },
+            sort: {
+                digits: true
+            },
+            session: {
+                isTimeRange: true
+            },
+        },
+    });
 
-        function submitHandler() {
-            if ($.validate.form()) {
-                $.operate.save(prefix + "/edit", $('#form-session-edit').serialize());
-            }
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/edit", $('#form-session-edit').serialize());
         }
-    </script>
+    }
+</script>
 </body>
 </html>

+ 80 - 75
qmjszx-admin/src/main/resources/templates/system/session/session.html

@@ -1,80 +1,85 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head>
-    <th:block th:include="include :: header('时段管理列表')" />
+    <th:block th:include="include :: header('时段管理列表')"/>
 </head>
 <body class="gray-bg">
-     <div class="container-div">
-        <div class="row">
-            <div class="col-sm-12 search-collapse">
-                <form id="formId">
-                    <div class="select-list">
-                        <ul>
-                            <li>
-                                <label>分类:</label>
-                                <select name="siteType" th:with="type=${@dict.getType('site_type')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>时段:</label>
-                                <input type="text" name="session"/>
-                            </li>
-                            <li>
-                                <label>价格:</label>
-                                <input type="text" name="price"/>
-                            </li>
-                            <li>
-                                <label>场馆名称:</label>
-                                <input type="text" name="venueId"/>
-                            </li>
-                            <li>
-                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
-                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
-                            </li>
-                        </ul>
-                    </div>
-                </form>
-            </div>
+<div class="container-div">
+    <div class="row">
+        <div class="col-sm-12 search-collapse">
+            <form id="formId">
+                <div class="select-list">
+                    <ul>
+                        <li>
+                            <label>分类:</label>
+                            <select name="siteType" th:with="type=${@dict.getType('site_type')}">
+                                <option value="">所有</option>
+                                <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
+                                        th:value="${dict.dictValue}"></option>
+                            </select>
+                        </li>
+                        <li>
+                            <label>时段:</label>
+                            <input type="text" name="session"/>
+                        </li>
+                        <li>
+                            <label>价格:</label>
+                            <input type="text" name="price"/>
+                        </li>
+                        <li>
+                            <label>场馆名称:</label>
+                            <input type="text" name="venueId"/>
+                        </li>
+                        <li>
+                            <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
+                                    class="fa fa-search"></i>&nbsp;搜索</a>
+                            <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
+                                    class="fa fa-refresh"></i>&nbsp;重置</a>
+                        </li>
+                    </ul>
+                </div>
+            </form>
+        </div>
 
-            <div class="btn-group-sm" id="toolbar" role="group">
-                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:session:add">
-                    <i class="fa fa-plus"></i> 添加
-                </a>
-                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:session:edit">
-                    <i class="fa fa-edit"></i> 修改
-                </a>
-                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:session:remove">
-                    <i class="fa fa-remove"></i> 删除
-                </a>
-                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:session:export">
-                    <i class="fa fa-download"></i> 导出
-                </a>
-            </div>
-            <div class="col-sm-12 select-table table-striped">
-                <table id="bootstrap-table"></table>
-            </div>
+        <div class="btn-group-sm" id="toolbar" role="group">
+            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:session:add">
+                <i class="fa fa-plus"></i> 添加
+            </a>
+            <a class="btn btn-primary single disabled" onclick="$.operate.edit()"
+               shiro:hasPermission="system:session:edit">
+                <i class="fa fa-edit"></i> 修改
+            </a>
+            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"
+               shiro:hasPermission="system:session:remove">
+                <i class="fa fa-remove"></i> 删除
+            </a>
+            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:session:export">
+                <i class="fa fa-download"></i> 导出
+            </a>
+        </div>
+        <div class="col-sm-12 select-table table-striped">
+            <table id="bootstrap-table"></table>
         </div>
     </div>
-    <th:block th:include="include :: footer" />
-    <script th:inline="javascript">
-        var editFlag = [[${@permission.hasPermi('system:session:edit')}]];
-        var removeFlag = [[${@permission.hasPermi('system:session:remove')}]];
-        var siteTypeDatas = [[${@dict.getType('site_type')}]];
-        var prefix = ctx + "system/session";
+</div>
+<th:block th:include="include :: footer"/>
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('system:session:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('system:session:remove')}]];
+    var siteTypeDatas = [[${@dict.getType('site_type')}]];
+    var prefix = ctx + "system/session";
 
-        $(function() {
-            var options = {
-                url: prefix + "/list",
-                createUrl: prefix + "/add",
-                updateUrl: prefix + "/edit/{id}",
-                removeUrl: prefix + "/remove",
-                exportUrl: prefix + "/export",
-                modalName: "时段管理",
-                columns: [{
-                    checkbox: true
-                },
+    $(function () {
+        var options = {
+            url: prefix + "/list",
+            createUrl: prefix + "/add",
+            updateUrl: prefix + "/edit/{id}",
+            removeUrl: prefix + "/remove",
+            exportUrl: prefix + "/export",
+            modalName: "时段管理",
+            columns: [{
+                checkbox: true
+            },
                 {
                     field: 'id',
                     title: 'id',
@@ -83,8 +88,8 @@
                 {
                     field: 'siteType',
                     title: '分类',
-                    formatter: function(value, row, index) {
-                       return $.table.selectDictLabel(siteTypeDatas, value);
+                    formatter: function (value, row, index) {
+                        return $.table.selectDictLabel(siteTypeDatas, value);
                     }
                 },
                 {
@@ -102,16 +107,16 @@
                 {
                     title: '操作',
                     align: 'center',
-                    formatter: function(value, row, index) {
+                    formatter: function (value, row, index) {
                         var actions = [];
                         actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                         actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
                         return actions.join('');
                     }
                 }]
-            };
-            $.table.init(options);
-        });
-    </script>
+        };
+        $.table.init(options);
+    });
+</script>
 </body>
 </html>

+ 135 - 128
qmjszx-admin/src/main/resources/templates/system/site/add.html

@@ -1,161 +1,168 @@
 <!DOCTYPE html>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<html lang="zh" xmlns:th="http://www.thymeleaf.org">
 <head>
-    <th:block th:include="include :: header('新增球场管理')" />
-    <th:block th:include="include :: summernote-css" />
-    <th:block th:include="include :: datetimepicker-css" />
+    <th:block th:include="include :: header('新增球场管理')"/>
+    <th:block th:include="include :: summernote-css"/>
+    <th:block th:include="include :: datetimepicker-css"/>
     <th:block th:include="include :: bootstrap-fileinput-css"/>
 </head>
 <body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-site-add">
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">名称:</label>
-                    <div class="col-sm-8">
-                        <input name="name" class="form-control" type="text" required>
-                    </div>
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-site-add">
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">名称:</label>
+                <div class="col-sm-8">
+                    <input name="name" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">分类:</label>
-                    <div class="col-sm-8">
-                        <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                        </select>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">分类:</label>
+                <div class="col-sm-8">
+                    <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
+                                th:value="${dict.dictValue}"></option>
+                    </select>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">价格:</label>
-                    <div class="col-sm-8">
-                        <input name="price" class="form-control" type="text" required>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">价格:</label>
+                <div class="col-sm-8">
+                    <input name="price" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">温馨提示:</label>
-                    <div class="col-sm-8">
-                        <input name="warmReminder" class="form-control" type="text" required>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">温馨提示:</label>
+                <div class="col-sm-8">
+                    <input name="warmReminder" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">场馆名称:</label>
-                    <div class="col-sm-8">
-                        <select name="venueId" class="form-control" >
-                            <option th:each="post:${beilvSitesList}" th:value="${post.id}" th:text="${post.venueName}" ></option>
-                        </select>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">场馆名称:</label>
+                <div class="col-sm-8">
+                    <select name="venueId" class="form-control">
+                        <option th:each="post:${beilvSitesList}" th:value="${post.id}"
+                                th:text="${post.venueName}"></option>
+                    </select>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">封面:</label>
-                    <div class="col-sm-8">
-                        <input type="hidden" name="cover">
-                        <div class="file-loading">
-                            <input class="form-control file-upload" id="cover" name="file" type="file" multiple>
-                        </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">封面:</label>
+                <div class="col-sm-8">
+                    <input type="hidden" name="cover">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="cover" name="file" type="file" multiple>
                     </div>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">简介:</label>
-                    <div class="col-sm-8">
-                        <input type="hidden" class="form-control" name="intro">
-                        <div class="summernote" id="intro"></div>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">简介:</label>
+                <div class="col-sm-8">
+                    <input type="hidden" class="form-control" name="intro">
+                    <div class="summernote" id="intro"></div>
                 </div>
             </div>
+        </div>
 
-        </form>
-    </div>
-    <th:block th:include="include :: footer" />
-    <th:block th:include="include :: summernote-js" />
-    <th:block th:include="include :: bootstrap-fileinput-js"/>
-    <script th:inline="javascript">
-        var prefix = ctx + "system/site"
-        $("#form-site-add").validate({
-            focusCleanup: true
-        });
+    </form>
+</div>
+<th:block th:include="include :: footer"/>
+<th:block th:include="include :: summernote-js"/>
+<th:block th:include="include :: bootstrap-fileinput-js"/>
+<script th:inline="javascript">
+    var prefix = ctx + "system/site"
+    $("#form-site-add").validate({
+        focusCleanup: true,
+        rules:{
+            price:{
+                double: true
+            },
+        }
+    });
 
-        function submitHandler() {
-            if ($.validate.form()) {
-                $.operate.save(prefix + "/add", $('#form-site-add').serialize());
-            }
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/add", $('#form-site-add').serialize());
         }
+    }
 
 
-        $(".file-upload").fileinput({
-            uploadUrl: ctx + 'common/upload',
-            maxFileCount: 5,
-            allowedFileExtensions:['jpg','png'],
-            maxFileSize: 10240,
-            multiple: true,
-        }).on('fileuploaded', function (event, data, previewId, index) {
-            var inputName = event.currentTarget.id;
-            var existingValue = $("input[name='" + inputName + "']").val();
-            var newValue = data.response.url;
+    $(".file-upload").fileinput({
+        uploadUrl: ctx + 'common/upload',
+        maxFileCount: 5,
+        allowedFileExtensions: ['jpg', 'png'],
+        maxFileSize: 10240,
+        multiple: true,
+    }).on('fileuploaded', function (event, data, previewId, index) {
+        var inputName = event.currentTarget.id;
+        var existingValue = $("input[name='" + inputName + "']").val();
+        var newValue = data.response.url;
 
-            // 如果已经存在值,则在后面加上逗号分隔的新值
-            if (existingValue) {
-                $("input[name='" + inputName + "']").val(existingValue + ',' + newValue);
-            } else {
-                $("input[name='" + inputName + "']").val(newValue);
-            }
-        }).on('fileremoved', function (event, id, index) {
-            var inputName = event.currentTarget.id;
-            var existingValue = $("input[name='" + inputName + "']").val();
-            var fileUrls = existingValue.split(',');
+        // 如果已经存在值,则在后面加上逗号分隔的新值
+        if (existingValue) {
+            $("input[name='" + inputName + "']").val(existingValue + ',' + newValue);
+        } else {
+            $("input[name='" + inputName + "']").val(newValue);
+        }
+    }).on('fileremoved', function (event, id, index) {
+        var inputName = event.currentTarget.id;
+        var existingValue = $("input[name='" + inputName + "']").val();
+        var fileUrls = existingValue.split(',');
 
-            // 移除对应的文件路径
-            fileUrls.splice(index, 1);
+        // 移除对应的文件路径
+        fileUrls.splice(index, 1);
 
-            // 重新拼接文件路径
-            $("input[name='" + inputName + "']").val(fileUrls.join(','));
-        });
+        // 重新拼接文件路径
+        $("input[name='" + inputName + "']").val(fileUrls.join(','));
+    });
 
-        $(function() {
-            $('.summernote').summernote({
-                lang: 'zh-CN',
-                dialogsInBody: true,
-                callbacks: {
-                    onChange: function(contents, $edittable) {
-                        $("input[name='" + this.id + "']").val(contents);
-                    },
-                    onImageUpload: function(files) {
-                        var obj = this;
-                    	var data = new FormData();
-                    	data.append("file", files[0]);
-                    	$.ajax({
-                            type: "post",
-                            url: ctx + "common/upload",
-                    		data: data,
-                    		cache: false,
-                    		contentType: false,
-                    		processData: false,
-                    		dataType: 'json',
-                    		success: function(result) {
-                    		    if (result.code == web_status.SUCCESS) {
-                    		        $('#' + obj.id).summernote('insertImage', result.url);
-                    		    } else {
-                    		        $.modal.alertError(result.msg);
-                    		    }
-                    		},
-                    		error: function(error) {
-                    		    $.modal.alertWarning("图片上传失败。");
-                    		}
-                    	});
-                    }
+    $(function () {
+        $('.summernote').summernote({
+            lang: 'zh-CN',
+            dialogsInBody: true,
+            callbacks: {
+                onChange: function (contents, $edittable) {
+                    $("input[name='" + this.id + "']").val(contents);
+                },
+                onImageUpload: function (files) {
+                    var obj = this;
+                    var data = new FormData();
+                    data.append("file", files[0]);
+                    $.ajax({
+                        type: "post",
+                        url: ctx + "common/upload",
+                        data: data,
+                        cache: false,
+                        contentType: false,
+                        processData: false,
+                        dataType: 'json',
+                        success: function (result) {
+                            if (result.code == web_status.SUCCESS) {
+                                $('#' + obj.id).summernote('insertImage', result.url);
+                            } else {
+                                $.modal.alertError(result.msg);
+                            }
+                        },
+                        error: function (error) {
+                            $.modal.alertWarning("图片上传失败。");
+                        }
+                    });
                 }
-            });
+            }
         });
-    </script>
+    });
+</script>
 </body>
 </html>

+ 150 - 141
qmjszx-admin/src/main/resources/templates/system/site/edit.html

@@ -1,177 +1,186 @@
 <!DOCTYPE html>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<html lang="zh" xmlns:th="http://www.thymeleaf.org">
 <head>
-    <th:block th:include="include :: header('修改球场管理')" />
-    <th:block th:include="include :: summernote-css" />
+    <th:block th:include="include :: header('修改球场管理')"/>
+    <th:block th:include="include :: datetimepicker-css"/>
+    <th:block th:include="include :: bootstrap-fileinput-css"/>
+    <th:block th:include="include :: summernote-css"/>
 </head>
 <body class="white-bg">
-    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
-        <form class="form-horizontal m" id="form-site-edit" th:object="${beilvSite}">
-            <input name="id" th:field="*{id}" type="hidden">
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">名称:</label>
-                    <div class="col-sm-8">
-                        <input name="name" th:field="*{name}" class="form-control" type="text" required>
-                    </div>
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-site-edit" th:object="${beilvSite}">
+        <input name="id" th:field="*{id}" type="hidden">
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">名称:</label>
+                <div class="col-sm-8">
+                    <input name="name" th:field="*{name}" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">分类:</label>
-                    <div class="col-sm-8">
-                        <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{siteType}"></option>
-                        </select>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">分类:</label>
+                <div class="col-sm-8">
+                    <select name="siteType" class="form-control" th:with="type=${@dict.getType('site_type')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                th:field="*{siteType}"></option>
+                    </select>
                 </div>
             </div>
+        </div>
 
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">价格:</label>
-                    <div class="col-sm-8">
-                        <input name="price" th:field="*{price}" class="form-control" type="text" required>
-                    </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">价格:</label>
+                <div class="col-sm-8">
+                    <input name="price" th:field="*{price}" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">温馨提示:</label>
-                    <div class="col-sm-8">
-                        <input name="warmReminder" th:field="*{warmReminder}" class="form-control" type="text" required>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">温馨提示:</label>
+                <div class="col-sm-8">
+                    <input name="warmReminder" th:field="*{warmReminder}" class="form-control" type="text" required>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label is-required">场馆名称:</label>
-                    <div class="col-sm-8">
-                        <select name="venueId" class="form-control" >
-                            <option th:each="post:${beilvSitesList}" th:value="${post.id}" th:text="${post.venueName}" ></option>
-                        </select>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label is-required">场馆名称:</label>
+                <div class="col-sm-8">
+                    <select name="venueId" class="form-control">
+                        <option th:each="post:${beilvSitesList}" th:value="${post.id}"
+                                th:text="${post.venueName}"></option>
+                    </select>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">封面:</label>
-                    <div class="col-sm-8">
-                        <input type="hidden" name="cover" th:field="*{cover}">
-                        <div class="file-loading">
-                            <input class="form-control file-upload" id="cover" name="file" type="file">
-                        </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">封面:</label>
+                <div class="col-sm-8">
+                    <input type="hidden" name="cover" th:field="*{cover}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="cover" name="file" type="file">
                     </div>
                 </div>
             </div>
-            <div class="col-xs-12">
-                <div class="form-group">
-                    <label class="col-sm-3 control-label">简介:</label>
-                    <div class="col-sm-8">
-                        <input type="hidden" class="form-control" th:field="*{intro}">
-                        <div class="summernote" id="intro"></div>
-                    </div>
+        </div>
+        <div class="col-xs-12">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">简介:</label>
+                <div class="col-sm-8">
+                    <input type="hidden" class="form-control" th:field="*{intro}">
+                    <div class="summernote" id="intro"></div>
                 </div>
             </div>
-        </form>
-    </div>
-    <th:block th:include="include :: footer" />
-    <th:block th:include="include :: summernote-js" />
-    <th:block th:include="include :: bootstrap-fileinput-js"/>
-    <script th:inline="javascript">
-        var prefix = ctx + "system/site";
-        $("#form-site-edit").validate({
-            focusCleanup: true
-        });
-
-        function submitHandler() {
-            if ($.validate.form()) {
-                $.operate.save(prefix + "/edit", $('#form-site-edit').serialize());
-            }
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer"/>
+<th:block th:include="include :: summernote-js"/>
+<th:block th:include="include :: bootstrap-fileinput-js"/>
+<script th:inline="javascript">
+    var prefix = ctx + "system/site";
+    $("#form-site-edit").validate({
+        focusCleanup: true,
+        rules: {
+            price: {
+                double: true
+            },
         }
+    });
 
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/edit", $('#form-site-edit').serialize());
+        }
+    }
 
-        $(".file-upload").each(function (i) {
-            var inputName = this.id;
-            var val = $("input[name='" + inputName + "']").val();
 
-            // 将已上传的图片路径分割成数组
-            var initialPreview = val ? val.split(',') : [];
+    $(".file-upload").each(function (i) {
+        var inputName = this.id;
+        var val = $("input[name='" + inputName + "']").val();
 
-            $(this).fileinput({
-                'uploadUrl': ctx + 'common/upload',
-                initialPreviewAsData: true,
-                initialPreview: initialPreview,
-                maxFileCount: 5,
-                allowedFileExtensions: ['jpg', 'png'],
-                maxFileSize: 10240,
-                multiple: true,
-            }).on('fileuploaded', function (event, data, previewId, index) {
-                var inputName = event.currentTarget.id;
-                var existingValue = $("input[name='" + inputName + "']").val();
-                var newValue = data.response.url;
+        // 将已上传的图片路径分割成数组
+        var initialPreview = val ? val.split(',') : [];
 
-                // 如果已经存在值,则在后面加上逗号分隔的新值
-                if (existingValue) {
-                    $("input[name='" + inputName + "']").val(existingValue + ',' + newValue);
-                } else {
-                    $("input[name='" + inputName + "']").val(newValue);
-                }
-            }).on('fileremoved', function (event, id, index) {
-                var inputName = event.currentTarget.id;
-                var existingValue = $("input[name='" + inputName + "']").val();
-                var fileUrls = existingValue.split(',');
+        $(this).fileinput({
+            'uploadUrl': ctx + 'common/upload',
+            initialPreviewAsData: true,
+            initialPreview: initialPreview,
+            maxFileCount: 5,
+            allowedFileExtensions: ['jpg', 'png'],
+            maxFileSize: 10240,
+            multiple: true,
+        }).on('fileuploaded', function (event, data, previewId, index) {
+            var inputName = event.currentTarget.id;
+            var existingValue = $("input[name='" + inputName + "']").val();
+            var newValue = data.response.url;
 
-                // 移除对应的文件路径
-                fileUrls.splice(index, 1);
+            // 如果已经存在值,则在后面加上逗号分隔的新值
+            if (existingValue) {
+                $("input[name='" + inputName + "']").val(existingValue + ',' + newValue);
+            } else {
+                $("input[name='" + inputName + "']").val(newValue);
+            }
+        }).on('fileremoved', function (event, id, index) {
+            var inputName = event.currentTarget.id;
+            var existingValue = $("input[name='" + inputName + "']").val();
+            var fileUrls = existingValue.split(',');
 
-                // 重新拼接文件路径
-                $("input[name='" + inputName + "']").val(fileUrls.join(','));
-            });
+            // 移除对应的文件路径
+            fileUrls.splice(index, 1);
 
-            $(this).fileinput('_initFileActions');
+            // 重新拼接文件路径
+            $("input[name='" + inputName + "']").val(fileUrls.join(','));
         });
 
+        $(this).fileinput('_initFileActions');
+    });
 
-        $(function() {
-            $('.summernote').each(function(i) {
-                $('#' + this.id).summernote({
-                    lang: 'zh-CN',
-                    dialogsInBody: true,
-                    callbacks: {
-                        onChange: function(contents, $edittable) {
-                            $("input[name='" + this.id + "']").val(contents);
-                        },
-                        onImageUpload: function(files) {
-                            var obj = this;
-                            var data = new FormData();
-                            data.append("file", files[0]);
-                            $.ajax({
-                                type: "post",
-                                url: ctx + "common/upload",
-                                data: data,
-                                cache: false,
-                                contentType: false,
-                                processData: false,
-                                dataType: 'json',
-                                success: function(result) {
-                                    if (result.code == web_status.SUCCESS) {
-                                        $('#' + obj.id).summernote('insertImage', result.url);
-                                    } else {
-                                        $.modal.alertError(result.msg);
-                                    }
-                                },
-                                error: function(error) {
-                                    $.modal.alertWarning("图片上传失败。");
+
+    $(function () {
+        $('.summernote').each(function (i) {
+            $('#' + this.id).summernote({
+                lang: 'zh-CN',
+                dialogsInBody: true,
+                callbacks: {
+                    onChange: function (contents, $edittable) {
+                        $("input[name='" + this.id + "']").val(contents);
+                    },
+                    onImageUpload: function (files) {
+                        var obj = this;
+                        var data = new FormData();
+                        data.append("file", files[0]);
+                        $.ajax({
+                            type: "post",
+                            url: ctx + "common/upload",
+                            data: data,
+                            cache: false,
+                            contentType: false,
+                            processData: false,
+                            dataType: 'json',
+                            success: function (result) {
+                                if (result.code == web_status.SUCCESS) {
+                                    $('#' + obj.id).summernote('insertImage', result.url);
+                                } else {
+                                    $.modal.alertError(result.msg);
                                 }
-                            });
-                        }
+                            },
+                            error: function (error) {
+                                $.modal.alertWarning("图片上传失败。");
+                            }
+                        });
                     }
-                });
-                var content = $("input[name='" + this.id + "']").val();
-                $('#' + this.id).summernote('code', content);
-            })
-        });
-    </script>
+                }
+            });
+            var content = $("input[name='" + this.id + "']").val();
+            $('#' + this.id).summernote('code', content);
+        })
+    });
+</script>
 </body>
 </html>

+ 3 - 0
qmjszx-admin/src/main/resources/templates/system/venue/add.html

@@ -94,6 +94,9 @@
                 phoneNumber:{
                     isPhone:true,
                 },
+                thresholdValue:{
+                    digits: true
+                },
             }
 
         });