upload-images.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <div class="sg-upload-image-container-sg" id="sg-{{ $name }}-sg">
  2. <div class="sg-upload-image-content-sg">
  3. <div class="sg-upload-image-btn-sg">
  4. <div class="sg-upload-image-mask-sg">
  5. <div class="sk-circle">
  6. <div class="sk-circle1 sk-child"></div>
  7. <div class="sk-circle2 sk-child"></div>
  8. <div class="sk-circle3 sk-child"></div>
  9. <div class="sk-circle4 sk-child"></div>
  10. <div class="sk-circle5 sk-child"></div>
  11. <div class="sk-circle6 sk-child"></div>
  12. <div class="sk-circle7 sk-child"></div>
  13. <div class="sk-circle8 sk-child"></div>
  14. <div class="sk-circle9 sk-child"></div>
  15. <div class="sk-circle10 sk-child"></div>
  16. <div class="sk-circle11 sk-child"></div>
  17. <div class="sk-circle12 sk-child"></div>
  18. </div>
  19. </div>
  20. <div class="sg-upload-image-icon-sg">
  21. <i class="fa fa-upload"></i>
  22. </div>
  23. </div>
  24. </div>
  25. <input id="sg-{{ $name }}-input-sg" type="hidden" name="data[{{ $name }}]" required>
  26. <div class="sg-upload-hint-sg">文件小于2M,支持jpg,png,jpeg格式<span></span></div>
  27. </div>
  28. <script type="text/javascript">
  29. $(function () {
  30. var formContainerHtml;
  31. var type = "{{ $type == 'multi' ? 'multi' : 'single' }}";
  32. if(type === 'single') {
  33. formContainerHtml = '<div class="sg-upload-image-input-sg" id="sg-{{ $name }}-form-container-sg">\
  34. <form id="sg-{{ $name }}-form-sg" method="POST" enctype="multipart/form-data">\
  35. <input id="sg-{{ $name }}-form-file-sg" type="file" accept="image/*" name="files[]">\
  36. <input type="text" name="class" value="{{ isset($class) ? $class : "未分类" }}">\
  37. </form>\
  38. </div>';
  39. } else {
  40. formContainerHtml = '<div class="sg-upload-image-input-sg" id="sg-{{ $name }}-form-container-sg">\
  41. <form id="sg-{{ $name }}-form-sg" method="POST" enctype="multipart/form-data">\
  42. <input id="sg-{{ $name }}-form-file-sg" type="file" accept="image/*" name="files[]" multiple="multiple">\
  43. <input type="text" name="class" value="{{ isset($class) ? $class : "未分类" }}">\
  44. </form>\
  45. </div>';
  46. }
  47. $('body').append(formContainerHtml);
  48. var id = "#sg-{{ $name }}-sg";
  49. var input = '#sg-{{ $name }}-form-file-sg';
  50. var form = "#sg-{{ $name }}-form-sg";
  51. var uploadInput = "#sg-{{ $name }}-input-sg";
  52. var imageList = id + ' .sg-upload-image-content-sg';
  53. var value = $.trim("{{ $value }}");
  54. if(value !== "") {
  55. sgUpdateInputAndImages(value.split(","));
  56. }
  57. function sgUpdateInputAndImages(list) {
  58. if(type === 'single') {
  59. $(imageList + ' .sg-upload-image-card-sg').remove();
  60. }
  61. var html = '';
  62. for (var i = 0; i < list.length; ++i) {
  63. if(list[i]) {
  64. html += '<div class="sg-upload-image-card-sg">\
  65. <div class="sg-upload-image-delete-sg" data-url="' + list[i] + '"><span class="fa fa-times"></span></div>\
  66. <img src="' + list[i] + '" width="100px">\
  67. </div>';
  68. }
  69. }
  70. $(imageList + ' .sg-upload-image-btn-sg').before(html);
  71. // console.log(list);
  72. if(type === 'single') {
  73. $(uploadInput).val(list.join(','));
  74. } else {
  75. var list_new = list.concat($(uploadInput).val().split(','));
  76. for(var i=0;i<list_new.length;i++){
  77. if(list_new[i] ==""){
  78. list_new.splice(i,1);
  79. }
  80. }
  81. console.log(list_new)
  82. $(uploadInput).val(list_new.join(','));
  83. }
  84. // console.log($(uploadInput).val());
  85. }
  86. $(id).on('click', '.sg-upload-image-btn-sg', function () {
  87. console.log("选择图片")
  88. $(input).trigger("click");
  89. // add();
  90. }).on('click', '.sg-upload-image-delete-sg', function () {
  91. var url = $(this).attr('data-url');
  92. $(this).parent().remove();
  93. if(type === 'single') {
  94. $(uploadInput).val('');
  95. } else {
  96. var list = $(uploadInput).val().split(',');
  97. var list_new = [];
  98. for(var i = 0; i < list.length; ++i) {
  99. if(list[i] === url) {
  100. console.log(list[i])
  101. list.splice(i, 1);
  102. list_new=list
  103. console.log('ok');
  104. }
  105. }
  106. $(uploadInput).val(list_new.join(','));
  107. }
  108. // console.log($(uploadInput).val(), url);
  109. });
  110. {{--function add(){--}}
  111. {{--console.log("加载图片")--}}
  112. {{--var formData = new FormData($(form)[0]);--}}
  113. {{--var files = $(input)[0].files;--}}
  114. {{--if(files.length !== 0) {--}}
  115. {{--var maxSize = files[0].size;--}}
  116. {{--for(var i = 0; i < files.length; ++i) {--}}
  117. {{--maxSize = Math.max(maxSize, files[i].size);--}}
  118. {{--}--}}
  119. {{--if(maxSize < 2 * 1024 * 1024) {--}}
  120. {{--$(id + ' .sg-upload-image-btn-sg').addClass('sg-uploading');--}}
  121. {{--$.ajax({--}}
  122. {{--url: '/uploadFile/uploadImages',--}}
  123. {{--method: 'POST',--}}
  124. {{--processData: false,--}}
  125. {{--contentType: false,--}}
  126. {{--cache: false,--}}
  127. {{--headers: {--}}
  128. {{--'X-CSRF-TOKEN': "{{ csrf_token() }}"--}}
  129. {{--},--}}
  130. {{--data: formData,--}}
  131. {{--success: function (data) {--}}
  132. {{--// var html;--}}
  133. {{--if (data.status === 'success') {--}}
  134. {{--sgUpdateInputAndImages(data['fileList']);--}}
  135. {{--// console.log($(uploadInput).val());--}}
  136. {{--} else {--}}
  137. {{--$(id + ' .sg-upload-hint-sg span').text('上传失败');--}}
  138. {{--}--}}
  139. {{--},--}}
  140. {{--error: function(jqXHR, textStatus, errorThrown) {--}}
  141. {{--console.log(jqXHR, textStatus, errorThrown);--}}
  142. {{--$(id + ' .sg-upload-hint-sg span').text('上传失败');--}}
  143. {{--},--}}
  144. {{--complete: function () {--}}
  145. {{--$(id + ' .sg-upload-image-btn-sg').removeClass('sg-uploading');--}}
  146. {{--}--}}
  147. {{--});--}}
  148. {{--}--}}
  149. {{--}--}}
  150. {{--}--}}
  151. $(input).change(function () {
  152. console.log("加载图片")
  153. var formData = new FormData($(form)[0]);
  154. var files = $(input)[0].files;
  155. if(files.length !== 0) {
  156. var maxSize = files[0].size;
  157. for(var i = 0; i < files.length; ++i) {
  158. maxSize = Math.max(maxSize, files[i].size);
  159. }
  160. if(maxSize < 2 * 1024 * 1024) {
  161. $(id + ' .sg-upload-image-btn-sg').addClass('sg-uploading');
  162. $.ajax({
  163. url: '/uploadFile/uploadImages',
  164. method: 'POST',
  165. processData: false,
  166. contentType: false,
  167. cache: false,
  168. headers: {
  169. 'X-CSRF-TOKEN': "{{ csrf_token() }}"
  170. },
  171. data: formData,
  172. success: function (data) {
  173. // var html;
  174. if (data.status === 'success') {
  175. sgUpdateInputAndImages(data['fileList']);
  176. // console.log($(uploadInput).val());
  177. } else {
  178. $(id + ' .sg-upload-hint-sg span').text('上传失败');
  179. }
  180. },
  181. error: function(jqXHR, textStatus, errorThrown) {
  182. console.log(jqXHR, textStatus, errorThrown);
  183. $(id + ' .sg-upload-hint-sg span').text('上传失败');
  184. },
  185. complete: function () {
  186. $(id + ' .sg-upload-image-btn-sg').removeClass('sg-uploading');
  187. }
  188. });
  189. }
  190. }
  191. });
  192. });
  193. </script>