form.html 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  1. {extend name='admin@main'}
  2. {block name="content"}
  3. {include file='mall@store_goods/form_style'}
  4. <header>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  8. <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
  9. <style>
  10. .layui-form-radio{
  11. margin: 0 !important;
  12. padding-right:0 !important;
  13. }
  14. .layui-form-select{
  15. margin-right: 10px !important;
  16. }
  17. .layui-col-xs9{
  18. width: 90%;
  19. }
  20. .amap-icon img,
  21. .amap-marker-content img{
  22. width: 25px;
  23. height: 34px;
  24. }
  25. .marker {
  26. position: absolute;
  27. top: -20px;
  28. right: -118px;
  29. color: #fff;
  30. padding: 4px 10px;
  31. box-shadow: 1px 1px 1px rgba(10, 10, 10, .2);
  32. white-space: nowrap;
  33. font-size: 12px;
  34. font-family: "";
  35. background-color: #25A5F7;
  36. border-radius: 3px;
  37. }
  38. .input-card{
  39. width: 18rem;
  40. z-index: 170;
  41. }
  42. .input-card .btn{
  43. margin-right: .8rem;
  44. }
  45. .input-card .btn:last-child{
  46. margin-right: 0;
  47. }
  48. .input-item-text, input[type=text], input[type=date], select {
  49. height: calc(3rem + 2px) !important;
  50. }
  51. #panel {
  52. position: absolute;
  53. background-color: white;
  54. max-height: 90%;
  55. overflow-y: auto;
  56. top: 35px;
  57. right: 10px;
  58. width: 280px;
  59. }
  60. </style>
  61. </header>
  62. <form onsubmit="return false;" id="GoodsForm" data-auto="true" method="post" class='layui-form layui-card' autocomplete="off">
  63. <div class="layui-card-body think-box-shadow padding-left-40">
  64. <div class="layui-tab">
  65. <ul class="layui-tab-title">
  66. <li class="layui-this">招聘设置</li>
  67. </ul>
  68. <div class="layui-tab-content">
  69. <!--基础设置-->
  70. <div class="layui-tab-item layui-show">
  71. <!--基础设置start-->
  72. <div class="layui-form-item layui-row layui-col-space15">
  73. <label class="layui-col-xs9 relative">
  74. <span class="color-green">标题</span>
  75. <input name="title" class="layui-input" placeholder="请输入招聘标题" value="{$vo.title|default=''}">
  76. </label>
  77. </div>
  78. <div class="layui-form-item layui-row layui-col-space15">
  79. <label class="layui-col-xs9 relative">
  80. <span class="color-green">会员账号</span>
  81. <input name="user_phone" class="layui-input" placeholder="请输入会员账号" value="{$vo.user_phone|default=''}">
  82. </label>
  83. </div>
  84. <div class="layui-form-item layui-row layui-col-space15">
  85. <label class="layui-col-xs9 relative">
  86. <span class="color-green">标签</span><span class="margin-left-10 color-gray">多个半角逗号(,)隔开</span>
  87. <textarea placeholder="请输入招聘标签" class="layui-textarea" name="label">{$vo.label|default=''}</textarea>
  88. </label>
  89. </div>
  90. <div class="layui-form-item layui-row layui-col-space15">
  91. <label class="layui-col-xs3 relative">
  92. <span class="color-green">排序</span>
  93. <input name="sort" class="layui-input" placeholder="请输入排序号" value="{$vo.sort|default=''}">
  94. </label>
  95. <label class="layui-col-xs3 relative">
  96. <span class="color-green">阅读量</span>
  97. <input name="read_num" class="layui-input" placeholder="请输入阅读量" value="{$vo.read_num|default=''}">
  98. </label>
  99. <label class="layui-col-xs3 relative">
  100. <span class="color-green">热搜阅读量</span>
  101. <input name="hot_num" value='{$vo.hot_num|default=""}' placeholder="请输入热搜阅读量" class="layui-input">
  102. <input name="hot_num_old" type="hidden" value='{$vo.hot_num|default=""}' class="layui-input">
  103. </label>
  104. </div>
  105. <div class="layui-form-item layui-row layui-col-space15">
  106. <label class="layui-col-xs3 relative">
  107. <span class="color-green">学历</span>
  108. <select class="layui-select" name="education" id="education" lay-filter="education" lay-search>
  109. {foreach $education as $e}
  110. <option value="{$e}" {if isset($vo.education) && $vo.education eq $e}selected{/if}>{$e}</option>
  111. {/foreach}
  112. </select>
  113. </label>
  114. <label class="layui-col-xs3 relative">
  115. <span class="color-green">招聘人数</span>
  116. <input name="num" class="layui-input" placeholder="请输入招聘人数" value="{$vo.num|default=''}">
  117. </label>
  118. <label class="layui-col-xs3 relative">
  119. <span class="color-green">上架时间</span>
  120. <input name="release_time" id="release_time" class="layui-input" placeholder="" value="{$vo.release_time|default=''}">
  121. </label>
  122. </div>
  123. <div class="layui-form-item layui-row layui-col-space15">
  124. <label class="layui-col-xs9 relative" style="width: 100%;">
  125. <span class="color-green">分类</span>
  126. </label>
  127. <div style="width: 100%">
  128. <div style="width: 15%;float: left;">
  129. <select class="layui-select" id="first_classify" name="first_classify" lay-filter="first_classify" lay-search>
  130. <option selected data-first_key="-1" selected value="0">请选择</option>
  131. {if !empty($cate_tree)}
  132. {foreach $cate_tree as $ck=>$cv}
  133. {if isset_full_check($vo,'first_classify',$cv['id'])}
  134. <option selected data-first_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  135. {else}
  136. <option data-first_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  137. {/if}
  138. {/foreach}
  139. {/if}
  140. </select>
  141. </div>
  142. <div style="width: 15%;float: left">
  143. <select class="layui-select" id="second_classify" name="second_classify" lay-filter="second_classify" lay-search>
  144. </select>
  145. </div>
  146. <div style="width: 15%;float: left">
  147. <select class="layui-select" id="third_classify" name="third_classify" lay-filter="third_classify" lay-search>
  148. </select>
  149. </div>
  150. <input type="hidden" id="first" value="{$vo.first_classify|default='-1'}"/>
  151. <input type="hidden" id="second" value="{$vo.second_classify|default='-1'}"/>
  152. <input type="hidden" id="third" value="{$vo.third_classify|default='-1'}"/>
  153. </div>
  154. </div>
  155. <div class="layui-form-item layui-row layui-col-space15">
  156. <label class="layui-col-xs9 relative">
  157. <span class="color-green">工作年限</span>
  158. </label>
  159. <div class="layui-inline" style="top: -15px;margin-bottom: -25px">
  160. <div class="layui-input-inline">
  161. <input type="number" name="experience_min" value="{$vo.experience_min|default=''}" placeholder="" autocomplete="off" class="layui-input">
  162. </div>
  163. <div class="layui-form-mid">-</div>
  164. <div class="layui-input-inline">
  165. <input type="number" name="experience_max" value="{$vo.experience_max|default=''}" placeholder="" autocomplete="off" class="layui-input">
  166. </div>
  167. </div>
  168. </div>
  169. <!--<div class="layui-form-item layui-row layui-col-space15">
  170. <label class="layui-col-xs9 relative">
  171. <span class="color-green">薪资</span>
  172. </label>
  173. <div class="layui-inline" style="top: -15px;margin-bottom: -25px">
  174. <div class="layui-input-inline">
  175. <input type="number" required name="price_min" value="{$vo.price_min|default=''}" placeholder="¥" autocomplete="off" class="layui-input">
  176. </div>
  177. <div class="layui-form-mid">-</div>
  178. <div class="layui-input-inline" >
  179. <input type="number" required name="price_max" value="{$vo.price_max|default=''}"placeholder="¥" autocomplete="off" class="layui-input">
  180. </div>
  181. </div>
  182. </div>-->
  183. <div class="layui-form-item layui-row layui-col-space15">
  184. <label class="layui-col-xs3 relative">
  185. <span class="color-green">薪资</span>
  186. <input name="salary" value="{$vo.salary|default=''}" placeholder="请输入薪资" autocomplete="off" class="layui-input">
  187. </label>
  188. <label class="layui-col-xs3 relative">
  189. <span class="color-green">工作时长</span><span class="margin-left-10 color-gray">兼职、全职或具体时长</span>
  190. <input name="work_hours" value="{$vo.work_hours|default=''}" placeholder="请输入工作时长" autocomplete="off" class="layui-input">
  191. </label>
  192. </div>
  193. <div class="layui-form-item layui-row layui-col-space15">
  194. <label class="layui-col-xs9 relative">
  195. <span class="color-green">福利待遇</span><span class="margin-left-10 color-gray">多个半角逗号(,)隔开</span>
  196. <textarea placeholder="请输入内容" class="layui-textarea" name="welfare">{$vo.welfare|default=''}</textarea>
  197. </label>
  198. </div>
  199. <div class="layui-form-item layui-row layui-col-space15">
  200. <label class="layui-col-xs2 relative">
  201. <span class="color-green">公司名称</span>
  202. <input name="company" class="layui-input" placeholder="请输入公司名称" value="{$vo.company|default=''}">
  203. </label>
  204. <label class="layui-col-xs2 relative">
  205. <span class="color-green">是否上市</span>
  206. <select class="layui-select" name="is_ss" id="is_ss" lay-filter="is_ss" lay-search>
  207. <option {if isset($vo.is_ss) && $vo.is_ss == 1 }selected{/if} value="1">是</option>
  208. <option {if isset($vo.is_ss) && $vo.is_ss == 0 }selected{/if} value="0">否</option>
  209. </select>
  210. </label>
  211. <label class="layui-col-xs2 relative">
  212. <span class="color-green">公司规模</span>
  213. <input name="scale" class="layui-input" placeholder="请输入公司人数" value="{$vo.scale|default=''}">
  214. </label>
  215. <label class="layui-col-xs2 relative">
  216. <span class="color-green">公司简介</span>
  217. <input name="company_intro" class="layui-input" placeholder="请输入公司简介" value="{$vo.company_intro|default=''}">
  218. </label>
  219. </div>
  220. <div class="layui-form-item layui-row layui-col-space15">
  221. <label class="layui-col-xs3 relative">
  222. <span class="color-green">联系人</span>
  223. <input name="principal" class="layui-input" placeholder="请输入联系人" value="{$vo.principal|default=''}">
  224. </label>
  225. <label class="layui-col-xs3 relative">
  226. <span class="color-green">邮箱</span>
  227. <input name="email" class="layui-input" placeholder="请输入邮箱" value="{$vo.email|default=''}">
  228. </label>
  229. <label class="layui-col-xs3 relative">
  230. <span class="color-green">电话</span>
  231. <input name="phone" class="layui-input" placeholder="请输入电话" value="{$vo.phone|default=''}">
  232. </label>
  233. </div>
  234. <div class="layui-form-item layui-row layui-col-space15">
  235. <label class="layui-col-xs9 relative">
  236. <span class="color-green">公司标签</span><span class="margin-left-10 color-gray">多个半角逗号(,)隔开</span>
  237. <textarea placeholder="请输入公司标签" class="layui-textarea" name="company_label">{$vo.company_label|default=''}</textarea>
  238. </label>
  239. </div>
  240. <div class="layui-form-item " style="display: none">
  241. <span class="color-green ">这个东西别删也别显示</span>
  242. <table class="layui-table">
  243. <thead>
  244. <tr>
  245. <td width="auto" class="text-left"><input name="hr_headimg66" type="hidden" value="{$vo.hr_headimg66|default=''}"></td>
  246. </tr>
  247. </thead>
  248. </table>
  249. <script> $('[name="hr_headimg66"]').uploadOneImage();</script>
  250. </div>
  251. <div class="layui-form-item ">
  252. <span class="color-green ">HR头像</span>
  253. <table class="layui-table">
  254. <thead>
  255. <tr>
  256. <td width="auto" class="text-left"><input name="hr_headimg" type="hidden" value="{$vo.hr_headimg|default=''}"></td>
  257. </tr>
  258. </thead>
  259. </table>
  260. <script> $('[name="hr_headimg"]').uploadOneImage();</script>
  261. </div>
  262. <div class="layui-form-item ">
  263. <span class="color-green ">二维码</span>
  264. <table class="layui-table">
  265. <thead>
  266. <tr>
  267. <td width="auto" class="text-left"><input name="hr_code" type="hidden" value="{$vo.hr_code|default=''}"></td>
  268. </tr>
  269. </thead>
  270. </table>
  271. <script> $('[name="hr_code"]').uploadOneImage();</script>
  272. </div>
  273. <div class="layui-form-item ">
  274. <span class="color-green ">公司LOGO</span>
  275. <table class="layui-table">
  276. <thead>
  277. <tr>
  278. <td width="auto" class="text-left"><input name="cover" type="hidden" value="{$vo.cover|default=''}"></td>
  279. </tr>
  280. </thead>
  281. </table>
  282. <script> $('[name="cover"]').uploadOneImage();</script>
  283. </div>
  284. <div class="layui-form-item layui-row layui-col-space15">
  285. <label class="layui-col-xs9 relative">
  286. <span class="color-green">地址</span>
  287. </label>
  288. <div class="layui-inline" style="top: -15px;margin-bottom: -25px">
  289. <div class="layui-input-inline">
  290. <select name="province" lay-filter ="province">
  291. <option value="0">请选择</option>
  292. {foreach $all_area as $ak=>$cv}
  293. {if isset($vo.province) && $vo.province == $cv['name'] }
  294. <option selected data-al_key="{$ak}" value="{$cv['name']}">{$cv['name']}</option>
  295. {else}
  296. <option data-al_key="{$ak}" value="{$cv['name']}">{$cv['name']}</option>
  297. {/if}
  298. {/foreach}
  299. </select>
  300. </div>
  301. <div class="layui-input-inline">
  302. <select name="city" lay-filter ="city">
  303. <option value="0">请选择</option>
  304. {foreach $all_area as $ck=>$cv}
  305. {if isset($vo.province) && $vo.province == $cv['name'] }
  306. {foreach $cv['children'] as $clk=>$cln}
  307. {if isset($vo.city) && $vo.city == $cln['name'] }
  308. <option selected data-bl_key="{$clk}" value="{$cln['name']}">{$cln['name']}</option>
  309. {else}
  310. <option data-bl_key="{$clk}" value="{$cln['name']}">{$cln['name']}</option>
  311. {/if}
  312. {/foreach}
  313. {/if}
  314. {/foreach}
  315. </select>
  316. </div>
  317. <div class="layui-input-inline">
  318. <select name="county" lay-filter ="county">
  319. <option value="0">请选择</option>
  320. {foreach $all_area as $ck=>$cv}
  321. {if isset($vo.province) && $vo.province == $cv['name']}
  322. {foreach $cv['children'] as $cln}
  323. {if isset($vo.city) && $vo.city == $cln['name']}
  324. {foreach $cln['children'] as $dln}
  325. {if isset($vo.county) && $vo.county == $dln['name'] }
  326. <option selected value="{$dln['name']}">{$dln['name']}</option>
  327. {else}
  328. <option value="{$dln['name']}">{$dln['name']}</option>
  329. {/if}
  330. {/foreach}
  331. {/if}
  332. {/foreach}
  333. {/if}
  334. {/foreach}
  335. </select>
  336. </div>
  337. <div class="layui-input-inline">
  338. <input name="address" style="width: 400px" class="layui-input" placeholder="请输入公司地址" value="{$vo.address|default=''}">
  339. </div>
  340. </div>
  341. </div>
  342. <div class="layui-form-item layui-row layui-col-space15">
  343. <label class="layui-col-xs9 relative">
  344. <span class="color-green">地图</span>
  345. <div>
  346. <div id="container" style="width:100%; height: 600px;"></div>
  347. <div id="panel" ></div>
  348. </div>
  349. <div class="layui-input-inline">
  350. <input type="hidden" id="longitude" name="longitude" value="{$vo.longitude|default=''}">
  351. <input type="hidden" id="latitude" name="latitude" value="{$vo.latitude|default=''}">
  352. <input id='lnglat' type="hidden" value="{$vo.longitude|default=''},{$vo.latitude|default=''}">
  353. </div>
  354. </label>
  355. </div>
  356. <div class="layui-form-item layui-row layui-col-space15">
  357. <label class="layui-col-xs9 relative">
  358. <span class="color-green">招聘详情</span>
  359. <textarea name="content">{$vo.content|default=""}</textarea>
  360. </label>
  361. </div>
  362. <div class="layui-form-item text-center">
  363. {notempty name='vo.id'}<input type="hidden" name="id" value="{$vo.id}">{/notempty}
  364. <button class="layui-btn" type="submit">保存</button>
  365. <button class="layui-btn layui-btn-danger" type='button' onclick="history.go(-1)" data-close>返回</button>
  366. </div>
  367. </div>
  368. </div>
  369. </div>
  370. </div>
  371. </form>
  372. {/block}
  373. {block name='script'}
  374. <textarea class="layui-hide" id="goods-specs">{$vo.specs|raw|default=''}</textarea>
  375. <textarea class="layui-hide" id="goods-value">{$defaultValues|raw|default=''}</textarea>
  376. <script type="text/javascript" src="https://webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
  377. <script src="https://webapi.amap.com/maps?v=1.4.15&key=5295cbb966c063bde1ed33c1de7ed6bd&callback=init"></script>
  378. <script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
  379. <script>
  380. layui.config({}).extend({}).use(['index', 'form'], function(){ var $ = layui.$,form = layui.form;})
  381. var longitude = "{$vo.longitude|default='118.356655'}";
  382. var latitude = "{$vo.latitude|default='35.102929'}";
  383. window._AMapSecurityConfig = {
  384. securityJsCode: "d9ec1c40b3aa3504369f304e359586b0",
  385. }
  386. var placeSearch , sel_list;
  387. window.init = function(){
  388. var marker, map = new AMap.Map('container', {
  389. center:[longitude,latitude],
  390. resizeEnable: true,
  391. zoom:13
  392. });
  393. AMap.service(["AMap.PlaceSearch"], function() {
  394. //构造地点查询类
  395. placeSearch = new AMap.PlaceSearch({
  396. pageSize: 5, // 单页显示结果条数
  397. pageIndex: 1, // 页码
  398. city: "", // 兴趣点城市
  399. citylimit: true, //是否强制限制在设置的城市内搜索
  400. map: map, // 展现结果的地图实例
  401. panel: "panel", // 结果列表将在此容器中进行展示。
  402. autoFitView: true, // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
  403. extensions: 'all' ,
  404. callback: 'aaa' ,
  405. });
  406. //关键字查询
  407. });
  408. addMark(longitude,latitude)
  409. map.on( 'click', function (e) {
  410. lnglatInput.value = e.lnglat.toString();
  411. var inputVal = lnglatInput.value.split(',');
  412. clearMarker();
  413. addMark(inputVal[0], inputVal[1])
  414. $("longitude").value =inputVal[0] ;
  415. $("latitude").value = inputVal[1];
  416. });
  417. var $ = function(elementId){
  418. return document.getElementById(elementId);
  419. };
  420. var lnglatInput = $('lnglat');
  421. var pixelInput = $('pixel');
  422. lnglat2container();
  423. // 经纬度坐标转成容器像素坐标
  424. function lnglat2container() {
  425. if(!lnglatInput.value) return
  426. var inputVal = lnglatInput.value.split(',');
  427. var lnglat = new AMap.LngLat(inputVal[0], inputVal[1]);
  428. var pixel = map.lngLatToContainer(lnglat);
  429. pixelInput.value = pixel.round();
  430. }
  431. // 添加mark
  432. function addMark(lng,pix) {
  433. console.log(lng,pix)
  434. if(!lng || !pix) return ;
  435. marker = new AMap.Marker({
  436. icon: "https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
  437. position: [lng, pix],
  438. offset: new AMap.Pixel(-13, -30)
  439. });
  440. marker.setMap(map);
  441. }
  442. // 清除 marker
  443. function clearMarker() {
  444. if (marker) {
  445. marker.setMap(null);
  446. marker = null;
  447. }
  448. }
  449. }
  450. $(document).on('click','.poibox',function (){
  451. var click_poi = $(".poibox").index(this);
  452. // console.log(sel_list[click_poi]);
  453. //console.log(sel_list[click_poi].location.lng);
  454. $("#longitude").val(sel_list[click_poi].location.lng);
  455. $("#latitude").val(sel_list[click_poi].location.lat);
  456. $("#lnglat").val(sel_list[click_poi].location.lng + ',' + sel_list[click_poi].location.lat ) ;
  457. })
  458. $("input[name='address']").on('change',function (e) {
  459. placeSearch.search( $("input[name='address']").val(),function (a,ls) {
  460. sel_list = ls.poiList.pois;
  461. }) ;
  462. })
  463. </script>
  464. <script src="https://webapi.amap.com/maps?v=1.4.15&key=5295cbb966c063bde1ed33c1de7ed6bd&callback=init"></script>
  465. <script src="https://webapi.amap.com/js/require.js" data-main="./require-init"></script>
  466. <script src="https://webapi.amap.com/loader.js"></script>
  467. <script>
  468. window.form.render();
  469. layui.use('form', function () {
  470. var form = layui.form;
  471. //日期时间范围
  472. laydate.render({
  473. elem: '#start_time'
  474. ,type: 'datetime'
  475. });
  476. laydate.render({
  477. elem: '#end_time'
  478. ,type: 'datetime'
  479. });
  480. })
  481. laydate.render({
  482. elem: '#release_time'
  483. ,type: 'datetime'
  484. });
  485. layui.use('element', function(){
  486. var $ = layui.jquery
  487. ,element = layui.element;
  488. var active = {
  489. tabAdd: function(){
  490. element.tabAdd('demo', {
  491. title: '新选项'+ (Math.random()*1000|0)
  492. ,content: '内容'+ (Math.random()*1000|0)
  493. ,id: new Date().getTime()
  494. })
  495. }
  496. ,tabDelete: function(othis){
  497. element.tabDelete('demo', '44');
  498. othis.addClass('layui-btn-disabled');
  499. }
  500. ,tabChange: function(){
  501. element.tabChange('demo', '22');
  502. }
  503. };
  504. $('.site-demo-active').on('click', function(){
  505. var othis = $(this), type = othis.data('type');
  506. active[type] ? active[type].call(this, othis) : '';
  507. });
  508. //Hash地址的定位
  509. var layid = location.hash.replace(/^#test=/, '');
  510. element.tabChange('test', layid);
  511. element.on('tab(test)', function(elem){
  512. location.hash = 'test='+ $(this).attr('lay-id');
  513. });
  514. });
  515. require(['ckeditor', 'angular'], function () {
  516. window.createEditor('[name="content"]', {
  517. height: 500,
  518. });
  519. })
  520. // 添加设置
  521. $(document).on('click',".add_goods_no",function () {
  522. var knum = $('.no_html tr').length;
  523. var no_html = get_ht(knum);
  524. $(".no_html").append(no_html);
  525. form.render();
  526. console.log(a);// 别删这个!!!
  527. })
  528. // 删除设置
  529. $(document).on('click',".del_no",function (){
  530. var knum = $('.no_html tr').length;
  531. if(knum == 1) {
  532. layer.msg('不能全部删除!')
  533. form.render();
  534. console.log(a);// 别删这个!!!
  535. }
  536. var index= $(".del_no").index(this);
  537. $(".no_detail").eq(index).remove();
  538. form.render();
  539. console.log(a);// 别删这个!!!
  540. })
  541. var is_add = parseInt('{$isAddMode|default=0}');
  542. if(is_add){
  543. $(".no_html").html(get_ht(0));
  544. }else{
  545. var ladder = {:json_encode($ladder)};
  546. if(ladder && ladder.length > 0) {
  547. var no_html = '';
  548. $.each(ladder,function (lk,lv) {
  549. no_html += ' <tr class="no_detail change_del" data-dh ="'+lk+'">';
  550. no_html += "<td class='text-left nowrap'>" +
  551. "<input type='text' class='layui-input' name='ladder_title[]' value='"+lv.ladder_title+"'/>" +
  552. "</td>";
  553. no_html += "<td class='text-left nowrap'>" +
  554. "<input type='' class='layui-input' name='ladder_num[]' value='"+lv.ladder_num+"'/>" +
  555. "</td>";
  556. no_html += "<td class='text-left nowrap'>" +
  557. "<input type='' class='layui-input' name='ladder_price[]' value='"+lv.ladder_price+"'/>" +
  558. "</td>";
  559. no_html += "<td class='text-left nowrap'>" +
  560. "<a class=\"layui-btn layui-btn-sm layui-btn-danger del_no\">删 除</a>" +
  561. "<a class=\"layui-btn layui-btn-sm layui-btn-sm add_goods_no\">添 加</a>" +
  562. "</td>"
  563. no_html += "</tr>";
  564. })
  565. $(".no_html").html(no_html);
  566. }else{
  567. $(".no_html").html(get_ht(0));
  568. }
  569. window.form.render();
  570. }
  571. function get_ht(k) {
  572. var award_length = $(".no_detail").length;
  573. var no_html = '';
  574. no_html += ' <tr class="no_detail change_del" data-dh ="'+k+'">';
  575. no_html += "<td class='text-left nowrap'>" +
  576. "<input type='text' class='layui-input' name='ladder_title[]' value=''/>" +
  577. "</td>";
  578. no_html += "<td class='text-left nowrap'>" +
  579. "<input type='' class='layui-input' name='ladder_num[]' value=''/>" +
  580. "</td>";
  581. no_html += "<td class='text-left nowrap'>" +
  582. "<input type='' class='layui-input' name='ladder_price[]' value=''/>" +
  583. "</td>";
  584. no_html += "<td class='text-left nowrap'>" +
  585. "<a class=\"layui-btn layui-btn-sm layui-btn-danger del_no\">删 除</a>" +
  586. "<a class=\"layui-btn layui-btn-sm layui-btn-sm add_goods_no\">添 加</a>" +
  587. "</td>"
  588. no_html += "</tr>";
  589. return no_html;
  590. }
  591. //地址监听
  592. var goods_spec = {:json_encode($all_area)};
  593. console.log(goods_spec)
  594. form.on('select(province)', function(data){
  595. var cl_html = '<option value="0">请选择</option>';
  596. if(data.value == 0) {
  597. $("select[name='city']").html(cl_html);
  598. $("select[name='county']").html(cl_html);
  599. }else{
  600. var cl_key = data.elem[data.elem.selectedIndex].dataset.al_key;
  601. console.log(cl_key,goods_spec[cl_key])
  602. $.each(goods_spec[cl_key]['children'],function (ck,cv) {
  603. cl_html +='<option data-bl_key="'+ck+'" value="'+cv.name+'">'+cv.name+'</option>';
  604. })
  605. $("select[name='city']").html(cl_html);
  606. }
  607. $("select[name='county']").html('');
  608. window.form.render();
  609. });
  610. form.on('select(city)', function(data){
  611. second()
  612. })
  613. function second() {
  614. var cl_html = '<option value="0">请选择</option>';
  615. var first_key = $("select[name='province']").find("option:selected").data("al_key");
  616. var second_key = $("select[name='city']").find("option:selected").data("bl_key");
  617. console.log(first_key,second_key)
  618. var to_each = goods_spec[first_key]['children'][second_key]['children'];
  619. console.log(to_each);
  620. $.each(to_each,function (ck,cv) {
  621. cl_html +='<option value="'+cv.name+'">'+cv.name+'</option>';
  622. })
  623. $("select[name='county']").html(cl_html);
  624. window.form.render();
  625. }
  626. // 三级分类联动 start
  627. var sel_second = {:isset($vo['second_classify']) ? $vo['second_classify']:0};
  628. var sel_third = {:isset($vo['third_classify']) ? $vo['third_classify']:0};
  629. var cate_tree = {:json_encode($cate_tree)};
  630. first_c(1);
  631. function first_c(source){
  632. // 将其他选择框置空
  633. var first_key = $("select[name='first_classify']").find("option:selected").data("first_key")
  634. $("#first").val(first_key);
  635. $("select[name='second_classify']").html('');
  636. $("select[name='third_classify']").html('');
  637. $("select[name='fourth_classify']").html('');
  638. // 没有下级不继续
  639. if(first_key == -1 || !("children" in cate_tree[first_key])){
  640. $("#second").val(-1);
  641. $("#third").val(-1);
  642. window.form.render();
  643. return true;
  644. }else{
  645. var second_html = '<option data-second_key="-1" selected value="0">请选择分类</option>';
  646. var to_each = cate_tree[first_key]['children'];
  647. $.each(to_each,function (ck,cv) {
  648. if(source == 1 && sel_second == cv.id){
  649. second_html +='<option selected data-second_key="'+ck+'" value="'+cv.id+'">'+cv.title+'</option>';
  650. $("#second").val(ck);
  651. }else{
  652. second_html +='<option data-second_key="'+ck+'" value="'+cv.id+'">'+cv.title+'</option>';
  653. }
  654. })
  655. $("select[name='second_classify']").html(second_html);
  656. window.form.render();
  657. second_c(source);
  658. }
  659. }
  660. function second_c(source){
  661. var first_key = $("select[name='first_classify']").find("option:selected").data("first_key");
  662. var second_key = $("select[name='second_classify']").find("option:selected").data("second_key");
  663. // 将其他选择框置空
  664. $("#second").val(second_key);
  665. $("select[name='third_classify']").html('');
  666. $("select[name='fourth_classify']").html('');
  667. // 没有下级不继续
  668. if(second_key == -1 || !("children" in cate_tree[first_key]['children'][second_key])){
  669. $("#third").val(-1);
  670. window.form.render();
  671. return true;
  672. }
  673. var to_each = cate_tree[first_key]['children'][second_key]['children'];
  674. var third_html = '<option data-third_key="-1" selected value="0">请选择分类</option>';
  675. $.each(to_each,function (ck,cv) {
  676. if(source == 1 && sel_third == cv.id){
  677. third_html +='<option selected data-third_key="'+ck+'" value="'+cv.id+'">'+cv.title+'</option>';
  678. $("#third").val(ck);
  679. }else{
  680. third_html +='<option data-third_key="'+ck+'" value="'+cv.id+'">'+cv.title+'</option>';
  681. }
  682. })
  683. $("select[name='third_classify']").html(third_html);
  684. $("select[name='fourth_classify']").html('');
  685. window.form.render();
  686. }
  687. // 一级分类监听
  688. form.on('select(first_classify)', function(data){
  689. var first_key = data.elem[data.elem.selectedIndex].dataset.first_key;
  690. //与之前选择的一样不处理
  691. if($("#first").val() == first_key){
  692. return true;
  693. }
  694. first_c(2);
  695. })
  696. // 二级分类监听
  697. form.on('select(second_classify)', function(data){
  698. var second_key = data.elem[data.elem.selectedIndex].dataset.second_key;
  699. //与之前选择的一样不处理
  700. if($("#second").val() == second_key){
  701. return true;
  702. }
  703. second_c(2)
  704. })
  705. // 三级分类end
  706. </script>
  707. {/block}