edit.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. {extend name="public/layout"/} {block name="title"}在施工地{/block} {block name="body"}
  2. <link rel="stylesheet" href="__STATIC__/css/font.css">
  3. <style>
  4. html {
  5. background: #fff;
  6. height: 100%;
  7. }
  8. .mdt30 {
  9. margin-top: 30px;
  10. }
  11. .mdt20 {
  12. margin-top: 20px;
  13. }
  14. .kgsjinput {
  15. width: 80px;
  16. height: 38px;
  17. }
  18. .ids {
  19. display: inline-block;
  20. }
  21. .mdlr10 {
  22. margin: 0 10px;
  23. }
  24. .layui-input-block input, .layui-upload-drag, .sjsselect, .layui-input:hover, .layui-textarea:hover {
  25. border: 1px solid #d8d8d8 !important;
  26. }
  27. .layui-form-label, .input::placeholder, input::-webkit-input-placeholder {
  28. color: #333;
  29. }
  30. .sjsselect {
  31. width: 100%;
  32. height: 38px;
  33. }
  34. .layui-form-box {
  35. width: 94%;
  36. margin: 0 auto;
  37. display: block;
  38. }
  39. .layuiSubmit {
  40. margin-left: 110px;
  41. padding: 0 30px !important;
  42. display: block;
  43. }
  44. .layui-input:focus, .layui-textarea:focus {
  45. border: 1px solid #333 !important;
  46. }
  47. .mdl10 {
  48. margin-left: 10px;
  49. }
  50. .layui-upload-drag {
  51. height: 32px;
  52. padding: 30px 18px;
  53. line-height: 32px;
  54. }
  55. .addImages {
  56. display: inline-block;
  57. width: 92px !important;
  58. height: 88px !important;
  59. -webkit-box-sizing: border-box;
  60. -moz-box-sizing: border-box;
  61. box-sizing: border-box;
  62. border: 1px dashed darkgray;
  63. background: #f8f8f8;
  64. position: relative;
  65. overflow: hidden;
  66. }
  67. .imageDiv div {
  68. width: 100%;
  69. height: 100%;
  70. position: absolute;
  71. top: 0px;
  72. background-color: #e6e6e600;
  73. }
  74. .imageDiv > img {
  75. height: 88px;
  76. }
  77. .imageDiv div i {
  78. display: none;
  79. font-size: 31px;
  80. position: absolute;
  81. top: 37%;
  82. left: 40%;
  83. }
  84. .imageDiv div:hover {
  85. background-color: #e6e6e680;
  86. }
  87. .imageDiv div:hover i {
  88. display: block;
  89. cursor: pointer;
  90. }
  91. .text-detail {
  92. text-align: center;
  93. line-height: 88px;
  94. }
  95. .text-detail > img {
  96. height: 88px;
  97. }
  98. .imageDiv div i {
  99. top: 0;
  100. left: 0;
  101. bottom: 0;
  102. right: 0;
  103. margin: auto;
  104. }
  105. .itmes-ico {
  106. right: 5%;
  107. top: 36%;
  108. position: absolute;
  109. }
  110. body {
  111. padding-bottom: 40px;
  112. }
  113. .relative {
  114. position: relative;
  115. }
  116. .li_active {
  117. font-weight: 700;
  118. background-color: #249EFB;
  119. color: #fff;
  120. }
  121. .noneClass {
  122. display: none !important;
  123. }
  124. .c_wordlist {
  125. width: 20px;
  126. position: absolute;
  127. right: 1px;
  128. display: flex;
  129. flex-direction: column;
  130. z-index: 99999;
  131. height: auto;
  132. justify-content: flex-start;
  133. align-items: center;
  134. box-sizing: border-box;
  135. padding: 4px 0px;
  136. overflow: hidden;
  137. max-height: 297px;
  138. -ms-overflow-style: none;
  139. /* IE 10+ */
  140. scrollbar-width: none;
  141. /* Firefox */
  142. overflow-y: scroll;
  143. background-color: #f5f5f5;
  144. }
  145. .c_wordlist::-webkit-scrollbar {
  146. display: none;
  147. /* Chrome Safari */
  148. }
  149. .c_wordlist > li {
  150. width: 20px;
  151. height: 37px;
  152. cursor: pointer;
  153. display: flex;
  154. justify-content: center;
  155. align-items: center;
  156. margin-bottom: 0px;
  157. line-height: 37px;
  158. }
  159. .wordlist {
  160. width: 20px;
  161. position: absolute;
  162. right: 1px;
  163. display: flex;
  164. flex-direction: column;
  165. z-index: 99999;
  166. height: auto;
  167. justify-content: flex-start;
  168. align-items: center;
  169. box-sizing: border-box;
  170. padding: 4px 0px;
  171. overflow: hidden;
  172. max-height: 297px;
  173. -ms-overflow-style: none;
  174. /* IE 10+ */
  175. scrollbar-width: none;
  176. /* Firefox */
  177. overflow-y: scroll;
  178. background-color: #f5f5f5;
  179. }
  180. .wordlist::-webkit-scrollbar {
  181. display: none;
  182. /* Chrome Safari */
  183. }
  184. .wordlist > li {
  185. width: 20px;
  186. height: 37px;
  187. cursor: pointer;
  188. display: flex;
  189. justify-content: center;
  190. align-items: center;
  191. margin-bottom: 0px;
  192. line-height: 37px;
  193. }
  194. .top50 {
  195. top: 43px !important;
  196. }
  197. .bottom50 {
  198. bottom: 43px !important;
  199. }
  200. dd {
  201. border-bottom: 1px solid #EFEFEF;
  202. }
  203. .layui-anim-upbit {
  204. -ms-overflow-style: none;
  205. /* IE 10+ */
  206. scrollbar-width: none;
  207. /* Firefox */
  208. overflow-y: scroll;
  209. background-color: #fff;
  210. }
  211. .layui-anim-upbit::-webkit-scrollbar {
  212. display: none;
  213. /* Chrome Safari */
  214. }
  215. input::placeholder{color:#b9b9b9 !important;}
  216. .layui-unselect i{
  217. font-size: 12px !important;
  218. line-height: 38px;
  219. color: #4e8bfd;
  220. float: right;
  221. }
  222. </style>
  223. <body>
  224. <form class="layui-form layui-form-box">
  225. <input type="hidden" name="id" value="{$id}">
  226. <div class="layui-form-item col-md5 mdt30">
  227. <label class="layui-form-label"><i style="color:red;">*</i>标题:</label>
  228. <div class="layui-input-block" style="max-width: 30%;">
  229. <input type="text" name="name" required lay-verify="required" value="{$data.name}" placeholder="请输入标题"
  230. autocomplete="off" class="layui-input">
  231. </div>
  232. </div>
  233. <div class="layui-form-item col-md5 mdt20">
  234. <label for="title" class="layui-form-label"><i style="color:red;">*</i>封面:</label>
  235. <div class="layui-input-block">
  236. <div class="layui-input-inline addImages" id="anlicoverimg">
  237. <div class="text-detail" style="width: 100%;">
  238. {if condition="empty($data.cover)"}
  239. <p>上传封面</p>
  240. {else/}
  241. <img style="width: 100%;" src="{$data.cover}" alt="">
  242. {/if}
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. <div class="layui-form-item col-md5 mdt20">
  248. <label for="title" class="layui-form-label"></label>
  249. <div><i style="color:red;margin-right: 5px;">*</i>建议上传封面图片宽高比例5:3,图片大小不超过1M</div>
  250. </div>
  251. <div class="layui-form-item col-md5 mdt20">
  252. <label for="title" class="layui-form-label">分享封面:</label>
  253. <div class="layui-input-block">
  254. <div class="layui-input-inline addImages" id="cover-share-img">
  255. <div class="text-detail" style="width: 100%;">
  256. {if $data.cover_share_img}
  257. <img style="width: 100%;" src="{$data.cover_share_img}" alt="">
  258. {else/}
  259. <p>上传封面</p>
  260. {/if}
  261. </div>
  262. </div>
  263. </div>
  264. </div>
  265. <div class="layui-form-item col-md5 mdt20">
  266. <label for="title" class="layui-form-label"></label>
  267. <div><i style="color:red;margin-right: 5px;">*</i>建议上传封面图片宽高比例5:4,图片大小不超过1M</div>
  268. </div>
  269. <div class="layui-form-item col-md5 mdt20">
  270. <label class="layui-form-label"><i style="color:red;">*</i>小区名称:</label>
  271. <div class="layui-input-block relative" id="box212" style="max-width: 30%;">
  272. <select name="community_id" lay-filter="community" id="community_id" class="sjsselect" lay-search>
  273. <option value="">请选择小区</option>
  274. {notempty name="communities"}
  275. {volist name='communities.arr' id='vo'}
  276. <option data-py="{$vo.s}" value="{$vo.id}" {if condition="$data.community_id eq $vo.id"}selected{/if}>{$vo.name}</option>
  277. {/volist}
  278. {/notempty}
  279. </select>
  280. <ul class="c_wordlist noneClass">
  281. {notempty name="communities"}
  282. {volist name="communities.sort" id="vo"}
  283. <li data-py="{$vo}">{$vo}</li>
  284. {/volist}
  285. {/notempty}
  286. </ul>
  287. </div>
  288. </div>
  289. <div class="layui-form-item col-md5 mdt20">
  290. <label class="layui-form-label"><i style="color:red;">*</i>开工时间:</label>
  291. <div class="layui-input-block" style="max-width: 30%;position: relative;">
  292. <input type="text" name="start_time" class="layui-input" value="{$data.start_time}" required
  293. autocomplete="off" id="test11" placeholder="请选择开工时间">
  294. <i class="fa fa-clock-o itmes-ico" aria-hidden="true"></i>
  295. </div>
  296. </div>
  297. <div class="layui-form-item col-md5 mdt20">
  298. <label class="layui-form-label"><i style="color:red;">*</i>房屋户型:</label>
  299. <div class="layui-input-block" style="max-width: 30%;">
  300. <select name="housetype_id" lay-filter="type" id="housetype_id" class="sjsselect">
  301. <option value="" class="none">请选择房屋户型</option>
  302. {volist name='housetype' id='vo'}
  303. <option value="{$vo.id}" {if condition="$data.housetype_id eq $vo.id"}selected{/if}>{$vo.name}</option>
  304. {/volist}
  305. </select>
  306. </div>
  307. <input type="hidden" name="housetype_type" value="{$data.housetype_type}" id="housetype_type">
  308. </div>
  309. <div class="layui-form-item col-md5 mdt20">
  310. <label class="layui-form-label">面积:</label>
  311. <div class="layui-input-block" style="max-width: 30%;">
  312. <input type="text" name="area" value="{$data.area}" maxlength="5"
  313. placeholder="请输入面积" autocomplete="off" class="layui-input" onkeyup="value=zhzs(this.value)">
  314. </div>
  315. </div>
  316. <div class="layui-form-item col-md5 mdt20">
  317. <label class="layui-form-label">设计师:</label>
  318. <div class="layui-input-block relative" id="box313" style="max-width: 30%;">
  319. <select name="designer_id" lay-verify="" id="designer" class="sjsselect" lay-search>
  320. <option value=''>请选择设计师</option>
  321. {notempty name="designer"}
  322. {volist name='designer.arr' id='vo'}
  323. <option data-py="{$vo.s}" value="{$vo.id}" {if condition="$data.designer_id eq $vo.id"}selected{/if}>{$vo.name}</option>
  324. {/volist}
  325. {/notempty}
  326. </select>
  327. <ul class="wordlist noneClass">
  328. {notempty name="designer"}
  329. {volist name="designer.sort" id="vo"}
  330. <li data-py="{$vo}">{$vo}</li>
  331. {/volist}
  332. {/notempty}
  333. </ul>
  334. </div>
  335. </div>
  336. <div class="layui-form-item col-md5 mdt20">
  337. <label class="layui-form-label">装修风格:</label>
  338. <div class="layui-input-block" style="max-width: 30%;">
  339. <select name="style_id" lay-verify="style" id="style" class="sjsselect">
  340. <option value=''>请选择装修风格</option>
  341. {volist name='style' id='vo'}
  342. <option value="{$vo.id}" {if condition="$data.style_id eq $vo.id"}selected{/if}>{$vo.name}</option>
  343. {/volist}
  344. </select>
  345. </div>
  346. </div>
  347. <div class="layui-form-item" style="clear:both;">
  348. <label class="layui-form-label">推荐</label>
  349. <div class="layui-input-block">
  350. <input type="checkbox" name="recommend" title="" lay-skin="primary" {if condition="$data.recommend"}checked{/if}>
  351. </div>
  352. </div>
  353. <button class="layui-btn mdt20 layui-btn-normal layuiSubmit" lay-submit lay-filter="layuiadmin-anli-submit"
  354. id="layuiadmin-anli-submit">保存
  355. </button>
  356. </form>
  357. </body>
  358. {/block} {block name="js"}
  359. <script type="text/javascript" src="__STATIC__/js/plupload/js/plupload.full.min.js"></script>
  360. <script type="text/javascript" src="__STATIC__/js/plupload/ossupload.js"></script>
  361. <script type="text/javascript">
  362. //转化正整数
  363. function zhzs(value) {
  364. value = value.replace(/[^\d]/g, '');
  365. if ('' != value) {
  366. value = parseInt(value);
  367. }
  368. return value;
  369. }
  370. </script>
  371. <script>
  372. layui.config({
  373. base: '__LAYUI__/',
  374. urlbase: '/sys'
  375. }).extend({
  376. index: 'lib/index' //主入口模块
  377. }).use(['index', 'form', 'table', 'laydate', 'upload'], function () {
  378. var $ = layui.$,
  379. form = layui.form,
  380. laydate = layui.laydate,
  381. upload = layui.upload,
  382. table = layui.table;
  383. laydate.render({
  384. elem: '#test11'
  385. , format: 'yyyy-MM-dd',
  386. trigger: 'click'
  387. });
  388. // for (var i = 0; i < $('#style').find("option").length; i++) {
  389. // if ($('#style').find("option").eq(i).val() == "{$data.style_id}") {
  390. // $('#style').find('option').eq(i).attr("selected", "true");
  391. // }
  392. // }
  393. // for (var j = 0; j < $('#designer').find("option").length; j++) {
  394. // if ($('#designer').find("option").eq(j).val() == "{$data.designer_id}") {
  395. // $('#designer').find('option').eq(j).attr("selected", "true");
  396. // }
  397. // }
  398. // for (var i = 0; i < $('#community_id').find("option").length; i++) {
  399. // if ($('#community_id').find("option").eq(i).val() == "{$data.community_id}") {
  400. // $('#community_id').find('option').eq(i).attr("selected", "true");
  401. // }
  402. // }
  403. // for (var j = 0; j < $('#housetype_id').find("option").length; j++) {
  404. // if ($('#housetype_id').find("option").eq(j).val() == "{$data.housetype_id}") {
  405. // $('#housetype_id').find('option').eq(j).attr("selected", "true");
  406. // }
  407. // }
  408. // form.render("select");
  409. //封面图
  410. upload.render({
  411. elem: '#anlicoverimg',
  412. accept: 'images',
  413. url: '/upload/',
  414. exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
  415. field: 'cover',
  416. size: 1 * 1024,
  417. auto: false,
  418. choose: function (obj) {
  419. files = obj.pushFile();
  420. length = $('.imageDiv').length;
  421. obj.preview(function (index, file, result) {
  422. length++;
  423. if (length > 9) {
  424. if (length == 10) layer.msg('限制九张图片以下', {time: 1000});
  425. delete files[index];
  426. } else {
  427. $('#anlicoverimg').html('<div class="imageDiv" data-id="' + index + '"><img src="' + result + '" alt="' + file.name + '" class="layui-upload-img" width="100%" height="88px"><div class="iconwrapper"></div></div>');
  428. var idom = document.createElement('i');
  429. idom.classList.add("layui-icon", "layui-icon-delete");
  430. idom.addEventListener("click", function (e) {
  431. e.stopPropagation();
  432. var that = this;
  433. layer.confirm('确定删除该图片么?', function (index) {
  434. var imgDiv = $(that).closest('.imageDiv');
  435. if (id = imgDiv.data('id')) {
  436. delete files[id];
  437. }
  438. imgDiv.remove();
  439. $('#anlicoverimg').html('<div class="text-detail"><p>上传封面</p></div>');
  440. layer.close(index);
  441. });
  442. });
  443. $('.iconwrapper').append(idom);
  444. }
  445. });
  446. }
  447. });
  448. //封面图
  449. upload.render({
  450. elem: '#cover-share-img',
  451. accept: 'images',
  452. url: '{:url("fileupload")}',
  453. exts: 'jpg|png|bmp|jpeg|JPG|PNG|BMP|JPEG',
  454. field: 'cover_share_img',
  455. size: 1 * 1024,
  456. auto: false,
  457. choose: function (obj) {
  458. files = obj.pushFile();
  459. obj.preview(function (index, file, result) {
  460. $('#cover-share-img').html('<div class="imageDiv" data-id="' + index + '"><img src="' + result + '" alt="' + file.name + '" class="layui-upload-img" width="100%" height="88px"><div class="iconwrapper"></div></div>');
  461. var idom = document.createElement('i');
  462. idom.classList.add("layui-icon", "layui-icon-delete");
  463. idom.addEventListener("click", function (e) {
  464. e.stopPropagation();
  465. var that = this;
  466. layer.confirm('确定删除该图片么?', function (index) {
  467. var imgDiv = $(that).closest('.imageDiv');
  468. if (id = imgDiv.data('id')) {
  469. delete files[id];
  470. }
  471. imgDiv.remove();
  472. $('#cover-share-img').html('<div class="text-detail"><p>上传封面</p></div>');
  473. layer.close(index);
  474. });
  475. });
  476. $('.iconwrapper').append(idom);
  477. imgurls = file.name;
  478. });
  479. }
  480. });
  481. /*-------------------------------------------*/
  482. $(document).click((e) => {
  483. let c_element = $('#community_id').next();
  484. if (c_element[0].className.indexOf('layui-form-selected') < 0) {
  485. $('.c_wordlist').addClass('noneClass');
  486. }
  487. let designer = $('#designer').next();
  488. if (designer[0].className.indexOf('layui-form-selected') < 0) {
  489. $('.wordlist').addClass('noneClass');
  490. }
  491. })
  492. $('dd').click(() => {
  493. $('.c_wordlist').addClass('noneClass');
  494. $('.wordlist').addClass('noneClass');
  495. })
  496. $('#box212').click(() => {
  497. let selectUp = $('.layui-form-selectup');
  498. $('.c_wordlist').toggleClass('noneClass');
  499. if (selectUp.length) {
  500. $('.c_wordlist').removeClass('top50');
  501. $('.c_wordlist').addClass('bottom50');
  502. return;
  503. } else {
  504. $('.c_wordlist').removeClass('bottom50');
  505. $('.c_wordlist').addClass('top50');
  506. }
  507. })
  508. let xqElement = $('.layui-anim-upbit')[0];
  509. xqElement.classList.add('xqElement');
  510. let options = [];
  511. let xqDatalist = $('#community_id').children();
  512. for (let i = 0; i < xqDatalist.length; i++) {
  513. if (xqDatalist[i].dataset.py) {
  514. options.push(xqDatalist[i].dataset.py)
  515. }
  516. }
  517. $('.c_wordlist').click((e) => {
  518. if (e.target.localName != 'li') {
  519. e.stopPropagation();
  520. return;
  521. }
  522. let index = 0;
  523. let curWord = e.target.dataset.py;
  524. let lilist = $('.c_wordlist').children();
  525. for (let i = 0; i < lilist.length; i++) {
  526. lilist[i].className = '';
  527. }
  528. if (parseInt(curWord) != NaN) {
  529. let word1 = curWord.toLowerCase();
  530. index = options.indexOf(word1)
  531. } else {
  532. index = options.indexOf(curWord)
  533. }
  534. setTimeout(() => {
  535. e.target.className = 'li_active';
  536. let num = index * 37 + 37;
  537. $('.xqElement').scrollTop(num);
  538. }, 50)
  539. e.stopPropagation();
  540. })
  541. $('#box313').click(() => {
  542. let selectUp = $('.layui-form-selectup');
  543. $('.wordlist').toggleClass('noneClass');
  544. if (selectUp.length) {
  545. $('.wordlist').removeClass('top50');
  546. $('.wordlist').addClass('bottom50');
  547. return;
  548. } else {
  549. $('.wordlist').removeClass('bottom50');
  550. $('.wordlist').addClass('top50');
  551. }
  552. })
  553. let sjsElement = $('.layui-anim-upbit')[2];
  554. sjsElement.classList.add('sjsElement');
  555. let sjsOptions = [];
  556. let sjsDatalist = $('#designer').children();
  557. for (let i = 0; i < sjsDatalist.length; i++) {
  558. if (sjsDatalist[i].dataset.py) {
  559. sjsOptions.push(sjsDatalist[i].dataset.py.toLowerCase())
  560. }
  561. }
  562. $('.wordlist').click((e) => {
  563. if (e.target.localName != 'li') {
  564. e.stopPropagation();
  565. return;
  566. }
  567. let index = 0;
  568. let curWord = e.target.dataset.py;
  569. let lilist = $('.wordlist').children();
  570. for (let i = 0; i < lilist.length; i++) {
  571. lilist[i].className = '';
  572. }
  573. if (parseInt(curWord) != NaN) {
  574. let word1 = curWord.toLowerCase();
  575. index = sjsOptions.indexOf(word1)
  576. } else {
  577. index = sjsOptions.indexOf(curWord)
  578. }
  579. setTimeout(() => {
  580. e.target.className = 'li_active';
  581. let num = index * 37 + 37;
  582. $('.sjsElement').scrollTop(num);
  583. }, 50)
  584. e.stopPropagation();
  585. })
  586. $('.layui-select-title input').on('input',function(e) {
  587. if (e.target.placeholder == '请选择小区') {
  588. let val = $(this).val();
  589. if (!val) {
  590. $('.c_wordlist').removeClass('noneClass');
  591. return;
  592. }
  593. $('.c_wordlist').addClass('noneClass');
  594. }
  595. })
  596. /*------------------------------------------*/
  597. //添加保存
  598. form.on('submit(layuiadmin-anli-submit)', function (data) {
  599. if ($('#anlicoverimg img').attr('src') == "" || $('#anlicoverimg img').attr('src') == null || $('#anlicoverimg img').attr('src') == undefined) {
  600. layer.msg('请选择封面图', {anim: 0, time: 1000, icon: 5});
  601. return false;
  602. }
  603. if (data.field.community_id == '') {
  604. layer.msg('请选择 小区名称', { anim: 0, time: 1000, icon: 5 });
  605. return false;
  606. }
  607. if (data.field.start_time == "" || data.field.start_time == null || data.field.start_time == undefined) {
  608. layer.msg('请选择 开工时间', { anim: 0, time: 1000, icon: 5 });
  609. return false;
  610. }
  611. if (data.field.housetype_id == '') {
  612. layer.msg('请选择 房屋户型', { anim: 0, time: 1000, icon: 5 });
  613. return false;
  614. }
  615. var formData = new FormData(data.form);
  616. //单击之后提交按钮不可选,防止重复提交
  617. var DISABLED = 'layui-btn-disabled';
  618. var target = '#layuiadmin-anli-submit';
  619. $(target).addClass(DISABLED);
  620. $(target).attr('disabled', 'disabled');
  621. $.ajax({
  622. url: '{:url("construction/edit")}',
  623. type: 'post',
  624. data: formData,
  625. dataType: 'json',
  626. processData: false,
  627. contentType: false,
  628. success: function (res) {
  629. $(target).removeClass(DISABLED);
  630. $(target).removeAttr('disabled');
  631. if (res.code === 0) {
  632. layer.msg(res.msg, {
  633. anim: 0, time: 1000, icon: 6,
  634. }, function () {
  635. var adding = $("input[name='adding']").is(":checked");
  636. if (adding) {
  637. location.href = "{:url('construction/index')}";
  638. } else {
  639. var index = parent.layer.getFrameIndex(window.name);
  640. parent.layui.table.reload('company-activity'); //重载表格
  641. parent.layer.close(index); //再执行关闭
  642. }
  643. });
  644. } else {
  645. layer.msg(res.msg, {anim: 0, time: 1000, icon: 5});
  646. }
  647. },
  648. error: function (e) {
  649. $(target).removeClass(DISABLED);
  650. $(target).removeAttr('disabled');
  651. }
  652. });
  653. return false;
  654. });
  655. function getHousetype(community_id){
  656. $.post('{:url("building/housetype")}', {community_id}, function(res){
  657. if(res.code == 1) return;
  658. let btn = $('#housetype_id').find('.none');
  659. $('#housetype_id').find('option').each(function(i, v){
  660. if($(v).data('type') == 'housetype') $(v).remove();
  661. });
  662. let a = [];
  663. console.log('{$data.housetype_type}');
  664. console.log(Number('{$data.housetype_id}'));
  665. $.each(res.data, function(i,item){console.log(item.id);
  666. a.push(item.id);
  667. if ('building_housetype' == '{$data.housetype_type}' && Number('{$data.housetype_id}') == item.id) {
  668. btn.after('<option value="'+item.id+'" data-type="housetype" selected>'+item.housetype+'</option>');
  669. } else {
  670. btn.after('<option value="'+item.id+'" data-type="housetype">'+item.housetype+'</option>');
  671. }
  672. });
  673. form.render('select');
  674. let d = $('#housetype_id').next();
  675. d.find('dd').each(function(i, v){
  676. let val = Number($(v).attr('lay-value'));
  677. if (a.indexOf(Number(val)) != -1) {
  678. $(v).append('<i class="layui-icon layui-icon-link"></i>');
  679. }
  680. });
  681. })
  682. }
  683. form.on('select(community)', function (data) {
  684. getHousetype(data.value);
  685. })
  686. form.on('select(type)',function(data){
  687. let v = data.value;
  688. $(data.elem).find('option').each(function(i,item){
  689. if($(item).val() == v){
  690. let t = $(item).data('type');
  691. if(t == 'housetype') {
  692. $('#housetype_type').val('building_housetype');
  693. }else{
  694. $('#housetype_type').val('housetype');
  695. }
  696. }
  697. });
  698. })
  699. getHousetype('{$data.community_id}');
  700. });
  701. </script>
  702. {/block}