addConpanyMsg.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. {% load staticfiles %}
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title>添加单位信息</title>
  7. <meta name="renderer" content="webkit">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  9. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <link rel="stylesheet" href="{% static '/lib/css/ace.min.css' %}" />
  11. <link rel="stylesheet" href="{% static '/lib/layui/css/layui.css' %}">
  12. <style>
  13. html,body{
  14. background: #fff;
  15. }
  16. .layui-form-item .layui-input-inline {
  17. width: 40%;
  18. }
  19. .layui-form-item .addressSelect {
  20. width: 27%;
  21. }
  22. .layui-input-inline .layui-input,
  23. .layui-input-inline .layui-textarea {
  24. width: 96%;
  25. display: inline-block;
  26. }
  27. .red {
  28. font-size: 16px;
  29. color: #e01515;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="layui-fluid">
  35. <div class="layui-row layui-col-space15">
  36. <div class="layui-col-md12">
  37. <div class="layui-card">
  38. <div class="layui-card-body">
  39. <form class="layui-form" action="" lay-filter="example">
  40. <div class="layui-form-item">
  41. <label class="layui-form-label">
  42. <span class="red">*</span>单位名称:</label>
  43. <div class="layui-input-inline">
  44. <input type="text" name="unit" lay-verify="unitVlid" autocomplete="off" placeholder="请输入标题" class="layui-input">
  45. </div>
  46. </div>
  47. <div class="layui-form-item">
  48. <label class="layui-form-label">
  49. <span class="red">*</span>地址:</label>
  50. <div class="layui-input-inline">
  51. <input type="text" name="address" lay-verify="addressVlid" placeholder="请输入地址" autocomplete="off" class="layui-input">
  52. </div>
  53. </div>
  54. <div class="layui-form-item layui-form-text">
  55. <label class="layui-form-label">
  56. <span class="red">*</span>单位简介:</label>
  57. <div class="layui-input-inline">
  58. <textarea placeholder="请输入单位简介" lay-verify="required" class="layui-textarea" name="unitDesc"></textarea>
  59. </div>
  60. </div>
  61. <div class="layui-form-item">
  62. <label class="layui-form-label">所属省市:</label>
  63. <div class="layui-input-inline addressSelect">
  64. <select name="province" lay-filter="province" id="province">
  65. </select>
  66. </div>
  67. <div class="layui-input-inline addressSelect">
  68. <select name="city" lay-filter="city" id="city">
  69. </select>
  70. </div>
  71. <div class="layui-input-inline addressSelect">
  72. <select name="area" lay-filter="area" id="area">
  73. </select>
  74. </div>
  75. </div>
  76. <div class="layui-form-item layui-form-text">
  77. <label class="layui-form-label">
  78. <span class="red">*</span>负责人:</label>
  79. <div class="layui-input-inline">
  80. <input type="text" name="principal" lay-verify="required" autocomplete="off" placeholder="请输入标题" class="layui-input">
  81. </div>
  82. </div>
  83. <div class="layui-form-item layui-form-text">
  84. <label class="layui-form-label">
  85. <span class="red">*</span>联系电话:</label>
  86. <div class="layui-input-inline">
  87. <input type="tel" name="phone" lay-verify="required|phone" autocomplete="off" class="layui-input">
  88. </div>
  89. </div>
  90. <div class="layui-form-item layui-form-text">
  91. <label class="layui-form-label">备注:</label>
  92. <div class="layui-input-inline">
  93. <input type="text" name="remarks" autocomplete="off" placeholder="请输入标题" class="layui-input">
  94. </div>
  95. </div>
  96. <div class="layui-form-item">
  97. <div class="layui-input-block">
  98. <button class="btn btn-sm btn-primary" lay-submit="" lay-filter="send">立即提交</button>
  99. </div>
  100. </div>
  101. <input type="hidden" value="" name="id">
  102. </form>
  103. <input type="hidden" value="{{aaa}}" id="currUserMsg">
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <script src="{% static '/lib/layui/layui.all.js' %}"></script>
  110. <script>
  111. layui.use(['form', 'layer', 'upload', 'jquery'], function () {
  112. var form = layui.form
  113. , layer = layui.layer
  114. , upload = layui.upload;
  115. var $ = layui.$;
  116. //自定义验证规则
  117. form.verify({
  118. unitVlid: function (value) {
  119. if (value.length < 5) {
  120. return '单位名称至少得5个字符';
  121. }
  122. }
  123. , addressVlid: function (value) {
  124. if (value.length < 5) {
  125. return '地址至少得5个字符啊';
  126. }
  127. }
  128. , pass: [
  129. /^[\S]{6,12}$/
  130. , '密码必须6到12位,且不能出现空格'
  131. ]
  132. , content: function (value) {
  133. layedit.sync(editIndex);
  134. }
  135. });
  136. //普通图片上传
  137. var uploadInst = upload.render({
  138. elem: '#test1'
  139. , url: '/upload/'
  140. , auto: false //选择文件后不自动上传
  141. , before: function (obj) {
  142. //预读本地文件示例,不支持ie8
  143. obj.preview(function (index, file, result) {
  144. $('#demo1').attr('src', result); //图片链接(base64)
  145. });
  146. }
  147. , done: function (res) {
  148. //如果上传失败
  149. if (res.code > 0) {
  150. return layer.msg('上传失败');
  151. }
  152. //上传成功
  153. }
  154. , error: function () {
  155. //演示失败状态,并实现重传
  156. var demoText = $('#demoText');
  157. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
  158. demoText.find('.demo-reload').on('click', function () {
  159. uploadInst.upload();
  160. });
  161. }
  162. });
  163. //多图片上传
  164. upload.render({
  165. elem: '#test2'
  166. , url: '/upload/'
  167. , auto: false //选择文件后不自动上传
  168. , multiple: true
  169. , bindAction: '#send' /*提交图片*/
  170. , choose: function (obj) {
  171. //预读本地文件示例,不支持ie8
  172. obj.preview(function (index, file, result) {
  173. $('#demo2').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img">')
  174. $('#demo2').attr('src', result); //图片链接(base64)
  175. });
  176. }
  177. , before: function (obj) {
  178. //预读本地文件示例,不支持ie8
  179. obj.preview(function (index, file, result) {
  180. $('#demo2').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img">')
  181. });
  182. }
  183. , done: function (res) {
  184. //上传完毕
  185. }
  186. });
  187. //监听提交
  188. form.on('submit(send)', function (data) {
  189. console.log(data.field)
  190. $.ajax({
  191. url: 'save',
  192. type: 'post',
  193. async: true,
  194. data: data.field,
  195. dataType: 'json',
  196. success: function (data) {
  197. if(data == 0){
  198. var companyInp = window.parent.document.getElementById("companyInp").value;
  199. var table = parent.window.layui.table;
  200. //执行重载
  201. table.reload('tableReload', {
  202. where: {
  203. id: companyInp
  204. }
  205. }, 'data');
  206. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  207. parent.layer.close(index); //再执行关闭
  208. }
  209. },
  210. error: function (type) {
  211. }
  212. })
  213. // layer.alert(JSON.stringify(data.field), {
  214. // title: '最终的提交信息'
  215. // })
  216. return false;
  217. });
  218. // 三级联动
  219. if (!$('#currUserMsg').val()) {
  220. $.ajax({
  221. url: 'province',
  222. type: 'post',
  223. async: false,
  224. data: {},
  225. dataType: 'json',
  226. success: function (data) {
  227. var html = '<option value="">-请选择-</option>';
  228. if (data.length) {
  229. for (var i = 0; i < data.length; i++) {
  230. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  231. // form.render('select');
  232. if (i + 1 == data.length) {
  233. $('#province').html(html);
  234. form.render('select');
  235. }
  236. }
  237. }
  238. },
  239. error: function (type) {
  240. }
  241. })
  242. }
  243. // 切换省份 市区刷新
  244. form.on('select(province)', function (data) {
  245. if (data.value) {
  246. $.ajax({
  247. url: 'province',
  248. type: 'post',
  249. async: false,
  250. data: {},
  251. dataType: 'json',
  252. success: function (data) {
  253. var html = '<option value="">-请选择-</option>';
  254. if (data.length) {
  255. for (var i = 0; i < data.length; i++) {
  256. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  257. // form.render('select');
  258. if (i + 1 == data.length) {
  259. $('#city').html(html);
  260. $('#area').html('');
  261. form.render('select');
  262. }
  263. }
  264. }
  265. },
  266. error: function (type) {
  267. }
  268. })
  269. } else {
  270. $('#city').html('');
  271. $('#area').html('');
  272. form.render('select');
  273. }
  274. });
  275. // 切换市区 地区刷新
  276. form.on('select(city)', function (data) {
  277. if (data.value) {
  278. $.ajax({
  279. url: 'province',
  280. type: 'post',
  281. async: false,
  282. data: {},
  283. dataType: 'json',
  284. success: function (data) {
  285. var html = '<option value="">-请选择-</option>';
  286. if (data.length) {
  287. for (var i = 0; i < data.length; i++) {
  288. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  289. // form.render('select');
  290. if (i + 1 == data.length) {
  291. $('#area').html(html);
  292. form.render('select');
  293. }
  294. }
  295. }
  296. },
  297. error: function (type) {
  298. }
  299. })
  300. } else {
  301. $('#area').html('');
  302. form.render('select');
  303. }
  304. });
  305. // 判断是否为编辑页
  306. if ($('#currUserMsg').val()) {
  307. var currUserMsg = JSON.parse(unescape($('#currUserMsg').val()));
  308. //表单初始赋值
  309. form.val('example', {
  310. "id":currUserMsg.id
  311. ,"unit": currUserMsg.name // "name": "value"
  312. , "address": currUserMsg.address
  313. , "unitDesc": currUserMsg.unitDesc
  314. , "principal": currUserMsg.principal
  315. , "phone": currUserMsg.phone
  316. , "remarks": currUserMsg.remarks
  317. })
  318. // 请求省级列表
  319. $.ajax({
  320. url: 'province',
  321. type: 'post',
  322. async: false,
  323. data: {},
  324. dataType: 'json',
  325. success: function (data) {
  326. var html = '<option value="">-请选择-</option>';
  327. if (data.length) {
  328. for (var i = 0; i < data.length; i++) {
  329. if(data[i].id == currUserMsg.province){
  330. html += '<option selected="selected" value="' + data[i].province + '">' + data[i].province + '</option>'
  331. }else{
  332. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  333. }
  334. // form.render('select');
  335. if (i + 1 == data.length) {
  336. $('#province').html(html);
  337. form.render('select');
  338. }
  339. }
  340. }
  341. },
  342. error: function (type) {
  343. }
  344. });
  345. // 市
  346. if(currUserMsg.city){
  347. $.ajax({
  348. url: 'province',
  349. type: 'post',
  350. async: false,
  351. data: {},
  352. dataType: 'json',
  353. success: function (data) {
  354. var html = '<option value="">-请选择-</option>';
  355. if (data.length) {
  356. for (var i = 0; i < data.length; i++) {
  357. if(data[i].id == currUserMsg.city){
  358. html += '<option selected="selected" value="' + data[i].province + '">' + data[i].province + '</option>'
  359. }else{
  360. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  361. }
  362. // form.render('select');
  363. if (i + 1 == data.length) {
  364. $('#city').html(html);
  365. form.render('select');
  366. }
  367. }
  368. }
  369. },
  370. error: function (type) {
  371. }
  372. });
  373. }
  374. // 区
  375. if(currUserMsg.area){
  376. $.ajax({
  377. url: 'province',
  378. type: 'post',
  379. async: false,
  380. data: {},
  381. dataType: 'json',
  382. success: function (data) {
  383. var html = '<option value="">-请选择-</option>';
  384. if (data.length) {
  385. for (var i = 0; i < data.length; i++) {
  386. if(data[i].id == currUserMsg.area){
  387. html += '<option selected="selected" value="' + data[i].province + '">' + data[i].province + '</option>'
  388. }else{
  389. html += '<option value="' + data[i].province + '">' + data[i].province + '</option>'
  390. }
  391. // form.render('select');
  392. if (i + 1 == data.length) {
  393. $('#area').html(html);
  394. form.render('select');
  395. }
  396. }
  397. }
  398. },
  399. error: function (type) {
  400. }
  401. });
  402. }
  403. }
  404. });
  405. // (function(){
  406. // $.ajax({
  407. // url:'/province',
  408. // type:'post',
  409. // async:false,
  410. // data:{},
  411. // dataType:'json',
  412. // success:function(data){
  413. // var html = '';
  414. // if(data.length){
  415. // for(var i = 0;i<data.length;i++){
  416. // html += '<option value="'+data[i].province+'">'+data[i].province+'</option>'
  417. // }
  418. // if(i == data.length-1){
  419. // $('#province').html(html);
  420. // }
  421. // }
  422. // },
  423. // error:function(type){
  424. // }
  425. // })
  426. // $('#city').html('<option value=" ">-请选择-</option>');
  427. // form.render();
  428. // })()
  429. </script>
  430. </body>
  431. </html>