comjobsform.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. <style type="text/css">
  2. .amap-sug-result{
  3. z-index:999999999;
  4. }
  5. #pickerInput{
  6. z-index: 999999;
  7. position: absolute;
  8. right: 30px;
  9. top: 20px;
  10. width: 200px;
  11. }
  12. </style>
  13. <div class="layui-fluid">
  14. <div class="layui-row layui-col-space15">
  15. <div class="layui-col-md12">
  16. <div class="layui-card">
  17. <div class="layui-card-header">普通招聘</div>
  18. <div class="layui-card-body" pad15>
  19. <div class="layui-form layui-form-pane" lay-filter="LAY-comjobs-comjobsform-edit">
  20. <input type="hidden" name="id" value="{$comjobs.id}">
  21. <div class="layui-form-item">
  22. <label class="layui-form-label">劳务公司</label>
  23. <div class="layui-input-block">
  24. <input type="text" name="workertitle" value="{$worker.title}" readonly placeholder="请输入..."
  25. autocomplete="off" class="layui-input layui-disabled">
  26. </div>
  27. </div>
  28. <div class="layui-form-item">
  29. <label class="layui-form-label"><span style="color:#f90c05;">*</span>招聘标题</label>
  30. <div class="layui-input-block">
  31. <input type="text" name="title" value="{$comjobs.title}" lay-verify="required" placeholder="请输入..."
  32. autocomplete="off" class="layui-input">
  33. </div>
  34. </div>
  35. <div class="layui-form-item" id="video-box">
  36. <input type="hidden" id="old_video" value="{$comjobs.video}" name="old_video"/>
  37. <input type="hidden" id="new_video" value="" name="new_video"/>
  38. <label class="layui-form-label">小视频</label>
  39. <div class="layui-input-inline">
  40. <button type="submit" class="layui-btn" id="add_video" ><i class="layui-icon"></i>选择视频</button>
  41. </div>
  42. <video id="videoid" width="320" height="240" controls="controls" >
  43. <source id="show_video" src="{$comjobs.video}" type="video/mp4" />
  44. </video>
  45. </div>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label"><span style="color:#f90c05;">*</span>岗位类型</label>
  48. <div class="layui-input-block">
  49. <select name="cateid" lay-search lay-verify="required">
  50. <option value="">请选择岗位类型(可搜索)...</option>
  51. {volist name="catelist" id="vo"}
  52. <option value="{$vo.id}" {$comjobs.cateid==$vo.id ? 'selected' : '' }>{$vo.title}</option>
  53. {/volist}
  54. </select>
  55. </div>
  56. </div>
  57. <div class="layui-form-item" id="LAY-comjobs-comjobsform-edit-areapicker">
  58. <label class="layui-form-label"><span style="color:#f90c05;">*</span>省市区</label>
  59. <div class="layui-input-inline">
  60. <select name="province" class="province-selector" data-value="{$comjobs.province}" lay-filter="province-2"
  61. lay-verify="required">
  62. <option value="">请选择省</option>
  63. </select>
  64. </div>
  65. <div class="layui-input-inline">
  66. <select name="city" class="city-selector" data-value="{$comjobs.city}" lay-filter="city-2" lay-verify="required">
  67. <option value="">请选择市</option>
  68. </select>
  69. </div>
  70. <div class="layui-input-inline">
  71. <select name="district" class="district-selector" data-value="{$comjobs.district}" lay-filter="district-2"
  72. lay-verify="required">
  73. <option value="">请选择区</option>
  74. </select>
  75. </div>
  76. </div>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label"><span style="color:#f90c05;">*</span>社区</label>
  79. <div class="layui-input-block">
  80. <select name="community" lay-search="" lay-verify="required">
  81. <option value="">请选择社区</option>
  82. {volist name="communitylist" id="vo"}
  83. <option value="{$vo.code}" {eq name="vo.code" value="$comjobs['community']"}selected{/eq}>{$vo.name}</option>
  84. {/volist}
  85. </select>
  86. </div>
  87. </div>
  88. <div class="layui-form-item">
  89. <label class="layui-form-label"><span style="color:#f90c05;">*</span>详细地址</label>
  90. <div class="layui-input-block">
  91. <input type="text" name="address" value="{$comjobs.address}" lay-verify="required" placeholder="请输入..."
  92. autocomplete="off" class="layui-input">
  93. </div>
  94. </div>
  95. <div class="layui-form-item">
  96. <label class="layui-form-label"><span style="color:#f90c05;">*</span>经纬度</label>
  97. <div class="layui-input-inline">
  98. <input type="text" name="longitude" value="{$comjobs.longitude}" lay-verify="required" placeholder="经度"
  99. autocomplete="off" class="layui-input">
  100. </div>
  101. <div class="layui-input-inline">
  102. <input type="text" name="latitude" value="{$comjobs.latitude}" lay-verify="required" placeholder="纬度"
  103. autocomplete="off" class="layui-input">
  104. </div>
  105. <div id="maplocation" style="width:500px;height:500px;display: none;">
  106. <input id="pickerInput" class="layui-input" placeholder="输入关键字选取地点"/>
  107. </div>
  108. <button style="float: left;" type="button" class="layui-btn" id="layuiadmin-map-lnglat">选择地理位置</button>
  109. </div>
  110. <div class="layui-form-item">
  111. <label class="layui-form-label">招聘标签</label>
  112. <div class="layui-input-block">
  113. {volist name="welfarelist" id="vo"}
  114. <input type="checkbox" name="tags[]" value="{$vo.name}" title="{$vo.name}"
  115. {if condition="!$comjobs->isEmpty() && in_array($vo['name'],$comjobs['tags'])"}
  116. checked
  117. {/if}
  118. />
  119. {/volist}
  120. </div>
  121. </div>
  122. <div class="layui-form-item">
  123. <label class="layui-form-label"><span style="color:#f90c05;">*</span>截止日期</label>
  124. <div class="layui-input-block">
  125. <input type="text" name="enddate" id="enddate" value="{$comjobs.enddate}" lay-verify="required" placeholder="请选择..."
  126. autocomplete="off" class="layui-input">
  127. </div>
  128. </div>
  129. <div class="layui-form-item">
  130. <label class="layui-form-label">任职要求</label>
  131. <div class="layui-input-block">
  132. <textarea name="requirement" placeholder="请输入..." rows="6" class="layui-textarea">{$comjobs.requirement}</textarea>
  133. </div>
  134. </div>
  135. <div class="layui-form-item">
  136. <label class="layui-form-label">职位详情</label>
  137. <div class="layui-input-block">
  138. <textarea name="comdetails" placeholder="请输入..." rows="6" class="layui-textarea">{$comjobs.comdetails}</textarea>
  139. </div>
  140. </div>
  141. <div class="layui-form-item">
  142. <label class="layui-form-label">环境照片</label>
  143. <div class="layui-input-block">
  144. <div class="layui-upload">
  145. <button type="button" class="layui-btn attachment-upload-images" data-input="picall" data-amount="9">上传图片</button>
  146. <div class="layui-inline layui-word-aux"> 最佳尺寸:750px*375px </div>
  147. <div class="layui-upload-list echo-attachment-image-list" id="picall">
  148. {volist name="comjobs.picall" id="vo"}
  149. <div>
  150. <input type="hidden" name="picall[]" value="{$vo}">
  151. <img src="{$vo}"> <button type="button" class="attachmentdel layui-btn layui-btn-primary layui-btn-xs layui-btn-fluid">删除</button>
  152. </div>
  153. {/volist}
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. <div class="layui-form-item">
  159. <label class="layui-form-label">企业介绍</label>
  160. <div class="layui-input-block">
  161. <textarea name="companydetails" placeholder="请输入..." rows="6" class="layui-textarea">{$comjobs.companydetails}</textarea>
  162. </div>
  163. </div>
  164. <div class="layui-form-item">
  165. <label class="layui-form-label">招聘人数</label>
  166. <div class="layui-input-block">
  167. <input type="number" name="recruit_num" value="{$comjobs.recruit_num|default=1}" placeholder="请输入...."
  168. autocomplete="off" class="layui-input">
  169. </div>
  170. </div>
  171. <div class="layui-form-item">
  172. <label class="layui-form-label"><span style="color:#f90c05;">*</span>招工年龄</label>
  173. <div class="layui-input-block">
  174. <input type="text" name="agegroup" value="{$comjobs.agegroup|default=''}" placeholder="请输入...."
  175. autocomplete="off" class="layui-input" lay-verify="required">
  176. </div>
  177. </div>
  178. <div class="layui-form-item">
  179. <label class="layui-form-label">学历</label>
  180. <div class="layui-input-block">
  181. <select name="education">
  182. <option value="">请选择学历...</option>
  183. {volist name="educationlist" id="vo"}
  184. <option value="{$vo.name}" {$comjobs.education==$vo.name ? 'selected' : '' }>{$vo.name}</option>
  185. {/volist}
  186. </select>
  187. </div>
  188. </div>
  189. <div class="layui-form-item">
  190. <label class="layui-form-label">用工时间</label>
  191. <div class="layui-input-block">
  192. {volist name="emptimelist" id="vo"}
  193. <input type="checkbox" name="emp_time[]" value="{$vo.name}" title="{$vo.name}"
  194. {if condition="!$comjobs->isEmpty() && !empty($comjobs['emp_time']) && in_array($vo['name'],$comjobs['emp_time'])"}
  195. checked
  196. {/if}
  197. />
  198. {/volist}
  199. </div>
  200. </div>
  201. <div class="layui-form-item" pane>
  202. <label class="layui-form-label">薪资类型</label>
  203. <div class="layui-input-block">
  204. <input type="radio" name="wtype" value="1" title="按月" {eq name="comjobs.wtype|default=1" value="1"}checked{/eq}>
  205. <input type="radio" name="wtype" value="2" title="按时" {eq name="comjobs.wtype" value="2"}checked{/eq}>
  206. <input type="radio" name="wtype" value="3" title="按件" {eq name="comjobs.wtype" value="3"}checked{/eq}>
  207. <input type="radio" name="wtype" value="4" title="按项目" {eq name="comjobs.wtype" value="4"}checked{/eq}>
  208. <input type="radio" name="wtype" value="5" title="其他" {eq name="comjobs.wtype" value="5"}checked{/eq}>
  209. </div>
  210. </div>
  211. <div class="layui-form-item" pane>
  212. <label class="layui-form-label">性别要求</label>
  213. <div class="layui-input-block">
  214. <input type="radio" name="sex" value="0" title="不限" {eq name="comjobs.sex|default=0" value="0"}checked{/eq}>
  215. <input type="radio" name="sex" value="1" title="男" {eq name="comjobs.sex" value="1"}checked{/eq}>
  216. <input type="radio" name="sex" value="2" title="女" {eq name="comjobs.sex" value="2"}checked{/eq}>
  217. </div>
  218. </div>
  219. <div class="layui-form-item">
  220. <label class="layui-form-label">基本工资</label>
  221. <div class="layui-input-block">
  222. <input type="text" name="bwagall" value="{$comjobs.bwagall}" placeholder="请输入...."
  223. autocomplete="off" class="layui-input">
  224. </div>
  225. </div>
  226. <div class="layui-form-item">
  227. <label class="layui-form-label">综合月薪</label>
  228. <div class="layui-input-block">
  229. <input type="text" name="zwagall" value="{$comjobs.zwagall}" placeholder="请输入...."
  230. autocomplete="off" class="layui-input">
  231. </div>
  232. </div>
  233. <div class="layui-form-item">
  234. <label class="layui-form-label"><span style="color:#f90c05;">*</span>咨询电话</label>
  235. <div class="layui-input-block">
  236. <input type="text" name="telephone" value="{$comjobs.telephone}" lay-verify="required" placeholder="请输入..." autocomplete="off" class="layui-input">
  237. </div>
  238. </div>
  239. <div class="layui-form-item">
  240. <label class="layui-form-label">补充说明</label>
  241. <div class="layui-input-block">
  242. <textarea name="remark" placeholder="请输入..." class="layui-textarea">{$comjobs.remark}</textarea>
  243. </div>
  244. </div>
  245. <div class="layui-form-item">
  246. <div class="layui-input-block">
  247. <input type="button" lay-submit lay-filter="LAY-comjobs-comjobsform-edit-submit" value="确认提交" class="layui-btn">
  248. </div>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. </div>
  255. </div>
  256. <script>
  257. layui.config({
  258. base: '/static/echoui/' //静态资源所在路径
  259. }).extend({
  260. index: 'lib/index' //主入口模块
  261. }).use(['index', 'form', 'set', 'layedit', 'laydate', 'upload', 'inputTags', 'layarea','upload'], function() {
  262. var $ = layui.$,
  263. setter = layui.setter,
  264. admin = layui.admin,
  265. layedit = layui.layedit,
  266. laydate = layui.laydate,
  267. form = layui.form,
  268. inputTags = layui.inputTags,
  269. upload = layui.upload,
  270. layarea = layui.layarea;
  271. var video_time;
  272. form.render();
  273. inputTags.render({
  274. elem: '#inputTags',
  275. content: {:json_encode($comjobs.tags)} == null ? [] : {:json_encode($comjobs.tags)},
  276. aldaBtn: true,
  277. count: 6,
  278. done: function(value) {}
  279. });
  280. layarea.render({
  281. elem: '#LAY-comjobs-comjobsform-edit-areapicker',
  282. data: {
  283. province: '福建省',
  284. city: '泉州市',
  285. district: '晋江市',
  286. }
  287. });
  288. var map = new AMap.Map('maplocation', {
  289. center:[118.551494,24.781674],//地图中心位置
  290. zoom: 12,
  291. });
  292. $('#layuiadmin-map-lnglat').on('click', function() {
  293. var index = layer.open({
  294. type: 1,
  295. title: '点击获取地址坐标',
  296. area: ['500px', '550px'],
  297. content: $('#maplocation'),
  298. success: function() {
  299. //var map = new AMap.Map("maplocation", { resizeEnable: true });
  300. map.on('click', function(e) {
  301. $('input[name="longitude"]').val(e.lnglat.getLng());
  302. $('input[name="latitude"]').val(e.lnglat.getLat());
  303. layer.close(index);
  304. });
  305. }
  306. });
  307. });
  308. var auto = new AMap.Autocomplete({ input: "pickerInput" });
  309. var placeSearch = new AMap.PlaceSearch({ map: map });
  310. window.select = function (e) {
  311. console.log(e);
  312. placeSearch.setCity(e.poi.adcode);
  313. placeSearch.search(e.poi.name);
  314. };
  315. AMap.event.addListener(auto, "select", select);
  316. laydate.render({
  317. elem: '#enddate',
  318. type: 'date',
  319. format: 'yyyy-MM-dd'
  320. });
  321. laydate.render({
  322. elem: '#updatetime',
  323. type: 'datetime'
  324. });
  325. laydate.render({
  326. elem: '#createtime',
  327. type: 'datetime'
  328. });
  329. upload.render({
  330. elem: '#add_video'
  331. ,url: setter.baseWorkerUrl + 'comjobs/upload_video' //改成您自己的上传接口
  332. ,accept: 'video' //视频
  333. ,done: function(res){
  334. var src = res.data.src;
  335. sourceDom = $("<source src=\""+ src +"\">");
  336. // $("#video-box video").append(sourceDom);
  337. document.getElementById("videoid").src=src ;
  338. document.getElementById("videoid").play();
  339. var timer = setTimeout(function(){
  340. video_time = document.getElementById("videoid").duration;//视频时长
  341. if(Math.ceil(video_time) > 15){
  342. layer.msg('上传视频不能超过15秒', {icon: 2});
  343. $("#add_video").css('cssText','background-color:#e81313');
  344. }else{
  345. layer.msg('上传成功');
  346. $("#add_video").css('cssText','background-color:#009688');
  347. $("#new_video").val(src);
  348. }
  349. clearTimeout(timer);
  350. },1000);
  351. }
  352. });
  353. $('.echo-attachment-image-list').on('click', '.attachmentdel', function() {
  354. $(this).parent().remove();
  355. });
  356. upload.render({
  357. elem: '.attachment-upload-images',
  358. url: setter.baseAdminUrl + 'attachment/tplfieldimage',
  359. accept: 'images',
  360. exits: 'jpg|png|jpeg',
  361. acceptMime: 'image/*',
  362. size: 2048,
  363. number: 1,
  364. method: 'post',
  365. before: function(obj) {
  366. var item = this.item;
  367. upload_input = $(item).data('input');
  368. upload_amount = $(item).data('amount');
  369. layer.load();
  370. },
  371. done: function(res, index, upload) {
  372. layer.closeAll('loading');
  373. var html = "";
  374. if (upload_amount == 1) {
  375. html += '<div> <input type="hidden" name="' + upload_input + '" value="' + res.data.src + '"> ';
  376. html += '<img src="' + res.data.src + '"></div>';
  377. $("#" + upload_input).html(html);
  378. } else {
  379. html += '<div> <input type="hidden" name="' + upload_input + '[]" value="' + res.data.src + '"> ';
  380. html += '<img src="' + res.data.src +
  381. '"> <button type="button" class="attachmentdel layui-btn layui-btn-primary layui-btn-xs layui-btn-fluid">删除</button></div>';
  382. $("#" + upload_input).append(html);
  383. }
  384. },
  385. error: function(index, upload) {
  386. layer.closeAll('loading');
  387. }
  388. });
  389. form.on('submit(LAY-comjobs-comjobsform-edit-submit)', function(obj) {
  390. if(video_time)
  391. {
  392. if(Math.ceil(video_time) >15)
  393. {
  394. layer.msg('视频不能超过15秒');
  395. return false;
  396. }
  397. }
  398. var index = parent.layer.getFrameIndex(window.name);
  399. admin.req({
  400. url: setter.baseWorkerUrl + 'comjobs/editcomjobs',
  401. data: obj.field,
  402. type: 'post',
  403. done: function(res) {
  404. layer.msg("提交成功", {
  405. icon: 1
  406. });
  407. parent.layui.table.reload('LAY-comjobs-comjobslist-table'); //重载表格
  408. parent.layer.close(index);
  409. }
  410. });
  411. });
  412. });
  413. </script>