Explorar o código

公示再审核、公示再审核批量通过

sugangqiang %!s(int64=2) %!d(string=hai) anos
pai
achega
c95b5c4127

+ 66 - 26
app/admin/controller/Talent.php

@@ -18,11 +18,6 @@ use app\common\api\EnterpriseApi;
  */
 class Talent extends AdminController {
 
-    public function selectNeedCheckData() {
-        $params = $this->request->param();
-        return json(["code" => 200, "obj" => VerifyApi::getPublicList($params)]);
-    }
-
     public function common_check() {
         $request = $this->request;
         $params = $request->param();
@@ -145,20 +140,9 @@ class Talent extends AdminController {
         return view();
     }
 
-    /**
-     * 预备人才库-公示
-     * @auth {{/talentInfo/preparePublic}}
-     */
-    public function pre_public() {
-        
-    }
-
-    /**
-     * 预备人才库-核查征信
-     * @auth {{/talentInfo/prepareHczx}}
-     */
-    public function pre_hczx() {
-        
+    public function selectNeedCheckData() {
+        $params = $this->request->param();
+        return json(["code" => 200, "obj" => VerifyApi::getPublicList($params)]);
     }
 
     /**
@@ -198,7 +182,10 @@ class Talent extends AdminController {
     public function hczxReject() {
         $params = $this->request->param();
         $id = $params["id"];
-        $msg = "征信失信:" . $params["outMsg"];
+        $msg = $params["outMsg"];
+        if (!$msg)
+            return json(["msg" => "请填写审核意见"]);
+        $msg = "征信失信:" . $msg;
         $state = TalentState::ZX_FAIL; //征信不通过
         $talent_info = VerifyApi::getOne($id);
         if ($talent_info["checkState"] != TalentState::REVERIFY_PASS) {
@@ -209,9 +196,10 @@ class Talent extends AdminController {
     }
 
     /**
-     * 公示预览导出
+     * 预备人才库-公示预览
+     * @auth {{/talentInfo/publicExportBefore}}
      */
-    public function exportPublic() {
+    public function publicExportBefore() {
         $params = $this->request->param();
         $ids_arr = array_filter(explode(",", $params["ids"]));
         $columns = ["序号", "批次", "姓名", "性别", "工作单位", "本人具备的认定条件", "拟认定人才层次", "审核状态", "备注"];
@@ -238,9 +226,10 @@ class Talent extends AdminController {
     }
 
     /**
-     * 公示
+     * 预备人才库-公示
+     * @auth {{/talentInfo/preparePublic}}
      */
-    public function publicBatch() {
+    public function preparePublic() {
         $params = $this->request->param();
         $isMessage = $params["isMessage"] ?: 2;
         $ids = $params["ids"];
@@ -275,8 +264,55 @@ class Talent extends AdminController {
      * 预备人才库-公示再审核
      * @auth {{/talentInfo/prepareCheck}}
      */
-    public function pre_check() {
-        
+    public function prepareCheck() {
+        $params = $this->request->param();
+        $id = $params["id"];
+        $checkState = $params["checkState"];
+        $msg = $params["checkMsg"];
+        if (!$msg)
+            return json(["msg" => "请填写审核意见"]);
+        if ($checkState == 1) {
+            $msg = "公示再审核通过:" . $msg;
+            $state = TalentState::ANNOUNCED_REVERIFY_PASS; //公示再审核通过
+        } else {
+            $msg = "公示再审核不通过:" . $msg;
+            $state = TalentState::ANNOUNCED_REVERIFY_FAIL; //公示再审核不通过
+        }
+        $talent_info = VerifyApi::getOne($id);
+        if ($talent_info["checkState"] != TalentState::ANNOUNCED) {
+            return json(["msg" => "当前记录不是公示状态,无法审核"]);
+        }
+        VerifyApi::setPublic($id, $state, $msg);
+        return json(["code" => 200, "msg" => "公示再审核完成"]);
+    }
+
+    /**
+     * 预备人才库-公示通过(批量)
+     * @auth {{/talentInfo/publicPass}}
+     */
+    public function publicPass() {
+        $params = $this->request->param();
+        $ids = $params["ids"];
+        $ids = array_filter(explode(",", $ids));
+        $msg = "公示再审核批量通过";
+        $state = TalentState::ANNOUNCED_REVERIFY_PASS; //公示再审核通过
+
+        $total = count($ids);
+        $error = 0;
+        $success = 0;
+        foreach ($ids as $id) {
+            $talent_info = VerifyApi::getOne($id);
+            if ($talent_info["checkState"] != TalentState::ANNOUNCED) {
+                $error++;
+                continue;
+            }
+            if (VerifyApi::setPublic($id, $state, $msg)) {
+                $success++;
+            } else {
+                $error++;
+            }
+        }
+        return json(["code" => 200, "msg" => sprintf("公示完成:共提交%d个人才,通过%d个,失败%d个", $total, $success, $error)]);
     }
 
     /**
@@ -728,6 +764,10 @@ class Talent extends AdminController {
         
     }
 
+    /**
+     * 预备人才库-核查征信
+     * @auth {{/talentInfo/prepareHczx}}
+     */
     public function exportHczx() {
         $ids = $this->request->param("ids");
         $ids_arr = array_filter(explode(",", $ids));

+ 89 - 86
app/admin/view/talent/pre_list.html

@@ -329,91 +329,91 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="TalentInfoTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent/prepareHczx','/talentInfo/prepareHczx')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showDataCheckModal(1)">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导出核查征信
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/hczxReject','/talentInfo/hczxReject')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showHczxRejectModal()">
-                                    <i class="fa fa-warning"></i>&nbsp;征信失信
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/hczxPass','/talentInfo/hczxPass')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(2)">
-                                    <i class="fa fa-check"></i>&nbsp;征信通过
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/publicExportBefore','/talentInfo/publicExportBefore')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(7)">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;公示预览
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/preparePublic','/talentInfo/preparePublic')">
-                                <button type="button" class="btn btn-sm btn-danger " onclick="TalentInfo.showDataCheckModal(3)">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;公示
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/preparePublicExport','/talentInfo/preparePublicExport')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.publicExport(1)">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;公示导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareCheck','/talentInfo/prepareCheck')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.afterCheck()">
-                                    <i class="fa fa-check-square-o"></i>&nbsp;公示再审核
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/publicPass','/talentInfo/publicPass')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(4)">
-                                    <i class="fa fa-compass"></i>&nbsp;公示通过
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/publishExportBefore','/talentInfo/publishExportBefore')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(8)">
-                                    <i class="fa fa-television"></i>&nbsp;公布预览
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/preparePublish','/talentInfo/preparePublish')">
-                                <button type="button" class="btn btn-sm btn-danger" onclick="TalentInfo.showDataCheckModal(5)">
-                                    <i class="fa fa-television"></i>&nbsp;公布
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/preparePublishExport','/talentInfo/preparePublishExport')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.publicExport(2)">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;公布导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareCanclePublish','/talentInfo/prepareCanclePublish')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.canclePublish()">
-                                    <i class="fa fa-reply"></i>&nbsp;撤销公布
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareCertification','/talentInfo/prepareCertification')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(6)">
-                                    <i class="fa fa-newspaper-o"></i>&nbsp;发证
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareExport','/talentInfo/prepareExport')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showExportModal()">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareDownload','/talentInfo/prepareDownload')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.download()">
-                                    <i class="fa fa-download"></i>&nbsp;下载
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/prepareDownload','/talentInfo/prepareDownload')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.downloadPhoto()">
-                                    <i class="fa fa-cloud-download"></i>&nbsp;批量下载头像
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/libraryDetail','/talentInfo/libraryDetail')">
-                                <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.openTalentInfoDetail()">
-                                    <i class="fa fa-eye"></i>&nbsp;查看
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/talent/exportHczx','/talentInfo/prepareHczx')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showDataCheckModal(1)">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导出核查征信
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/hczxReject','/talentInfo/hczxReject')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showHczxRejectModal()">
+                                <i class="fa fa-warning"></i>&nbsp;征信失信
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/hczxPass','/talentInfo/hczxPass')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(2)">
+                                <i class="fa fa-check"></i>&nbsp;征信通过
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/publicExportBefore','/talentInfo/publicExportBefore')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(7)">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;公示预览
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/preparePublic','/talentInfo/preparePublic')"}
+                            <button type="button" class="btn btn-sm btn-danger " onclick="TalentInfo.showDataCheckModal(3)">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;公示
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/preparePublicExport','/talentInfo/preparePublicExport')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.publicExport(1)">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;公示导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareCheck','/talentInfo/prepareCheck')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.afterCheck()">
+                                <i class="fa fa-check-square-o"></i>&nbsp;公示再审核
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/publicPass','/talentInfo/publicPass')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(4)">
+                                <i class="fa fa-compass"></i>&nbsp;公示通过
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/publishExportBefore','/talentInfo/publishExportBefore')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(8)">
+                                <i class="fa fa-television"></i>&nbsp;公布预览
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/preparePublish','/talentInfo/preparePublish')"}
+                            <button type="button" class="btn btn-sm btn-danger" onclick="TalentInfo.showDataCheckModal(5)">
+                                <i class="fa fa-television"></i>&nbsp;公布
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/preparePublishExport','/talentInfo/preparePublishExport')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.publicExport(2)">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;公布导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareCanclePublish','/talentInfo/prepareCanclePublish')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.canclePublish()">
+                                <i class="fa fa-reply"></i>&nbsp;撤销公布
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareCertification','/talentInfo/prepareCertification')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showDataCheckModal(6)">
+                                <i class="fa fa-newspaper-o"></i>&nbsp;发证
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareExport','/talentInfo/prepareExport')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.showExportModal()">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareDownload','/talentInfo/prepareDownload')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.download()">
+                                <i class="fa fa-download"></i>&nbsp;下载
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/prepareDownload','/talentInfo/prepareDownload')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.downloadPhoto()">
+                                <i class="fa fa-cloud-download"></i>&nbsp;批量下载头像
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/libraryDetail','/talentInfo/libraryDetail')"}
+                            <button type="button" class="btn btn-sm btn-primary" onclick="TalentInfo.openTalentInfoDetail()">
+                                <i class="fa fa-eye"></i>&nbsp;查看
+                            </button>
+                            {/if}
                         </div>
                         <table id="TalentInfoTable" class="table-condensed" style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true" data-click-to-select="true">
                             <thead>
@@ -479,6 +479,9 @@
                             <label class="col-sm-2 control-label">审核状态</label>
                             <div class="col-sm-10">
                                 <select id="checkStateAfter" name="checkState" class="form-control">
+                                    <option value="">请选择</option>
+                                    <option value="1">审核通过</option>
+                                    <option value="2">审核不通过</option>
                                 </select>
                             </div>
 
@@ -684,7 +687,7 @@
         </div>
     </div>
 </div>
-<iframe id="hiddenIframe" name="hiddenIframe" style="display: none;"></iframe>
+{iframe id="hiddenIframe" name="hiddenIframe" style="display: none;"></iframe>
 <!--<script src="${ctxPath}/static/modular/talentIdentify/talentInfo/talentInfo_prepare.js"></script>-->
 <!--<script src="${ctxPath}/static/modular/talentIdentify/talentInfo/talentInfo_common.js"></script>-->
 <script type="text/javascript">

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

@@ -140,9 +140,8 @@ class VerifyApi {
             case 7:             //公示预览
                 $where[] = ["ti.checkState", "=", TalentState::ZX_PASS];
                 break;
-            case 4:
-                $where[] = ["ti.isPublic", "=", 3];
-                $where[] = ["ti.checkState", "in", [11, 13]];
+            case 4:             //公示通过
+                $where[] = ["ti.checkState", "=", TalentState::ANNOUNCED];
                 break;
             case 5:
             case 8:             //公布预览
@@ -297,7 +296,7 @@ class VerifyApi {
         return Talent::alias("ti")->leftJoin("new_enterprise e", "e.id=ti.enterprise_id")->where($where)->field("ti.*,e.agentName,e.agentPhone")->select()->toArray();
     }
 
-    public static function setPublic($mainId, $state, $msg, $batch, $type = 1) {
+    public static function setPublic($mainId, $state, $msg, $batch = null, $type = 1) {
         $data["id"] = $mainId;
         $data["checkState"] = $state;
         switch ($state) {
@@ -309,6 +308,10 @@ class VerifyApi {
                 $data["isPublic"] = 3;
                 $data["publicBatch"] = $batch;
                 break;
+            case TalentState::ANNOUNCED_REVERIFY_PASS:
+            case TalentState::ANNOUNCED_REVERIFY_FAIL:
+                $data["isPublic"] = 3;
+                break;
         }
         if (Talent::update($data)) {
             TalentLogApi::write($type, $mainId, $state, $msg, 1);

+ 5 - 4
public/static/modular/talentIdentify/talentInfo/talentInfo_prepare.js

@@ -376,7 +376,7 @@ TalentInfo.needPublicExport = function () {
     }
     var operation = function () {
         $("#exportCommonModal").modal("hide");
-        window.location.href = encodeURI(encodeURI("/admin/talent/exportPublic?ids=" + ids));
+        window.location.href = encodeURI(encodeURI("/admin/talent/publicExportBefore?ids=" + ids));
     }
     Feng.confirm("确定要公示预览吗?", operation);
 }
@@ -452,7 +452,7 @@ TalentInfo.public = function () {
                     return;
                 }
                 layer.close(index);
-                var ajax = new $ax("/admin/talent/publicBatch", function (data) {
+                var ajax = new $ax("/admin/talent/preparePublic", function (data) {
                     if (data.code == 200) {
                         Feng.success(data.msg);
                         TalentInfo.table.refresh();
@@ -579,13 +579,14 @@ TalentInfo.afterCheckSubmit = function () {
     var msg = $("#msg").val();
     if (checkState == null || checkState == '') {
         Feng.info("请选择审核状态");
+        return;
     }
     if (msg == null || msg == '') {
         Feng.info("请填写审核意见");
         return;
     }
     var operation = function () {
-        var ajax = new $ax(Feng.ctxPath + "/talentInfo/afterCheck", function (data) {
+        var ajax = new $ax(Feng.ctxPath + "/admin/talent/prepareCheck", function (data) {
             if (data.code == 200) {
                 Feng.success(data.msg);
                 TalentInfo.table.refresh();
@@ -617,7 +618,7 @@ TalentInfo.publicPass = function () {
         ids = ids + selected[i].id + ",";
     }
     var operation = function () {
-        var ajax = new $ax(Feng.ctxPath + "/talentInfo/publicPass", function (data) {
+        var ajax = new $ax("/admin/talent/publicPass", function (data) {
             if (data.code == 200) {
                 Feng.success(data.msg);
                 TalentInfo.table.refresh();