1
0

add_qrcode.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. {extend name="public/layout" /} {block name="title"}编辑二维码{/block} {block name="body"}
  2. <style type="text/css">
  3. html,
  4. body {
  5. display: block;
  6. width: 100%;
  7. background-color: #fff;
  8. min-width: 700px;
  9. }
  10. .uploadimgbtn,
  11. .uploadimgbtn:hover {
  12. display: block;
  13. width: 120px;
  14. height: 32px;
  15. background-color: #249efb;
  16. color: #fff;
  17. margin: 10px auto;
  18. }
  19. .mt20 {
  20. margin-top: 20px;
  21. }
  22. .submit-btn {
  23. margin-top: 30px;
  24. }
  25. #layuiadmin-code-submit {
  26. display: block;
  27. margin: 0 auto;
  28. }
  29. .upqrcodebox {
  30. display: block;
  31. border: 1px solid #384855;
  32. padding: 4px;
  33. height: 70px;
  34. margin-right: 10px;
  35. margin-bottom: 12px;
  36. }
  37. .upqrcodebox img {
  38. display: block;
  39. width: 60px;
  40. height: 60px;
  41. }
  42. .left {
  43. float: left;
  44. }
  45. .upqrcodebox div {
  46. display: block;
  47. margin-left: 10px;
  48. width: calc(100% - 80px);
  49. line-height: 60px;
  50. }
  51. #uploadbtn {
  52. width: 150px !important;
  53. }
  54. #endtime {
  55. width: 260px;
  56. }
  57. </style>
  58. <body>
  59. <form class="layui-form" id="uploadadmin" enctype="multipart/form-data">
  60. <div class="layui-card-body">上传二维码:可一次性选择多张图片进行上传</div>
  61. <div class="layui-form-item " id="uploadbtn">
  62. <button type="button" class="layui-btn layui-btn-primary layui-btn-xs uploadimgbtn">点击上传二维码</button>
  63. </div>
  64. <div class="layui-card-body" style="padding-top:0;">只能上传jpg/png格式的图片,且单张图片大小不能超过1M</div>
  65. <div class="layui-card-body layui-row" id="uploadImageList">
  66. </div>
  67. <div class="layui-card-body">
  68. <div class="layui-form-item">二维码有效期</div>
  69. <input type="input" class="layui-input" name="validitydate" placeholder="请选择日期" id="endtime">
  70. </div>
  71. <!-- <div class="layui-form-item submit-btn" style="clear:both;">
  72. <input class="layui-btn layui-btn-primary " type="button" lay-submit lay-filter="layuiadmin-code-submit"
  73. id="layuiadmin-code-submit" value="确认">
  74. </div> -->
  75. </form>
  76. <input type="hidden" id="hiddentext" />
  77. </body>
  78. {/block} {block name="js"}
  79. <script>
  80. layui.config({
  81. base: '__LAYUI__/',
  82. urlbase: '/sys'
  83. }).extend({
  84. index: 'lib/index' //主入口模块
  85. }).use(['index', 'form', 'table', 'upload', 'laydate'], function () {
  86. var $ = layui.$,
  87. upload = layui.upload,
  88. form = layui.form,
  89. table = layui.table,
  90. laydate = layui.laydate,
  91. fileObj = {files: [],date: ''};
  92. //日期范围
  93. laydate.render({
  94. elem: '#endtime',
  95. trigger: 'click',//呼出事件改成click
  96. format: 'yyyy-MM-dd',
  97. done: function(value, date, endDate){
  98. fileObj.date = value;
  99. $('#hiddentext').val(JSON.stringify(fileObj));
  100. }
  101. });
  102. let date = new Date();
  103. let nextYear = date.getFullYear() + 1;
  104. let month = date.getMonth() + 1;
  105. let day = date.getDate();
  106. fileObj.date = `${nextYear}-${month<10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;
  107. $('#endtime').val(fileObj.date)
  108. upload.render({
  109. elem: '#uploadbtn',
  110. accept: 'image',
  111. multiple: true,
  112. exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
  113. auto: false,
  114. field: 'qrcode_img',
  115. size: 1 * 1024,
  116. choose: function (obj) {
  117. obj.preview(async function(index, file, result) {
  118. let uploadFile = await requestUploadImage(file);
  119. uploadFile.file_name = file.name;
  120. fileObj.files.push(uploadFile);
  121. $('#hiddentext').val(JSON.stringify(fileObj));
  122. $('#uploadImageList').prepend(`<div class="layui-col-xs3 layui-col-sm3 layui-col-md3 upqrcodebox">
  123. <img class="left" src="${result}" />
  124. <div class="left ellipsis">${uploadFile.name_qrcode_img}</div>
  125. </div>`);
  126. });
  127. }
  128. });
  129. function requestUploadImage(file) {
  130. let formData = new FormData();
  131. formData.append('qrcode_img', file);
  132. return new Promise(function (resolve, reject) {
  133. $.ajax({
  134. url: '{:url("huoma/add_img")}',
  135. type: 'post',
  136. data: formData,
  137. dataType: 'json',
  138. processData: false,
  139. contentType: false,
  140. success: (ress) => {
  141. if (ress.code == 0) {
  142. resolve(ress.data);
  143. }
  144. },
  145. });
  146. })
  147. }
  148. })
  149. </script>
  150. {/block}