edit.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  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/inputTags.css"/>
  10. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  11. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  12. <style>
  13. .note.note-danger {
  14. background-color: #f9f0f0;
  15. border-color: #e4b9c0;
  16. color: #a94442;
  17. }
  18. .note.note-danger.note-bordered {
  19. background-color: #f1dada;
  20. border-color: #dca7b0;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <!-- 页面加载loading -->
  26. <div class="page-loading">
  27. <div class="ball-loader">
  28. <span></span><span></span><span></span><span></span>
  29. </div>
  30. </div>
  31. <!-- 正文开始 -->
  32. <form class="layui-form" lay-filter="editForm" id="editForm">
  33. <input hidden name="unitId">
  34. <div class="layui-fluid">
  35. <div class="layui-card" style="padding-bottom :75px;">
  36. <div class="layui-card-header">编辑外协单位</div>
  37. <div class="layui-card-body">
  38. <fieldset class="layui-elem-field">
  39. <legend>基础信息</legend>
  40. <div class="layui-field-box">
  41. <div class="layui-form-item layui-row text-center">
  42. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  43. <label class="layui-form-label"><span class="layui-badge-dot"></span>名称</label>
  44. <div class="layui-input-block">
  45. <input type="text" class="layui-input" id="unitName" name="unitName"
  46. placeholder="请输入外协单位名称" maxlength="36"
  47. lay-verType="tips" lay-verify="required" required/>
  48. </div>
  49. </div>
  50. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  51. <label class="layui-form-label"><span class="layui-badge-dot"></span>评价</label>
  52. <div class="layui-input-block">
  53. <input type="text" class="layui-input" id="unitAppraise" name="unitAppraise"
  54. placeholder="请输入评价" maxlength="36"
  55. lay-verType="tips" lay-verify="required" required/>
  56. </div>
  57. </div>
  58. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  59. <label class="layui-form-label"><span class="layui-badge-dot"></span>基本信息</label>
  60. <div class="layui-input-block">
  61. <textarea id="unitContent" name="unitContent"
  62. placeholder="最多输入255个汉字"
  63. class="layui-textarea" maxlength="255" lay-verify="required"
  64. required></textarea>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </fieldset>
  70. <fieldset class="layui-elem-field">
  71. <legend>资质信息</legend>
  72. <div class="layui-field-box" id="divAppend">
  73. <div class="layui-row text-right">
  74. <a class="layui-btn layui-btn-normal" href="javascript:;" id="btnAddEvaluation"><i
  75. class="layui-icon layui-icon-add-1"></i></a>
  76. </div>
  77. <!--<div class="layui-form-item layui-row text-center">
  78. <hr class="layui-bg-gray">
  79. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  80. <label class="layui-form-label"><span class="layui-badge-dot"></span>资质名称</label>
  81. <div class="layui-input-block">
  82. <input type="text" class="layui-input" id="evaluationName" name="evaluationName"
  83. placeholder="请输入资质名称" maxlength="128"
  84. lay-verType="tips" lay-verify="required" required/>
  85. </div>
  86. </div>
  87. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  88. <label class="layui-form-label"><span class="layui-badge-dot"></span>到期时间</label>
  89. <div class="layui-input-block">
  90. <input type="text" class="layui-input" id="endTime" name="endTime"
  91. placeholder="请输入资质名称" maxlength="128"
  92. lay-verType="tips" lay-verify="required" required/>
  93. </div>
  94. </div>
  95. <div class="layui-inline layui-col-md10" style="padding-top: 20px;">
  96. <label class="layui-form-label">缩略图</label>
  97. <div class="layui-input-block text-left">
  98. <button type="button" class="layui-btn" id="uploadImg">
  99. <i class="layui-icon">&#xe67c;</i>上传图片
  100. </button>
  101. <div id="imges" class="imgDiv" style="text-align: left;padding-top: 10px">
  102. </div>
  103. </div>
  104. </div>
  105. </div>-->
  106. </div>
  107. </fieldset>
  108. </div>
  109. </div>
  110. </div>
  111. <div class="text-center" style="padding-bottom: 10px;">
  112. <button type="button" class="layui-btn" lay-filter="formSubmit" lay-submit>&emsp;提交&emsp;</button>
  113. <button type="button" class="layui-btn layui-btn-normal" onclick="history.back()">&emsp;返回&emsp;</button>
  114. </div>
  115. </form>
  116. <!-- js部分 -->
  117. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  118. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  119. <script type="text/javascript" src="../../../assets/libs/jquery/jquery-3.2.1.min.js"></script>
  120. <script type="text/javascript" src="../../../assets/module/inputTags.js"></script>
  121. <script src="../../../assets/libs/wangEditor/wangEditor.js"></script>
  122. <script>
  123. var indexDiv = 1;
  124. layui.use(['layer', 'form', 'table', 'admin', 'zTree', 'uParas', 'upload', 'laydate'], function () {
  125. var $ = layui.jquery;
  126. var layer = layui.layer;
  127. var form = layui.form;
  128. var table = layui.table;
  129. var admin = layui.admin;
  130. var uParas = layui.uParas;
  131. var upload = layui.upload;
  132. var laydate = layui.laydate;
  133. var unitId = uParas.getUrlParam("unitId");
  134. admin.req(uParas.baseUrl + '/ent/outsourceUnit/get/' + unitId, {}, function (resp) {
  135. if (resp.code == 1) {
  136. var outsourceUnit = resp.data.outsourceUnit;
  137. form.val('editForm', outsourceUnit); // 回显数据
  138. var evaluationArr = resp.data.evaluationArr;
  139. debugger
  140. if (evaluationArr && evaluationArr.length > 0) {
  141. addHtmlAndVal(evaluationArr);
  142. } else {
  143. addHtml();
  144. }
  145. form.render();
  146. } else {
  147. layer.msg(resp.msg)
  148. }
  149. }, 'GET');
  150. function uploadRender(id, divId) {
  151. var uploadId = "#" + id;
  152. upload.render({
  153. elem: uploadId, //绑定元素
  154. url: uParas.baseUrl + '/admin/uploadImage', //上传接口
  155. accept: 'images', //只允许上传图片
  156. acceptMime: 'image/*', //只筛选图片
  157. done: function (res) {
  158. //上传完毕回调
  159. var html = "";
  160. html += '<div style="float: left;padding-top: 5px;padding-right: 10px;">';
  161. html += '<input value="' + res.data.path + '" name="imgInp" hidden/>';
  162. html += '<img src="' + res.data.path + '" style="width:100px;height: 100px;"/><br>';
  163. html += '<a style="margin-left: 37px;" onclick="deleteImg(this)">删除</a>';
  164. html += '</div>';
  165. $("#" + divId + "").append(html).show();
  166. }
  167. , error: function () {
  168. //请求异常回调
  169. }
  170. });
  171. }
  172. //提交
  173. form.on('submit(formSubmit)', function (data) {
  174. var flag = true;
  175. //资质数据封装
  176. var evaluationNameArr = [];
  177. var endTimeArr = [];
  178. var imgArr = [];
  179. var evaluationNames = $('input[name="evaluationName"]');
  180. if (evaluationNames && evaluationNames.length > 0) {
  181. evaluationNames.each(function () {
  182. evaluationNameArr.push($(this).val());
  183. });
  184. }
  185. var endTimes = $('input[name="endTime"]');
  186. if (endTimes && endTimes.length > 0) {
  187. endTimes.each(function (index, item) {
  188. endTimeArr.push($(this).val());
  189. var endTimeDiv = $(this).parent().parent();
  190. var imgDiv = endTimeDiv.next().find('.imgDiv');
  191. var imgInps = imgDiv.find("input[name=imgInp]");
  192. if (imgInps && imgInps.length > 0) {
  193. var imgVal = [];
  194. imgInps.each(function () {
  195. imgVal.push($(this).val());
  196. })
  197. imgArr.push(imgVal.join(","))
  198. } else {
  199. flag = false;
  200. layer.msg(evaluationNameArr[index] + ":未上传图片");
  201. return false;
  202. }
  203. });
  204. }
  205. if (flag) {
  206. var evaluationArr = [];
  207. for (var i = 0; i < evaluationNameArr.length; i++) {
  208. var obj = {};
  209. obj.evaluationName = evaluationNameArr[i];
  210. obj.endTime = endTimeArr[i];
  211. obj.imgPath = imgArr[i];
  212. evaluationArr.push(obj);
  213. }
  214. data.field.evaluationArr = JSON.stringify(evaluationArr);
  215. var url = uParas.baseUrl + "/ent/outsourceUnit/update";
  216. admin.req(url, data.field, function (res) {
  217. layer.closeAll('loading');
  218. if (res.code == 1) {
  219. //layer.msg(res.msg);
  220. location.href = "./index.html";
  221. } else {
  222. layer.msg(res.msg);
  223. }
  224. }, 'POST');
  225. }
  226. return false;
  227. });
  228. $("#btnAddEvaluation").click(function () {
  229. addHtml();
  230. });
  231. function addHtml() {
  232. var dateId = "endTime" + indexDiv;
  233. var uploadId = "uploadImg" + indexDiv;
  234. var imgDivId = "imges" + indexDiv;
  235. let html = '<div class="layui-form-item layui-row text-center">';
  236. html += '<hr class="layui-bg-gray">';
  237. //html += '<div class="layui-form-item layui-row text-center">';
  238. html += '<div style="position: absolute;right: 40px;padding-top: 20px;">';
  239. html += '<a class="layui-btn layui-btn-warm deleteDiv" href="javascript:;" ><i class="layui-icon layui-icon-close"></i></a>';
  240. html += '</div>';
  241. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  242. html += ' <label class="layui-form-label"><span class="layui-badge-dot"></span>资质名称</label>';
  243. html += ' <div class="layui-input-block">';
  244. html += ' <input type="text" class="layui-input" name="evaluationName"';
  245. html += ' placeholder="请输入资质名称" maxlength="255"';
  246. html += ' lay-verType="tips" lay-verify="required" required/>';
  247. html += ' </div>';
  248. html += ' </div>';
  249. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  250. html += ' <label class="layui-form-label"><span class="layui-badge-dot"></span>到期时间</label>';
  251. html += ' <div class="layui-input-block">';
  252. html += ' <input type="text" class="layui-input" id="' + dateId + '" name="endTime"';
  253. html += ' placeholder="yyyy-MM-dd"';
  254. html += ' lay-verType="tips" lay-verify="required" required/>';
  255. html += ' </div>';
  256. html += ' </div>';
  257. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  258. html += ' <label class="layui-form-label">缩略图</label>';
  259. html += ' <div class="layui-input-block text-left">';
  260. html += ' <button type="button" class="layui-btn" id="' + uploadId + '">';
  261. html += ' <i class="layui-icon">&#xe67c;</i>上传图片';
  262. html += ' </button>';
  263. html += ' <div id="' + imgDivId + '" class="imgDiv" style="text-align: left;padding-top: 10px">';
  264. html += ' </div>';
  265. html += ' </div>';
  266. html += ' </div>';
  267. html += ' </div>';
  268. $("#divAppend").append(html);
  269. uploadRender(uploadId, imgDivId);
  270. let endTimeId = "#" + dateId;
  271. laydate.render({
  272. elem: endTimeId,
  273. });
  274. indexDiv++;
  275. }
  276. function addHtmlAndVal(dataArr) {
  277. for (var i = 0; i < dataArr.length; i++) {
  278. var evaluation = dataArr[i];
  279. var dateId = "endTime" + indexDiv;
  280. var uploadId = "uploadImg" + indexDiv;
  281. var imgDivId = "imges" + indexDiv;
  282. var html = "";
  283. html += '<div class="layui-form-item layui-row text-center">';
  284. html += '<hr class="layui-bg-gray">';
  285. html += '<div style="position: absolute;right: 40px;padding-top: 20px;">';
  286. html += '<a class="layui-btn layui-btn-warm deleteDiv" href="javascript:;" ><i class="layui-icon layui-icon-close"></i></a>';
  287. html += '</div>';
  288. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  289. html += ' <label class="layui-form-label"><span class="layui-badge-dot"></span>资质名称</label>';
  290. html += ' <div class="layui-input-block">';
  291. html += ' <input type="text" class="layui-input" name="evaluationName"';
  292. html += ' placeholder="请输入资质名称" maxlength="255"';
  293. html += ' lay-verType="tips" lay-verify="required" required value="' + evaluation.evaluationName + '"/>';
  294. html += ' </div>';
  295. html += ' </div>';
  296. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  297. html += ' <label class="layui-form-label"><span class="layui-badge-dot"></span>到期时间</label>';
  298. html += ' <div class="layui-input-block">';
  299. html += ' <input type="text" class="layui-input" id="' + dateId + '" name="endTime"';
  300. html += ' placeholder="yyyy-MM-dd"';
  301. html += ' lay-verType="tips" lay-verify="required" required/>';
  302. html += ' </div>';
  303. html += ' </div>';
  304. html += ' <div class="layui-inline layui-col-md10" style="padding-top: 20px;">';
  305. html += ' <label class="layui-form-label">缩略图</label>';
  306. html += ' <div class="layui-input-block text-left">';
  307. html += ' <button type="button" class="layui-btn" id="' + uploadId + '">';
  308. html += ' <i class="layui-icon">&#xe67c;</i>上传图片';
  309. html += ' </button>';
  310. html += ' <div id="' + imgDivId + '" class="imgDiv" style="text-align: left;padding-top: 10px">';
  311. html += addImgHtml(evaluation.imgPath);
  312. html += ' </div>';
  313. html += ' </div>';
  314. html += ' </div>';
  315. html += ' </div>';
  316. $("#divAppend").append(html);
  317. uploadRender(uploadId, imgDivId);
  318. let endTimeId = "#" + dateId;
  319. laydate.render({
  320. elem: endTimeId,
  321. value: evaluation.endTime
  322. });
  323. indexDiv++;
  324. }
  325. }
  326. function addImgHtml(dataImg) {
  327. var imgInitArr = dataImg.split(",");
  328. var html = "";
  329. if (imgInitArr && imgInitArr.length > 0) {
  330. for (var j = 0; j < imgInitArr.length; j++) {
  331. let imgPath = imgInitArr[j];
  332. html += '<div style="float: left;padding-top: 5px;padding-right: 10px;">';
  333. html += '<input value="' + imgPath + '" name="imgInp" hidden/>';
  334. html += '<img src="' + imgPath + '" style="width:100px;height: 100px;"/><br>';
  335. html += '<a style="margin-left: 37px;" onclick="deleteImg(this)">删除</a>';
  336. html += '</div>';
  337. }
  338. }
  339. return html;
  340. }
  341. $('body').on('click', '.deleteDiv', function () {
  342. $(this).parent().parent().remove();
  343. });
  344. });
  345. function deleteImg(obj) {
  346. $(obj).parent().remove();
  347. }
  348. </script>
  349. </body>
  350. </html>