add_change.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  6. <script src="../../../admin/index.js" door type="text/javascript" charset="utf-8"></script>
  7. <!--下拉选择模板-->
  8. <script type="text/html" id="selectTpl">
  9. <option value="">{{d.name}}</option>
  10. {{# if(!d.list){d.list = []}}} {{# for(var i=0;i<d.list.length;i++){}}
  11. <option value="{{d.list[i].id}}">{{d.list[i].name}}</option>
  12. {{#}}}
  13. </script>
  14. </head>
  15. <body>
  16. <form class="layui-form" action="" lay-filter="addForm" style="padding: 20px 30px 0 0">
  17. <div class="layui-form-item">
  18. <label class="layui-form-label ui-required">标题</label>
  19. <div class="layui-input-block">
  20. <input type="text" name="title" lay-verify="required" maxlength="50" placeholder="请输入标题" class="layui-input">
  21. </div>
  22. </div>
  23. <div class="layui-form-item">
  24. <label class="layui-form-label ui-required">公告</label>
  25. <div class="layui-input-block">
  26. <textarea class="layui-textarea" name="content" id="layedit_demo" style="display: none" placeholder="请输入文章内容"></textarea>
  27. </div>
  28. </div>
  29. <div class="layui-form-item layui-hide">
  30. <button class="layui-btn" lay-submit lay-filter="formSubmit" id="formSubmit">保存</button>
  31. </div>
  32. </form>
  33. <script type="text/javascript">
  34. layui.config({
  35. base: "../../../admin/js/layuiPlugins/"
  36. }).use(["form", 'layer', 'laytpl', 'layedit', ], function() {
  37. var form = layui.form,
  38. $ = layui.$,
  39. layer = layui.layer,
  40. laytpl = layui.laytpl,
  41. layedit = layui.layedit;
  42. var object = {
  43. id: (JSON.stringify(location.searchObj()) != "{}") ? location.searchObj().id || null : null, //带参传入ID
  44. currentData: {},
  45. urls: {
  46. formUrl: "mesFormUrl",
  47. byIdUrl: "mesByIdUrl",
  48. },
  49. formLayFilter: "addForm", //表单容器
  50. closeModal: function() { //关闭当前窗口
  51. parent.layer.close(parent.layer.getFrameIndex(window.name));
  52. }
  53. };
  54. //初始化
  55. object.main = function() {
  56. var _this = this;
  57. if (_this.id) {
  58. _this.getCurrent(_this.id);
  59. } else {
  60. _this.initialization();
  61. }
  62. form.on('submit(formSubmit)', function(obj) {
  63. return _this.mergeData(obj.field).submitInfo();
  64. });
  65. //插入图片设置
  66. layedit.set({
  67. uploadImage: {
  68. url: 'imgContentUpload', //接口url
  69. type: 'post', //默认post
  70. accept: 'image',
  71. acceptMime: 'image/*',
  72. exts: 'jpg|png|gif|bmp|jpeg',
  73. size: '10240'
  74. },
  75. tool: [
  76. 'strong', 'italic', 'underline', 'del', 'addhr' //添加水平线
  77. , '|', 'fontFomatt', 'colorpicker' //段落格式,字体颜色
  78. , 'face', '|', 'left', 'center', 'right', '|', 'link', 'unlink', 'image_alt', 'altEdit', 'anchors' //锚点
  79. , '|', 'fullScreen'
  80. ]
  81. });
  82. //构建一个默认的编辑器
  83. _this.layeditIndex = layedit.build('layedit_demo', {
  84. height: 700
  85. });
  86. return _this;
  87. };
  88. //初始化
  89. object.initialization = function() {
  90. var _this = this;
  91. return _this;
  92. };
  93. //合并表单内容
  94. object.mergeData = function(obj) {
  95. this.currentData = $.extend(this.currentData, obj);
  96. return this;
  97. };
  98. //获取当前信息
  99. object.getCurrent = function(id) {
  100. var _this = this;
  101. $.ajax({
  102. url: _this.urls.byIdUrl,
  103. data: {
  104. id: id || _this.id
  105. },
  106. success: function(res) {
  107. _this.currentData = res.data[0];
  108. $('.imgBox img').attr('src', window.hywa.config.href + '/' + res.data[0].imgUrl);
  109. _this.formVal();
  110. }
  111. });
  112. return this;
  113. };
  114. //表单赋值
  115. object.formVal = function() {
  116. var _this = this;
  117. form.val(_this.formLayFilter, _this.currentData);
  118. layedit.setContent(_this.layeditIndex, _this.currentData.content);
  119. return _this;
  120. };
  121. //提交新增修改
  122. object.submitInfo = function() {
  123. var _this = this;
  124. _this.currentData.content = layedit.getContent(_this.layeditIndex);
  125. let textData = layedit.getText(_this.layeditIndex);
  126. if (!(_this.currentData.content)) {
  127. parent.layer.msg('请编写消息内容', {
  128. icon: 7
  129. });
  130. return false;
  131. }
  132. if (textData.length > 1000) {
  133. parent.layer.msg('消息内容超长,最多1000字', {
  134. icon: 7
  135. });
  136. return false;
  137. }
  138. $.ajax({
  139. type: 'POST',
  140. url: _this.urls.formUrl,
  141. data: JSON.stringify(_this.currentData),
  142. contentType: 'application/json',
  143. success: function(res) {
  144. if (res.code == 0) {
  145. parent.layer.msg(res.msg, {
  146. icon: 1
  147. });
  148. parent.layui.table.reload('tableData');
  149. _this.closeModal();
  150. } else {
  151. layer.msg(res.msg, {
  152. icon: 2
  153. });
  154. }
  155. }
  156. });
  157. return false;
  158. };
  159. object.main();
  160. //验证规则
  161. form.verify({
  162. nickname: function(value) {
  163. if (!new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$").test(value)) {
  164. return '用户名必须以英文字母开头,只能包含英文字母、数字、下划线';
  165. }
  166. if (/(^\_)|(\__)|(\_+$)/.test(value)) {
  167. return '用户名首尾不能出现下划线\'_\'';
  168. }
  169. }
  170. });
  171. });
  172. </script>
  173. </body>
  174. </html>