add.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>添加报修</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  10. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  11. </head>
  12. <body>
  13. <!-- 加载动画 -->
  14. <div class="page-loading">
  15. <div class="ball-loader">
  16. <span></span><span></span><span></span><span></span>
  17. </div>
  18. </div>
  19. <!-- 正文开始 -->
  20. <div class="layui-fluid">
  21. <div class="layui-card">
  22. <div class="layui-card-body">
  23. <div class="layui-card-header">添加报修信息
  24. <div class="layui-inline pull-right">
  25. <button onclick="history.back()" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-normal">
  26. <i class="layui-icon">&#xe65c;</i>返回
  27. </button>
  28. </div>
  29. </div>
  30. <div class="layui-card-body">
  31. <form class="layui-form" lay-filter="layuiForm" id="addForm" style="max-width: 1000px;margin: 40px auto;">
  32. <input name="entPic" id="entPic" type="hidden"/>
  33. <div class="layui-form-item">
  34. <label class="layui-form-label w-width150"><span class="layui-badge-dot"></span>报修名称:</label>
  35. <div class="layui-input-block w-m180">
  36. <input name="entName" id="entName" type="text" placeholder="报修名称" class="layui-input"
  37. lay-verType="tips" lay-verify="required|uniques" maxlength="64">
  38. </div>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layui-form-label w-width150"><span class="layui-badge-dot"></span>上传图片:</label>
  42. <div class="layui-input-block w-m180">
  43. <button type="button" class="layui-btn" id="imgUploader">
  44. <i class="layui-icon">&#xe67c;</i>上传图片
  45. </button>
  46. <img src="" style="width: 100px;height: 100px;margin-left: 20px;display: none;"
  47. id="imageAddr" onclick="showImg(this);">
  48. </div>
  49. </div>
  50. <div class="layui-form-item">
  51. <label class="layui-form-label w-width150"><span class="layui-badge-dot"></span>审核人:</label>
  52. <div class="layui-input-block w-m180">
  53. <input type="hidden" id="entUsers" name="entUsers"/>
  54. <input type="hidden" id="aIds" name="aIds"/>
  55. <input name="users" id="users" autocomplete="off" style="cursor: pointer"
  56. class="layui-input" ts-selected="" placeholder="点击选择审核人" readonly
  57. lay-verType="tips" lay-verify="required">
  58. </div>
  59. </div>
  60. <div class="layui-form-item">
  61. <label class="layui-form-label w-width150">描述:</label>
  62. <div class="layui-input-block w-m180">
  63. <textarea class="layui-textarea" placeholder="描述"
  64. id="entDesc" name="entDesc" maxlength="255"></textarea>
  65. </div>
  66. </div>
  67. <div class="layui-form-item">
  68. <div class="layui-input-block w-m180">
  69. <button class="layui-btn" lay-filter="formSubmitBtn" lay-submit id="submitBtn" disabled>&emsp;提交&emsp;</button>
  70. <button type="reset" class="layui-btn layui-btn-primary">&emsp;重置&emsp;</button>
  71. </div>
  72. </div>
  73. </form>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. <!-- js部分 -->
  79. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  80. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  81. <script type="text/javascript" src="../../../assets/module/tableSelect/tableSelect.js"></script>
  82. <script>
  83. layui.use(['layer', 'form', 'table', 'util', 'admin', 'uParas', 'laydate', 'tableSelect', 'upload'], function () {
  84. var $ = layui.jquery;
  85. var layer = layui.layer;
  86. var form = layui.form;
  87. var util = layui.util;
  88. var admin = layui.admin;
  89. var uParas = layui.uParas;
  90. var upload = layui.upload;
  91. // 初始化审核人
  92. var tableSelect = layui.tableSelect;
  93. tableSelect.render({
  94. elem: '#users',
  95. checkedKey: 'cId',
  96. searchKey: 'accountRealName',
  97. searchPlaceHolder: '输入关键字搜索',
  98. table: {
  99. url: uParas.baseUrl + '/ent/groupAccount/queryChkMembers',
  100. method: 'post',
  101. page: true,
  102. cellMinWidth: 50,
  103. cols: [[
  104. {type: 'checkbox'},
  105. {field: 'accountRealName', sort: false, title: '姓名'},
  106. {field: 'groupName', sort: false, title: '所属组群'},
  107. {field: 'positionTitle', sort: false, title: '岗位名称'},
  108. ]]
  109. },
  110. done: function(elem, data) {
  111. // console.info(data);
  112. var names = [];
  113. var aIds = [];
  114. if (data.data.length > 0) {
  115. layui.each(data.data, function (index, item) {
  116. names.push(item.accountRealName);
  117. aIds.push(item.aId);
  118. });
  119. elem.val(names.join(','));
  120. elem.attr('ts-selected', aIds.join(','));
  121. $('#aIds').val(aIds.join(','));
  122. } else {
  123. elem.val('');
  124. elem.attr('ts-selected', '');
  125. $('#aIds').val('');
  126. }
  127. // var NEWJSON = [];
  128. // layui.each(data.data, function (index, item) {
  129. // NEWJSON.push(item.accountRealName);
  130. // });
  131. // elem.val(NEWJSON.join(","));
  132. toJsonStr();
  133. }
  134. });
  135. // 初始化上传组件
  136. function initUploader() {
  137. upload.render({
  138. elem: '#imgUploader',
  139. url: uParas.baseUrl + '/admin/uploadFile',
  140. accept: 'image',
  141. // exts: 'apk',
  142. // progress: function(n) {
  143. // var percent = n + '%'; // 获取进度百分比
  144. // element.progress('upoloadProgress', percent); // 可配合 layui 进度条元素使用,依赖element
  145. // },
  146. done: function(resp) {
  147. if (resp.data.path) {
  148. layer.msg('上传成功!');
  149. $('#entPic').val(resp.data.path);
  150. $('#submitBtn').prop('disabled', false);
  151. $('#imgUploader').css('margin-top', '-50px');
  152. $('#imageAddr').prop('src', resp.data.path).css('display', '');
  153. }
  154. },
  155. error: function() {
  156. layer.msg('上传失败!');
  157. }
  158. });
  159. }
  160. initUploader();
  161. // 监听表单提交
  162. form.on('submit(formSubmitBtn)', function (data) {
  163. var index = layer.load();
  164. admin.req(uParas.baseUrl + '/ent/repair/submit', data.field, function (resp) {
  165. layer.close(index);
  166. if (resp.code == 1) {
  167. layer.msg(resp.msg);
  168. location.href = "./index.html";
  169. } else {
  170. layer.msg(resp.msg)
  171. }
  172. }, 'POST');
  173. return false;
  174. });
  175. // 拼接json字符串
  176. function toJsonStr() {
  177. var jsonStr = '[';
  178. var result = [];
  179. var aIds = $('#aIds').val().split(',');
  180. var users = $('#users').val().split(',');
  181. for (var i = 0; i < aIds.length; ++i) {
  182. result.push("{\"id\":\"" + aIds[i] + "\",\"name\":\"" + users[i] + "\"}");
  183. }
  184. jsonStr += result.join(',') + ']';
  185. $('#entUsers').val(jsonStr);
  186. }
  187. });
  188. function showImg(thisObj) {
  189. if (thisObj && thisObj.src) {
  190. var image = new Image();
  191. image.src = thisObj.src;
  192. image.onload = function() {
  193. var width = image.width;
  194. var height = image.height;
  195. // $(image).attr('onclick', 'layer.closeAll()');
  196. // $(image).prop('width', width);
  197. // $(image).prop('height', height);
  198. image.onclick = function() {
  199. layer.closeAll();
  200. };
  201. image.width = width;
  202. image.height = height;
  203. var id = new Date().getTime() + '';
  204. image.id = id;
  205. var div = document.createElement('div');
  206. div.append(image);
  207. var imageHtml = div.innerHTML;
  208. layer.open({
  209. title: '查看大图',
  210. type: 3,
  211. scrollbar: true,
  212. area: [image.width + 'px', image.height + 'px'],
  213. // area: ['800px', '600px'],
  214. content: imageHtml,
  215. success: function(layerO, index) {
  216. document.getElementById(id).onclick = function() {
  217. layer.close(index);
  218. };
  219. }
  220. });
  221. }
  222. }
  223. }
  224. </script>
  225. </body>
  226. </html>