pending_invite.html 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>逸管FEP</title>
  7. <link rel="stylesheet" href="{__MOBILE__}/css/base.css">
  8. <link rel="stylesheet" href="{__MOBILE__}/css/pending.css">
  9. <link rel="stylesheet" href="{__MOBILE__}/layui/css/layui.css">
  10. <link rel="stylesheet" href="{__MOBILE__}/layui-v2.8.18-rc.1/layui-v2.8.18-rc.1/layui/css/layui.css">
  11. <style>
  12. .footer_icon1 {
  13. background-image: url('{__MOBILE__}/img/first.png') !important;
  14. }
  15. .footer_icon2 {
  16. background-image: url('{__MOBILE__}/img/second.png') !important;
  17. }
  18. .footer_icon3 {
  19. background-image: url('{__MOBILE__}/img/third-a.png') !important;
  20. }
  21. .footer_icon4 {
  22. background-image: url('{__MOBILE__}/img/forth.png') !important;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <!-- <div class="top">
  28. <span><img src="{__MOBILE__}/img/left.png" alt="" style="width: 5vw;"></span><span>待处理</span><span></span>
  29. </div> -->
  30. <div class="pending">
  31. <div class="layui-tab layui-tab-brief">
  32. <ul class="layui-tab-title">
  33. <a href="{:url('mobile/index/pending')}">
  34. <li>待审项目&nbsp;<span class="dot-img">{if $red}<img src="{__MOBILE__}/img/dot.png" alt=""
  35. style="width: 1.2vh;">{/if}</span></li>
  36. </a>
  37. {if $unit_type != 1}
  38. <a href="{:url('mobile/index/pending_invite')}" >
  39. <li class="layui-this">待审请款&nbsp;<span class="dot-img">{if $app_red}<img src="{__MOBILE__}/img/dot.png" alt=""
  40. style="width: 1.2vh;">{/if}</span>
  41. </li>
  42. </a>
  43. {/if}
  44. <a href="{:url('mobile/index/pending_advent')}">
  45. <li>临期</li>
  46. </a>
  47. <a href="{:url('mobile/index/pending_late')}">
  48. <li>逾期</li>
  49. </a>
  50. </ul>
  51. {if $unit_type == 2}
  52. <div class="layui-tab-content">
  53. <div class="layui-tab-item layui-show">
  54. <div class="kan-sreach">
  55. <form id="taskForm" class="layui-form" lay-filter="barsearchform">
  56. <div class="layui-input-wrap" style="display: flex;">
  57. <input type="text" name="invite_keyword" lay-filter="invite_keyword" placeholder="搜索…"
  58. class="layui-input">
  59. <span><button lay-submit="" lay-filter="invite_search"><img
  60. src="{__MOBILE__}/img/search.png" alt=""
  61. style="height: 5vw;"></button></span>
  62. </div>
  63. </form>
  64. <!--<div class="kan-sift"><span id="btn">筛选</span><span><img src="{__MOBILE__}/img/sift.png"-->
  65. <!-- alt=""></span>-->
  66. <!--</div>-->
  67. </div>
  68. <div style="margin-bottom: 18vw;">
  69. {volist name="list" id="vo"}
  70. <div class="pending-item">
  71. <div class="pending-top">
  72. <span style="font-size: 4vw;"><b>{$vo.project_name}</b></span>
  73. {if $vo.audit_status==1}
  74. {in name="$vo.audit_type" value="10,11,12"}
  75. <a href="{:url('mobile/index/read_company')}?id={$vo.id}&project_id={$vo.project_id}&type={$vo.audit_type}">
  76. <span style="display: flex;align-items: center;font-size: 3.5vw;color: #187FDD;">
  77. <span><b>查看详情</b></span>
  78. <span><img src="{__MOBILE__}/img/right.png" alt=""
  79. style="width: 4vw;height: 3.5vw;"></span>
  80. </span>
  81. </a>
  82. {/in}
  83. {/if}
  84. </div>
  85. <div class="pending-content">项目编号:{$vo.project_num}</div>
  86. <div class="pending-content content">
  87. <span>
  88. 审批状态:
  89. <span style="margin-left: -1vw;font-weight:600;">
  90. {switch $vo.audit_status}
  91. {case 1}<span style="color: #ea8816">未审核</span>{/case}
  92. {case 2}<span style="color: #16b777">已通过</span>{/case}
  93. {case 3}<span style="color: #d81e06">已拒绝</span>{/case}
  94. {default /}未知
  95. {/switch}
  96. </span>
  97. </span>
  98. <span>当前审核:{$vo.audit_name}</span>
  99. </div>
  100. <div class="pending-content"
  101. style="display: flex;justify-content: space-between;align-items: center;">
  102. <span style="color: darkgray;"><b>{$vo.create_time}</b></span>
  103. <span class="pending-button">
  104. <form class="layui-form" lay-filter="barsearchform">
  105. <input type="hidden" name="id" value="{$vo.id}"/>
  106. <input type="hidden" name="else_id" value="{$vo.else_id}"/>
  107. <input type="hidden" name="else_name" value="{$vo.else_name}"/>
  108. <input type="hidden" name="audit_type" value="{$vo.audit_type}"/>
  109. <input type="hidden" name="project_id" value="{$vo.project_id}"/>
  110. <input type="hidden" name="project_status" value="{$vo.project_status}"/>
  111. {if isset($vo["else_status"])}
  112. <input type="hidden" name="else_status" value="{$vo.else_status}"/>
  113. {/if}
  114. {if $vo.audit_status==1}
  115. <button type="button" class="layui-btn layui-btn-normal " lay-submit
  116. lay-filter="agree_company"
  117. style="background-color:rgb(146,208,80);">通过</button>
  118. <button type="button" class="layui-btn layui-bg-red layui-btn-normal" lay-submit
  119. lay-filter="disagree_company">拒绝</button>
  120. {else}
  121. <button type="button" class="layui-btn layui-btn-normal chakan"><a
  122. href="{:url('mobile/index/read_company')}?id={$vo.id}&project_id={$vo.project_id}&type={$vo.audit_type}"
  123. style="color: #fff;">查看</a></button>
  124. {/if}
  125. </form>
  126. </span>
  127. </div>
  128. </div>
  129. {/volist}
  130. </div>
  131. <!-- <div>
  132. 页面里的内容 <button id="btn">展示弹窗</button>
  133. </div> -->
  134. <div class="mask" id="mask"></div>
  135. <div class="dialog" id="dialog">
  136. <div class="sift">
  137. <div class="sift-top" style="margin-bottom: 2vw;">
  138. <b>项目状态</b>
  139. </div>
  140. <form class="layui-form" action="">
  141. <div class="layui-form-item">
  142. <div class="layui-input-block">
  143. <input type="radio" name="project_status" value="2" title="审批中"
  144. class="sift-state">
  145. <input type="radio" name="project_status" value="3" title="待接收"
  146. class="sift-state">
  147. <input type="radio" name="project_status" value="4" title="分配中"
  148. class="sift-state">
  149. <input type="radio" name="project_status" value="5" title="作业中"
  150. class="sift-state">
  151. <input type="radio" name="project_status" value="6" title="归档中"
  152. class="sift-state">
  153. <input type="radio" name="project_status" value="7" title="退审中"
  154. class="sift-state">
  155. <input type="radio" name="project_status" value="8" title="已归档"
  156. class="sift-state">
  157. <input type="radio" name="project_status" value="9" title="已退审"
  158. class="sift-state">
  159. </div>
  160. </div>
  161. <div class="layui-form-item">
  162. <div class="sift-bottom">
  163. <div class="layui-input-block">
  164. <button type="button" class="layui-btn" lay-submit lay-filter="demo1"
  165. style="padding: 0;">立即提交
  166. </button>
  167. <!-- <button type="reset" class="layui-btn layui-btn-primary">重置</button> -->
  168. </div>
  169. </div>
  170. </div>
  171. </form>
  172. </div>
  173. </div>
  174. </div>
  175. </div>
  176. {else}
  177. <div class="layui-tab-content">
  178. <div class="layui-tab-item layui-show">
  179. <div class="kan-sreach">
  180. <form id="taskForm" class="layui-form" lay-filter="barsearchform">
  181. <div class="layui-input-wrap" style="display: flex;">
  182. <input type="text" name="invite_keyword" lay-filter="invite_keyword" placeholder="搜索…"
  183. class="layui-input">
  184. <span><button lay-submit="" lay-filter="invite_search"><img
  185. src="{__MOBILE__}/img/search.png" alt=""
  186. style="height: 2.7vh;"></button></span>
  187. </div>
  188. </form>
  189. </div>
  190. {if $unit_type != 1}
  191. <div style="margin-bottom: 18vw;">
  192. {volist name="list" id="vo"}
  193. <div class="pending-item">
  194. <div class="pending-content" id="project_name_box">
  195. <span>
  196. 相关项目:{volist name="$vo.project_names" id="vname"}
  197. {$vname}
  198. {/volist}
  199. </span>
  200. </div>
  201. <div class="pending-content content">
  202. <span>发起人:{$vo.maker_name}</span>
  203. <span>
  204. 请款状态:
  205. <span style="margin-left: -1vw;font-weight:600;">
  206. {switch $vo.status}
  207. {case 0}<span style="color: #ea8816">立项中</span>{/case}
  208. {case 1}<span style="color: #ea8816">待审核</span>{/case}
  209. {case 2}<span style="color: #16b777">已通过</span>{/case}
  210. {case 3}<span style="color: #d81e06">已驳回</span>{/case}
  211. {case -1}<span style="color: #d81e06">立项审核中</span>{/case}
  212. {case -2}<span style="color: #d81e06">立项未通过</span>{/case}
  213. {default /}未知
  214. {/switch}
  215. </span>
  216. </span>
  217. </div>
  218. <div class="pending-content content">
  219. <span>请款金额:{$vo.appropriation_amount}元</span>
  220. </div>
  221. <div class="pending-content content">
  222. <span style="width:100%;">送审单位:{$vo.review_unit_name}</span>
  223. </div>
  224. <div class="pending-content"
  225. style="display: flex;justify-content: space-between;align-items: center;">
  226. <span style="color: darkgray;"><b>2024-01-09</b></span>
  227. <span class="pending-button">
  228. {if $vo.status==1}
  229. <form class="layui-form" lay-filter="barsearchform">
  230. <input type="hidden" hidden name="id" value="{$vo.id}">
  231. <input type="hidden" hidden name="invoicing_num"
  232. value="{$vo.invoicing_num}">
  233. <input type="hidden" hidden name="invoicing_amount"
  234. value="{$vo.invoicing_amount}">
  235. <input type="hidden" hidden name="invoice_type" value="{$vo.invoice_type}">
  236. <button type="button" class="layui-btn layui-btn-normal chakan"><a
  237. href="{:url('mobile/index/read_company')}?id={$vo.id}&project_id={$vo.id}&type=10"
  238. style="color: #fff;">查看</a></button>
  239. <button type="button" class="layui-btn layui-btn-normal " lay-submit
  240. lay-filter="agree"
  241. style="background-color:rgb(146,208,80);">通过</button>
  242. <button type="button" class="layui-btn layui-bg-red layui-btn-normal"
  243. lay-submit
  244. lay-filter="disagree">拒绝</button>
  245. </form>
  246. {else}
  247. <button type="button" class="layui-btn layui-btn-normal chakan"><a
  248. href="{:url('mobile/index/read_company')}?id={$vo.id}&project_id={$vo.id}&type=10"
  249. style="color: #fff;">查看</a></button>
  250. {/if}
  251. </span>
  252. </div>
  253. </div>
  254. {/volist}
  255. </div>
  256. {/if}
  257. </div>
  258. <div class="layui-tab-item"></div>
  259. <div class="layui-tab-item"></div>
  260. <div>
  261. <!-- <div>
  262. 页面里的内容 <button id="btn">展示弹窗</button>
  263. </div> -->
  264. </div>
  265. </div>
  266. {/if}
  267. </div>
  268. </div>
  269. <div class="footer">
  270. <div class="footer_ge">
  271. <a href="{:url('mobile/index/main')}" title="首页">
  272. <div class="dot">
  273. <div>
  274. <div class="footer_icon footer_icon1"></div>
  275. <div>首页</div>
  276. </div>
  277. <div class="dot-img">
  278. <!--<img src="{__MOBILE__}/img/dot.png" alt="" style="width: 1.2vh;">-->
  279. </div>
  280. </div>
  281. </a>
  282. </div>
  283. <div class="footer_ge">
  284. <a href="{:url('mobile/index/kan_list')}" title="看板">
  285. <div class="dot">
  286. <div>
  287. <div class="footer_icon footer_icon2"></div>
  288. <div>看板</div>
  289. </div>
  290. <div class="dot-img">
  291. {if $red_kan} <img src="{__MOBILE__}/img/dot.png" alt="" style="width: 1.2vh;"> {/if}
  292. </div>
  293. </div>
  294. </a>
  295. </div>
  296. <div class="footer_ge">
  297. <a href="{:url('mobile/index/pending')}" title="待处理" style="color: #187FDD;">
  298. <div class="dot">
  299. <div>
  300. <div class="footer_icon footer_icon3"></div>
  301. <div>待处理</div>
  302. </div>
  303. <div class="dot-img">
  304. {if $red} <img src="{__MOBILE__}/img/dot.png" alt="" style="width: 1.2vh;margin-left: -4.5vw;">{/if}
  305. </div>
  306. </div>
  307. </a>
  308. </div>
  309. <div class="footer_ge">
  310. <a href="{:url('mobile/index/person')}" title="我的">
  311. <div class="dot">
  312. <div>
  313. <div class="footer_icon footer_icon4"></div>
  314. <div>我的</div>
  315. </div>
  316. <div class="dot-img">
  317. <!-- <img src="{__MOBILE__}/img/dot.png" alt="" style="width: 1.2vh;"> -->
  318. </div>
  319. </div>
  320. </a>
  321. </div>
  322. </div>
  323. <script src="{__MOBILE__}/layui-v2.8.18-rc.1/layui-v2.8.18-rc.1/layui/layui.js"></script>
  324. <script src="{__MOBILE__}/js/jquery-3.4.1.min.js"></script>
  325. <script>
  326. layui.use(function () {
  327. var form = layui.form, layer = layui.layer;
  328. // form.on('submit(list_search)', function (data) {
  329. // console.log(data.field);
  330. // const host = window.location.host;
  331. // window.location.href = ' https://' + host + '/mobile/index/pending?list_keyword=' + data.field['list_keyword'];
  332. // return false;
  333. // });
  334. form.on('submit(invite_search)', function (data) {
  335. console.log(data.field);
  336. const host = window.location.host;
  337. window.location.href = ' https://' + host + '/mobile/index/pending_invite?invite_keyword=' + data.field['invite_keyword'];
  338. return false;
  339. });
  340. // form.on('submit(advent_list)', function (data) {
  341. // console.log(data.field);
  342. // const host = window.location.host;
  343. // window.location.href = ' https://' + host + '/mobile/index/pending?advent_keyword=' + data.field['advent_keyword'];
  344. // return false;
  345. // });
  346. // form.on('submit(late_list)', function (data) {
  347. // console.log(data.field);
  348. // const host = window.location.host;
  349. // window.location.href = ' https://' + host + '/mobile/index/pending?late_keyword=' + data.field['late_keyword'];
  350. // return false;
  351. // });
  352. let tool = {
  353. ajax: function (options, callback) {
  354. var format = 'json';
  355. if (options.hasOwnProperty('data')) {
  356. format = options.data.hasOwnProperty('format') ? options.data.format : 'json';
  357. }
  358. callback = callback || options.success;
  359. callback && delete options.success;
  360. var optsetting = {timeout: 10000};
  361. if (format == 'jsonp') {
  362. optsetting = {timeout: 10000, dataType: 'jsonp', jsonp: 'callback'}
  363. }
  364. var opts = $.extend({}, optsetting, {
  365. success: function (res) {
  366. if (callback && typeof callback === 'function') {
  367. callback(res);
  368. }
  369. }
  370. }, options);
  371. $.ajax(opts);
  372. },
  373. post: function (url, data, callback) {
  374. this.ajax({
  375. url: url,
  376. type: "POST",
  377. data: data
  378. }, callback);
  379. },
  380. }
  381. let a = 0;
  382. form.on('submit(agree_company)', function (d) {
  383. layer.confirm("确认是否审批通过?", function (index) {
  384. let data = d.field;
  385. if (a == 0) {
  386. let callback = function (e) {
  387. a = 0
  388. select_Data = []
  389. layer.msg(e.msg);
  390. setTimeout(function () {
  391. window.location.reload()
  392. layer.close(index);
  393. }, 2000)
  394. }
  395. if (data.audit_type == 10) {
  396. $.ajax({
  397. url: "/admin/project.audit/appropriation_agree_first",
  398. data: {
  399. id: data.id,
  400. else_name: data.else_name,
  401. else_id: data.else_id,
  402. audit_type: data.audit_type,
  403. project_id: data.project_id,
  404. project_status: data.project_status,
  405. },
  406. type: 'post',
  407. success: function (res) {
  408. callback(res);
  409. }
  410. })
  411. } else if (data.audit_type == 11) {
  412. $.ajax({
  413. url: "/admin/project.audit/appropriation_agree_second",
  414. data: {
  415. id: data.id,
  416. else_name: data.else_name,
  417. else_id: data.else_id,
  418. audit_type: data.audit_type,
  419. project_id: data.project_id,
  420. project_status: data.project_status,
  421. },
  422. type: 'post',
  423. success: function (res) {
  424. callback(res);
  425. }
  426. })
  427. //请款二审
  428. } else if (data.audit_type == 12) {
  429. $.ajax({
  430. url: "/admin/project.audit/appropriation_agree_third",
  431. data: {
  432. id: data.id,
  433. else_name: data.else_name,
  434. else_id: data.else_id,
  435. audit_type: data.audit_type,
  436. project_id: data.project_id,
  437. project_status: data.project_status,
  438. },
  439. type: 'post',
  440. success: function (res) {
  441. callback(res);
  442. }
  443. })
  444. //请款三审
  445. } else {
  446. layer.alert("意外问题,请联系管理员")
  447. }
  448. }
  449. a = 0;
  450. }, function () {
  451. a = 0
  452. })
  453. return false;
  454. });
  455. form.on('submit(disagree_company)', function (d) {
  456. let data = d.field;
  457. if (a == 0) {
  458. var ttxx = layer.prompt({
  459. title: '请输入<span style="color: red">拒绝</span>原因',
  460. formType: 2,
  461. area: ['75vw', '25vw']
  462. }, function (text, index) {
  463. if (text == '') {
  464. layer.msg('请先完善拒绝原因');
  465. return false;
  466. } else {
  467. let callback = function (e) {
  468. layer.msg(e.msg);
  469. setTimeout(function () {
  470. window.location.reload()
  471. layer.close(index);
  472. }, 2000)
  473. }
  474. if (data.audit_type == 10) {
  475. //请款一审
  476. $.ajax({
  477. url: "/admin/project.audit/appropriation_disagree_first",
  478. data: {
  479. id: data.id,
  480. else_name: data.else_name,
  481. else_id: data.else_id,
  482. audit_type: data.audit_type,
  483. project_id: data.project_id,
  484. project_status: data.project_status,
  485. audit_remark: text,
  486. },
  487. type: 'post',
  488. success: function (res) {
  489. callback(res);
  490. }
  491. })
  492. } else if (data.audit_type == 11) {
  493. //请款二审
  494. $.ajax({
  495. url: "/admin/project.audit/appropriation_disagree_second",
  496. data: {
  497. id: data.id,
  498. else_name: data.else_name,
  499. else_id: data.else_id,
  500. audit_type: data.audit_type,
  501. project_id: data.project_id,
  502. project_status: data.project_status,
  503. audit_remark: text,
  504. },
  505. type: 'post',
  506. success: function (res) {
  507. callback(res);
  508. }
  509. })
  510. } else if (data.audit_type == 12) {
  511. //请款三审
  512. $.ajax({
  513. url: "/admin/project.audit/appropriation_disagree_third",
  514. data: {
  515. id: data.id,
  516. else_name: data.else_name,
  517. else_id: data.else_id,
  518. audit_type: data.audit_type,
  519. project_id: data.project_id,
  520. project_status: data.project_status,
  521. audit_remark: text,
  522. },
  523. type: 'post',
  524. success: function (res) {
  525. callback(res);
  526. }
  527. })
  528. } else {
  529. layer.alert("意外问题,请联系管理员")
  530. }
  531. }
  532. })
  533. }
  534. a = 0
  535. return false;
  536. });
  537. form.on('submit(agree)', function (data) {
  538. let refund_amount = 0;
  539. layui.each(layui.table.cache['appropriation_add'], function (index, row) {
  540. refund_amount += Number(row.refund_amount)
  541. });
  542. data.field.refund_amount = refund_amount;
  543. delete data.field.file;
  544. layer.confirm("确认是否审批通过?", function (index) {
  545. if (a == 0) {
  546. let callback = function (e) {
  547. layer.msg(e.msg)
  548. parent.location.reload();
  549. if (e.code == 0) {
  550. tool.sideClose(1000);
  551. }
  552. a = 0
  553. }
  554. tool.post("/admin/project.appropriation/cc_edit", data.field, callback)
  555. }
  556. a = 0;
  557. }, function () {
  558. a = 0
  559. })
  560. return false;
  561. });
  562. form.on('submit(disagree)', function (data) {
  563. if (a == 0) {
  564. var ttxx = layer.prompt({
  565. title: '请输入<span style="color: red">拒绝</span>原因',
  566. formType: 2,
  567. area: ['75vw', '25vw']
  568. }, function (text, index) {
  569. if (text == '') {
  570. layer.msg('请先完善拒绝原因');
  571. return false;
  572. }else {
  573. let callback = function (e) {
  574. layer.msg(e.msg)
  575. parent.location.reload();
  576. if (e.code == 0) {
  577. tool.sideClose(1000);
  578. }
  579. a = 0
  580. }
  581. data.field.reason = text
  582. // console.log(data.field)
  583. tool.post("/admin/project.appropriation/disagree", data.field, callback)
  584. }
  585. })
  586. }
  587. a = 1
  588. return false;
  589. });
  590. })
  591. </script>
  592. <script>
  593. layui.use(function () {
  594. var form = layui.form;
  595. // 输入框点缀事件 - 位置示例
  596. form.on('input-affix(location)', function (data) {
  597. var elem = data.elem; // 输入框
  598. // do something
  599. layer.msg('模拟获取位置中…', {icon: 16, time: 1.5 * 1000}, function () {
  600. elem.value = '浙江杭州'; // 向输入框赋值
  601. })
  602. });
  603. // 输入框点缀事件 - 搜索示例
  604. form.on('input-affix(search)', function (data) {
  605. var elem = data.elem; // 输入框
  606. var value = elem.value; // 输入框的值
  607. if (!value) {
  608. layer.msg('请输入搜索内容');
  609. return elem.focus()
  610. }
  611. ;
  612. // 模拟搜索跳转
  613. location.href = '?keywords=' + value + '&_' + new Date().getTime() + '#affix-custom';
  614. });
  615. });
  616. </script>
  617. <script>
  618. /*const btn = document.getElementById('btn');
  619. console.log(btn);
  620. const mask = document.getElementById('mask');
  621. const dialog = document.getElementById('dialog');
  622. btn.addEventListener('click', () => {
  623. mask.classList.add('show');
  624. dialog.classList.add('show');
  625. });
  626. mask.addEventListener('click', () => {
  627. mask.classList.remove('show');
  628. dialog.classList.remove('show');
  629. });*/
  630. </script>
  631. <script>
  632. layui.use(function () {
  633. var laydate = layui.laydate;
  634. // 日期范围 - 左右面板联动选择模式
  635. laydate.render({
  636. elem: '#ID-laydate-rangeLinked',
  637. range: ['#ID-laydate-start-date-1', '#ID-laydate-end-date-1'],
  638. rangeLinked: true // 开启日期范围选择时的区间联动标注模式 --- 2.8+ 新增
  639. });
  640. });
  641. </script>
  642. <script>
  643. layui.use(['form', 'laydate', 'util'], function () {
  644. var form = layui.form;
  645. var layer = layui.layer;
  646. var laydate = layui.laydate;
  647. var util = layui.util;
  648. // 自定义验证规则
  649. form.verify({
  650. pass: function (value) {
  651. if (!/(.+){6,12}$/.test(value)) {
  652. return '密码必须 6 到 12 位';
  653. }
  654. }
  655. });
  656. // 指定开关事件
  657. form.on('switch(switchTest)', function (data) {
  658. layer.msg('开关 checked:' + (this.checked ? 'true' : 'false'), {
  659. offset: '6px'
  660. });
  661. layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是 ON|OFF', data.othis)
  662. });
  663. //buttom
  664. form.on('button', function (data) {
  665. console.log(data.field);
  666. });
  667. // 提交事件
  668. form.on('submit(demo1)', function (data) {
  669. var field = data.field; // 获取表单字段值
  670. // 显示填写结果,仅作演示用
  671. const host = window.location.host;
  672. window.location.href = ' https://' + host + '/mobile/index/pending?project_status=' + data.field['project_status'] + '&province=' + data.field['province'] + '&city=' + data.field['city'] + '&area=' + data.field['area'] + '&project_start_time=' + data.field['project_start_time'] + '&project_end_time=' + data.field['project_end_time'];
  673. return false; // 阻止默认 form 跳转
  674. });
  675. // 日期
  676. laydate.render({
  677. elem: '#date'
  678. });
  679. // 普通事件
  680. util.on('lay-on', {
  681. // 获取验证码
  682. "get-vercode": function (othis) {
  683. var isvalid = form.validate('.demo-phone'); // 主动触发验证,v2.7.0 新增
  684. // 验证通过
  685. if (isvalid) {
  686. layer.msg('手机号规则验证通过');
  687. // 此处可继续书写「发送验证码」等后续逻辑
  688. // …
  689. }
  690. }
  691. });
  692. });
  693. </script>
  694. </body>
  695. </html>