update.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>更新进度</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  11. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  12. <style>
  13. .input {
  14. border-radius: 2px;
  15. height: 38px;
  16. border-width: 1px;
  17. border-color: lightgray;
  18. border-style: solid;
  19. background-color: white;
  20. padding-left: 3px;
  21. }
  22. .processText{
  23. margin-top: 6px;
  24. }
  25. .layui-upload-drag {
  26. padding: 10px;
  27. margin-right: 15px;
  28. }
  29. .imgsContent{
  30. display: flex;
  31. justify-content: flex-start;
  32. flex-direction: row;
  33. flex-wrap: wrap;
  34. }
  35. .image {
  36. width: 150px;
  37. height: auto;
  38. }
  39. .imgItem{
  40. margin: 0 10px;
  41. }
  42. .option {
  43. display: flex;
  44. justify-content: space-between;
  45. flex-direction: row;
  46. }
  47. .optionItem {
  48. padding: 0 13px;
  49. margin: 10px;
  50. border: 1px solid rgba(0, 0, 0, 0.1);
  51. background: #009688;
  52. color: #ffffff;
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div class="layui-fluid">
  58. <div class="layui-row layui-col-space15">
  59. <div class="layui-card">
  60. <div class="layui-card-body" pad15>
  61. <form class="layui-form" action="" lay-filter="component-form-element">
  62. <div class="layui-row layui-col-space10 layui-form-item">
  63. <div>
  64. <label class="layui-form-label"><font color='red' size="4">*</font>终止:</label>
  65. <div class="layui-input-block">
  66. <input type="checkbox" name="end" lay-skin="switch" lay-text="是|否" checked=""
  67. value="1">
  68. </div>
  69. </div>
  70. <div>
  71. <label class="layui-form-label">当前进度:</label>
  72. <div class="layui-input-block processText" id="current_process"></div>
  73. </div>
  74. <div>
  75. <label class="layui-form-label">下一进度:</label>
  76. <div class="layui-input-block processText" id="next_process"></div>
  77. </div>
  78. <div>
  79. <label class="layui-form-label">备注:</label>
  80. <div class="layui-input-block">
  81. <textarea type="text" name="notes" class="layui-textarea" placeholder="请输入备注"/></textarea>
  82. </div>
  83. </div>
  84. <div>
  85. <label class="layui-form-label"><font color='red' size="4">*</font>上传图片:</label>
  86. <div class="imgsContent">
  87. <div class="layui-upload-drag" id="upload_img">
  88. <div id="upload_img">
  89. <p style="padding-bottom: 10px">多选,最多选6张</p>
  90. <i class="layui-icon"></i>
  91. <p>点击上传,或将图片拖到此处</p>
  92. </div>
  93. </div>
  94. <div id="imgsList" class="imgsContent"></div>
  95. </div>
  96. </div>
  97. <button id="id_save" class="layui-btn" lay-submit lay-filter="component-form-element"
  98. style="display: none">保存
  99. </button>
  100. </div>
  101. </form>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <script src="../../layuiadmin/layui/layui.js"></script>
  107. <script>
  108. //即将上传的文件数组
  109. var filesList = [];
  110. //渲染的图片列表
  111. var imgsList = [];
  112. //渲染待上传的图片列表
  113. var renderImgsList = function(list){
  114. var html = "";
  115. list.forEach((item, index)=>{
  116. html += "<div class='imgItem'>\n";
  117. html += "<img src='" + item + "' class='image'>\n";
  118. html += '<div class="option">\n';
  119. html += '<div onclick="showImg(' + index + ')" class="optionItem">查看</div>\n';
  120. html += '<div onclick="deleteImg(' + index + ')" class="optionItem">删除</div>\n';
  121. html += '</div>\n';
  122. html += '</div>\n';
  123. })
  124. layui.$('#imgsList').html(html);
  125. }
  126. var showImg = function (index) {
  127. var newPage=window.open();
  128. newPage.document.write("<img src="+imgsList[index]+" />")
  129. };
  130. var deleteImg = function(index){
  131. filesList.splice(index, 1);
  132. imgsList.splice(index, 1);
  133. renderImgsList(imgsList);
  134. };
  135. layui.link('../../../layuiadmin/style/autocomplete.css');
  136. layui.config({
  137. base: '../../../layuiadmin/' //静态资源所在路径
  138. , autocomplete: 'autocomplete'
  139. }).extend({
  140. index: 'lib/index',
  141. }).use(['index', 'form', 'autocomplete', 'upload'], function () {
  142. var $ = layui.$
  143. , admin = layui.admin
  144. , upload = layui.upload
  145. , form = layui.form;
  146. var id = layui.view.getParameterByName('id');
  147. //form.render(null, 'component-form-element');
  148. //当前进度
  149. $('#current_process').append('<span>已约量房</span>')
  150. //下一进度
  151. $('#next_process').append('<span>方案设计</span>');
  152. //拖拽上传
  153. upload.render({
  154. elem: '#upload_img'
  155. , accept: 'file'
  156. , exts: 'jpg|png|jpeg|bmp'
  157. , acceptMime: '.jpg,.png,.jpeg,.bmp'
  158. , data: {}
  159. , multiple: true
  160. , number: 6
  161. , auto: false
  162. , choose: function(obj) {
  163. if(imgsList.length >= 6){
  164. layer.msg("图片最多只允许上传6张", {icon: 2});
  165. return
  166. }
  167. //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
  168. obj.preview(function(index, file, result){
  169. filesList.push(file);
  170. imgsList.push(result);
  171. // 有图片列表的话渲染图片
  172. if(imgsList.length > 0){
  173. renderImgsList(imgsList)
  174. }
  175. });
  176. }
  177. });
  178. form.on('submit(component-form-element)', function (data) {
  179. if(filesList.length === 0) {
  180. layer.msg("请先选择图片!", {icon: 2});
  181. return false
  182. }
  183. var formData = new FormData();
  184. formData.append("end", data.field.end);
  185. formData.append("notes", data.field.notes);
  186. filesList.forEach((item, index)=>{
  187. formData.append(`file${index}`, item)
  188. });
  189. var url = '/agent/agent/' + id + '/';
  190. admin.req({
  191. url: url
  192. , data: formData
  193. , contentType: false
  194. , processData: false
  195. , type: 'post'
  196. , done: function (res) {
  197. parent.layui.onSubmitChild(res);
  198. }
  199. });
  200. return false;
  201. });
  202. parent.layui.submitChild = function () {
  203. $("#id_save").click();
  204. };
  205. });
  206. </script>
  207. </body>
  208. </html>