form.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. {extend name="../../admin/view/main"}
  2. {block name='content'}
  3. <form action="" class="layui-card layui-form" data-auto="true" method="post">
  4. <div class="layui-card-body">
  5. <label class="layui-form-item relative block">
  6. <span class="help-label"><b>标题</b>Title</span>
  7. <input class="layui-input" name="title" placeholder="请输入新闻标题" required value='{$vo.title|default=""}'>
  8. </label>
  9. <div class="layui-form-item label-required-prev">
  10. <span class="help-label"><b>图片</b>Imgs</span>
  11. <table class="layui-table">
  12. <thead>
  13. <tr>
  14. </tr>
  15. <tr>
  16. <td class="text-left padding-0">
  17. <div class="help-images">
  18. <input name="imgs" data-max-width="2048" data-max-height="1024" type="hidden" value="{$vo.imgs|default=''}">
  19. <script>$('[name="imgs"]').uploadMultipleImage();</script>
  20. </div>
  21. </td>
  22. </tr>
  23. </thead>
  24. </table>
  25. </div>
  26. <div class="layui-form-item label-required-prev">
  27. <span class="help-label"><b>内容</b>Content</span>
  28. <div class="relative block">
  29. <textarea class="layui-hide" name="content" placeholder="请输入内容">{$vo.content|default=''}</textarea>
  30. </div>
  31. </div>
  32. <div class="hr-line-dashed"></div>
  33. {notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
  34. <div class="layui-form-item text-center">
  35. <button class="layui-btn" type="submit">保存数据</button>
  36. <button class="layui-btn layui-btn-danger" data-history-back data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
  37. </div>
  38. </div>
  39. </form>
  40. <script>
  41. $('input[name="images"]').uploadMultipleImage();
  42. require(['ckeditor'], function () {
  43. window.createEditor('[name=content]', {height: 350})
  44. });
  45. layui.use(['upload', 'element', 'layer'], function() {
  46. var $ = layui.jquery
  47. , upload = layui.upload
  48. , element = layui.element
  49. , layer = layui.layer;
  50. upload.render({
  51. elem: '#test5'
  52. ,url: '' //此处配置你自己的上传接口即可
  53. ,accept: 'video' //视频
  54. ,done: function(res){
  55. layer.msg('上传成功');
  56. console.log(res)
  57. }
  58. });
  59. //演示多文件列表
  60. var uploadListIns = upload.render({
  61. elem: '#testList'
  62. ,elemList: $('#demoList') //列表元素对象
  63. ,url: 'https://httpbin.org/post' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
  64. ,accept: 'file'
  65. ,multiple: true
  66. ,number: 3
  67. ,auto: false
  68. ,bindAction: '#testListAction'
  69. ,choose: function(obj){
  70. var that = this;
  71. var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  72. //读取本地文件
  73. obj.preview(function(index, file, result){
  74. var tr = $(['<tr id="upload-'+ index +'">'
  75. ,'<td>'+ file.name +'</td>'
  76. ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
  77. ,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
  78. ,'<td>'
  79. ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
  80. ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
  81. ,'</td>'
  82. ,'</tr>'].join(''));
  83. //单个重传
  84. tr.find('.demo-reload').on('click', function(){
  85. obj.upload(index, file);
  86. });
  87. //删除
  88. tr.find('.demo-delete').on('click', function(){
  89. delete files[index]; //删除对应的文件
  90. tr.remove();
  91. uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
  92. });
  93. that.elemList.append(tr);
  94. element.render('progress'); //渲染新加的进度条组件
  95. });
  96. }
  97. ,done: function(res, index, upload){ //成功的回调
  98. var that = this;
  99. //if(res.code == 0){ //上传成功
  100. var tr = that.elemList.find('tr#upload-'+ index)
  101. ,tds = tr.children();
  102. tds.eq(3).html(''); //清空操作
  103. delete this.files[index]; //删除文件队列已经上传成功的文件
  104. return;
  105. //}
  106. this.error(index, upload);
  107. }
  108. ,allDone: function(obj){ //多文件上传完毕后的状态回调
  109. console.log(obj)
  110. }
  111. ,error: function(index, upload){ //错误回调
  112. var that = this;
  113. var tr = that.elemList.find('tr#upload-'+ index)
  114. ,tds = tr.children();
  115. tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
  116. }
  117. ,progress: function(n, elem, e, index){ //注意:index 参数为 layui 2.6.6 新增
  118. element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
  119. }
  120. });
  121. });
  122. </script>
  123. {/block}