add.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <!DOCTYPE html>
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
  3. <head>
  4. <th:block th:include="include :: header('新增场馆信息')" />
  5. <th:block th:include="include :: datetimepicker-css" />
  6. <th:block th:include="include :: bootstrap-fileinput-css"/>
  7. <th:block th:include="include :: summernote-css" />
  8. </head>
  9. <body class="white-bg">
  10. <div class="wrapper wrapper-content animated fadeInRight ibox-content">
  11. <form class="form-horizontal m" id="form-venue-add">
  12. <div class="col-xs-12">
  13. <div class="form-group">
  14. <label class="col-sm-3 control-label is-required">名称:</label>
  15. <div class="col-sm-8">
  16. <input name="venueName" class="form-control" type="text" required>
  17. </div>
  18. </div>
  19. </div>
  20. <div class="col-xs-12">
  21. <div class="form-group">
  22. <label class="col-sm-3 control-label">图片:</label>
  23. <div class="col-sm-8">
  24. <input type="hidden" name="cover">
  25. <div class="file-loading">
  26. <input class="form-control file-upload" id="cover" name="file" type="file">
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. <div class="col-xs-12">
  32. <div class="form-group">
  33. <label class="col-sm-3 control-label is-required">地址:</label>
  34. <div class="col-sm-8">
  35. <input name="address" class="form-control" type="text" required>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="col-xs-12">
  40. <div class="form-group">
  41. <label class="col-sm-3 control-label is-required">电话:</label>
  42. <div class="col-sm-8">
  43. <input id="phoneNumber" name="phoneNumber" placeholder="请输入电话" class="form-control" type="text" maxlength="11" required>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="col-xs-12">
  48. <div class="form-group">
  49. <label class="col-sm-3 control-label is-required">营业时间:</label>
  50. <div class="col-sm-8">
  51. <div class="input-group date">
  52. <input name="businessHours" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
  53. <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="col-xs-12">
  59. <div class="form-group">
  60. <label class="col-sm-3 control-label">场馆介绍:</label>
  61. <div class="col-sm-8">
  62. <input type="hidden" class="form-control" name="venueIntroduction">
  63. <div class="summernote" id="venueIntroduction"></div>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="col-xs-12">
  68. <div class="form-group">
  69. <label class="col-sm-3 control-label">场地服务:</label>
  70. <div class="col-sm-8">
  71. <input name="venueService" class="form-control" type="text" >
  72. </div>
  73. </div>
  74. </div>
  75. <div class="col-xs-12">
  76. <div class="form-group">
  77. <label class="col-sm-3 control-label">开始前N分钟不可预定:</label>
  78. <div class="col-sm-8">
  79. <input name="thresholdValue" class="form-control" type="text">
  80. </div>
  81. </div>
  82. </div>
  83. </form>
  84. </div>
  85. <th:block th:include="include :: footer" />
  86. <th:block th:include="include :: datetimepicker-js" />
  87. <th:block th:include="include :: bootstrap-fileinput-js"/>
  88. <th:block th:include="include :: summernote-js" />
  89. <script th:inline="javascript">
  90. var prefix = ctx + "system/venue"
  91. $("#form-venue-add").validate({
  92. focusCleanup: true,
  93. rules:{
  94. phoneNumber:{
  95. isPhone:true,
  96. },
  97. }
  98. });
  99. function submitHandler() {
  100. if ($.validate.form()) {
  101. $.operate.save(prefix + "/add", $('#form-venue-add').serialize());
  102. }
  103. }
  104. $("input[name='businessHours']").datetimepicker({
  105. format: "yyyy-mm-dd",
  106. minView: "month",
  107. autoclose: true
  108. });
  109. $(".file-upload").fileinput({
  110. uploadUrl: ctx + 'common/upload',
  111. maxFileCount: 1,
  112. autoReplace: true
  113. }).on('fileuploaded', function (event, data, previewId, index) {
  114. $("input[name='" + event.currentTarget.id + "']").val(data.response.url)
  115. }).on('fileremoved', function (event, id, index) {
  116. $("input[name='" + event.currentTarget.id + "']").val('')
  117. })
  118. $(function() {
  119. $('.summernote').summernote({
  120. lang: 'zh-CN',
  121. dialogsInBody: true,
  122. callbacks: {
  123. onChange: function(contents, $edittable) {
  124. $("input[name='" + this.id + "']").val(contents);
  125. },
  126. onImageUpload: function(files) {
  127. var obj = this;
  128. var data = new FormData();
  129. data.append("file", files[0]);
  130. $.ajax({
  131. type: "post",
  132. url: ctx + "common/upload",
  133. data: data,
  134. cache: false,
  135. contentType: false,
  136. processData: false,
  137. dataType: 'json',
  138. success: function(result) {
  139. if (result.code == web_status.SUCCESS) {
  140. $('#' + obj.id).summernote('insertImage', result.url);
  141. } else {
  142. $.modal.alertError(result.msg);
  143. }
  144. },
  145. error: function(error) {
  146. $.modal.alertWarning("图片上传失败。");
  147. }
  148. });
  149. }
  150. }
  151. });
  152. });
  153. </script>
  154. </body>
  155. </html>