edit.html 19 KB

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