Răsfoiți Sursa

根据人社岗位信息增加相应字段

linwu 3 ani în urmă
părinte
comite
257cc140a3

+ 50 - 32
app/admin/controller/Comjobs.php

@@ -152,11 +152,17 @@ class Comjobs extends BaseController
         $catelist      = ComjobsCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
         $communitylist = RensheCode::getList('community');
         $agelist       = RensheCode::getList('age');
+        $educationlist = RensheCode::getList('education');
+        $emptimelist   = RensheCode::getList('emp_time');
+        $welfarelist   = RensheCode::getList('welfare');
         return view('comjobs/comjobsform', [
             'catelist'      => $catelist,
             'workerlist'    => $workerlist,
             'communitylist' => $communitylist,
-            'agelist' => $agelist,
+            'agelist'       => $agelist,
+            'educationlist' => $educationlist,
+            'emptimelist'   => $emptimelist,
+            'welfarelist'   => $welfarelist,
             'comjobs'       => $comjobs,
         ]);
     }
@@ -174,7 +180,7 @@ class Comjobs extends BaseController
             'city'             => input('city/s', ""),
             'district'         => input('district/s', ""),
             'agegroup'         => input('agegroup/s', ""),
-            'tags'             => input('tags/a', []),
+            'tags'             => array_values(input('tags/a', [])),
             'enddate'          => input('enddate/s', ""),
             'requirement'      => input('requirement/s', ""),
             'comdetails'       => input('comdetails/s', ""),
@@ -194,10 +200,13 @@ class Comjobs extends BaseController
             'createtime'       => input('createtime/s', ""),
             'volume'           => input('volume/d', 0),
             'recruitment_cate' => input('recruitment_cate/d', 1),
