sugangqiang преди 1 година
родител
ревизия
eaea24584b

+ 58 - 12
app/admin/controller/Talent.php

@@ -309,8 +309,9 @@ class Talent extends AdminController {
     }
 
     private function getCommonAssigns() {
+        $type = $this->user["type"];
         $enterprises = EnterpriseApi::getSimpleList();
-        $conditions = TalentConditionApi::getList([1, 2, 3, 4, 5, 6, 7], $this->user["type"]);
+        $conditions = TalentConditionApi::getList([1, 2, 3, 4, 5, 6, 7], $type);
         $industry_field_new = array_column(DictApi::findChildDictByCode("industry_field"), "code");
         foreach ($industry_field_new as &$field) {
             $field .= "_field";
@@ -318,7 +319,7 @@ class Talent extends AdminController {
         $parent_industry_fields = implode(",", $industry_field_new);
         $where[] = ["d2.code", "in", $parent_industry_fields];
         $industry_field_old = \app\common\model\Dict::alias("d1")->field("d1.*,d2.`name` as pname")->leftJoin("new_talent_dict d2", "d1.pid=d2.id")->order("name asc")->where($where)->select();
-        return ["enterprises" => $enterprises, "talent_conditions" => $conditions, "industry_field_old" => $industry_field_old];
+        return ["type" => $type, "enterprises" => $enterprises, "talent_conditions" => $conditions, "industry_field_old" => $industry_field_old];
     }
 
     /**
@@ -326,16 +327,7 @@ class Talent extends AdminController {
      * @auth {{/talentInfo/gotoIndex/5}}
      */
     public function library() {
-        $enterprises = EnterpriseApi::getSimpleList();
-        $conditions = TalentConditionApi::getList([1, 2, 3, 4, 5, 6, 7], $this->user["type"]);
-        $industry_field_new = array_column(DictApi::findChildDictByCode("industry_field"), "code");
-        foreach ($industry_field_new as &$field) {
-            $field .= "_field";
-        }
-        $parent_industry_fields = implode(",", $industry_field_new);
-        $where[] = ["d2.code", "in", $parent_industry_fields];
-        $industry_field_old = \app\common\model\Dict::alias("d1")->field("d1.*,d2.`name` as pname")->leftJoin("new_talent_dict d2", "d1.pid=d2.id")->order("name asc")->where($where)->select();
-        return view("", ["enterprises" => $enterprises, "talent_conditions" => $conditions, "industry_field_old" => $industry_field_old]);
+        return view("", $this->getCommonAssigns());
     }
 
     public function selectNeedCheckData() {
@@ -1759,6 +1751,60 @@ class Talent extends AdminController {
         }
     }
 
+    /**
+     * 人才库-取消人才
+     * @auth {{/talentInfo/libraryCancle}}
+     */
+    public function removeFromLibrary() {
+        $responseObj = new \stdClass();
+        $params = $this->request->param();
+        $info = VerifyApi::getOne($params["id"]);
+        if (!$params["id"] || !$info) {
+            $responseObj->msg = "系统错误,请联系管理员";
+            return json($responseObj);
+        }
+        if ($info["active"] != 2) {
+            $responseObj->msg = "该人才未处于离职状态,无法取消";
+            return json($responseObj);
+        }
+        if ($info["isEffect"] == 4) {
+            $responseObj->msg = "无法重复取消";
+            return json($responseObj);
+        }
+        if (VerifyApi::setEffect($info["id"], 4, ["description" => "取消优秀人才", "stateChange" => "有效->无效", "active" => 1])) {
+            $responseObj->code = 200;
+            $responseObj->msg = "取消优秀人才成功";
+            return json($responseObj);
+        }
+        $responseObj->msg = "系统错误,请联系管理员";
+        return json($responseObj);
+    }
+
+    /**
+     * 人才库-恢复人才
+     * @auth {{/talentInfo/libraryRecovery}}
+     */
+    public function recovery() {
+        $responseObj = new \stdClass();
+        $params = $this->request->param();
+        $info = VerifyApi::getOne($params["id"]);
+        if (!$params["id"] || !$info) {
+            $responseObj->msg = "系统错误,请联系管理员";
+            return json($responseObj);
+        }
+        if ($info["isEffect"] != 4) {
+            $responseObj->msg = "无法恢复有效数据";
+            return json($responseObj);
+        }
+        if (VerifyApi::setEffect($info["id"], 1, ["description" => "恢复优秀人才", "stateChange" => "无效->有效", "active" => 1])) {
+            $responseObj->code = 200;
+            $responseObj->msg = "恢复优秀人才成功";
+            return json($responseObj);
+        }
+        $responseObj->msg = "系统错误,请联系管理员";
+        return json($responseObj);
+    }
+
     public function baseVerifyListExport() {
         $this->commonExport(1);
     }

+ 1 - 1
app/admin/view/talent/dept_verify.html

@@ -26,7 +26,7 @@
                 <div class="row row-lg">
                     <div class="col-sm-12">
                         <div class="row">
-                            <input type="hidden" id="type" value="${user.type}">
+                            <input type="hidden" id="type" value="{$type}">
                             <input type="hidden" id="process" value="4">
                             <input type="hidden" id="superpriv" value="{$superpriv}">
                             <input type="hidden" id="title" value="部门审核">

+ 1 - 1
app/admin/view/talent/fst_verify.html

@@ -26,7 +26,7 @@
                 <div class="row row-lg">
                     <div class="col-sm-12">
                         <div class="row">
-                            <input type="hidden" id="type" value="${user.type}">
+                            <input type="hidden" id="type" value="{$type}">
                             <input type="hidden" id="process" value="3">
                             <input type="hidden" id="title" value="初级审核">
                             <div class="col-sm-3">

+ 34 - 25
app/admin/view/talent/library.html

@@ -26,7 +26,7 @@
                 <div class="row row-lg">
                     <div class="col-sm-12">
                         <div class="row">
-                            <input type="hidden" id="type" value="${user.type}">
+                            <input type="hidden" id="type" value="{$type}">
                             <input type="hidden" id="process" value="7">
                             <input type="hidden" id="title" value="优秀人才库">
                             <div class="col-sm-3">
@@ -104,19 +104,16 @@
                             <div class="col-sm-3">
                                 <div class="input-group input-group-sm">
                                     <div class="input-group-btn">
-                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">审核状态
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+                                            单位名称
                                         </button>
                                     </div>
-                                    <select class="form-control" id="checkState">
-                                        <option value="">---请选择---</option>
-                                        <option value="-1">保存未提交</option>
-                                        <option value="5">重新提交</option>
-                                        <option value="1">待审核</option>
-                                        <option value="2">审核驳回</option>
-                                        <option value="3">审核通过</option>
-                                        <option value="4">审核不通过</option>
+                                    <select class="form-control" id="enterprise_id">
+                                        {volist name="enterprises" id="item"}
+                                        <option value="{$item.id}">{$item.name}</option>
+                                        {/volist}
                                     </select>
-                                </div>                            
+                                </div>
                             </div>
                         </div>
                         <div class="row highSearch" style="display: none">
@@ -153,20 +150,6 @@
                                     </select>
                                 </div>
                             </div>
-                            <div class="col-sm-3">
-                                <div class="input-group input-group-sm">
-                                    <div class="input-group-btn">
-                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
-                                            单位名称
-                                        </button>
-                                    </div>
-                                    <select class="form-control" id="enterprise_id">
-                                        {volist name="enterprises" id="item"}
-                                        <option value="{$item.id}">{$item.name}</option>
-                                        {/volist}
-                                    </select>
-                                </div>
-                            </div>
                             <div class="col-sm-3">
                                 <div class="input-group input-group-sm">
                                     <div class="input-group-btn">
@@ -309,6 +292,32 @@
                                     </select>
                                 </div>
                             </div>
+                            <div class="col-sm-3">
+                                <div class="input-group input-group-sm">
+                                    <div class="input-group-btn">
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">离职状态
+                                        </button>
+                                    </div>
+                                    <select class="form-control" id="active">
+                                        <option value="">---请选择---</option>
+                                        <option value="1">在职</option>
+                                        <option value="2">离职</option>
+                                    </select>
+                                </div>                            
+                            </div>
+                            <div class="col-sm-3">
+                                <div class="input-group input-group-sm">
+                                    <div class="input-group-btn">
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">是否失信
+                                        </button>
+                                    </div>
+                                    <select class="form-control" id="breakFaith">
+                                        <option value="">---请选择---</option>
+                                        <option value="2">否</option>
+                                        <option value="1">是</option>
+                                    </select>
+                                </div>                            
+                            </div>
                         </div>
                         <div class="row">
                             <div class="col-sm-12" style="text-align: center">

+ 1 - 1
app/admin/view/talent/pre_list.html

@@ -24,7 +24,7 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
-                        <input type="hidden" id="usertype" value="${user.type}">
+                        <input type="hidden" id="usertype" value="{$type}">
                         <input type="hidden" id="process" value="6">
                         <input type="hidden" id="title" value="预备人才库">
                         <div class="row">

+ 1 - 1
app/admin/view/talent/re_verify.html

@@ -26,7 +26,7 @@
                 <div class="row row-lg">
                     <div class="col-sm-12">
                         <div class="row">
-                            <input type="hidden" id="type" value="${user.type}">
+                            <input type="hidden" id="type" value="{$type}">
                             <input type="hidden" id="process" value="5">
                             <input type="hidden" id="title" value="复审">
                             <div class="col-sm-3">

+ 35 - 4
app/common/api/VerifyApi.php

@@ -439,6 +439,12 @@ class VerifyApi {
             $params["isMatchZhiren"] = $params["isMatchZhiren"] == 1 ?: 0;
             $where[] = ["ti.isMatchZhiren", "=", $params["isMatchZhiren"]];
         }
+        if ($params["active"]) {
+            $where[] = ["ti.active", "=", $params["active"]];
+        }
+        if ($params["breakFaith"]) {
+            $where[] = ["ti.breakFaith", "=", $params["breakFaith"]];
+        }
 
         $process = $params["process"];
         if ($process == 4) {
@@ -547,7 +553,7 @@ class VerifyApi {
                     }
                     break;
                 case 7:
-                    $where[] = ["tl.state", "=", TalentState::CERTIFICATED];
+                    $where[] = ["ti.checkState", "=", TalentState::CERTIFICATED];
                     break;
             }
             $count = Talent::alias("ti")
@@ -1056,11 +1062,11 @@ class VerifyApi {
                         if ($log["active"] == 1) {
                             if ($log["new_state"] == 9) {
                                 $verifyDepts[$k] .= "(审核驳回)";
-                                $item["deptReject"] ++;
+                                $item["deptReject"]++;
                             }
                             if ($log["new_state"] == 12) {
                                 $verifyDepts[$k] .= "(审核通过)";
-                                $item["deptPass"] ++;
+                                $item["deptPass"]++;
                             }
                             $deptDescriptions[] = sprintf("%s:%s", $company["name"], $log["description"]);
                         } else {
@@ -1069,7 +1075,7 @@ class VerifyApi {
                                 continue;
                             }
                             $verifyDepts[$k] .= "(待审核)";
-                            $item["deptWait"] ++;
+                            $item["deptWait"]++;
                         }
                     }
                     $item["verifyDepts"] = implode(chr(10), $verifyDepts);
@@ -1132,6 +1138,31 @@ class VerifyApi {
         return false;
     }
 
+    public static function setEffect($mainId, $effect, $log) {
+        $data["id"] = $mainId;
+        $data["isEffect"] = $effect;
+        if (Talent::update($data)) {
+            $user = session("user");
+            $log["id"] = getStringId();
+            $log["type"] = \app\common\state\ProjectState::TALENT;
+            $log["mainId"] = $mainId;
+            if ($user) {
+                $log["companyId"] = $user["companyId"];
+            }
+            $log["active"] = $log["active"] ?: 0;
+            $log["createUser"] = $user ? sprintf("%s(%s)", $user["account"], $user["companyName"] ?: $user["rolename"]) : "系统";
+            $log["createTime"] = date("Y-m-d H:i:s");
+            if ($effect == 1) {
+                $log["step"] = 65;
+            } else {
+                $log["step"] = 60;
+            }
+            \app\common\model\TalentLog::create($log);
+            return true;
+        }
+        return false;
+    }
+
     private static function getSuperPrivsForDeptVerify() {
         $config = getJsonConfig("../sys_config.json", "super_privs_for_dept_verify");
         return $config;

+ 5 - 8
public/static/modular/talentIdentify/talentInfo/talentInfo_library.js

@@ -12,7 +12,7 @@ var TalentInfo = {
  * 初始化表格的列
  */
 TalentInfo.initColumn = function () {
-    var type = $("#usertype").val();
+    var type = $("#type").val();
     var isShow = true;
     if (type == 2) {
         isShow = false;
@@ -282,17 +282,14 @@ $(function () {
         TalentInfo.openTalentInfoDetail();
     });
     table.setRowStyle(function (row, index) {
-        if (row.isEffect == 1) {
-            return {};
-        }
         if (row.isEffect == 2) {
             return {classes: 'warning'};
-        }
-        if (row.isEffect == 3) {
+        } else if (row.isEffect == 3) {
             return {classes: 'danger'};
-        }
-        if (row.isEffect == 4) {
+        } else if (row.isEffect == 4) {
             return {classes: 'info'}
+        } else {
+            return {};
         }
     });
     var t = TalentInfo.table = table.init();

+ 1 - 1
public/static/modular/talentIdentify/talentInfo/talentInfo_prepare.js

@@ -13,7 +13,7 @@ var TalentInfo = {
  * 初始化表格的列
  */
 TalentInfo.initColumn = function () {
-    var type = $("#usertype").val();
+    var type = $("#type").val();
     var isShow = true;
     if (type == 2) {
         isShow = false;