Răsfoiți Sursa

部门列表增加显示审核部门及搜索(仅super和rsj会显示此列及搜索),部门加入缓存

sugangqiang 2 ani în urmă
părinte
comite
af95fd23b4

+ 1 - 0
app/admin/controller/System.php

@@ -19,6 +19,7 @@ class System extends AdminController {
         $step = $this->request->param("step");
         if ($step) {
             $cache_kvs = [
+                ["func" => "\app\common\model\Company::cache", "stepName" => "部门"],
                 ["func" => "\app\common\model\IntegralProject::cache", "stepName" => "积分项目"],
                 ["func" => "\app\common\model\IntegralItem::cache", "stepName" => "积分标准"]
             ];

+ 3 - 1
app/admin/controller/Talent.php

@@ -272,7 +272,9 @@ class Talent extends AdminController {
      */
     public function dept_verify() {
         $enterprises = EnterpriseApi::getSimpleList();
-        return view("", ["enterprises" => $enterprises]);
+        $companys = CompanyApi::getAll();
+        $deptCode = CompanyApi::getOne($this->user["companyId"])["code"];
+        return view("", ["companys" => $companys, "enterprises" => $enterprises, "deptCode" => $deptCode]);
     }
 
     /**

+ 19 - 6
app/admin/view/talent/dept_verify.html

@@ -28,13 +28,12 @@
                         <div class="row">
                             <input type="hidden" id="type" value="${user.type}">
                             <input type="hidden" id="process" value="4">
+                            <input type="hidden" id="deptCode" value="{$deptCode}">
                             <input type="hidden" id="title" value="部门审核">
                             <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>
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">姓名</button>
                                     </div>
                                     <input type="text" class="form-control" id="name" placeholder="" />
                                 </div>
@@ -42,9 +41,7 @@
                             <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>
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">证件号码</button>
                                     </div>
                                     <input type="text" class="form-control" id="card_number" placeholder="" />
                                 </div>
@@ -150,6 +147,22 @@
                                     </select>
                                 </div>
                             </div>
+                            {if condition="in_array($deptCode,['super','rsj'])"}
+                            <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="company_id">
+                                        {volist name="companys" id="item"}
+                                        <option value="{$item.id}">{$item.name}</option>
+                                        {/volist}
+                                    </select>
+                                </div>
+                            </div>
+                            {/if}
                             <div class="col-sm-3">
                                 <div class="input-group input-group-sm">
                                     <div class="input-group-btn">

+ 4 - 3
app/common/api/CompanyApi.php

@@ -38,21 +38,22 @@ class CompanyApi {
     }
 
     public static function edit($params) {
+        $company = new Company();
         $data["name"] = $params["name"];
         $data["shortName"] = $params["shortName"];
         $data["code"] = $params["code"];
         $data["sn"] = $params["sn"];
         $data["description"] = $params["description"];
         if ($params["id"]) {
-            $data["id"] = $params["id"];
+            $item = $company->find($params["id"]);
             $data["updateTime"] = date("Y-m-d H:i:s");
             $data["updateUser"] = session("user")["uid"];
-            return Company::update($data);
+            return $item->save($data);
         } else {
             $data["id"] = getStringId();
             $data["createTime"] = date("Y-m-d H:i:s");
             $data["createUser"] = session("user")["uid"];
-            return Company::insert($data);
+            return $company->save($data);
         }
     }
 

+ 17 - 1
app/common/api/VerifyApi.php

@@ -154,6 +154,9 @@ class VerifyApi {
         $offset = $params["offset"] ?: 0;
         $limit = $params["limit"] ?: 10;
         $whereRaw = "";
+        if ($params["company_id"]) {
+            $where[] = ["tc.companyIds", "like", "%" . $params["company_id"] . "%"];
+        }
         switch ($params["checkState"]) {
             case 1:
                 $where[] = ["tl.state", "=", TalentState::FST_VERIFY_PASS];
@@ -185,13 +188,26 @@ class VerifyApi {
                         ->leftJoin("(select mainId,last_state,new_state,state,createTime from new_talent_checklog where md5(concat(createTime,mainId,`type`)) in (select md5(concat(max(createTime),mainId,`type`)) from `new_talent_checklog` where `type`=1 and `step` is null and active=1 and typeFileId is null group by mainId,`type`)) tl", "`tl`.`mainId`=ti.id")
                         ->where($where)
                         ->where($whereRaw)
-                        ->field("ti.*,tl.last_state as 'lastState',tl.state as 'realState',e.name as enterprise_name,e.type as enterprise_type,enterpriseTag,tc.name as talentConditionName")
+                        ->field("ti.*,tl.last_state as 'lastState',tl.state as 'realState',e.name as enterprise_name,e.type as enterprise_type,enterpriseTag,tc.name as talentConditionName,tc.companyIds")
                         ->limit($offset, $limit)->order("ti.createTime " . $order)
                         ->select()->toArray();
         foreach ($list as &$item) {
             $item["talent_type"] = $item["enterprise_type"] == 1 ? "晋江市现代产业体系人才" : "集成电路优秀人才";
             $item["enterprise_tag"] = $enterprise_tag_kvs[$item["enterpriseTag"]];
             $item["talentArrangeName"] = $talent_arrange_kvs[$item["talent_arrange"]];
+            $companys = array_filter(explode(",", $item["companyIds"]));
+            $verifyDepts = [];
+            foreach ($companys as $k => $companyId) {
+                $company = getCacheById("Company", $companyId);
+                $log = TalentLogApi::getCompanyNewestCheckedLog($item["id"], $companyId);
+                $verifyDepts[$k]["id"] = $companyId;
+                $verifyDepts[$k]["shortName"] = $company["shortName"];
+                $verifyDepts[$k]["name"] = $company["name"];
+                $verifyDepts[$k]["code"] = $company["code"];
+                $verifyDepts[$k]["checkState"] = $log["new_state"];
+                $verifyDepts[$k]["active"] = $log["active"];
+            }
+            $item["verifyDepts"] = $verifyDepts;
         }unset($item);
         return ["total" => $count, "rows" => $list];
     }

+ 2 - 2
app/common/model/Company.php

@@ -2,14 +2,14 @@
 
 namespace app\common\model;
 
-use think\Model;
+use app\common\model\RedisBaseModel;
 
 /**
  * Description of Company
  *
  * @author sgq
  */
-class Company extends Model {
+class Company extends RedisBaseModel {
 
     protected $table = "sys_company";
 

+ 26 - 1
public/static/modular/talentIdentify/talentInfo/talentInfo_base.js

@@ -13,11 +13,16 @@ var TalentInfo = {
  */
 TalentInfo.initColumn = function () {
     var type = $("#type").val();
+    var code = $("#deptCode").val();
     var isShow = true;
+    var isShowVerifyDept = false;
     if (type == 2) {
         isShow = false;
     }
-    ;
+    var depts = ["super", "rsj"];
+    if (depts.indexOf(code) > -1) {
+        isShowVerifyDept = true;
+    }
     return [
         {field: 'selectItem', checkbox: true},
         {title: '企业名称', field: 'enterprise_name', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "120px"},
@@ -36,6 +41,26 @@ TalentInfo.initColumn = function () {
         {title: '证件号码', field: 'card_number', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "120px"},
         {title: '认定层次', field: 'talentArrangeName', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "80px"},
         {title: '认定条件', field: 'talentConditionName', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "150px"},
+        {title: '审核部门', field: 'verifyDepts', visible: isShowVerifyDept, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "150px",
+            formatter: function (value, row, index) {
+                var html = "";
+                for (var i in value) {
+                    let checkState = "";
+                    if (value[i].active == 1) {
+                        if (value[i].checkState == 9) {
+                            checkState = "<span style='color:#ff0000;'>审核驳回</span>";
+                        }
+                        if (value[i].checkState == 12) {
+                            checkState = "<span style='color:green;'>审核通过</span>";
+                        }
+                    } else {
+                        checkState = "<span style='color:gray;'>待审核</span>";
+                    }
+                    html += "<p style='margin:0 auto;'>" + value[i].name + "(" + checkState + ")</p>"
+                }
+                return html
+            }
+        },
         {title: '首次提交时间', field: 'first_submit_time', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "100px"},
         {title: '最新提交时间', field: 'new_submit_time', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "100px"},
         {title: '审核状态', field: 'checkState', visible: true, align: 'center', valign: 'middle', width: "100px",

+ 19 - 0
public/static/modular/talentIdentify/talentInfo/talentInfo_common.js

@@ -30,6 +30,9 @@ TalentInfo.formParams = function () {
     queryData['province'] = $("#province").val();
     queryData['politics'] = $("#politics").val();
     queryData['enterprise_id'] = $("#enterprise_id").val();
+    if ($("#company_id").length > 0) {
+        queryData['company_id'] = $("#company_id").val();
+    }
     queryData['industry_field'] = $("#industry_field").val();
     queryData['industry_field_old'] = $("#industry_field_old").val();
     queryData['enterprise_tag'] = $("#enterprise_tag").val();
@@ -79,6 +82,9 @@ TalentInfo.reset = function () {
     $("#province").val("");
     $("#politics").val("");
     $("#enterprise_id").val("").trigger("chosen:updated");
+    if ($("#company_id").length > 0) {
+        $("#company_id").val("").trigger("chosen:updated");
+    }
     $("#industry_field").val("");
     $("#industry_field_old").val("");
     $("#enterprise_tag").val("");
@@ -228,6 +234,19 @@ TalentInfo.init = function () {
         width: "100%",
         enable_split_word_search: true
     });
+    if ($("#company_id").length > 0) {
+        $("#company_id").on('chosen:ready', function (e, params) {
+            $(".chosen-container-single .chosen-single").css("padding", "4px 0px 0px 4px");
+        });
+        $("#company_id").val("");
+        $("#company_id").trigger('chosen:updated');
+        $("#company_id").chosen({
+            search_contains: true,       //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
+            disable_search: false,
+            width: "100%",
+            enable_split_word_search: true
+        });
+    }
 }
 
 /**