|
@@ -1,31 +1,96 @@
|
|
|
<div class="layui-fluid">
|
|
|
<div class="layui-row layui-col-space15">
|
|
|
<div class="layui-col-md12">
|
|
|
- <div class="layui-card">
|
|
|
- <div class="layui-card-header">{$info.name}</div>
|
|
|
- <div class="layui-card-body" pad15>
|
|
|
- <div class="layui-form layui-form-pane" lay-filter="{$lay_table}">
|
|
|
- <input type="hidden" name="recruit_id" value="{:array_get($info,'id')}">
|
|
|
+ <div class="layui-form layui-form-pane" lay-filter="{$lay_table}">
|
|
|
+ <div class="layui-card">
|
|
|
+ <div class="layui-card-header">岗位信息</div>
|
|
|
+ <div class="layui-card-body" pad15>
|
|
|
+ <input type="hidden" name="id" value="{:array_get($info,'id')}">
|
|
|
+ <input type="hidden" name="recruit_id" value="{:array_get($info,'recruit_id')}">
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label"><span style="color:#f90c05;">*</span>岗位编号</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="text" name="code" value="{:array_get($info,'code')}" lay-verify="required"
|
|
|
+ placeholder="请输入岗位编号" autocomplete="off"
|
|
|
+ class="layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label"><span style="color:#f90c05;">*</span>岗位名称</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="text" name="name" value="{:array_get($info,'name')}" lay-verify="required"
|
|
|
+ placeholder="请输入岗位名称" autocomplete="off"
|
|
|
+ class="layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label"><span style="color:#f90c05;">*</span>招聘人数</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="number" name="number" value="{:array_get($info,'number')}"
|
|
|
+ lay-verify="required"
|
|
|
+ placeholder="请输入招聘人数" autocomplete="off"
|
|
|
+ class="layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-card-header">岗位限制条件</div>
|
|
|
+ <div class="layui-card-body" pad15>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label">学历</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <select name="limit[education]">
|
|
|
+ {volist name="limit_condition" id="condition"}
|
|
|
+ <option value="{$condition.value}" {:array_get($info['limit'],'education')===$condition['value'] ?'selected' : '' }>{$condition.text}</option>
|
|
|
+ {/volist}
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label">学位</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <select name="limit[degree]">
|
|
|
+ {volist name="limit_degree" id="degree"}
|
|
|
+ <option value="{$degree.value}" {:array_get($info['limit'],'degree')===$degree['value'] ?'selected' : '' }>{$degree.text}</option>
|
|
|
+ {/volist}
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label">出生大于</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="text" name="limit[birthday]"
|
|
|
+ value="{:array_get($info['limit'],'birthday')}"
|
|
|
+ id="birthday"
|
|
|
+ placeholder="请输入出生日期大于" autocomplete="off"
|
|
|
+ class="layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-card-header">岗位加分项</div>
|
|
|
+ <div class="layui-card-body" pad15>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label"><span style="color:#f90c05;">*</span>是否多选</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="radio" name="special[multi]" value="1"
|
|
|
+ title="是" {:array_get($info['special'],'multi')==1 ?'checked' : '' }>
|
|
|
+ <input type="radio" name="special[multi]" value="2"
|
|
|
+ title="否" {:array_get($info['special'],'multi',2)==2 ?'checked' : '' }>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div>
|
|
|
<button class="layui-btn layuiadmin-btn" id="add-table" type="button">添加</button>
|
|
|
</div>
|
|
|
<form id="form">
|
|
|
<table class="layui-table">
|
|
|
<colgroup>
|
|
|
+ <col width="400">
|
|
|
<col width="100">
|
|
|
- <col width="200">
|
|
|
- <col width="100">
|
|
|
- <col width="300">
|
|
|
- <col width="300">
|
|
|
<col width="100">
|
|
|
</colgroup>
|
|
|
<thead>
|
|
|
<tr>
|
|
|
- <th>岗位编号</th>
|
|
|
- <th>岗位名称</th>
|
|
|
- <th>招聘人数</th>
|
|
|
- <th>岗位限制条件(JSON格式)</th>
|
|
|
- <th>岗位加分项(JSON格式)</th>
|
|
|
+ <th>加分条件(示例:中级职称总分+1)</th>
|
|
|
+ <th>分数(示例:1)</th>
|
|
|
<th>操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
@@ -34,12 +99,12 @@
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</form>
|
|
|
- <div class="layui-form-item">
|
|
|
- <div class="layui-input-block">
|
|
|
- <input type="button" lay-submit lay-filter="{$lay_btn}" value="确认提交"
|
|
|
- class="layui-btn">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="button" lay-submit lay-filter="{$lay_btn}" value="确认提交"
|
|
|
+ class="layui-btn">
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -48,10 +113,16 @@
|
|
|
</div>
|
|
|
|
|
|
<script>
|
|
|
- layui.use(['index', 'form', 'upload'], function () {
|
|
|
+ layui.use(['index', 'form', 'laydate'], function () {
|
|
|
const admin = layui.admin;
|
|
|
const form = layui.form;
|
|
|
+ const laydate = layui.laydate;
|
|
|
const $ = layui.$;
|
|
|
+
|
|
|
+ laydate.render({
|
|
|
+ elem: '#birthday'
|
|
|
+ });
|
|
|
+
|
|
|
form.render();
|
|
|
|
|
|
form.on('submit({$lay_btn})', function (obj) {
|
|
@@ -64,53 +135,49 @@
|
|
|
layer.msg("提交成功", {
|
|
|
icon: 1
|
|
|
});
|
|
|
- parent.layui.table.reload('lay-notice-index-table'); //重载表格
|
|
|
+ parent.layui.table.reload('lay-recruit-postList-table'); //重载表格
|
|
|
parent.layer.close(index);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- let data = {$list};
|
|
|
+
|
|
|
+ //岗位加分条件
|
|
|
+ let data = {:empty($info['special']['list']) ? '[]' : json_encode($info['special']['list'])};
|
|
|
+ createTable();
|
|
|
+
|
|
|
+ $('#add-table').click(function () {
|
|
|
+ data = getFormData();
|
|
|
+ data.push({condition: "", value: ""});
|
|
|
+ createTable();
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#tb").on('click', '.delete-table', function () {
|
|
|
+ let index = $(this).data('index');
|
|
|
+ if (data.length <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ data = getFormData();
|
|
|
+ data.splice(index, 1);
|
|
|
+ createTable();
|
|
|
+ });
|
|
|
|
|
|
function createTable() {
|
|
|
let html = "";
|
|
|
data.forEach((v, k) => {
|
|
|
html += `<tr>
|
|
|
- <input type="hidden" name="list[${k}][id]" value="${v.id}">
|
|
|
- <td>
|
|
|
- <input placeholder="岗位编号"
|
|
|
- name="list[${k}][code]"
|
|
|
- lay-verify="required"
|
|
|
- value="${v.code}"
|
|
|
- class="layui-input"/>
|
|
|
- </td>
|
|
|
<td>
|
|
|
- <input placeholder="岗位名称"
|
|
|
- name="list[${k}][name]"
|
|
|
+ <input name="special_list[${k}][condition]"
|
|
|
lay-verify="required"
|
|
|
- value="${v.name}"
|
|
|
+ value="${v.condition}"
|
|
|
class="layui-input"/>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input placeholder="招聘人数"
|
|
|
- type="number"
|
|
|
- name="list[${k}][number]"
|
|
|
+ <input type="number"
|
|
|
+ name="special_list[${k}][value]"
|
|
|
lay-verify="required"
|
|
|
- value="${v.number}"
|
|
|
- class="layui-input"/>
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input placeholder="限制条件"
|
|
|
- name="list[${k}][limit]"
|
|
|
- lay-verify="required"
|
|
|
- value="${v.limit}"
|
|
|
- class="layui-input"/>
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input placeholder="岗位加分项"
|
|
|
- name="list[${k}][special]"
|
|
|
- lay-verify="required"
|
|
|
- value="${v.special}"
|
|
|
+ value="${v.value}"
|
|
|
class="layui-input"/>
|
|
|
</td>
|
|
|
<td>
|
|
@@ -122,27 +189,12 @@
|
|
|
$('#tb').html(html);
|
|
|
}
|
|
|
|
|
|
- createTable();
|
|
|
-
|
|
|
- $('#add-table').click(function () {
|
|
|
- data = getFormData();
|
|
|
- data.push({id: "0", code: "", name: "", number: 1, limit: "{}", special: "{}"});
|
|
|
- createTable();
|
|
|
- });
|
|
|
-
|
|
|
- $("#tb").on('click', '.delete-table', function () {
|
|
|
- let index = $(this).data('index');
|
|
|
- if (data.length <= 1) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- data = getFormData();
|
|
|
- data.splice(index,1);
|
|
|
- createTable();
|
|
|
- });
|
|
|
-
|
|
|
function getFormData() {
|
|
|
let arr = $('#form').serializeArray();
|
|
|
+ if (arr.length === 0) {
|
|
|
+ return arr;
|
|
|
+ }
|
|
|
+
|
|
|
let obj = {};
|
|
|
arr.forEach(v => {
|
|
|
obj[v.name] = v.value;
|
|
@@ -150,15 +202,15 @@
|
|
|
|
|
|
// 提取键名中的索引和属性名
|
|
|
let keys = Object.keys(obj).map(key => {
|
|
|
- let parts = key.match(/list\[(\d+)\]\[(\w+)\]/);
|
|
|
- return { index: parseInt(parts[1], 10), prop: parts[2] };
|
|
|
+ let parts = key.match(/special_list\[(\d+)\]\[(\w+)\]/);
|
|
|
+ return {index: parseInt(parts[1], 10), prop: parts[2]};
|
|
|
});
|
|
|
|
|
|
// 根据索引分组属性
|
|
|
let grouped = {};
|
|
|
- keys.forEach(({ index, prop }, i) => {
|
|
|
+ keys.forEach(({index, prop}, i) => {
|
|
|
if (!grouped[index]) grouped[index] = {};
|
|
|
- grouped[index][prop] = obj[`list[${index}][${prop}]`];
|
|
|
+ grouped[index][prop] = obj[`special_list[${index}][${prop}]`];
|
|
|
});
|
|
|
|
|
|
// 将分组后的对象转换为数组
|
|
@@ -166,6 +218,5 @@
|
|
|
|
|
|
return res;
|
|
|
}
|
|
|
-
|
|
|
});
|
|
|
</script>
|