add.html 10 KB

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