1
0

add.html 21 KB

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