-            'latitude'         => input('latitude/f'),
-            'longitude'        => input('longitude/f'),
-            'address'          => input('address/s'),
-            'community'        => input('community/s'),
+            'latitude'         => input('latitude/f', 0),
+            'longitude'        => input('longitude/f', 0),
+            'address'          => input('address/s', ''),
+            'community'        => input('community/s', ''),
+            'is_worry'         => input('is_worry/d', 0),
+            'education'        => input('education/s', ''),
+            'emp_time'         => array_values(input('emp_time/a', [])),
         ];
         try {
             validate(ComjobsValidate::class)->check($data);
@@ -495,40 +504,49 @@ class Comjobs extends BaseController
     {
         //获取数据
         $id   = input('id/d', 0);
-        $info = ComjobsModel::with(['comjobsCate', 'worker','ageCode'=>function($query){
-            $query->where('type','age');
-        }])->find($id);
-        halt($info['ageCode']['code']);
+        $info = ComjobsModel::with([
+            'worker',
+            'comjobsCate',
+            'worker',
+            'ageCode'          => function ($query) {
+                $query->where('type', 'age');
+            }, 'educationCode' => function ($query) {
+                $query->where('type', 'education');
+            }])->find($id);
 
         //数据重组
-        $list           = $item = [];
-        $item['baz367'] = $info['id'];
-        $item['aca111'] = $info['comjobsCate']['code'];
-        $item['aca112'] = $info['title'];
-        $item['bcz002'] = $info['wtype'];
-        $item['bcz017'] = $info['zwagall'];
-        $item['cae006'] = $info['community'];
-        $item['cae007'] = $info['province'] . $info['city'] . $info['district'] . $info['address'];
-        $item['bcz006'] = $info['ageCode']['code'];
-        $item['bcz007'] = $info['comdetails'];
-        $item['bcz008'] = $info['requirement'];
-        $item['aab069'] = $info['worker']['title'];
-        $item['aae005'] = $info['telephone'];
-        $item['aae004'] = $info['worker']['realname'];
-        $item['aae006'] = $info['worker']['province'] . $info['worker']['city'] . $info['worker']['district'] . $info['worker']['address'];
-        $item['aae100'] = $info['status'] == 3 ? 1 : 0;
-        $item['bcz015'] = $info['longitude'];
-        $item['bcz016'] = $info['latitude'];
-        $item['bye002'] = $info['updatetime'];
-        $list[]         = $item;
-        $send['list']   = $list;
+        $list            = $item = [];
+        $item['baz367']  = $info['id'];
+        $item['aca111']  = $info['comjobsCate']['code'];
+        $item['aca112']  = $info['title'];
+        $item['bcz002']  = $info['wtype'];
+        $item['bcz017']  = $info['zwagall'];
+        $item['cae006']  = $info['community'];
+        $item['cae007']  = $info['province'] . $info['city'] . $info['district'] . $info['address'];
+        $item['aac011']  = $info['educationCode']['code'];
+        $item['bcz006']  = $info['ageCode']['code'];
+        $item['caa004s'] = $info['tags_code'];
+        $item['bcz007']  = $info['comdetails'];
+        $item['bcz008']  = $info['requirement'];
+        $item['bcz009']  = $info['worker']['wtype'];
+        $item['aab069']  = $info['worker']['title'];
+        $item['aae005']  = $info['telephone'];
+        $item['aae004']  = $info['worker']['realname'];
+        $item['aae006']  = $info['worker']['province'] . $info['worker']['city'] . $info['worker']['district'] . $info['worker']['address'];
+        $item['bcz018']  = $info['emp_code'];
+        $item['bcz011']  = $info['is_worry'];
+        $item['aae100']  = $info['status'] == 3 ? 1 : 0;
+        $item['bcz015']  = $info['longitude'];
+        $item['bcz016']  = $info['latitude'];
+        $item['bye002']  = $info['updatetime'];
+        $list[]          = array_filter($item);
+        $send['list']    = $list;
 
         //发送数据
         $service = new RensheService($send);
         $res     = $service->JobInfo();
 
         if ($res['code'] == 200) {
-            Log::error('同步人社成功');
             return json(['code' => 0]);
         } else {
             Log::error('同步人社失败:', json_encode($res));

+ 48 - 14
app/admin/view/comjobs/comjobsform.html

@@ -102,23 +102,16 @@
 							<div id="maplocation" style="width:500px;height:500px;display: none;"></div>
 							<button style="float: left;" type="button" class="layui-btn" id="layuiadmin-map-lnglat">选择地理位置</button>
 						</div>
-						<div class="layui-form-item">
-							<label class="layui-form-label"><span style="color:#f90c05;">*</span>招工年龄</label>
-							<div class="layui-input-block">
-								<select name="agegroup" lay-verify="required">
-									<option value="">请招工年龄...</option>
-									{volist name="agelist" id="vo"}
-									<option value="{$vo.name}" {$comjobs.agegroup==$vo.name ? 'selected' : '' }>{$vo.name}</option>
-									{/volist}
-								</select>
-							</div>
-						</div>
 						<div class="layui-form-item">
 							<label class="layui-form-label">招聘标签</label>
 							<div class="layui-input-block">
-								<div class="tags" id="tags">
-									<input type="text" name="" id="inputTags" placeholder="回车生成标签" autocomplete="off">
-								</div>
+								{volist name="welfarelist" id="vo"}
+								<input type="checkbox" name="tags[]" value="{$vo.name}" title="{$vo.name}"
+									   {if condition="in_array($vo['name'],$comjobs['tags'])"}
+									   checked
+									   {/if}
+								/>
+								{/volist}
 							</div>
 						</div>
 						<div class="layui-form-item">
@@ -177,6 +170,40 @@
 									   autocomplete="off" class="layui-input">
 							</div>
 						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">招工年龄</label>
+							<div class="layui-input-block">
+								<select name="agegroup" lay-verify="required">
+									<option value="">请招工年龄...</option>
+									{volist name="agelist" id="vo"}
+									<option value="{$vo.name}" {$comjobs.agegroup==$vo.name ? 'selected' : '' }>{$vo.name}</option>
+									{/volist}
+								</select>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">学历</label>
+							<div class="layui-input-block">
+								<select name="education">
+									<option value="">请选择学历...</option>
+									{volist name="educationlist" id="vo"}
+									<option value="{$vo.name}" {$comjobs.education==$vo.name ? 'selected' : '' }>{$vo.name}</option>
+									{/volist}
+								</select>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">用工时间</label>
+							<div class="layui-input-block">
+								{volist name="emptimelist" id="vo"}
+								<input type="checkbox" name="emp_time[]" value="{$vo.name}" title="{$vo.name}"
+									   {if condition="in_array($vo['name'],$comjobs['emp_time'])"}
+									   checked
+									   {/if}
+								/>
+								{/volist}
+							</div>
+						</div>
 						<div class="layui-form-item" pane>
 							<label class="layui-form-label">薪资类型</label>
 							<div class="layui-input-block">
@@ -231,6 +258,13 @@
 								<input type="radio" name="status" value="5" title="已下架" {eq name="comjobs.status" value="5"}checked{/eq}>
 							</div>
 						</div>
+						<div class="layui-form-item" pane>
+							<label class="layui-form-label">急聘</label>
+							<div class="layui-input-block">
+								<input type="radio" name="is_worry" value="0" title="否" {eq name="comjobs.is_worry|default=0" value="0"}checked{/eq}>
+								<input type="radio" name="is_worry" value="1" title="是" {eq name="comjobs.is_worry" value="1"}checked{/eq}>
+							</div>
+						</div>
 						<div class="layui-form-item">
 							<label class="layui-form-label">推荐</label>
 							<div class="layui-input-block">

+ 46 - 1
app/common/model/Comjobs.php

@@ -46,12 +46,16 @@ class Comjobs extends Model
         'address'          => 'string',
         'community'        => 'string',
         'recruit_num'      => 'int',
+        'is_worry'         => 'tinyint',
+        'education'        => 'string',
+        'emp_time'         => 'string',
     ];
 
     // 设置字段自动转换类型
     protected $type = [
         'tags'       => 'json',
         'picall'     => 'json',
+        'emp_time'   => 'json',
         'enddate'    => 'timestamp:Y-m-d',
         'updatetime' => 'timestamp:Y-m-d H:i:s',
         'createtime' => 'timestamp:Y-m-d H:i:s',
@@ -97,6 +101,47 @@ class Comjobs extends Model
 
     public function ageCode()
     {
-        return $this->hasOne(RensheCode::class, 'name','agegroup');
+        return $this->hasOne(RensheCode::class, 'name', 'agegroup');
+    }
+
+    public function educationCode()
+    {
+        return $this->hasOne(RensheCode::class, 'name', 'agegroup');
+    }
+
+    public function getEmpCodeAttr($value, $data)
+    {
+        $emp_time = json_decode($data['emp_time'],true);
+        if (empty($emp_time)) {
+            return '';
+        }
+
+        $emp_code = [];
+        $emp_list = RensheCode::where('type','emp_time')->column('code','name');
+        foreach ($emp_time as $v) {
+            if (!empty($emp_list[$v])) {
+                $emp_code[] = $emp_list[$v];
+            }
+        }
+
+        return implode(',',$emp_code);
+    }
+
+    public function getTagsCodeAttr($value, $data)
+    {
+        $tags = json_decode($data['tags'],true);
+        if (empty($tags)) {
+            return '';
+        }
+
+        $tags_code = [];
+        $tags_list = RensheCode::where('type','welfare')->column('code','name');
+        foreach ($tags as $v) {
+            if (!empty($tags_list[$v])) {
+                $tags_code[] = $tags_list[$v];
+            }
+        }
+
+        return implode(',',$tags_code);
     }
 }