浏览代码

Merge remote-tracking branch 'origin/master'

sandm 1 年之前
父节点
当前提交
2688aaefe5

+ 46 - 0
app/admin/controller/Talent.php

@@ -1498,6 +1498,52 @@ class Talent extends AdminController {
         }
     }
 
+    /**
+     * 撤销复核
+     * @auth {{/talentInfo/cancleThirdCheck}}
+     */
+    public function cancleThirdCheck() {
+        $returnObj = new \stdClass();
+        $returnObj->code = 500;
+        $id = \StrUtil::getRequestDecodeParam($this->request, "id");
+        $msg = \StrUtil::getRequestDecodeParam($this->request, "checkMsg");
+        $old = VerifyApi::getOne($id);
+        if (!$old) {
+            $returnObj->msg = "请选择需要撤销的对象";
+            return json($returnObj);
+        }
+        if ($old["checkState"] != TalentState::REVERIFY_PASS) {
+            $returnObj->msg = "当前对象不是复核通过状态,无法撤销";
+            return json($returnObj);
+        }
+        $where = [];
+        $where[] = ["last_state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+        $where[] = ["state", "=", TalentState::REVERIFY_PASS];
+        $where[] = ["active", "=", 1];
+        $lastLog = TalentLogApi::getLastLogEx($id, ProjectState::TALENT, 0, $where);
+        if ($lastLog["state"] != TalentState::REVERIFY_PASS && $lastLog["active"] != 1) {
+            $returnObj->msg = "当前对象不是复核通过状态,无法撤销";
+            return json($returnObj);
+        }
+        if ($old["isPublic"] != 1) {
+            $returnObj->msg = "当前对象已核查征信,无法撤销";
+            return json($returnObj);
+        }
+        try {
+            $upd["id"] = $id;
+            $upd["checkState"] = $lastLog["last_state"];
+            if (TalentModel::update($upd)) {
+                TalentLogApi::write(ProjectState::TALENT, $id, [TalentState::REVERIFY_CANCEL, $lastLog["last_state"]], "撤销原因:" . $msg, 1);
+            }
+            $returnObj->msg = "撤销成功";
+            $returnObj->code = 200;
+            return json($returnObj);
+        } catch (\think\db\exception\DbException $e) {
+            $responseObj->msg = $e->getMessage();
+            return json($responseObj);
+        }
+    }
+
     public function validateIsCheck() {
         $params = $this->request->param();
         $id = $params["id"];

+ 20 - 20
app/admin/view/company/index.html

@@ -36,26 +36,26 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="CompanyTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/company/add','/company/add')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Company.openAddCompany()">
-                                    <i class="fa fa-plus"></i>&nbsp;添加
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/company/edit','/company/update')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Company.openCompanyDetail()">
-                                    <i class="fa fa-edit"></i>&nbsp;修改
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/company/view','/company/select')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Company.select()">
-                                    <i class="fa fa-book"></i>&nbsp;查看
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/company/delete','/company/delete')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Company.delete()">
-                                    <i class="fa fa-remove"></i>&nbsp;删除
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/company/add','/company/add')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Company.openAddCompany()">
+                                <i class="fa fa-plus"></i>&nbsp;添加
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/company/edit','/company/update')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Company.openCompanyDetail()">
+                                <i class="fa fa-edit"></i>&nbsp;修改
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/company/view','/company/select')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Company.select()">
+                                <i class="fa fa-book"></i>&nbsp;查看
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/company/delete','/company/delete')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Company.delete()">
+                                <i class="fa fa-remove"></i>&nbsp;删除
+                            </button>
+                            {/if}
                         </div>
                         <table id="CompanyTable" class="table-condensed" style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true" data-click-to-select="true">
                             <thead>

+ 29 - 29
app/admin/view/file_type/index.html

@@ -20,20 +20,20 @@
                                     <input type="text" class="form-control" id="name"/>
                                 </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="type">-->
-<!--                                        <option value="">-&#45;&#45;请选择-&#45;&#45;</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="type">-->
+                            <!--                                        <option value="">-&#45;&#45;请选择-&#45;&#45;</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">
@@ -87,21 +87,21 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="UnCommonFiletypeTableToolbar" role="group">                            
-                            <if condition="chkCommission('/admin/file_type/add','/unCommonFiletype/add')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.openAddUnCommonFiletype()">
-                                    <i class="fa fa-plus"></i>添加
-                                </button>
-                            </if>                            
-                            <if condition="chkCommission('/admin/filetype/edit','/unCommonFiletype/update')">                                
-                                <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.openUnCommonFiletypeDetail()">
-                                    <i class="fa fa-edit"></i>修改
-                                </button>
-                            </if>                            
-                            <if condition="chkCommission('/admin/filetype/delete','/unCommonFiletype/delete')">                                
-                                <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.delete()">
-                                    <i class="fa fa-remove"></i>删除
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/file_type/add','/unCommonFiletype/add')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.openAddUnCommonFiletype()">
+                                <i class="fa fa-plus"></i>添加
+                            </button>
+                            {/if}                            
+                            {if condition="chkCommission('/admin/filetype/edit','/unCommonFiletype/update')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.openUnCommonFiletypeDetail()">
+                                <i class="fa fa-edit"></i>修改
+                            </button>
+                            {/if}                            
+                            {if condition="chkCommission('/admin/filetype/delete','/unCommonFiletype/delete')"}                             
+                            <button type="button" class="btn btn-sm btn-primary " onclick="UnCommonFiletype.delete()">
+                                <i class="fa fa-remove"></i>删除
+                            </button>
+                            {/if}
                         </div>
                         <table id="UnCommonFiletypeTable" class="table-condensed" style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true" data-click-to-select="true">
                             <thead>

+ 20 - 20
app/admin/view/role/index.html

@@ -25,26 +25,26 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="roleTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/role/add','/role/add')">                                
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Role.openAddRole()">
-                                    <i class="fa fa-plus"></i>添加
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/role/edit','/role/edit')"> 
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Role.openChangeRole()">
-                                    <i class="fa fa-edit"></i>修改
-                                </button>  
-                            </if>
-                            <if condition="chkCommission('/admin/role/remove','/role/remove')">   
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Role.delRole()">
-                                    <i class="fa fa-delete"></i>删除
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/role/setAuthority','/role/setAuthority')">   
-                                <button type="button" class="btn btn-sm btn-primary " onclick="Role.assign()">
-                                    <i class="fa fa-user-secret"></i>权限配置
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/role/add','/role/add')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Role.openAddRole()">
+                                <i class="fa fa-plus"></i>添加
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/role/edit','/role/edit')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Role.openChangeRole()">
+                                <i class="fa fa-edit"></i>修改
+                            </button>  
+                            {/if}
+                            {if condition="chkCommission('/admin/role/remove','/role/remove')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Role.delRole()">
+                                <i class="fa fa-delete"></i>删除
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/role/setAuthority','/role/setAuthority')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="Role.assign()">
+                                <i class="fa fa-user-secret"></i>权限配置
+                            </button>
+                            {/if}
                         </div>
                         <table id="roleTable" class="table-condensed" style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true" data-click-to-select="true">
                             <thead>

+ 32 - 32
app/admin/view/talent/base_reverify.html

@@ -166,41 +166,41 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="TalentInfoTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent/base_verify','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
-                                    <i class="fa fa-check"></i>&nbsp;审核
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/base_export','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/base_download','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
-                                    <i class="fa fa-download"></i>&nbsp;下载
-                                </button>
-                            </if>
-                            <!--<if condition="chkCommission('/admin/talent/modify_reject_fields','')">
+                            {if condition="chkCommission('/admin/talent/base_verify','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
+                                <i class="fa fa-check"></i>&nbsp;审核
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/base_export','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/base_download','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
+                                <i class="fa fa-download"></i>&nbsp;下载
+                            </button>
+                            {/if}
+                            <!--{if condition="chkCommission('/admin/talent/modify_reject_fields','')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.updateFieldsAndFiles()" id="">
                                     <i class="fa fa-edit"></i>&nbsp;修改驳回字段
                                 </button>
-                            </if>-->
-                            <if condition="chkCommission('/admin/talent/setNotPass','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.setNotPass()" id="">
-                                    <i class="fa fa-mobile"></i>&nbsp;审核不通过
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/getPhones','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getPhones()" id="">
-                                    <i class="fa fa-mobile"></i>&nbsp;获取人才手机号
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/getEnterprisePhones','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getEnterprisePhones()" id="">
-                                    <i class="fa fa-phone"></i>&nbsp;获取人才联络员手机号
-                                </button>
-                            </if>
+                            {/if}-->
+                            {if condition="chkCommission('/admin/talent/setNotPass','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.setNotPass()" id="">
+                                <i class="fa fa-mobile"></i>&nbsp;审核不通过
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/getPhones','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getPhones()" id="">
+                                <i class="fa fa-mobile"></i>&nbsp;获取人才手机号
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/getEnterprisePhones','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getEnterprisePhones()" id="">
+                                <i class="fa fa-phone"></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>

+ 32 - 32
app/admin/view/talent/base_verify.html

@@ -166,41 +166,41 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="TalentInfoTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent/base_verify','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
-                                    <i class="fa fa-check"></i>&nbsp;审核
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/base_export','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/base_download','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
-                                    <i class="fa fa-download"></i>&nbsp;下载
-                                </button>
-                            </if>
-                            <!--<if condition="chkCommission('/admin/talent/modify_reject_fields','')">
+                            {if condition="chkCommission('/admin/talent/base_verify','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
+                                <i class="fa fa-check"></i>&nbsp;审核
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/base_export','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/base_download','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
+                                <i class="fa fa-download"></i>&nbsp;下载
+                            </button>
+                            {/if}
+                            <!--{if condition="chkCommission('/admin/talent/modify_reject_fields','')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.updateFieldsAndFiles()" id="">
                                     <i class="fa fa-edit"></i>&nbsp;修改驳回字段
                                 </button>
-                            </if>-->
-                            <if condition="chkCommission('/admin/talent/setNotPass','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.setNotPass()" id="">
-                                    <i class="fa fa-mobile"></i>&nbsp;审核不通过
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/getPhones','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getPhones()" id="">
-                                    <i class="fa fa-mobile"></i>&nbsp;获取人才手机号
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/getEnterprisePhones','')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getEnterprisePhones()" id="">
-                                    <i class="fa fa-phone"></i>&nbsp;获取人才联络员手机号
-                                </button>
-                            </if>
+                            {/if}-->
+                            {if condition="chkCommission('/admin/talent/setNotPass','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.setNotPass()" id="">
+                                <i class="fa fa-mobile"></i>&nbsp;审核不通过
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/getPhones','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getPhones()" id="">
+                                <i class="fa fa-mobile"></i>&nbsp;获取人才手机号
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/getEnterprisePhones','')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.getEnterprisePhones()" id="">
+                                <i class="fa fa-phone"></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>

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

@@ -336,21 +336,21 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="TalentInfoTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent/deptCheck','/talentInfo/depCheck')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
-                                    <i class="fa fa-check"></i>&nbsp;审核
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/depExport','/talentInfo/depExport')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导出
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/depDownloadZip','/talentInfo/depDownload')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
-                                    <i class="fa fa-download"></i>&nbsp;下载
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/talent/deptCheck','/talentInfo/depCheck')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
+                                <i class="fa fa-check"></i>&nbsp;审核
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/depExport','/talentInfo/depExport')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(1)" id="">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导出
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/depDownloadZip','/talentInfo/depDownload')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
+                                <i class="fa fa-download"></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>

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

@@ -323,26 +323,26 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="TalentInfoTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent/re_verify','/talentInfo/thirdCheck')">
+                            {if condition="chkCommission('/admin/talent/re_verify','/talentInfo/thirdCheck')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.openCheckTalentInfo()" id="">
                                     <i class="fa fa-check"></i>&nbsp;审核
                                 </button>
-                            </if>
-                            <!--<if condition="chkCommission('/admin/talent/return_verify','/talentInfo/cancleThirdCheck')">
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/cancelThirdCheck','/talentInfo/cancleThirdCheck')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.cancleThirdCheck()" id="">
                                     <i class="fa fa-file-excel-o"></i>&nbsp;撤销复核
                                 </button>
-                            </if>-->
-                            <if condition="chkCommission('/admin/talent/reVerifyExport','/talentInfo/thirdExport')">
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/reVerifyExport','/talentInfo/thirdExport')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.showExportModal(3)" id="">
                                     <i class="fa fa-file-excel-o"></i>&nbsp;导出
                                 </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent/download','/talentInfo/thirdDownload')">
+                            {/if}
+                            {if condition="chkCommission('/admin/talent/download','/talentInfo/thirdDownload')"}
                                 <button type="button" class="btn btn-sm btn-primary " onclick="TalentInfo.download()" id="">
                                     <i class="fa fa-download"></i>&nbsp;下载
                                 </button>
-                            </if>
+                            {/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>

+ 39 - 39
app/admin/view/talent_condition/index.html

@@ -20,21 +20,21 @@
                                     <input type="text" class="form-control" id="name" placeholder="">
                                 </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="type">-->
-<!--                                        <option value=""></option>-->
-<!--                                        <option value="1">晋江市现代产业体系人才</option>-->
-<!--                                        <option value="2">集成电路优秀人才</option>-->
+                            <!--                            <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="type">-->
+                            <!--                                        <option value=""></option>-->
+                            <!--                                        <option value="1">晋江市现代产业体系人才</option>-->
+                            <!--                                        <option value="2">集成电路优秀人才</option>-->
 
-<!--                                    </select>-->
-<!--                                </div>-->
-<!--                            </div>-->
+                            <!--                                    </select>-->
+                            <!--                                </div>-->
+                            <!--                            </div>-->
                             <div class="col-sm-3">
                                 <div class="input-group input-group-sm">
                                     <div class="input-group-btn">
@@ -72,31 +72,31 @@
                             </div>
                         </div>
                         <div class="hidden-xs" id="IdentifyConditionTableToolbar" role="group">
-                            <if condition="chkCommission('/admin/talent_condition/add','/identifyCondition/add')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.openAddIdentifyCondition()">
-                                    <i class="fa fa-plus"></i>&nbsp;添加
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent_condition/add','/identifyCondition/update')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.openIdentifyConditionDetail()">
-                                    <i class="fa fa-edit"></i>&nbsp;修改
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent_condition/delete','/identifyCondition/delete')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.delete()">
-                                    <i class="fa fa-remove"></i>&nbsp;删除
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent_condition/exportTemplate','/identifyCondition/importTemplate')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.download()">
-                                    <i class="fa fa-file-excel-o"></i>&nbsp;导入模板
-                                </button>
-                            </if>
-                            <if condition="chkCommission('/admin/talent_condition/import','/identifyCondition/import')">
-                                <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.import()">
-                                    <i class="fa fa-external-link"></i>&nbsp;导入
-                                </button>
-                            </if>
+                            {if condition="chkCommission('/admin/talent_condition/add','/identifyCondition/add')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.openAddIdentifyCondition()">
+                                <i class="fa fa-plus"></i>&nbsp;添加
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent_condition/add','/identifyCondition/update')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.openIdentifyConditionDetail()">
+                                <i class="fa fa-edit"></i>&nbsp;修改
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent_condition/delete','/identifyCondition/delete')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.delete()">
+                                <i class="fa fa-remove"></i>&nbsp;删除
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent_condition/exportTemplate','/identifyCondition/importTemplate')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.download()">
+                                <i class="fa fa-file-excel-o"></i>&nbsp;导入模板
+                            </button>
+                            {/if}
+                            {if condition="chkCommission('/admin/talent_condition/import','/identifyCondition/import')"}
+                            <button type="button" class="btn btn-sm btn-primary " onclick="IdentifyCondition.import()">
+                                <i class="fa fa-external-link"></i>&nbsp;导入
+                            </button>
+                            {/if}
                         </div>
                         <table id="IdentifyConditionTable" class="table-condensed" style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true" data-click-to-select="true">
                             <thead>

+ 1 - 1
app/command/ReVerifyChecker.php

@@ -29,7 +29,7 @@ class ReVerifyChecker extends Command {
     }
 
     protected function execute(Input $input, Output $output) {
-        $whereRaw = sprintf("(tl.state in (14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
+        $whereRaw = sprintf("(tl.state in (-14,14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
         //$whereRaw = sprintf("(ti.checkState in (14,15,16)) or (ti.checkState=12 and ti.pass_dept_check=0) or (ti.checkState=10 and ti.pass_dept_check=1) or (ti.checkState=10 and (tc.companyIds is null or tc.companyIds = ''))");
         $where[] = ["ti.checkState", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
         $where[] = ["e.type", "=", 1]; //只对晋江人才相关部门发送短信

+ 4 - 0
app/common/api/DictApi.php

@@ -292,6 +292,7 @@ class DictApi {
             case 13:
                 $stepName = '<span class="label label-primary">部门审核</span>';
                 break;
+            case -14:
             case 14:
             case 15:
                 $stepName = '<span class="label label-info">复核</span>';
@@ -335,6 +336,9 @@ class DictApi {
     public static function getTalentInfoStateName($state, $step = 0, $last_state = 0) {
         $str = "";
         switch ($state) {
+            case -14:
+                $str = '<span class="label label-success">待复审</span>';
+                break;
             case -2:
                 $str = '<span class="label label-danger">初审失败</span>';
                 break;

+ 3 - 0
app/common/api/TalentState.php

@@ -35,6 +35,7 @@ class TalentState {
     public const CERTIFICATED = 28; //已发放人才码
     public const BASE_VERIFY_FAIL = -1; //条件验证失败
     public const FST_VERIFY_FAIL = -2; //初审失败
+    public const REVERIFY_CANCEL = -14; //复审撤销
     public const RCRD_BASIC_SAVE = -2;
     public const RCRD_BASIC_NOTPASS = -1;
     public const RCRD_BASIC_NEED = 1;
@@ -53,6 +54,8 @@ class TalentState {
 
     public static function getStateName($state) {
         switch ($state) {
+            case -14:
+                return "撤销复核";
             case -2:
                 return "初审不通过";
             case 1:

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

@@ -457,14 +457,14 @@ class VerifyApi {
             }
         }
         if ($process == 5) {
-            $whereRaw = sprintf("(tl.state in (14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
+            $whereRaw = sprintf("(tl.state in (-14,14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
             switch ($params["checkState"]) {
                 case 1://待复审(首次提交)
-                    $where[] = ["tl.state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+                    $where[] = ["tl.state", "in", [TalentState::REVERIFY_CANCEL, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
                     $where[] = ["tl2.resubmit", "EXP", Db::raw("is null")];
                     break;
                 case 2://待复审(重新提交)
-                    $where[] = ["tl.state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+                    $where[] = ["tl.state", "in", [TalentState::REVERIFY_CANCEL, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
                     $where[] = ["tl2.resubmit", "EXP", Db::raw("is not null")];
                     break;
                 case 3://复审通过
@@ -478,7 +478,7 @@ class VerifyApi {
                     break;
                 default:
                     if ($type == 2) {
-                        $where[] = ["tl.state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+                        $where[] = ["tl.state", "in", [TalentState::REVERIFY_CANCEL, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
                     }
                     break;
             }
@@ -869,14 +869,14 @@ class VerifyApi {
                     }
                     break;
                 case 5:
-                    $whereRaw = sprintf("(tl.state in (14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
+                    $whereRaw = sprintf("(tl.state in (-14,14,15,16)) or (tl.state=12 and ti.pass_dept_check=0) or (tl.state=10 and ti.pass_dept_check=1) or (tl.state=10 and (tc.companyIds is null or tc.companyIds = ''))");
                     switch ($params["checkState"]) {
                         case 1://待复审(首次提交)
-                            $where[] = ["tl.state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+                            $where[] = ["tl.state", "in", [TalentState::REVERIFY_CANCEL, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
                             $where[] = ["tl2.resubmit", "EXP", Db::raw("is null")];
                             break;
                         case 2://待复审(重新提交)
-                            $where[] = ["tl.state", "in", [TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
+                            $where[] = ["tl.state", "in", [TalentState::REVERIFY_CANCEL, TalentState::FST_VERIFY_PASS, TalentState::DEPT_VERIFY_PASS]];
                             $where[] = ["tl2.resubmit", "EXP", Db::raw("is not null")];
                             break;
                         case 3://复审通过

+ 2 - 0
app/common/controller/Api.php

@@ -244,6 +244,8 @@ class Api extends BaseController {
                         $new_item["stateName"] = '<span class="label label-primary">审核通过</span>';
                     } else if (in_array($item["state"], [TalentState::FST_SAVE, TalentState::SCND_SAVE])) {
                         $new_item["stateName"] = '<span class="label">保存未提交</span>';
+                    } else if (in_array($item["state"], [TalentState::REVERIFY_CANCEL])) {
+                        $new_item["stateName"] = '<span class="label label-primary">撤销审核</span>';
                     } else if (!$item["state"]) {
                         if ($item["typeFileId"]) {
                             $new_item["stateName"] = '<span class="label">添加附件</span>';

+ 199 - 207
app/enterprise/view/talent/hospital/apply.html

@@ -10,10 +10,10 @@
     .has-feedback .form-control {
         padding-right: 5px;
     }
-    .control-label{
+    .col-label{
         color: #337ab7;
     }
-    .rowGroup{
+    .col{
         padding-bottom: 5px;
     }
     .imgs li{
@@ -23,6 +23,19 @@
         text-align: center;
         height: 30px;
     }
+    .row{margin:0 0 10px 0;}
+    .col{overflow:hidden;}
+    .col-label{float:left;margin:7px 10px;width:80px;text-align:right;}
+    .w80{width:80px;}
+    .w100{width:100px;}
+    .w120{width:120px;}
+    .w175{width:175px;}
+    .w210{width:210px;}
+    .w250{width:250px;}
+    .w300{width:300px;}
+    .w360{width:360px;}
+    .w80,.w100.w120,.w175,.w210,.w250,.w300,.w360,.col,select.form-control{float:left;}
+    .container-fluid{margin:0 auto;width:1100px;background:#eef9ff;padding:20px;border:1px solid #c3d5ff;box-shadow:1px 1px 5px #c3d5ff}
 </style>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
@@ -32,220 +45,200 @@
                     <div class="tabs-container" >
                         <ul class="nav nav-tabs">
                             <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">基本信息</a></li>
-                            <li id="fileLi" class=""><a data-toggle="tab" href="#tab-2" onclick="TalentInfoInfoDlg.initFileTable()"  aria-expanded="false">申报附件</a></li>
+                            <li id="fileLi" class=""><a data-toggle="tab" href="#tab-2" onclick="TalentInfoInfoDlg.initFileTable()"  aria-expanded="false">日志</a></li>
                         </ul>
                     </div>
                     <div class="tab-content">
                         <div id="tab-1" class="tab-pane active">
-                            <div class="panel-body" >
-                                <div class="panel panel-default">
-                                    <div class="panel-heading" onclick="$(this).next().toggle()">基础信息</div>
-                                    <div class="panel-body">
-                                        <form id="talentInfoForm" class="form-horizontal" action="/enterprise/talent/apply" method="post" enctype="multipart/form-data" target="hiddenIframe">
-                                            <div class="col-sm-12 form-group-sm">                                                
-                                                <input type="hidden" name="id" id="id" value="{$row.id}">
-                                                <input type="hidden" name="year" id="year" value="{$year}">
-                                                <input type="hidden" name="enterprise_id" id="enterpriseId" value="{$row.enterprise.id}">
-                                                <input type="hidden" name="enterprise_type" id="type" value="{$row.enterprise.type}">
-                                                <input type="hidden" name="enterprise_tag" id="enterprise_tag" value="{$row.enterprise.enterpriseTag}">
-                                                <input type="file" name="photo" id="photo" style="display: none">
-                                                <input type="hidden" name="checkState" id="checkState" value="{$row.checkState}">
-                                                <input type="hidden" name="realState" id="realState" value="{$row.real_state}">
-                                                <input type="hidden" name="files" id="files" value="{$row.modify_files}">
-                                                <input type="hidden" name="fields" id="fields" value="{$row.modify_fields}">
-                                                <div class="row">
-                                                    <div class="col-sm-11">
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>姓名</label>
-                                                            <input type="text" class="form-control" id="name" name="name" value="{$row.name}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>证件类型</label>
-                                                            <select class="form-control" id="card_type" name="card_type" value="{$row.card_type}">
-                                                                <option value="">请选择</option>
-                                                                <option value="1">身份证</option>
-                                                                <option value="2">通行证</option>
-                                                                <option value="3">护照</option>
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>证件号码</label>
-                                                            <input class="form-control" id="card_number" name="card_number" value="{$row.card_number}">
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>性别</label>
-                                                            <select class="form-control" id="sex" name="sex" value="{$row.sex}">
-                                                                <option value="">请选择</option>
-                                                                <option value="1">男</option>
-                                                                <option value="2">女</option>
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>出生日期</label>
-                                                            <input type="text" class="form-control date" id="birthday" name="birthday" value="{$row.birthday}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>国籍/地区</label>
-                                                            <select class="form-control" id="nationality" name="nationality" value="{$row.nationality}">
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class="control-label spacing"><span style="color: red">*</span>籍贯省</label>
-                                                            <select class="form-control " onchange="TalentInfoInfoDlg.afterSelectProvince()" id="province" name="province" value="{$row.province}">
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class="control-label spacing"><span style="color: red">*</span>籍贯市</label>
-                                                            <select class="form-control" onchange="TalentInfoInfoDlg.afterSelectCity()" id="city" name="city" value="{$row.city}"></select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class="control-label spacing"><span style="color: red">*</span>籍贯县</label>
-                                                            <select class="form-control" id="county" name="county" value="{$row.county}"></select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class="control-label spacing"><span style="color: red">*</span>民族</label>
-                                                            <select class="form-control" id="nation" name="nation" value="{$row.nation}">
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>政治面貌</label>
-                                                            <select class="form-control" id="politics" name="politics" value="{$row.politics}">
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>是否曾被相关主管部门列为失信个人</label>
-                                                            <select class="form-control" id="break_faith" name="break_faith" value="{$row.break_faith}">
-                                                                <option value="2">否</option>
-                                                                <option value="1">是</option>
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>手机号码</label>
-                                                            <input type="text" class="form-control" id="phone" name="phone" maxlength="11" value="{$row.phone}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>电子邮箱</label>
-                                                            <input type="text" class="form-control" id="email" name="email" value="{$row.email}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>最高学历</label>
-                                                            <select class="form-control" id="highest_degree" name="highest_degree" value="{$row.highest_degree}"></select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>毕业学校</label>
-                                                            <input type="text" class="form-control" id="graduate_school" name="graduate_school" value="{$row.graduate_school}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>专业</label>
-                                                            <input type="text" class="form-control" id="major" name="major" value="{$row.major}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class="control-label spacing">是否有留学经历</label>
-                                                            <select class="form-control" id="study_abroad" name="study_abroad" value="{$row.study_abroad}">
-                                                                <option value="2">否</option>
-                                                                <option value="1">是</option>
-                                                            </select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>单位名称</label>
-                                                            <input type="text" class="form-control" readonly="readonly" value="{$row.enterprise.name}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>所属镇街</label>
-                                                            <input type="text" class="form-control" readonly="readonly" value="{$row.enterprise.streetName}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>职务</label>
-                                                            <input type="text" class="form-control" id="position" name="position" value="{$row.position}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>入职时间</label>
-                                                            <input type="text" class="form-control date" id="cur_entry_time" name="cur_entry_time" value="{$row.cur_entry_time}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>工作合同起止时间</label>
-                                                            <input type="text" class="form-control rangedate" id="labor_contract_rangetime" name="labor_contract_rangetime" value="{$row.labor_contract_rangetime}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>人才层次</label>
-                                                            <select class="form-control" id="talent_arrange" name="talent_arrange" onchange="TalentInfoInfoDlg.getIdentifyCondition()" value="{$row.talent_arrange}"></select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>认定条件</label>
-                                                            <select class="form-control" id="talent_condition" name="talent_condition" value="{$row.talent_condition}"></select>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>认定条件名称</label>
-                                                            <input type="text" class="form-control" id="identifyConditionName" name="identifyConditionName" value="{$row.identifyConditionName}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>认定条件取得时间</label>
-                                                            <input type="text" class="form-control date" id="identifyGetTime" name="identifyGetTime" value="{$row.identifyGetTime}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing">职称</label>
-                                                            <input type="text" class="form-control" id="title" name="title" value="{$row.title}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing">国家职业资格</label>
-                                                            <input type="text" class="form-control" id="pro_qua" name="pro_qua" value="{$row.pro_qua}"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>开户银行</label>
-                                                            <input type="text" class="form-control" onchange="TalentInfoInfoDlg.bankChange()" id="bank" name="bank" value="{$row.bank}" placeholder="XX银行"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>开户银行网点</label>
-                                                            <input type="text" class="form-control" id="bank_branch_name" name="bank_branch_name" value="{$row.bank_branch_name}" PLACEHOLDER="XX银行XX省XX市XX支行/分行/分理处"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-4">
-                                                            <label class=" control-label spacing"><span style="color: red">*</span>银行账号</label>
-                                                            <input type="text" class="form-control" id="bank_account" name="bank_account" value="{$row.bank_account}" onkeyup="value = value.replace(/\s+/g, '')"/>
-                                                        </div>
-                                                        <div class="rowGroup col-sm-12">
-                                                            <label class=" control-label spacing">备注</label>
-                                                            <input type="text" class="form-control" id="description" name="description" value="{$row.description}"/>
-                                                        </div>
-                                                    </div>
-                                                    <div class="col-sm-1">
-                                                        <p style="text-align: center;color: red">
-                                                            近期免冠半身彩照(两寸)
-                                                        </p>
-                                                        <img id="photoImg" {if condition="$row['headimgurl']"} src="{$row.headimgurl|getStoragePath}" {else/} src="/static/img/photo.png" {/if} onclick="$('#photo').click();" style="height:147px;width:105px;">                                                        
-                                                    </div>
+                            <div class="panel-body" style="background:#dbedfd;">
+                                <form id="talentInfoForm" class="form-horizontal" action="/enterprise/talent/apply" method="post" enctype="multipart/form-data" target="hiddenIframe">
+                                    <div class="form-group-sm">   
+                                        <input type="hidden" name="id" id="id" value="{$row.id}">
+                                        <input type="hidden" name="year" id="year" value="{$year}">
+                                        <input type="hidden" name="enterprise_id" id="enterpriseId" value="{$row.enterprise.id}">
+                                        <input type="hidden" name="enterprise_type" id="type" value="{$row.enterprise.type}">
+                                        <input type="hidden" name="enterprise_tag" id="enterprise_tag" value="{$row.enterprise.enterpriseTag}">
+                                        <input type="file" name="photo" id="photo" style="display: none">
+                                        <input type="hidden" name="checkState" id="checkState" value="{$row.checkState}">
+                                        <input type="hidden" name="realState" id="realState" value="{$row.real_state}">
+                                        <input type="hidden" name="files" id="files" value="{$row.modify_files}">
+                                        <input type="hidden" name="fields" id="fields" value="{$row.modify_fields}">                                             
+                                        <div class="container-fluid">
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>姓名</label>
+                                                    <input type="text" class="form-control w120" id="name" name="name" value="{$row.name}"/>
                                                 </div>
-                                                <div class="row">
-                                                    <div class="rowGroup col-sm-12">
-                                                        <label class=" control-label spacing"><span style="color: red">*</span>教育背景及工作简历</label>
-                                                        <textarea style="overflow: auto;word-break: break-all; " class="form-control" id="education" name="education" rows="4">{$row.education}</textarea>
-                                                    </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>性别</label>
+                                                    <select class="form-control w80" id="sex" name="sex" value="{$row.sex}">
+                                                        <option value="">请选择</option>
+                                                        <option value="1">男</option>
+                                                        <option value="2">女</option>
+                                                    </select>
                                                 </div>
-                                                <div class="row">
-                                                    <div class="rowGroup col-sm-12">
-                                                        <label class=" control-label spacing"><span style="color: red">*</span>主要业绩及取得的荣誉</label>
-                                                        <textarea style="overflow: auto;word-break: break-all; " class="form-control" id="experience" name="experience" rows="4">{$row.experience}</textarea>
-                                                    </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>民族</label>
+                                                    <select class="form-control w120" id="nation" name="nation" value="{$row.nation}">
+                                                    </select>
                                                 </div>
-                                                <div class="row">
-                                                    <label class="col-sm-12 control-label spacing" style="text-align: left"><span style="color: red">声明:本人对输入材料的真实性负全部责任</span></label>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>政治面貌</label>
+                                                    <select class="form-control w120" id="politics" name="politics" value="{$row.politics}">
+                                                    </select>
                                                 </div>
                                             </div>
-                                        </form>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>证件类型 / 证件号码</label>
+                                                    <select class="form-control w120" id="card_type" name="card_type" value="{$row.card_type}">
+                                                        <option value="">请选择</option>
+                                                        <option value="1">身份证</option>
+                                                        <option value="2">通行证</option>
+                                                        <option value="3">护照</option>
+                                                    </select>
+                                                    <input class="form-control w175" style="margin-left:5px;" id="card_number" name="card_number" value="{$row.card_number}">
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>出生日期</label>
+                                                    <input type="text" class="form-control w120 date" id="birthday" name="birthday" value="{$row.birthday}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>人才类型</label>
+                                                    <select class="form-control w120" id="talent_type" name="talent_type" value="{$row.talent_type}" onchange="TalentInfoInfoDlg.talentTypeChange()" data-value="{$row.talent_type}">
+                                                        <option value="">请选择</option>
+                                                        {volist name="row.talent_type_list" id="item"}
+                                                        <option value="{$item.code}">{$item.name}</option>
+                                                        {/volist}
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>最高学历</label>
+                                                    <select class="form-control w120" id="highest_degree" name="highest_degree" value="{$row.highest_degree}"></select>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>毕业学校</label>
+                                                    <input type="text" class="form-control w210" id="graduate_school" name="graduate_school" value="{$row.graduate_school}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>专业</label>
+                                                    <input type="text" class="form-control w210" id="major" name="major" value="{$row.major}"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100">是否有留学经历</label>
+                                                    <select class="form-control w120" id="study_abroad" name="study_abroad" value="{$row.study_abroad}">
+                                                        <option value="2">否</option>
+                                                        <option value="1">是</option>
+                                                    </select>
+                                                </div>
+                                                <div class="col abroad_need_this" {if condition='!$row["study_abroad"] or $row["study_abroad"] eq 2'}style="display:none;"{/if}>
+                                                     <label class="col-label"><span style="color: red">*</span>留学毕业院校</label>
+                                                    <input type="text" class="form-control w210" id="abroad_school" name="abroad_school" value="{$row.abroad_school}"/>
+                                                </div>
+                                                <div class="col abroad_need_this" {if condition='!$row["study_abroad"] or $row["study_abroad"] eq 2'}style="display:none;"{/if}>
+                                                     <label class="col-label"><span style="color: red">*</span>留学专业</label>
+                                                    <input type="text" class="form-control w210" id="abroad_major" name="abroad_major" value="{$row.abroad_major}"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>工作医院名称</label>
+                                                    <input type="text" class="form-control w360" readonly="readonly" value="{$row.enterprise.name}"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>职务</label>
+                                                    <input type="text" class="form-control w175" id="position" name="position" value="{$row.position}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>入职时间</label>
+                                                    <input type="text" class="form-control w120 date" id="cur_entry_time" name="cur_entry_time" value="{$row.cur_entry_time}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label w120"><span style="color: red">*</span>工作合同起止时间</label>
+                                                    <input type="text" class="form-control w175 rangedate" id="labor_contract_rangetime" name="labor_contract_rangetime" value="{$row.labor_contract_rangetime}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label">职称</label>
+                                                    <input type="text" class="form-control w120" id="title" name="title" value="{$row.title}"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>人才层次</label>
+                                                    <select class="form-control w120" id="talent_arrange" name="talent_arrange" onchange="TalentInfoInfoDlg.getIdentifyCondition()" value="{$row.talent_arrange}"></select>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>人才条款</label>
+                                                    <select class="form-control w120" id="talent_arrange_category" name="talent_arrange_category" onchange="TalentInfoInfoDlg.getIdentifyCondition()" value="{$row.talent_arrange_category}"></select>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>认定条件</label>
+                                                    <select class="form-control w175" id="talent_condition" name="talent_condition" value="{$row.talent_condition}"></select>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100">手机号码</label>
+                                                    <input type="text" class="form-control w175" id="phone" name="phone" maxlength="11" value="{$row.phone}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label">电子邮箱</label>
+                                                    <input type="text" class="form-control w175" id="email" name="email" value="{$row.email}"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>开户银行</label>
+                                                    <input type="text" class="form-control w120" onchange="TalentInfoInfoDlg.bankChange()" id="bank" name="bank" value="{$row.bank}" placeholder="XX银行"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>银行账号</label>
+                                                    <input type="text" class="form-control w120" id="bank_account" name="bank_account" value="{$row.bank_account}" onkeyup="value = value.replace(/\s+/g, '')"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label"><span style="color: red">*</span>银行行号</label>
+                                                    <input type="text" class="form-control w120" id="bank_number" name="bank_number" value="{$row.bank_number}"/>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label w100"><span style="color: red">*</span>开户银行网点</label>
+                                                    <input type="text" class="form-control w250" id="bank_branch_name" name="bank_branch_name" value="{$row.bank_branch_name}" PLACEHOLDER="XX银行XX省XX市XX支行/分行/分理处"/>
+                                                </div>
+                                            </div>
+                                            <div class="row">
+                                                <div class="col">
+                                                    <label class="col-label w100">教育背景及工作简历</label>
+                                                    <textarea style="overflow: auto;word-break: break-all;max-width:360px; " class="form-control w360" id="education" name="education" rows="5">{$row.education}</textarea>
+                                                </div>
+                                                <div class="col">
+                                                    <label class="col-label w175">主要业绩及取得的荣誉</label>
+                                                    <textarea style="overflow: auto;word-break: break-all;max-width:360px;" class="form-control w360" id="experience" name="experience" rows="5">{$row.experience}</textarea>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <div class="row">
+                                            <label class="col-sm-12col-label" style="text-align: left"><span style="color: red">声明:本人对输入材料的真实性负全部责任</span></label>
+                                        </div>
                                     </div>
-                                    <div class="panel-heading" onclick="$(this).next().toggle()">日志</div>
-                                    <table id="logTable">
-                                    </table>
-                                </div>
+                                </form>
                             </div>
                         </div>
                         <div id="tab-2" class="tab-pane ">
+                            <div class="panel-heading" onclick="$(this).next().toggle()">日志</div>
+                            <table id="logTable">
+                            </table>
                             <table id="fileTable" class="table-condensed"
                                    style="font-size: 10px;table-layout: fixed!important;" data-mobile-responsive="true"
                                    data-click-to-select="true">
                                 <thead>
-                                <tr>
-                                    <th data-field="selectItem" data-checkbox="true"></th>
-                                </tr>
+                                    <tr>
+                                        <th data-field="selectItem" data-checkbox="true"></th>
+                                    </tr>
                                 </thead>
                             </table>
                             <label style="padding-top: 15px;color: red">*请根据上传的附件材料,编辑好相应的文件夹名称</label>
@@ -264,11 +257,10 @@
             </div>
         </div>
     </div>
-</div>
-<iframe id="hiddenIframe" name="hiddenIframe" style="display: none;"></iframe>
-<!--<script src="${ctxPath}/static/modular/gate/talentInfo/talentInfo_ic_info.js"></script>-->
-<script type="text/javascript">
-    document.write('<script src="/static/modular/gate/talentInfo/talentInfo_ic_info.js?v=' + (new Date()).getTime() + '"><\/script>');
-    document.write('<script src="/static/modular/common/config.js?v=' + (new Date()).getTime() + '"><\/script>');
-</script>
-{/block}
+    <iframe id="hiddenIframe" name="hiddenIframe" style="display: none;"></iframe>
+    <!--<script src="${ctxPath}/static/modular/gate/talentInfo/talentInfo_ic_info.js"></script>-->
+    <script type="text/javascript">
+        document.write('<script src="/static/modular/gate/talentInfo/talentInfo_wj_info.js?v=' + (new Date()).getTime() + '"><\/script>');
+        document.write('<script src="/static/modular/common/config.js?v=' + (new Date()).getTime() + '"><\/script>');
+    </script>
+    {/block}

+ 739 - 0
public/static/modular/gate/talentInfo/talentInfo_wj_info.js

@@ -0,0 +1,739 @@
+/**
+ * 初始化人才认定申报详情对话框
+ */
+var locked = false;
+var TalentInfoInfoDlg = {
+    talentInfoInfoData: {},
+    validateFields: {
+        enterpriseId: {validators: {notEmpty: {message: '所属企业不能为空'}}},
+        type: {validators: {notEmpty: {message: '人才类别不能为空'}}},
+        name: {validators: {notEmpty: {message: '姓名不能为空'}}},
+        nation: {validators: {notEmpty: {message: '民族不能为空'}}},
+        province: {validators: {notEmpty: {message: '户籍省份不能为空'}}},
+        city: {validators: {notEmpty: {message: '户籍市不能为空'}}},
+        county: {validators: {
+                //notEmpty: {message: '户籍县不能为空'},
+                callback: {
+                    message: "户籍县不能为空",
+                    callback: function (value, validator) {
+                        if ($("#province").val() > 0 && $("#city").val() > 0 && $("#county option").length > 1 && $("#county option:selected").length == 0) {
+                            //当省市都有值时,如果县有列表,必选
+                            return false;
+                        }
+                        return true;
+                    }
+                }
+            }
+        },
+        address: {validators: {notEmpty: {message: '现居地址不能为空'}}},
+        highest_degree: {validators: {notEmpty: {message: '最高学历不能为空'}}},
+        major: {validators: {notEmpty: {message: '专业不能为空'}}},
+        phone: {
+            validators: {
+                notEmpty: {
+                    message: '手机号码不能为空'
+                },
+                regexp: {
+                    regexp: /0?(13|14|15|17|18|19)[0-9]{9}/,
+                    message: "手机号码格式不正确"
+                }
+            }
+        },
+        bank: {
+            validators: {
+                notEmpty: {
+                    message: '开户银行不能为空'
+                },
+                regexp: {
+                    regexp: /^[\u4e00-\u9fa5]*银行$/,
+                    message: "开户银行格式不正确"
+                }
+            }
+        },
+        bank_account: {validators: {notEmpty: {message: '银行账号不能为空'}}},
+        cur_entry_time: {validators: {notEmpty: {message: '入职时间不能为空'}}},
+        labor_contract_rangetime: {validators: {notEmpty: {message: '工作合同时间不能为空'}}},
+        talent_condition: {validators: {notEmpty: {message: '认定条件不能为空'}}},
+        identifyConditionName: {validators: {notEmpty: {message: '认定条件名称不能为空'}}},
+        card_type: {validators: {notEmpty: {message: '证件类型不能为空'}}},
+        card_number: {validators: {notEmpty: {message: '证件号码不能为空'}}},
+        sex: {validators: {notEmpty: {message: '性别不能为空'}}},
+        nationality: {validators: {notEmpty: {message: '国籍/地区不能为空'}}},
+        birthday: {validators: {notEmpty: {message: '出生日期不能为空'}}},
+        politics: {validators: {notEmpty: {message: '政治面貌不能为空'}}},
+        graduate_school: {validators: {notEmpty: {message: '毕业学校不能为空'}}},
+        position: {validators: {notEmpty: {message: '职务不能为空'}}},
+        email: {
+
+            validators: {
+                notEmpty: {
+                    message: '电子邮箱不能为空'
+                },
+                emailAddress: {
+                    message: "电子邮箱格式不正确"
+                }
+            }
+        },
+        bank_branch_name: {
+            validators: {
+                notEmpty: {
+                    message: '开户银行网点不能为空'
+                },
+                regexp: {
+                    regexp: /^[\u4e00-\u9fa5]*银行[\u4e00-\u9fa5]*省?[\u4e00-\u9fa5]+市[\u4e00-\u9fa5]*$/,
+                    message: "开户银行格式不正确"
+                }
+            }
+        },
+        introductionMode: {
+            validators: {
+                notEmpty: {
+                    message: '引进方式不能为空'
+                }
+            }
+        },
+        talent_arrange: {validators: {notEmpty: {message: '人才层次不能为空'}}},
+        identifyGetTime: {validators: {notEmpty: {message: '认定条件证书取得时间不能为空'}}},
+        breakFaith: {validators: {notEmpty: {message: '是否曾被相关主管部门列为失信个人不能为空'}}},
+        experience: {validators: {notEmpty: {message: '主要业绩及取得的荣誉不能为空'}}},
+        education: {validators: {notEmpty: {message: '教育背景及工作简历不能为空'}}}
+    }
+};
+
+/**
+ * 清除数据
+ */
+TalentInfoInfoDlg.clearData = function () {
+    this.talentInfoInfoData = {};
+}
+
+/**
+ * 设置对话框中的数据
+ *
+ * @param key 数据的名称
+ * @param val 数据的具体值
+ */
+TalentInfoInfoDlg.set = function (key, val) {
+    this.talentInfoInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
+    return this;
+}
+
+/**
+ * 设置对话框中的数据
+ *
+ * @param key 数据的名称
+ * @param val 数据的具体值
+ */
+TalentInfoInfoDlg.get = function (key) {
+    return $("#" + key).val();
+}
+
+/**
+ * 关闭此对话框
+ */
+TalentInfoInfoDlg.close = function () {
+    parent.layer.close(window.parent.TalentInfo.layerIndex);
+}
+
+/**
+ * 收集数据
+ */
+TalentInfoInfoDlg.collectData = function () {
+    this
+            .set('id')
+            .set('enterprise_id')
+            .set('type')
+            .set('card_number')
+            .set('card_type')
+            .set('name')
+            .set('sex')
+            .set('nation')
+            .set('nationality')
+            .set('province')
+            .set('city')
+            .set('county')
+            .set('birthday')
+            .set('address')
+            .set('politics')
+            .set('highest_degree')
+            .set('graduate_school')
+            .set('major')
+            .set('position')
+            .set('phone')
+            .set('email')
+            .set('bank')
+            .set('bank_branch_name')
+            .set('bank_account')
+            .set('bank_number')
+            .set('cur_entry_time')
+            .set('labor_contract_rangetime')
+            .set('talent_arrange')
+            .set('talent_condition')
+            .set('identifyGetTime')
+            .set('identifyConditionName')
+            .set('breakFaith')
+            .set('education')
+            .set('experience')
+            .set('industryField')
+            .set('title')
+            .set('pro_qua')
+            .set('study_abroad')
+            .set('studyAbroadCountry')
+            .set('studyAbroadTime')
+            .set('description');
+    //this.talentInfoInfoData["provinceName"] = $("#province").find("option:selected").text();
+    //this.talentInfoInfoData["cityName"] = $("#city").find("option:selected").text();
+    //this.talentInfoInfoData["countyName"] = $("#county").find("option:selected").text();
+}
+
+/**
+ * 验证数据
+ */
+TalentInfoInfoDlg.validate = function () {
+    $('#talentInfoForm').data("bootstrapValidator").resetForm();
+    $('#talentInfoForm').bootstrapValidator('validate');
+    return $("#talentInfoForm").data('bootstrapValidator').isValid();
+}
+
+
+/**
+ * 提交添加
+ */
+TalentInfoInfoDlg.addSubmit = function () {
+    this.clearData();
+    this.collectData();
+    if (!TalentInfoInfoDlg.validate()) {
+        return;
+    }
+    var id = $('#id').val();
+    if (id != null && id != '') {
+        if (!TalentInfoInfoDlg.validateIsEdit())
+            return;
+    }
+    $("select").each(function () {
+        $(this).removeAttr("disabled");
+    });
+    if (locked) {
+        return;
+    }
+    locked = true;
+    $("#talentInfoForm")[0].submit();
+
+}
+
+//回调
+TalentInfoInfoDlg.infoCallback = function (data) {
+    locked = false;
+    TalentInfoInfoDlg.setNoChangeField();
+    Feng.info(data.msg);
+    if (data.code == 200) {
+        window.parent.TalentInfo.table.refresh();
+        $("#id").val(data.obj.id);
+        $("#fileLi").removeAttr("style");
+        $("#checkState").val(data.obj.checkState);
+    }
+}
+
+
+/**
+ * 获取人才认定
+ */
+TalentInfoInfoDlg.getIdentifyCondition = function () {
+    var level = $("#talent_arrange").val();
+    var type = $("#type").val();
+    if (level == null || level == '') {
+        $("#talent_condition").empty();
+        $("#talent_condition").trigger('chosen:updated');
+        return;
+    }
+    if (type == null || type == '') {
+        Feng.info("请先选择人才类别");
+        return;
+    }
+    Feng.addAjaxSelect({
+        "id": "talent_condition",
+        "displayCode": "id",
+        "displayName": "name",
+        "type": "GET",
+        "url": Feng.ctxPath + "/common/api/findIdentifyConditionByLevel?level=" + level + "&type=" + type
+    });
+    $("#talent_condition").trigger('chosen:updated');
+}
+
+TalentInfoInfoDlg.bankChange = function () {
+    var bank = $("#bank").val();
+    if ($.trim(bank) == '中国工商银行') {
+        $("#bank_number").val('102391050013');
+    } else {
+        $("#bank_number").val('');
+    }
+}
+
+
+/**
+ * 加载市
+ */
+TalentInfoInfoDlg.afterSelectProvince = function () {
+    var province = $("#province").val();
+    $("#city").empty();
+    $("#county").empty();
+    if (province == null || province == '') {
+        return;
+    }
+    Feng.addAjaxSelect({
+        "id": "city",
+        "displayCode": "code",
+        "displayName": "name",
+        "type": "GET",
+        "url": Feng.ctxPath + "/common/tool/findCityByProvinceSelect/code/" + province
+    });
+}
+/**
+ * 加载县
+ */
+TalentInfoInfoDlg.afterSelectCity = function () {
+    var city = $("#city").val();
+    $("#county").empty();
+    if (city == null || city == '') {
+        return;
+    }
+    Feng.addAjaxSelect({
+        "id": "county",
+        "displayCode": "code",
+        "displayName": "name",
+        "type": "GET",
+        "url": Feng.ctxPath + "/common/tool/findCountyByCitySelect/code/" + city
+    });
+}
+//初始化附件类别表单
+TalentInfoInfoDlg.initFileTable = function () {
+    var queryData = {};
+    queryData['project'] = CONFIG.project_rcrd;
+    queryData['type'] = $("#type").val();
+    queryData['checkState'] = $("#checkState").val();
+    queryData['isMix'] = 1;
+    $("#fileTable").bootstrapTable({
+        url: Feng.ctxPath + "/common/api/findCommonFileType",
+        method: 'POST',
+        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+        search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
+        showRefresh: false, // 是否显示刷新按钮
+        clickToSelect: true, // 是否启用点击选中行
+        singleSelect: true, // 设置True 将禁止多选
+        striped: true, // 是否显示行间隔色
+        escape: true,
+        pagination: false, // 设置为 true 会在表格底部显示分页条
+        paginationHAlign: "left",
+        paginationDetailHAlign: "right",
+        sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
+        showColumns: false,
+        detailView: true, //是否显示父子表
+        pageList: [10, 30, 50],
+        queryParams: function (params) {
+            return $.extend(queryData, params)
+        },
+        rowStyle: function (row, index) {
+            return {classes: "info"};
+        },
+        columns: TalentInfoInfoDlg.initFileTypeColumn(),
+        onPostBody: function () {
+            $("td.uitd_showTip").bind("mouseover", function () {
+                var htm = $(this).html();
+                $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
+            });
+        },
+        onLoadSuccess: function (data) {
+            $("#fileTable").bootstrapTable('expandAllRows');
+        },
+        onExpandRow: function (index, row, $detail) {
+            var ajax = new $ax(Feng.ctxPath + "/common/api/listTalentFile", function (data) {
+                if (data == null || data.length == 0) {
+                    return;
+                }
+                var html = '<ul class="imgs"><li style="width: 80%;font-weight: bold;padding-top: 5px;">附件原名</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">预览</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">操作</li>';
+                var files = $("#files").val();
+                var checkState = $("#checkState").val();
+                var realState = $("#realState").val();
+                for (var key in data) {
+                    var btn = "";
+                    if (Feng.isEmptyStr(checkState) || (checkState == 8 && (realState == 8 || Feng.isEmptyStr(realState))) || (checkState == 11 && realState != 14) || (realState == 11 && files.indexOf(row.id) != -1)) {
+                        btn = "<button type=\'button\' onclick=\"TalentInfoInfoDlg.checkFile(this,'" + row.fState + "','" + row.id + "','" + data[key].id + "')\" style=\'margin-right: 10px\' class=\"btn btn-xs btn-info\">" +
+                                "<i class=\"fa fa-paste\"></i>修改" +
+                                "</button>" +
+                                "<button type='button' onclick=\"TalentInfoInfoDlg.deleteFile('" + data[key].id + "','" + row.fState + "')\" class=\"btn btn-xs btn-danger\">" +
+                                "<i class=\"fa fa-times\"></i>删除" +
+                                "</button>";
+                    } else {
+                        btn = "";
+                    }
+                    var sn = data[key].url.lastIndexOf(".");
+                    var suffix = data[key].url.substring(sn + 1, data[key].url.length);
+                    var imgStr = "";
+                    if (suffix == "pdf" || suffix == "PDF") {
+                        imgStr = "<button type='button'  onclick=\"Feng.showPdf('" + data[key].url + "','" + data[key].id + "','" + data[key].orignName + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i></button>";
+                    } else if (suffix == "xlsx" || suffix == "XLSX" || suffix == 'xls' || suffix == 'XLS') {
+                        imgStr = "<button type='button'  onclick=\"Feng.showExcel('" + data[key].url + "','" + data[key].id + "','" + data[key].orignName + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></button>";
+                    } else {
+                        imgStr = '<img class=\"imgUrl\"  src=\"' + data[key].url + '\" style=\"width:25px;height:25px;\">';
+                    }
+                    html = html + '<li style="display: none">' + data[key].id + '</li>\n' +
+                            '<li style="width: 80%;padding-top: 5px;">' + data[key].orignName + '</li>\n' +
+                            '<li style="width: 10%;">' + imgStr + '</li>\n' +
+                            '<li style="width: 10%;padding-top: 2px;">' + btn + '</li>';
+                }
+                html = html + '</ul>';
+                $detail.html(html);
+                $(".imgs").viewer({fullscreen: false});
+            }, function (data) {
+                Feng.error("查询失败!" + data.responseJSON.message + "!");
+            });
+            var queryData = {};
+            queryData["mainId"] = $("#id").val();
+            queryData["fileTypeId"] = row.id;
+            ajax.set(queryData);
+            ajax.start();
+        }
+    });
+
+}
+
+//校验是否保存基础信息
+TalentInfoInfoDlg.validId = function () {
+    var id = $("#id").val();
+    if (id != null && id != '') {
+        $("#fileLi").removeAttr("style");
+    } else {
+        $("#fileLi").attr("style", "pointer-events: none");
+    }
+}
+//选择附件并显示附件名
+TalentInfoInfoDlg.checkFile = function (content, state, fileTypeId, fileId) {
+    if (!TalentInfoInfoDlg.validateIsEdit())
+        return;
+    $("#upload_file").unbind("change");
+    $("#upload_file").change(function () {
+        if (!Feng.chkFileInvalid(this.files[0], 5, 10))
+            return;
+        TalentInfoInfoDlg.upload(fileTypeId, fileId);
+    });
+    $('#upload_file').val("");
+    $('#upload_file').click();
+}
+//上传附件
+TalentInfoInfoDlg.upload = function (fileTypeId, fileId) {
+    var id = $("#id").val();
+    if (id == null || id == '') {
+        Feng.info("请先添加基本信息并保存后再试");
+        return;
+    }
+    if (!TalentInfoInfoDlg.validateIsEdit())
+        return;
+    if (fileId != null && fileId != 'null') {
+        $("#fileId").val(fileId)
+    } else {
+        $("#fileId").val("");
+    }
+    $("#mainId").val(id);
+    $("#fileTypeId").val(fileTypeId);
+    var index = layer.load(0, {shade: false, time: 0});
+    $("#index").val(index);
+    $("#uploadForm").submit();
+}
+//删除附件
+TalentInfoInfoDlg.deleteFile = function (id, state) {
+    if (!TalentInfoInfoDlg.validateIsEdit())
+        return;
+    var operation = function () {
+        var ajax = new $ax(Feng.ctxPath + "/common/api/deleteFile", function (data) {
+            if (data.code == 200) {
+                Feng.success(data.msg);
+                $("#fileTable").bootstrapTable("refresh", {});
+            } else {
+                Feng.error(data.msg);
+            }
+        }, function (data) {
+            Feng.error("删除失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("id", id);
+        ajax.set("type", 1);
+        ajax.start();
+    }
+    Feng.confirm("删除后无法恢复,确认删除吗?", operation);
+}
+
+/**
+ * 提交审核
+ */
+TalentInfoInfoDlg.submitToCheck = function () {
+    var id = $("#id").val();
+    if (id == null || id == "") {
+        Feng.info("请先填写基础信息并上传附件");
+        return;
+    }
+    if (!TalentInfoInfoDlg.validateIsEdit())
+        return;
+    var operation = function () {
+        var ajax = new $ax(Feng.ctxPath + "/enterprise/talent/submitToCheck", function (data) {
+            if (data.code == 200) {
+                Feng.success(data.msg);
+                // $("#checkState").val(data.obj);
+                window.parent.TalentInfo.table.refresh();
+                TalentInfoInfoDlg.close();
+            } else {
+                Feng.error(data.msg);
+            }
+        }, function (data) {
+            Feng.error("提交审核失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("id", id);
+        ajax.start();
+    }
+    Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
+}
+
+/**
+ * 校验是否可以修改/提交审核
+ */
+TalentInfoInfoDlg.validateIsEdit = function () {
+    var checkState = $("#checkState").val();
+    if (checkState != 0 && checkState != 8) {
+        if (checkState == 16 || checkState == -1 || checkState == -2 || checkState == 7) {
+            Feng.error("您的申报审核不通过,无法再修改");
+            return false;
+        } else if (checkState == 28) {
+            Feng.error("申报已完成");
+            return false;
+        } else if (checkState == 14) {
+            Feng.error("您的申报已审核通过,无法再修改");
+            return false;
+        } else if (checkState == 22 || checkState == 25 || checkState == 27) {
+            Feng.error("该申报已终止");
+            return false;
+        } else {
+            Feng.error("您的申报正在审核中,请耐心等待");
+            return false;
+        }
+    }
+    return true;
+}
+
+/**
+ * 初始化表格的列
+ */
+TalentInfoInfoDlg.initFileTypeColumn = function () {
+    return [
+        {field: 'selectItem', checkbox: false, visible: false},
+        {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle', width: "30%", 'class': 'uitd_showTip',
+            formatter: function (value, row, index) {
+                if (row.must == 1) {
+                    return '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> ' + value;
+                }
+                if (row.must == 2) {
+                    return '<i class="fa fa-paste"></i>' + value;
+                }
+            }
+        },
+        {title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle', width: "8%",
+            formatter: function (value, row, index) {
+                if (value == null || value == '' || value == 'null') {
+                    return '无';
+                }
+                return "<button type='button' onclick=\"TalentInfoInfoDlg.downloadFile('" + row.id + "',5)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
+                        "<i class=\"fa fa-download\"></i>下载" +
+                        "</button>";
+            }
+        },
+        {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle', width: "52%", 'class': 'uitd_showTip'},
+        {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "10%",
+            formatter: function (value, row, index) {
+                var files = $("#files").val();
+                var checkState = $("#checkState").val();
+                var realState = $("#realState").val();
+                //if (checkState == 8 || (checkState == 11 && realState != 14) || (realState == 11 && files.indexOf(value) != -1)) {
+                if (Feng.isEmptyStr(checkState) || (checkState == 8 && (realState == 8 || Feng.isEmptyStr(realState))) || (checkState == 11 && realState != 14) || (realState == 11 && files.indexOf(value) != -1)) {
+                    return "<button type='button' onclick=\"TalentInfoInfoDlg.checkFile(this,'" + row.fState + "','" + value + "','" + null + "')\" style='margin-right: 10px' class=\"btn btn-xs btn-info\">" +
+                            "<i class=\"fa fa-upload\"></i>上传" +
+                            "</button>";
+                } else {
+                    return "审核通过,无法添加";
+                }
+
+            }
+        }
+    ]
+};
+
+//回调
+TalentInfoInfoDlg.callBack = function (data) {
+    layer.close(data.obj);
+    Feng.info(data.msg);
+    if (data.code == 200) {
+        $("#fileTable").bootstrapTable("refresh", {});
+    }
+}
+TalentInfoInfoDlg.downloadFile = function (id, type) {
+    window.location.href = Feng.ctxPath + "/common/api/downloadFile?id=" + id + "&type=" + type;
+}
+//设置不可修改的字段
+TalentInfoInfoDlg.setNoChangeField = function () {
+    var checkState = $("#checkState").val();
+    var fields = $("#fields").val();
+    var realState = $("#realState").val();
+    if (realState == 11) {
+        $("input,textarea").each(function () {
+            $(this).attr("readonly", "readonly");
+        });
+        $("select,input[type=radio]").each(function () {
+            $(this).attr("disabled", "disabled");
+        });
+        if (fields != null && fields != '') {
+            var arr = fields.split(",");
+            for (var key in arr) {
+                if (arr[key] != "") {
+                    var name = $("#" + arr[key]).prop("tagName");
+                    if (name == 'select' || name == 'SELECT') {
+                        $("#" + arr[key]).removeAttr("disabled");
+                    } else if (name == "input" || name == 'textarea' || name == "INPUT" || name == 'TEXTAREA') {
+                        $("#" + arr[key]).removeAttr("readonly");
+                    } else {
+                        if (typeof name == "undefined") {
+                            $("input[name=" + arr[key] + "]").removeAttr("disabled").removeAttr("readonly");
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+$("#card_type").change(function () {
+    async_padding($("#card_number").val().trim(), $(this).val());
+})
+$("#card_number").blur(function () {
+    async_padding($(this).val().trim(), $("#card_type").val());
+})
+function async_padding(card_number, card_type) {
+    if (card_number != "" && card_number.length == 18 && card_type == "1") {
+        var year = card_number.substring(6, 10);
+        var month = card_number.substring(10, 12);
+        var day = card_number.substring(12, 14);
+        var birthday = year + "-" + month + "-" + day;
+        var rule = /\d{4}-\d{2}-\d{2}/;
+        if (rule.test(birthday))
+            $("#birthday").val(birthday);
+        var num = card_number.substring(17, 1);
+        if (num % 2 == 0) {
+            $("#sex").val(2);
+        } else {
+            $("#sex").val(1);
+        }
+    }
+}
+
+$(function () {
+    $('#talentInfoForm').bootstrapValidator({
+        feedbackIcons: {
+            valid: 'glyphicon glyphicon-ok',
+            invalid: 'glyphicon glyphicon-remove',
+            validating: 'glyphicon glyphicon-refresh'
+        },
+        container: 'tooltip',
+        group: '.rowGroup',
+        fields: TalentInfoInfoDlg.validateFields,
+        live: 'enabled',
+        message: '该字段不能为空'
+    }).on('error.field.bv', function (e, data) {
+        // Get the tooltip
+        var $parent = data.element.parents('.form-group-sm'),
+                $icon = $parent.find('.form-control-feedback[data-bv-icon-for="' + data.field + '"]'),
+                title = $icon.data('bs.tooltip').getTitle();
+        $icon.tooltip('destroy').tooltip({
+            html: true,
+            placement: 'right',
+            title: title,
+            container: 'body'
+        });
+    });
+    //批量加载字典表数据
+    var arr = [
+        {"name": "nation", "code": "nation"},
+        {"name": "talent_arrange", "code": "talent_arrange"},
+        {"name": "nationality", "code": "nationality"},
+        {"name": "politics", "code": "politics"},
+        {"name": "highest_degree", "code": "highest_degree"}];
+    Feng.findChildDictBatch(JSON.stringify(arr));
+    //加载省份
+    Feng.addAjaxSelect({
+        "id": "province",
+        "displayCode": "code",
+        "displayName": "name",
+        "type": "GET",
+        "url": "/common/tool/getProvinceSelect"
+    });
+    //批量加载时间控件
+    $(".date").each(function () {
+        laydate.render({
+            elem: this
+            , type: 'date'
+            , trigger: 'click'
+        });
+    });
+    $(".rangedate").each(function () {
+        laydate.render({
+            elem: this,
+            type: "date",
+            range: true,
+            trigger: "click"
+        })
+    })
+    $(".rangemonth").each(function () {
+        laydate.render({
+            elem: this,
+            type: "month",
+            range: true,
+            trigger: "click"
+        })
+    })
+    var id = $("#id").val();
+    if (id != null && id != '') {
+        $("select").each(function () {
+            $(this).val($(this).attr("value")).trigger("change");
+        });
+        Feng.getCheckLog("logTable", {"type": CONFIG.project_rcrd, "mainId": id, "typeFileId": "", "active": 1})
+    }
+    $("#address").val($("#address").attr("value"));
+    $("#province").val($("#province").attr("value"));
+    TalentInfoInfoDlg.afterSelectProvince();
+    $("#city").val($("#city").attr("value"));
+    TalentInfoInfoDlg.afterSelectCity();
+    $("#county").val($("#county").attr("value"));
+    $("#talent_arrange").val($("#talent_arrange").attr("value"));
+    TalentInfoInfoDlg.getIdentifyCondition();
+    $("#talent_arrange").val($("#talent_arrange").attr("value"));
+    $("#talent_condition").val($("#talent_condition").attr("value"));
+    TalentInfoInfoDlg.validId();
+    $("#photo").change(function (e) {
+        var tag = e.target;
+        var file = tag.files[0];
+        var imgSrc;
+        var reader = new FileReader();
+        reader.readAsDataURL(file);
+        reader.onload = function () {
+            imgSrc = this.result;
+            $("#photoImg").attr("src", imgSrc);
+        };
+    });
+    TalentInfoInfoDlg.setNoChangeField();
+    $("#talent_condition").on('chosen:ready', function (e, params) {
+        $(".chosen-container-single .chosen-single").css("padding", "2px 0px 0px 4px");
+    });
+    $("#talent_condition").chosen({
+        no_results_text: "没有找到结果!",
+        width: '490px',
+        search_contains: true,       //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
+        disable_search: false,
+        enable_split_word_search: true,
+        rtl: true
+    });
+});
+
+

+ 45 - 0
public/static/modular/talentIdentify/talentInfo/talentInfo_base.js

@@ -266,6 +266,51 @@ TalentInfo.openTalentInfoDetail = function () {
     }
 };
 
+TalentInfo.cancleThirdCheck = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 1,
+            title: '撤销复核',
+            area: ['800px', '420px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: '<form >\n' +
+                    '                    <div class="form-group" style="margin: 10px;">\n' +
+                    '                        <label for="checkMsg" class="control-label">撤销原因</label>\n' +
+                    '                        <textarea class="form-control" id="msg" rows="6"></textarea>\n' +
+                    '                    </div>\n' +
+                    '                </form>',
+            btn: ['<i class="fa fa-save layui-bg-green"></i>&nbsp;&nbsp;提交', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;关闭'],
+            yes: function (index, layero) {
+                var cancleMsg = $("#msg").val();
+                if (Feng.isEmptyStr(cancleMsg)) {
+                    Feng.error("撤销原因不能为空");
+                    return;
+                }
+                var operation = function () {
+                    var ajax = new $ax(Feng.ctxPath + "/admin/talent/cancleThirdCheck", function (data) {
+                        if (data.code == 200) {
+                            Feng.success(data.msg);
+                            TalentInfo.table.refresh();
+                            layer.close(index);
+                        } else {
+                            Feng.error(data.msg);
+                        }
+                        locked = false;
+                    }, function (data) {
+                        Feng.error("撤销复核失败!" + data.responseJSON.message + "!");
+                        locked = false;
+                    });
+                    ajax.setData({"id": TalentInfo.seItem.id, "checkMsg": cancleMsg})
+                    ajax.start();
+                };
+                Feng.confirm("一旦提交无法修改,确定要撤销吗?", operation);
+            }
+        });
+    }
+}
+
+
 /**
  * 修改驳回的字段及附件
  */