Răsfoiți Sursa

津补贴++

sugangqiang 1 an în urmă
părinte
comite
83da6217c1

+ 29 - 161
app/common/api/TalentAllowanceApi.php

@@ -15,188 +15,56 @@ use app\common\state\CommonConst;
 class TalentAllowanceApi {
 
     public static function getList($params) {
+        $user = session("user");
         $order = trim($params["order"]) ?: "desc";
         $offset = trim($params["offset"]) ?: 0;
         $limit = trim($params["limit"]) ?: 10;
         $where = [];
-        if ($_where = self::setLivingAllowanceCheckStateCondition($params)) {
+        $where[] = ["enterpriseId", "=", $user["uid"]];
+        if ($_where = self::setTalentAllowanceInfo($params)) {
             $where = array_merge($where, $_where);
         }
-        if ($_where = self::getWhereByParams($params)) {
-            $where = array_merge($where, $_where);
-        }
-        $type = session("user")["type"];
-        if ($type == CommonConst::ENTERPRISE_NORMAL) {
-            $where[] = ["type", "in", [CommonConst::ENTERPRISE_NORMAL, CommonConst::ENTERPRISE_WJ, CommonConst::ENTERPRISE_GJ]];
-        } else if ($type == CommonConst::ENTERPRISE_JC) {
-            $where[] = ["type", "=", $type];
-        } else {
-            $where[] = ["type", "=", "you have no power"];
-        }
         $count = TaModel::where($where)->count();
-        $list = TaModel::where($where)->limit($offset, $limit)->order("createTime " . $order)->select()->toArray();
-        $masterTypes = DictApi::selectByParentCode("un_master_education"); //申报对象类型
-        $degrees = DictApi::selectByParentCode("highest_degree"); //最高学历
+        $list = TaModel::where($where)->limit($offset, $limit)->order("year " . $order)->select()->toArray();
+        $levelList = DictApi::selectByParentCode("talent_arrange");
+        $talentTypeList = DictApi::selectByParentCode("enterprise_tag");
+        $streetList = DictApi::selectByParentCode("street");
+        $identifyConditionIds = array_filter(array_unique(array_column($list, "identifyCondition")));
+        $whr[] = ["id", "in", $identifyConditionIds];
+        $whr[] = ["type", "=", $user["type"]];
+        $identifyConditionKvList = TalentConditionApi::getKvList($whr);
         foreach ($list as $key => $item) {
-            $list[$key]["declareTypeName"] = $masterTypes[$item["declareType"]];
-            $list[$key]["highEducation"] = $degrees[$item["highEducation"]];
+            $list[$key]["talentArrangeName"] = $levelList[$item["talentArrange"]];
+            $list[$key]["talentTypeName"] = $talentTypeList[$item["talentType"]];
+            $list[$key]["addressName"] = $streetList[$item["address"]];
+            $list[$key]["identifyConditionText"] = $identifyConditionKvList[$item["identifyCondition"]];
         }
         return ["total" => $count, "rows" => $list];
     }
 
-    public static function setLivingAllowanceCheckStateCondition($params) {
-        $where = [];
-        $checkState = $params["checkState"];
-        $process = $params["process"];
-        if ($checkState) {
-            switch ($process) {
-                case -1:
-                    if ($checkState == 7) {
-                        $where[] = ["checkState", ">=", $checkState];
-                    } else {
-                        $where[] = ["checkState", "=", $checkState];
-                    }
-                    break;
-                case 1:
-                    if ($checkState == MainState::NEED_DEP_CHECK) {
-                        $where[] = ["checkState", "in", [15, 25, 30, 35]];
-                    } else if ($checkState == 5) {
-                        $where[] = ["checkState", "=", MainState::NEED_FIRST_CHECK];
-                        $where[] = ["highProcess", ">=", 1];
-                    } else if ($checkState == MainState::NEED_FIRST_CHECK) {
-                        $where[] = ["checkState", "=", MainState::NEED_FIRST_CHECK];
-                        $where[] = ["highProcess", "<", 1];
-                    } else {
-                        $where[] = ["checkState", "=", $checkState];
-                    }
-                    break;
-                case 2:
-                    if ($checkState == MainState::BEFORE_REJECT) {
-                        $where[] = ["checkState", "=", 15];
-                        $where[] = ["highProcess", ">=", 2];
-                    } else if ($checkState == MainState::NEED_FIRST_CHECK) {
-                        $where[] = ["checkState", "=", 15];
-                        $where[] = ["highProcess", "<", 2];
-                    } else if ($checkState == MainState::FIRST_REJECT) {               //待复核                        
-                        $where[] = ["checkState", "in", [1, 3, 5, 7, 10, 20]];
-                    } else if ($checkState == MainState::NEED_DEP_CHECK) {
-                        $where[] = ["checkState", ">=", 25];
-                    } else {
-                        $where[] = ["checkState", "=", $checkState];
-                    }
-                    break;
-                case 3:
-                    if ($checkState == MainState::THIRD_REJECT) {
-                        $where [] = ["checkState", "in", [7, 10, 15, 20, 30]];
-                    } else if ($checkState == MainState::BEFORE_REJECT) {            //重新提交
-                        $where[] = ["checkState", "=", MainState::NEED_THIRD];
-                        $where[] = ["highProcess", ">=", 3];
-                    } else if ($checkState == MainState::NEED_THIRD) {               //待复核
-                        $where[] = ["checkState", "=", $checkState];
-                        $where[] = ["highProcess", "<", 3];
-                    } else {
-                        $where[] = ["checkState", "=", $checkState];
-                    }
-                    break;
-                case 4:
-                    $where[] = ["checkState", "=", $checkState];
-                    break;
-                case 5:
-                    break;
-            }
-        }
-        return $where;
-    }
-
-    public static function getWhereByParams($params) {
-        foreach ($params as &$param) {
-            $param = trim($param);
-        }unset($param);
+    public static function setTalentAllowanceInfo($params) {
         $where = [];
-        if ($params["name"]) {
-            $where[] = ["name", "like", "%" . $params["name"] . "%"];
-        }
-        if ($params["idCard"]) {
-            $where[] = ["idCard", "like", "%" . $params["idCard"] . "%"];
-        }
-        if ($params["introductionMethod"]) {
-            $where[] = ["introductionMethod", "=", $params["introductionMethod"]];
-        }
-        if ($params["sex"]) {
-            $where[] = ["sex", "=", $params["sex"]];
-        }
-        if ($params["declareType"]) {
-            $where[] = ["declareType", "=", $params["declareType"]];
-        }
-        if ($params["nation"]) {
-            $where[] = ["nation", "=", $params["nation"]];
-        }
-        if ($params["nationality"]) {
-            $where[] = ["nationality", "=", $params["nationality"]];
-        }
-        if ($params["provinceCode"]) {
-            $where[] = ["provinceCode", "=", $params["provinceCode"]];
-        }
-        if ($params["politics"]) {
-            $where[] = ["politics", "=", $params["politics"]];
-        }
-        if (session("user")["usertype"] == 2) {
-            $where[] = ["enterpriseId", "=", session("user")["uid"]];
-        } else {
-            if ($params["enterpriseId"]) {
-                $where[] = ["enterpriseId", "=", $params["enterpriseId"]];
-            }
-        }
-        if ($params["industryFieldNew"]) {
-            $where[] = ["industryFieldNew", "=", $params["industryFieldNew"]];
-        }
-        if ($params["industryField"]) {
-            $where[] = ["industryField", "=", $params["industryField"]];
-        }
-        if ($params["introductionMode"]) {
-            $where[] = ["introductionMode", "=", $params["introductionMode"]];
-        }
-        if ($params["highEducation"]) {
-            $where[] = ["highEducation", "=", $params["highEducation"]];
+        if (\StrUtil::isNotEmpAndNull($params["year"])) {
+            $where[] = ["year", "=", $params["year"]];
         }
-        if ($params["major"]) {
-            $where[] = ["major", "like", "%" . $params["major"] . "%"];
+        if (\StrUtil::isNotEmpAndNull($params["enterpriseName"])) {
+            $where[] = ["enterpriseName", "like", "%" . $params["enterpriseName"] . "%"];
         }
-        if ($params["title"]) {
-            $where[] = ["title", "like", "%" . $params["title"] . "%"];
+        if (\StrUtil::isNotEmpAndNull($params["name"])) {
+            $where[] = ["name", "like", "%" . $params["name"] . "%"];
         }
-        if ($params["studyAbroad"]) {
-            $where[] = ["studyAbroad", "=", $params["studyAbroad"]];
+        if (\StrUtil::isNotEmpAndNull($params["talentType"])) {
+            $where[] = ["talentType", "=", $params["talentType"]];
         }
-        if ($params["phone"]) {
-            $where[] = ["phone", "like", "%" . $params["phone"] . "%"];
+        if (\StrUtil::isNotEmpAndNull($params["talentArrange"])) {
+            $where[] = ["talentArrange", "=", $params["talentArrange"]];
         }
-        if ($params["email"]) {
-            $where[] = ["email", "like", "%" . $params["email"] . "%"];
+        if (\StrUtil::isNotEmpAndNull($params["identiryCondition"])) {
+            $where[] = ["identifyCondition", "=", $params["identifyCondition"]];
         }
-        if ($params["address"]) {
+        if (\StrUtil::isNotEmpAndNull($params["address"])) {
             $where[] = ["address", "=", $params["address"]];
         }
-        if ($params["isPublic"]) {
-            $where[] = ["isPublic", "=", $params["isPublic"]];
-        }
-        if ($params["year"]) {
-            $where[] = ["year", "=", $params["year"]];
-        }
-        switch ($params["process"]) {
-            case 1:
-                $where[] = ["checkState", "not in", [3, 5]];
-                break;
-            case 2:
-                $where[] = ["firstPassTime", "EXP", Db::raw("is not null")];
-                break;
-            case 3:
-                $where[] = ["firstDepPassTime", "EXP", Db::raw("is not null")];
-                break;
-            case 4:
-                $where[] = ["checkState", "in", [-1, 35]];
-                break;
-        }
         return $where;
     }
 

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

@@ -102,4 +102,8 @@ class TalentConditionApi {
         return ["total" => $count, "rows" => $list];
     }
 
+    public static function getKvList($params) {
+        return TalentCondition::where($params)->column("name", "id");
+    }
+
 }

+ 16 - 0
app/common/model/TalentAllowanceArrange.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace app\common\model;
+
+use think\model;
+
+/**
+ * Description of TalentAllowanceArrange
+ *
+ * @author sgq
+ */
+class TalentAllowanceArrange extends model {
+
+    protected $table = "un_talent_allowance_arrange";
+
+}

+ 16 - 0
app/common/model/TalentAllowanceProject.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace app\common\model;
+
+use think\model;
+
+/**
+ * Description of TalentAllowanceProject
+ *
+ * @author sgq
+ */
+class TalentAllowanceProject extends model {
+
+    protected $table = "un_talent_allowance_project";
+
+}

+ 16 - 0
app/common/model/TalentAllowancecontractDetail.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace app\common\model;
+
+use think\model;
+
+/**
+ * Description of TalentAllowancecontractDetail
+ *
+ * @author sgq
+ */
+class TalentAllowancecontractDetail extends model {
+
+    protected $table = "un_talent_allowancecontract_detail";
+
+}

+ 94 - 0
app/common/state/AllowanceProjectEnum.php

@@ -0,0 +1,94 @@
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace app\common\state;
+
+/**
+ * Description of AllowanceProjectEnum
+ *
+ * @author sgq
+ */
+class AllowanceProjectEnum {
+
+    //项目-合同
+    const PROJECT_CONTRACT = 1;
+    //项目-个税
+    const PROJECT_TAX = 2;
+    //项目-工资
+    const PROJECT_WAGES = 3;
+    //项目-考勤
+    const PROJECT_ATTENDANCE = 4;
+    //项目-授课计划
+    const PROJECT_TEACHING = 5;
+    //项目-备课教案
+    const PROJECT_LESSON = 6;
+    //项目-科研计划
+    const PROJECT_SCIENTIFIC = 7;
+    //项目-行政介绍信
+    const PROJECT_LETTER = 8;
+    //项目-社保
+    const PROJECT_SB = 9;
+    //项目-社保-养老保险
+    const PROJECT_SB_PENSION = 10;
+    //项目-社保-工伤保险
+    const PROJECT_SB_INJURY = 11;
+    //项目-社保-失业保险
+    const PROJECT_SB_UNEMPLOYMENT = 12;
+    //项目-社保-医疗保险
+    const PROJECT_SB_MEDICA = 13;
+    //项目-社保-生育保险
+    const PROJECT_SB_BIRTH = 14;
+    //项目-在境时间
+    const PROJECT_INBORDER = 15;
+    //项目-工作日时间
+    const PROJECT_WORKDAY = 16;
+    //合同满足两年
+    const CONTRACT_YES = "是";
+    //合同满足两年
+    const CONTRACT_NO = "否";
+
+    static function getProjectName($code) {
+        switch ($code) {
+            case self::PROJECT_CONTRACT:
+                return "劳动合同情况";
+            case self::PROJECT_TAX:
+                return "个税缴纳情况";
+            case self::PROJECT_WAGES:
+                return "工资发放情况";
+            case self::PROJECT_ATTENDANCE:
+                return "考勤情况";
+            case self::PROJECT_TEACHING:
+                return "授课计划情况";
+            case self::PROJECT_LESSON:
+                return "备课教案情况";
+            case self::PROJECT_SCIENTIFIC:
+                return "科研计划情况";
+            case self::PROJECT_LETTER:
+                return "行政介绍信情况";
+            case self::PROJECT_SB:
+                return "社保缴纳情况";
+            case self::PROJECT_SB_PENSION:
+                return "养老保险情况";
+            case self::PROJECT_SB_INJURY:
+                return "工伤保险情况";
+            case self::PROJECT_SB_UNEMPLOYMENT:
+                return "失业保险情况";
+            case self::PROJECT_SB_MEDICA:
+                return "医疗保险情况";
+            case self::PROJECT_SB_BIRTH:
+                return "生育保险情况";
+            case self::PROJECT_INBORDER:
+                return "在境内时间";
+            case self::PROJECT_WORKDAY:
+                return "在境工作日";
+            default:
+                return "";
+        }
+    }
+
+}

+ 612 - 15
app/enterprise/controller/TalentAllowance.php

@@ -14,6 +14,11 @@ use app\common\api\BatchApi;
 use app\common\api\TalentAllowanceApi;
 use app\common\api\EnterpriseApi;
 use app\common\state\ProjectState;
+use app\common\api\DictApi;
+use app\common\state\MainState;
+use app\common\model\TalentAllowance as TaModel;
+use app\common\state\AllowanceProjectEnum;
+use app\common\model\TalentChecklog;
 
 /**
  * Description of TalentAllowance
@@ -41,32 +46,624 @@ class TalentAllowance extends EnterpriseController {
      * 申请
      */
     public function apply(\think\Request $request) {
-        $type = $this->user["type"];
         $param = $request->param();
         $id = isset($param["id"]) ? $param["id"] : 0;
-        $info = TalentAllowanceApi::getInfoById($id);
-        $ep = EnterpriseApi::getOne($this->user["uid"]);
-        if (!chkEnterpriseFull($ep))
-            return;
-        /* if ($info && !in_array($info["checkState"], [LaState::LA_SAVE, LaState::LA_FIRST_REJECT])) {
-          return view("", ["row" => $info, "enterprise" => $ep, "hand" => "select"]);
-          } */
+        $info = null;
+        if ($id) {
+            $info = TalentAllowanceApi::getInfoById($id);
+            $this->translateToChinese($info);
+        }
         if ($request->isPost()) {
             return $this->save($info, $request);
         }
-        $hand = $info ? "update" : "add";
         $batch = $info["year"] ?: BatchApi::getValidBatch(ProjectState::JBT, $this->user["type"])["batch"];
-        return view("", ["year" => $batch, "row" => $info, "enterprise" => $ep, "hand" => $hand]);
+        return view("", ["year" => $batch, "type" => $this->user["type"], "row" => $info]);
+    }
+
+    private function save($talentAllowance, \think\Request $request) {
+        $response = new \stdClass();
+        $response->code = 500;
+        $param = $request->param();
+        if (!$param) {
+            $response->msg = "请填写信息后在提交";
+            return $response;
+        }
+        if (\StrUtil::isEmpOrNull($param["talentId"])) {
+            $response->msg = "请选择申报对象";
+            return $response;
+        }
+        if (!$param["id"]) {
+            $user = $this->user;
+            $ti = \app\common\api\VerifyApi::getTalentInfoById($param["talentId"]);
+            $data = [
+                "talentId" => $param["talentId"],
+                "enterpriseId" => $ti["enterprise_id"],
+                "enterpriseName" => $user["name"],
+                "year" => $param["year"],
+                "source" => $ti["source"],
+                "qzgccrcActiveTime" => $ti["certificateExpireTime"],
+                "talentType" => $ti["enterprise_id"],
+                "address" => $ti["address"],
+                "name" => $ti["name"],
+                "sex" => $ti["sex"],
+                "cardType" => $ti["card_type"],
+                "idCard" => $ti["card_number"],
+                "firstInJJTime" => $ti["fst_work_time"],
+                "entryTime" => $ti["cur_entry_time"],
+                "post" => $ti["postion"],
+                "phone" => $ti["phone"],
+                "talentArrange" => $ti["talent_arrange"],
+                "identifyCondition" => $ti["talent_condition"],
+                "identifyGetTime" => $ti["identifyGetTime"],
+                "identifyOutTime" => $ti["identifyExpireTime"],
+                "identifyConditionName" => $ti["identifyConditionName"],
+                "identifyMonth" => $ti["identifyMonth"],
+                "bank" => $ti["bank"],
+                "bankNetwork" => $ti["bank_branch_name"],
+                "bankAccount" => $ti["bank_account"],
+                "bankNumber" => $ti["bank_number"],
+                "checkState" => 1,
+                "type" => $user["type"],
+                "provinceCode" => $ti["province"],
+                "provinceName" => $ti["enterprise_id"],
+                "cityCode" => $ti["city"],
+                "cityName" => $ti["enterprise_id"],
+                "countyCode" => $ti["county"],
+                "countyName" => $ti["enterprise_id"],
+                "isSupple" => 2,
+                "createTime" => date("Y-m-d H:i:s"),
+                "createUser" => $user["uid"],
+                "id" => getStringId(),
+                "wage" => $param["wage"]
+            ];
+            /*             * 1.获取上一年度的人才层次 */
+            $arrangeList = $this->getLastYearTalentType($data, $ti);
+            if (!$arrangeList) {
+                $response->msg = "上一年度暂无有效的人才层次";
+                return $response;
+            }
+            /*             * 2.获取上一年度所在单位* */
+            $contractDetailList = $this->getConcatList($ti, $data, $param["year"]); //保存上一年度的工作单位
+            if (!$contractDetailList) {
+                $response->msg = "申报失败,原因为:申报年度不存在有效的工作单位";
+                return $response;
+            }
+            TaModel::insert($data);
+            \app\common\model\TalentAllowancecontractDetail::insertAll($contractDetailList);
+            /**
+             * 4.添加津补贴核查项目
+             */
+            $list = [];                          //核查项目详情表
+            $this->createAllowanceProject($data, $contractDetailList, $list);
+            \app\common\model\TalentAllowanceArrange::insertAll($arrangeList);
+            //添加日志
+            TalentChecklog::create([
+                'id' => getStringId(),
+                'mainId' => $data['id'],
+                'type' => intval(ProjectState::JBT),
+                'typeFileId' => null,
+                'active' => 1,
+                'state' => 1,
+                'step' => 0,
+                'stateChange' => "保存未提交",
+                'description' => "添加津补贴申报",
+                'createTime' => date("Y-m-d H:i:s", time()),
+                'createUser' => sprintf("%s(%s)", $this->user["account"], $this->user["companyName"])
+            ]);
+            $response->msg = "保存成功";
+            $response->code = 200;
+            $response->obj = $data;
+            return $response;
+        } else {
+            TaModel::update($param);
+            $response->msg = "修改成功";
+            $response->code = 200;
+            return $response;
+        }
+    }
+
+    /**
+     * 删除优秀人才津补贴
+     */
+    public function delete() {
+        $id = $this->request["id"];
+        $response = new \stdClass();
+        $response->code = 500;
+        $info = TalentAllowanceApi::getInfoById($id);
+        if ($info["checkState"] != 1) {
+            $response->msg = "删除失败!此数据已提交审核,无法删除!";
+            return $response;
+        }
+        Db::startTrans();
+        try {
+            //删除核查项目表
+            Db::table("un_talent_allowance_project")->where("mainId", $id)->delete();
+            //删除合同情况表
+            Db::table("un_talent_allowancecontract_detail")->where("mainId", $id)->delete();
+            //删除人才层次变更表
+            Db::table("un_talent_allowance_arrange")->where("mainId", $id)->delete();
+            //删除日志
+            $where[] = ["mainId", "=", $id];
+            $where[] = ["type", "=", ProjectState::JBT];
+            Db::table("new_talent_checklog")->where($where)->delete();
+            //删除主表
+            Db::table("un_talent_allowance_info")->delete($id);
+            Db::commit();
+            $response->code = 200;
+            $response->msg = "删除成功";
+            return $response;
+        } catch (think\db\exception\DbException $e) {
+            Db::rollback();
+            $response->msg = $e->getMessage();
+            return $response;
+        }
     }
 
     public function detail(\think\Request $request) {
         $param = $request->param();
         $id = $param["id"];
-        $info = CommonLaApi::getInfoById($id);
-        $ep = EnterpriseApi::getOne($this->user["uid"]);
-        if (!chkEnterpriseFull($ep))
-            return;
-        return view("apply", ["row" => $info, "enterprise" => $ep, "hand" => "select"]);
+        $info = TalentAllowanceApi::getInfoById($id);
+        $this->translateToChinese($info);
+        return view("", ["row" => $info]);
+    }
+
+    private function translateToChinese(&$obj) {
+        if (\StrUtil::isNotEmpAndNull($obj["address"])) {
+            $obj["addressName"] = DictApi::findByParentCodeAndCode("street", $obj["address"])["name"];
+        }
+        if (\StrUtil::isNotEmpAndNull($obj["talentType"])) {
+            $obj["talentTypeName"] = DictApi::findByParentCodeAndCode("enterprise_tag", $obj["talentType"])["name"];
+        }
+        if (\StrUtil::isNotEmpAndNull($obj["talentArrange"])) {
+            $obj["talentArrangeName"] = DictApi::findByParentCodeAndCode("talent_arrange", $obj["talentArrange"])["name"];
+        }
+        if (\StrUtil::isNotEmpAndNull($obj["identifyCondition"])) {
+            $obj["identifyConditionText"] = \app\common\api\TalentConditionApi::getOne($obj["identifyCondition"])["name"];
+        }
+        if (\StrUtil::isNotEmpAndNull($obj["introductionMode"])) {
+            $obj["introductionModeName"] = DictApi::findByParentCodeAndCode("import_way", $obj["introductionMode"])["name"];
+        }
+    }
+
+    /*     * 获取上一年度的人才层次变更信息 */
+
+    private function getLastYearTalentType($info, $talentInfo) {
+        $arrangeList = [];
+        /*         * * 添加人才层次记录 */
+        $where = [];
+        $where[] = ["talentId", "=", $info["talentId"]];
+        $where[] = ["checkState", "=", MainState::PASS];
+        $where[] = ["isPublic", ">=", 5];
+        $where[] = ["oldIdentifyMonth", "<=", $info["year"] . "-12-31"];
+        $typeList = \app\enterprise\model\TalentTypeChange::where($where)->field("oldTalentArrange,oldIdentifyCondition,oldIdentifyGetTime,oldIdentifyOutTime,oldIdentifyMonth,oldCertificateStartTime,oldCertificateOutTime,newIdentifyMonth")->order("createTime desc")->select()->toArray();
+        $typeList[] = [
+            "oldTalentArrange" => $talentInfo["talent_arrange"],
+            "oldIdentifyCondition" => $talentInfo["talent_condition"],
+            "oldIdentifyGetTime" => $talentInfo["identifyGetTime"],
+            "oldIdentifyOutTime" => $talentInfo["identifyExpireTime"],
+            "oldIdentifyMonth" => $talentInfo["identifyMonth"],
+            "oldCertificateStartTime" => $talentInfo["certificateGetTime"],
+            "oldCertificateOutTime" => $talentInfo["certificateExpireTime"],
+            "newIdentifyMonth" => $info["year"] . "-12-31"
+        ];
+        $totalMonth = \DateUtil::getMonthBetweenDates($info["year"] . "-01-01", $info["year"] . "-12-31");
+        /*         * 获取上一年度有效的人才层次 */
+        usort($typeList, function($a, $b) {
+            return (int) $b["oldTalentArrange"] - (int) $a["oldTalentArrange"];
+        });
+        $commonMonth = [];
+        foreach ($typeList as $talentTypeChange) {
+            $startTime = $talentTypeChange["oldIdentifyMonth"];
+            $endTime = $talentTypeChange["newIdentifyMonth"];
+            $monthList = \DateUtil::getMonthBetweenDatesNotEnd($startTime, $endTime);
+            if ($monthList) {
+                $monthList = array_intersect($monthList, $totalMonth);
+            }
+            if ($monthList) {
+                $months = implode(",", $monthList);
+                $monthList = array_filter($monthList, function($value) use ($commonMonth) {
+                    return !in_array($value, $commonMonth);
+                });
+                $commonMonth = array_filter(array_merge($commonMonth, $monthList));
+                if (count($monthList) > 0) {
+                    $arrange = [
+                        "id" => getStringId(),
+                        "mainId" => $info["id"],
+                        "talentArrange" => $talentTypeChange["oldTalentArrange"],
+                        "identifyCondition" => $talentTypeChange["oldIdentifyCondition"],
+                        "startTime" => $startTime,
+                        "endTime" => $endTime,
+                        "prepareMonths" => null,
+                        "description" => "申报年度有效月份:" . $months,
+                        "dayMap" => null,
+                        "list" => $monthList,
+                        "identifyConditionName" => $talentTypeChange["oldIdentifyConditionName"],
+                        "identifyConditionGetTime" => $talentTypeChange["oldIdentifyGetTime"],
+                    ];
+                    $sb = '';
+                    foreach ($monthList as $month) {
+                        $sb .= substr($month, 5, 2) . ",";
+                    }
+                    $arrange["prepareMonths"] = rtrim($sb, ",");
+                    $arrangeList[] = $arrange;
+                }
+            }
+        }
+        return $arrangeList;
+    }
+
+    /**
+     * @param
+     * @returns void
+     * @author Liu
+     * @date 2020/4/26
+     * @description 获取上一年度所在单位
+     * */
+    private function getConcatList($talentInfo, $info, $year) {
+        $totalMonth = \DateUtil::getMonthBetweenDates($year + "-01-01", $year + "-12-31");
+        /** 添加申报人才上一年度工作单位记录 */
+        $where = [];
+        $where[] = ["talentId", "=", $talentInfo["id"]];
+        $where[] = ["checkState", "=", 3];
+        $quitList = \app\common\model\TalentQuit::where($where)->field("enterpriseId,enterpriseName,talentType,identifyGetTime,starttime,endtime,entryTime,quitTime,post")->select()->toArray();
+        /*         * * 将最新的人才数据转为工作变更记录(为了统一处理) */
+        if ($talentInfo["active"] == 1) {
+            $labor_contract_rangetime = explode(" - ", $talentInfo["labor_contract_rangetime"]);
+            $starttime = $labor_contract_rangetime[0];
+            $endtime = $labor_contract_rangetime[1];
+            $quitList[] = [
+                "enterpriseId" => $talentInfo["enterprise_id"],
+                "enterpriseName" => $talentInfo["enterpriseName"],
+                "talentType" => $talentInfo["enterpriseTag"],
+                "identifyGetTime" => $talentInfo["identifyGetTime"],
+                "starttime" => $starttime,
+                "endtime" => $endtime,
+                "entryTime" => $talentInfo["cur_entry_time"],
+                "quitTime" => null,
+                "post" => $talentInfo["position"]
+            ];
+        }
+        $count = 0;
+        $list = [];
+        foreach ($quitList as $quit) {
+            $monthList = \DateUtil::getMonthBetweenDates($quit["entryTime"], \StrUtil::isEmpOrNull($quit["quitTime"]) ? $year . "-12-31" : $quit["quitTime"]);
+            $monthList = array_intersect($monthList, $totalMonth);
+            if (!$monthList) {
+                $list[] = [
+                    "id" => getStringId(),
+                    "mainId" => $info["id"],
+                    "enterpriseId" => $quit["enterpriseId"],
+                    "talentType" => $quit["talentType"],
+                    "startTime" => $quit["starttime"],
+                    "endTime" => $quit["endtime"],
+                    "entryTime" => $quit["entryTime"],
+                    "quitTime" => \StrUtil::isEmpOrNull($quit["quitTime"]) ? $year . "-12-31" : $quit["quitTime"],
+                    "letterTime" => $quit["letterTime"],
+                    "gygb" => $quit["gygb"],
+                    "identifyGetTime" => $quit["identifyGetTime"],
+                    "isQuit" => \StrUtil::isEmpOrNull($quit["quitTime"]) ? 2 : 1,
+                    "enterpriseName" => $quit["enterpriseName"],
+                    "post" => $quit["post"]
+                ];
+                $count++;
+            }
+        }
+        return $list;
+    }
+
+    private function createAllowanceProject($info, $contractList, $list) {
+        foreach ($contractList as $detail) {
+            $projects = [
+                AllowanceProjectEnum::PROJECT_CONTRACT,
+                AllowanceProjectEnum::PROJECT_TAX,
+                AllowanceProjectEnum::PROJECT_WAGES,
+                AllowanceProjectEnum::PROJECT_ATTENDANCE,
+                AllowanceProjectEnum::PROJECT_SB_PENSION,
+                AllowanceProjectEnum::PROJECT_SB_INJURY,
+                AllowanceProjectEnum::PROJECT_SB_UNEMPLOYMENT,
+                AllowanceProjectEnum::PROJECT_SB_MEDICA,
+                AllowanceProjectEnum::PROJECT_SB_BIRTH,
+                AllowanceProjectEnum::PROJECT_INBORDER,
+                AllowanceProjectEnum::PROJECT_WORKDAY,
+            ];
+            foreach ($projects as $project) {
+                $list = [];
+                $list[] = [
+                    "mainId" => $info["id"],
+                    "baseId" => $detail["id"],
+                    "enterpriseId" => $detail["enterpriseId"],
+                    "project" => $project,
+                    "isLock" => 1
+                ];
+                \app\common\model\TalentAllowanceProject::insertAll($list);
+            }
+        }
+    }
+
+    /**
+     * 查询工作单位
+     */
+    public function findAllowanceContractDetail() {
+        $mainId = $this->request["mainId"];
+        $offset = $this->request["offset"] ?: 0;
+        $limit = $this->request["limit"] ?: 1000;
+        $count = \app\common\model\TalentAllowancecontractDetail::where("mainId", $mainId)->count();
+        $list = \app\common\model\TalentAllowancecontractDetail::where("mainId", $mainId)->limit($offset, $limit)->select()->toArray();
+        $enterpriseMap = app\common\model\Enterprise::column("name", "id");
+        foreach ($list as &$row) {
+            $row["enterpriseName"] = $enterpriseMap[$row["enterpriseId"]];
+        }unset($row);
+        return json(["rows" => $list, "total" => $count]);
+    }
+
+    /**
+     * 查询核查项目情况
+     */
+    public function findAllowanceProject() {
+        $mainId = $this->request["mainId"];
+        $baseId = $this->request["mainId"];
+        $offset = $this->request["offset"] ?: 0;
+        $limit = $this->request["limit"] ?: 1000;
+        $where = [];
+        $where[] = ["mainId", "=", $mainId];
+        $where[] = ["baseId", "=", $baseId];
+        $count = \app\common\model\TalentAllowanceProject::where($where)->count();
+        $list = \app\common\model\TalentAllowanceProject::where($where)->limit($offset, $limit)->select()->toArray();
+        $info = TalentAllowanceApi::getInfoById($mainId);
+        foreach ($list as &$project) {
+            $project["projectName"] = AllowanceProjectEnum::getProjectName($project["project"]);
+            if ($info["checkState"] == 1) {
+                $project["isEdit"] = in_array($project["project"], [AllowanceProjectEnum::PROJECT_TAX, AllowanceProjectEnum::PROJECT_INBORDER, AllowanceProjectEnum::PROJECT_WORKDAY]) ? 1 : 2;
+            } else if ($info["checkState"] == 10) {
+                $projects = explode(",", $info["projects"]);
+                if (in_array($project["id"], $projects)) {
+                    $project["isEdit"] = 1;
+                } else {
+                    $project["isEdit"] = 2;
+                }
+            } else {
+                $project["isEdit"] = 2;
+            }
+        }unset($project);
+        return json(["rows" => $list, "total" => $count]);
+    }
+
+    /**
+     * 查询人才层次变更记录
+     */
+    public function findAllowanceArrange() {
+        $mainId = $this->request["mainId"];
+        $offset = $this->request["offset"] ?: 0;
+        $limit = $this->request["limit"] ?: 1000;
+        $where = [];
+        $where[] = ["mainId", "=", $mainId];
+        $count = \app\common\model\TalentAllowanceArrange::where($where)->count();
+        $list = \app\common\model\TalentAllowanceArrange::where($where)->limit($offset, $limit)->select()->toArray();
+        foreach ($list as &$arrange) {
+            $condition = \app\common\api\TalentConditionApi::getOne($arrange["identifyCondition"]);
+            $arrange["identifyConditionText"] = $condition["name"];
+            $arrange["talentArrangeName"] = app\common\state\CommonConst::getLayerNameByLayer($arrange["talentArrange"]);
+        }unset($arrange);
+        return json(["rows" => $list, "total" => $count]);
+    }
+
+    /**
+     * 修改合同起止时间
+     */
+    public function editContract() {
+        $response = new \stdClass();
+        $response->code = 500;
+        $param = $this->request->param();
+        if (!$param["id"]) {
+            $response->msg = "系统错误,请联系管理员";
+            return $response;
+        }
+        $detail = \app\common\model\TalentAllowancecontractDetail::find($param["id"]);
+        $info = TalentAllowanceApi::getInfoById($detail["mainId"]);
+        if (\StrUtil::isEmpOrNull($param["startTime"])) {
+            $response->msg = "请选择合同起始时间";
+            return $response;
+        }
+        if (\StrUtil::isEmpOrNull($param["endTime"])) {
+            $response->msg = "请选择合同截止时间";
+            return $response;
+        }
+        \app\common\model\TalentAllowancecontractDetail::update($param);
+        //添加日志
+        TalentChecklog::create([
+            'id' => getStringId(),
+            'mainId' => $info['id'],
+            'type' => intval(ProjectState::JBT),
+            'typeFileId' => $param["id"],
+            'active' => 1,
+            'state' => null,
+            'step' => 0,
+            'stateChange' => null,
+            'description' => "修改工作单位合同时间为:" . $param["startTime"] . "至" . $param["endTime"],
+            'createTime' => date("Y-m-d H:i:s", time()),
+            'createUser' => sprintf("%s(%s)", $this->user["account"], $this->user["companyName"])
+        ]);
+        $response->msg = "修改成功";
+        $response->code = 200;
+        return $response;
+    }
+
+    /**
+     * 修改项目
+     */
+    public function editProject() {
+        $response = new \stdClass();
+        $response->code = 500;
+        $param = $this->request->param();
+        if (!$param["id"]) {
+            $response->msg = "系统错误,请联系管理员";
+            return $response;
+        }
+        $detail = \app\common\model\TalentAllowanceProject::find($param["id"]);
+        $info = TalentAllowanceApi::getInfoById($detail["mainId"]);
+        \app\common\model\TalentAllowanceProject::update($param);
+        //添加日志
+        TalentChecklog::create([
+            'id' => getStringId(),
+            'mainId' => $info['id'],
+            'type' => intval(ProjectState::JBT),
+            'typeFileId' => $param["id"],
+            'active' => 1,
+            'state' => null,
+            'step' => 0,
+            'stateChange' => null,
+            'description' => "修改项目名:" . AllowanceProjectEnum::getProjectName($detail["project"]) . "的值为:" . $param["months"] . ";备注为:" . $param["description"],
+            'createTime' => date("Y-m-d H:i:s", time()),
+            'createUser' => sprintf("%s(%s)", $this->user["account"], $this->user["companyName"])
+        ]);
+        $response->msg = "修改成功";
+        $response->code = 200;
+        return $response;
+    }
+
+    /**
+     * 判断是否可以修改
+     */
+    public function validateIsEdit() {
+        $id = $this->request["id"];
+        $type = $this->request["type"];
+        $response = new \stdClass();
+        $response->code = 500;
+        $info = null;
+        if ($type == 1) {                //编辑合同
+            $detail = \app\common\model\TalentAllowancecontractDetail::find($id);
+        } else if ($type == 2) {          //编辑项目
+            $detail = \app\common\model\TalentAllowanceProject::find($id);
+        }
+        $info = TalentAllowanceApi::getInfoById($detail["mainId"]);
+        if ($info["checkState"] != 1 && $info["checkState"] != 10) {
+            if ($info["checkState"] == -1) {
+                $response->msg = "您的申报审核不通过,无法操作";
+                return $response;
+            } else if ($info["checkState"] == 30) {
+                $response->msg = "您的申报已审核通过,无法操作";
+                return $response;
+            } else {
+                $response->msg = "您的申报正在审核中,请耐心等待";
+                return $response;
+            }
+        }
+        $response->code = 200;
+        return $response;
+    }
+
+    /**
+     * 提交审核
+     */
+    public function submitToCheck() {
+        $data = $this->request->param();
+        $response = new \stdClass();
+        $response->code = 500;
+        if (!$data || !$data["id"]) {
+            $response->msg = "提交审核失败,请先填写基础信息";
+            return $response;
+        }
+        $old = TalentAllowanceApi::getInfoById($data["id"]);
+        $batch = BatchApi::checkBatchValid(["type" => ProjectState::JBT, "year" => $old["year"], "first_submit_time" => $old["firstSubmitTime"]], $this->user["type"]);
+        if ($batch["code"] != 200) {
+            $response->msg = $batch["msg"];
+            return $response;
+        }
+        if ($old["checkState"] != 1 && $old["checkState"] != 10) {
+            $response->msg = "不能重复提交审核";
+            return $response;
+        }
+        $where = [];
+        $where[] = ["type", "=", $old["type"]];
+        $where[] = ["project", "=", ProjectState::JBT];
+        $where[] = ["active", "=", 1];
+        $where[] = ["delete", "=", 0];
+        $filetypes = Db::table("new_common_filetype")->where($where)->order("sn asc")->select()->toArray();
+        $sb = [];
+        $sb[] = "以下为必传附件:";
+        foreach ($filetypes as $filetype) {
+            if ($filetype["must"] == 1) {
+                $where = [];
+                $where[] = ["mainId", "=", $id];
+                $where[] = ["typeId", "=", $filetype["id"]];
+                $count = Db::table("new_talent_file")->where($where)->count();
+                if ($count == 0) {
+                    $sb[] = $filetype["name"] . ";";
+                }
+            }
+        }
+        if (count($sb) > 1) {
+            $response->msg = implode("<br>", $sb);
+            return $response;
+        }
+
+        /**
+         * 初步判断合同是否满两年
+         */
+        $detailList = \app\common\model\TalentAllowancecontractDetail::where("mainId", $old["id"])->select()->toArray();
+        foreach ($detailList as $detail) {
+            if (\StrUtil::isEmpOrNull($detail["startTime"]) || \StrUtil::isEmpOrNull($detail["endTime"])) {
+                $response->msg = "合同起止时间不能为空";
+                return $response;
+            }
+        }
+        foreach ($detailList as $detail) {
+            $contractEndTime = strtotime($detail["endTime"]);
+            $contractStartTimeAdd2Years = strtotime("+2 years -1 day {$detail['startTime']}");
+            $where = [];
+            $where[] = ["mainId", "=", $data["id"]];
+            $where[] = ["baseId", "=", $detail["id"]];
+            $where[] = ["project", "=", AllowanceProjectEnum::PROJECT_CONTRACT];
+            $updProject["months"] = $contractEndTime >= $contractStartTimeAdd2Years ? "是" : "否";
+            \app\common\model\TalentAllowanceProject::where($where)->update($updProject);
+        }
+        $data["checkMsg"] = "";
+        $data["checkState"] = 5;
+        $data["files"] = "";
+        $data["projects"] = "";
+        $data["concats"] = "";
+        $data["fields"] = "";
+        $data["toDep"] = "";
+        $data["process"] = null;
+        if (!$old["firstSubmitTime"]) {
+            $data["firstSubmitTime"] = date("Y-m-d H:i:s");
+        }
+        $data["newSubmitTime"] = date("Y-m-d H:i:s");
+        TaModel::update($data);
+        //添加日志
+        TalentChecklog::create([
+            'id' => getStringId(),
+            'mainId' => $data['id'],
+            'type' => intval(ProjectState::JBT),
+            'typeFileId' => null,
+            'active' => 1,
+            'state' => 1,
+            'step' => 0,
+            'stateChange' => sprintf("%s->%s", MainState::getStateDesc(1), MainState::getStateDesc(7)),
+            'description' => "确认提交审核",
+            'createTime' => date("Y-m-d H:i:s", time()),
+            'createUser' => sprintf("%s(%s)", $this->user["account"], $this->user["companyName"])
+        ]);
+        $response->msg = "提交审核成功";
+        $response->code = 200;
+        $response->obj = 5;
+        return $response;
+    }
+
+    public function updateSuppleState() {
+        $id = $this->request["id"];
+        $response = new \stdClass();
+        $response->code = 500;
+        if (\StrUtil::isEmpOrNull($id)) {
+            $response->msg = "系统错误,请联系管理员";
+            return $response;
+        }
+        $data["id"] = $id;
+        $data["isSupple"] = 1;
+        TaModel::update($data);
+        $response->msg = "状态更新成功";
+        $response->code = 200;
+        return $response;
     }
 
 }

+ 29 - 29
app/enterprise/view/talent_allowance/apply.html

@@ -53,38 +53,38 @@
                                 <div class="panel-body" >
                                     <form id="talentAllowanceForm" class="form-horizontal">
                                         <div class="col-sm-12 form-group-sm">
-                                            <input type="hidden" name="id" id="id" value="{$info.id}">
+                                            <input type="hidden" name="id" id="id" value="{$row.id}">
                                             <input type="hidden" name="year" id="year" value="{$year}">
                                             <input type="hidden" name="type" id="type" value="{$type}">
-                                            <input type="hidden" name="talentId" id="talentId" value="{$info.talentId}">
-                                            <input type="hidden" name="checkState" id="checkState" value="{$info.checkState}">
-                                            <input type="hidden" name="projects" id="projects" value="{$info.projects}">
-                                            <input type="hidden" name="files" id="files" value="{$info.files}">
-                                            <input type="hidden" name="concats" id="concats" value="{$info.concats}">
-                                            <input type="hidden" name="fields" id="fields" value="{$info.fields}">
+                                            <input type="hidden" name="talentId" id="talentId" value="{$row.talentId}">
+                                            <input type="hidden" name="checkState" id="checkState" value="{$row.checkState}">
+                                            <input type="hidden" name="projects" id="projects" value="{$row.projects}">
+                                            <input type="hidden" name="files" id="files" value="{$row.files}">
+                                            <input type="hidden" name="concats" id="concats" value="{$row.concats}">
+                                            <input type="hidden" name="fields" id="fields" value="{$row.fields}">
                                             <div class="row">
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>申报对象</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="name" name="name" value="{$info.name}" >
+                                                        <input type="text" class="form-control" readonly="readonly" id="name" name="name" value="{$row.name}" >
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="talentTypeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>人才标签</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="talentTypeName" name="talentTypeName" value="{$info.talentTypeName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="talentTypeName" name="talentTypeName" value="{$row.talentTypeName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>企业名称</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="enterpriseName" name="enterpriseName" value="{$info.enterpriseName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="enterpriseName" name="enterpriseName" value="{$row.enterpriseName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>性别</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <select class="form-control" style="pointer-events: none;background-color: #eee;" id="sex" name="sex" value="{$info.sex}">
+                                                        <select class="form-control" style="pointer-events: none;background-color: #eee;" id="sex" name="sex" value="{$row.sex}">
                                                             <option value="">请选择</option>
                                                             <option value="1">男</option>
                                                             <option value="2">女</option>
@@ -94,98 +94,98 @@
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>证件号码</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input class="form-control" readonly="readonly" id="idCard" name="idCard" value="{$info.idCard}">
+                                                        <input class="form-control" readonly="readonly" id="idCard" name="idCard" value="{$row.idCard}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>籍贯</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input class="form-control" readonly="readonly" id="provinceCode" name="provinceCode" value="{$info.provinceName}{$info.cityName}{$info.countyName}">
+                                                        <input class="form-control" readonly="readonly" id="provinceCode" name="provinceCode" value="{$row.provinceName}{$row.cityName}{$row.countyName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="introductionModeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>引进方式</label>
                                                     <div class="col-sm-2 spacing" >
-                                                        <input class="form-control" readonly="readonly" id="introductionModeName" name="introductionModeName" value="{$info.introductionModeName}">
+                                                        <input class="form-control" readonly="readonly" id="introductionModeName" name="introductionModeName" value="{$row.introductionModeName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="firstInJJTimeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>首次来晋工作时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="firstInJJTime" name="firstInJJTime" value="{$info.firstInJJTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="firstInJJTime" name="firstInJJTime" value="{$row.firstInJJTime}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>本单位入职时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="entryTime" name="entryTime" value="{$info.entryTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="entryTime" name="entryTime" value="{$row.entryTime}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>职务</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="post" name="post" value="{$info.post}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="post" name="post" value="{$row.post}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>手机号码</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="phone" name="phone" value="{$info.phone}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="phone" name="phone" value="{$row.phone}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>开户银行</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bank" name="bank" value="{$info.bank}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bank" name="bank" value="{$row.bank}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="bankNumberSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>银行行号</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankNumber" name="bankNumber" value="{$info.bankNumber}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankNumber" name="bankNumber" value="{$row.bankNumber}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>开户银行网点</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankNetwork" name="bankNetwork" value="{$info.bankNetwork}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankNetwork" name="bankNetwork" value="{$row.bankNetwork}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>银行账号</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankAccount" name="bankAccount" value="{$info.bankAccount}" onkeyup="value = value.replace(/\s+/g, '')"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankAccount" name="bankAccount" value="{$row.bankAccount}" onkeyup="value = value.replace(/\s+/g, '')"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>人才层次</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control"  readonly="readonly" id="talentArrangeName" name="talentArrangeName" value="{$info.talentArrangeName}">
+                                                        <input type="text" class="form-control"  readonly="readonly" id="talentArrangeName" name="talentArrangeName" value="{$row.talentArrangeName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionText" name="identifyConditionText" value="{$info.identifyConditionText}">
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionText" name="identifyConditionText" value="{$row.identifyConditionText}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件名称</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionName" name="identifyConditionName" value="{$info.identifyConditionName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionName" name="identifyConditionName" value="{$row.identifyConditionName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件取得时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyGetTime" name="identifyGetTime" value="{$info.identifyGetTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyGetTime" name="identifyGetTime" value="{$row.identifyGetTime}"/>
                                                     </div>
                                                 </div>
-                                                <div class="rowGroup" id="wageDiv" {neq name="info.active" value="2"}style="display: none"{/neq}>
+                                                <div class="rowGroup" id="wageDiv" {neq name="row.active" value="2"}style="display: none"{/neq}>
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>上一年度年薪(元)</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="hidden" id="active" value="{$info.active}">
-                                                        <input type="text" class="form-control" id="wage" placeholder="正常工资薪金、一次性奖金收入(无需填写单位)" name="wage" value="{$info.wage}" {if condition="!$info['fields'] && $info['checkState']!=1"}readonly="readonly"{/if}/>
+                                                        <input type="hidden" id="active" value="{$row.active}">
+                                                        <input type="text" class="form-control" id="wage" placeholder="正常工资薪金、一次性奖金收入(无需填写单位)" name="wage" value="{$row.wage}" {if condition="!$info['fields'] && $info['checkState']!=1"}readonly="readonly"{/if}/>
                                                     </div>
                                                 </div>
 

+ 32 - 36
app/enterprise/view/talent_allowance/view.html → app/enterprise/view/talent_allowance/detail.html

@@ -42,7 +42,7 @@
                     <div class="tabs-container" >
                         <ul class="nav nav-tabs">
                             <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">1.基本信息</a></li>
-<!--                            <li id="condition" class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false" onclick="TalentAllowanceInfoDlg.initContract()">2.核查条件录入</a></li>-->
+                            <!--                            <li id="condition" class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false" onclick="TalentAllowanceInfoDlg.initContract()">2.核查条件录入</a></li>-->
                             <li id="fileLi" class=""><a data-toggle="tab" href="#tab-2"  aria-expanded="false" onclick="TalentAllowanceInfoDlg.initFileTable()">2.附件上传</a></li>
                         </ul>
                     </div>
@@ -57,37 +57,37 @@
                                 <div class="panel-body" >
                                     <form id="talentAllowanceForm" class="form-horizontal">
                                         <div class="col-sm-12 form-group-sm">
-                                            <input type="hidden" name="id" id="id" value="${item.id}">
-                                            <input type="hidden" name="year" id="year" value="${item.year}">
-                                            <input type="hidden" name="type" id="type" value="${item.type}">
-                                            <input type="hidden" name="talentId" id="talentId" value="${item.talentId}">
-                                            <input type="hidden" name="checkState" id="checkState" value="${item.checkState}">
-                                            <input type="hidden" name="projects" id="projects" value="${item.projects}">
-                                            <input type="hidden" name="files" id="files" value="${item.files}">
-                                            <input type="hidden" name="fields" id="fields" value="${item.fields}">
+                                            <input type="hidden" name="id" id="id" value="{$row.id}">
+                                            <input type="hidden" name="year" id="year" value="{$row.year}">
+                                            <input type="hidden" name="type" id="type" value="{$row.type}">
+                                            <input type="hidden" name="talentId" id="talentId" value="{$row.talentId}">
+                                            <input type="hidden" name="checkState" id="checkState" value="{$row.checkState}">
+                                            <input type="hidden" name="projects" id="projects" value="{$row.projects}">
+                                            <input type="hidden" name="files" id="files" value="{$row.files}">
+                                            <input type="hidden" name="fields" id="fields" value="{$row.fields}">
                                             <div class="row">
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>申报对象</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="name" name="name" value="${item.name}" >
+                                                        <input type="text" class="form-control" readonly="readonly" id="name" name="name" value="{$row.name}" >
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="talentTypeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>人才标签</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="talentTypeName" name="talentTypeName" value="${item.talentTypeName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="talentTypeName" name="talentTypeName" value="{$row.talentTypeName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>单位名称</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="enterpriseName" name="enterpriseName" value="${item.enterpriseName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="enterpriseName" name="enterpriseName" value="{$row.enterpriseName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>性别</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <select class="form-control" disabled="disabled" id="sex" name="sex" value="${item.sex}">
+                                                        <select class="form-control" disabled="disabled" id="sex" name="sex" value="{$row.sex}">
                                                             <option value="">请选择</option>
                                                             <option value="1">男</option>
                                                             <option value="2">女</option>
@@ -97,101 +97,97 @@
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>证件号码</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input class="form-control" readonly="readonly" id="idCard" name="idCard" value="${item.idCard}">
+                                                        <input class="form-control" readonly="readonly" id="idCard" name="idCard" value="{$row.idCard}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>籍贯</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input class="form-control" readonly="readonly" id="provinceCode" name="provinceCode" value="${item.provinceName}${item.cityName}${item.countyName}">
+                                                        <input class="form-control" readonly="readonly" id="provinceCode" name="provinceCode" value="{$row.provinceName}{$row.cityName}{$row.countyName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="introductionModeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>引进方式</label>
                                                     <div class="col-sm-2 spacing" >
-                                                        <input class="form-control" readonly="readonly" id="introductionModeName" name="introductionModeName" value="${item.introductionModeName}">
+                                                        <input class="form-control" readonly="readonly" id="introductionModeName" name="introductionModeName" value="{$row.introductionModeName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="firstInJJTimeSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>首次来晋工作时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="firstInJJTime" name="firstInJJTime" value="${item.firstInJJTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="firstInJJTime" name="firstInJJTime" value="{$row.firstInJJTime}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>本单位入职时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="entryTime" name="entryTime" value="${item.entryTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="entryTime" name="entryTime" value="{$row.entryTime}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>职务</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="post" name="post" value="${item.post}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="post" name="post" value="{$row.post}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>手机号码</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="phone" name="phone" value="${item.phone}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="phone" name="phone" value="{$row.phone}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>开户银行</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bank" name="bank" value="${item.bank}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bank" name="bank" value="{$row.bank}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup" id="bankNumberSpan">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>银行行号</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankNumber" name="bankNumber" value="${item.bankNumber}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankNumber" name="bankNumber" value="{$row.bankNumber}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>开户银行网点</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankNetwork" name="bankNetwork" value="${item.bankNetwork}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankNetwork" name="bankNetwork" value="{$row.bankNetwork}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>银行账号</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="bankAccount" name="bankAccount" value="${item.bankAccount}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="bankAccount" name="bankAccount" value="{$row.bankAccount}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>人才层次</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control"  readonly="readonly"id="talentArrangeName" name="talentArrangeName" value="${item.talentArrangeName}">
+                                                        <input type="text" class="form-control"  readonly="readonly"id="talentArrangeName" name="talentArrangeName" value="{$row.talentArrangeName}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionText" name="identifyConditionText" value="${item.identifyConditionText}">
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionText" name="identifyConditionText" value="{$row.identifyConditionText}">
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件名称</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionName" name="identifyConditionName" value="${item.identifyConditionName}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyConditionName" name="identifyConditionName" value="{$row.identifyConditionName}"/>
                                                     </div>
                                                 </div>
                                                 <div class="rowGroup">
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>认定条件取得时间</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" readonly="readonly" id="identifyGetTime" name="identifyGetTime" value="${item.identifyGetTime}"/>
+                                                        <input type="text" class="form-control" readonly="readonly" id="identifyGetTime" name="identifyGetTime" value="{$row.identifyGetTime}"/>
                                                     </div>
                                                 </div>
-                                                <div class="rowGroup" id="wageDiv"
-                                                     @if(item.active != 2){
-                                                     style="display: none"
-                                                     @}
-                                                >
+                                                <div class="rowGroup" id="wageDiv" {neq name="row.active" value="2"}style="display: none"{/neq}>
                                                     <label class="col-sm-1 control-label spacing"><span style="color: red">*</span>上一年度年薪(元)</label>
                                                     <div class="col-sm-2 spacing">
-                                                        <input type="text" class="form-control" id="wage" placeholder="正常工资薪金、一次性奖金收入" name="wage" value="${item.wage}"/>
+                                                        <input type="text" class="form-control" id="wage" placeholder="正常工资薪金、一次性奖金收入" name="wage" value="{$row.wage}"/>
                                                     </div>
                                                 </div>
                                             </div>
@@ -241,7 +237,7 @@
     </div>
 </div>
 <script type="text/javascript">
-    document.write('<script src="/static/modular/gate/talentAllowance/common/talentAllowanceInfo_select.js?v='+(new Date()).getTime()+'"><\/script>');
-    document.write('<script src="/static/modular/common/upload.js?v='+(new Date()).getTime()+'"><\/script>');
+    document.write('<script src="/static/modular/gate/talentAllowance/common/talentAllowanceInfo_select.js?v=' + (new Date()).getTime() + '"><\/script>');
+    document.write('<script src="/static/modular/common/upload.js?v=' + (new Date()).getTime() + '"><\/script>');
 </script>
 {/block}

+ 283 - 268
public/static/modular/gate/talentAllowance/common/talentAllowance_info.js

@@ -4,14 +4,14 @@
 var TalentAllowanceInfoDlg = {
     talentAllowanceData: {},
     validateFields: {
-        talentId: {validators: {notEmpty: {message: '申报对象不能为空' }}}
+        talentId: {validators: {notEmpty: {message: '申报对象不能为空'}}}
     }
 };
 
 /**
  * 清除数据
  */
-TalentAllowanceInfoDlg.clearData = function() {
+TalentAllowanceInfoDlg.clearData = function () {
     this.talentAllowanceData = {};
 }
 
@@ -21,7 +21,7 @@ TalentAllowanceInfoDlg.clearData = function() {
  * @param key 数据的名称
  * @param val 数据的具体值
  */
-TalentAllowanceInfoDlg.set = function(key, val) {
+TalentAllowanceInfoDlg.set = function (key, val) {
     this.talentAllowanceData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
     return this;
 }
@@ -32,25 +32,25 @@ TalentAllowanceInfoDlg.set = function(key, val) {
  * @param key 数据的名称
  * @param val 数据的具体值
  */
-TalentAllowanceInfoDlg.get = function(key) {
+TalentAllowanceInfoDlg.get = function (key) {
     return $("#" + key).val();
 }
 
 /**
  * 关闭此对话框
  */
-TalentAllowanceInfoDlg.close = function() {
+TalentAllowanceInfoDlg.close = function () {
     parent.layer.close(window.parent.TalentAllowanceInfo.layerIndex);
 }
 
 /**
  * 收集数据
  */
-TalentAllowanceInfoDlg.collectData = function() {
+TalentAllowanceInfoDlg.collectData = function () {
     this.set('id')
-        .set('talentId')
-        .set('year')
-        .set('wage');
+            .set('talentId')
+            .set('year')
+            .set('wage');
 }
 /**
  * 验证数据
@@ -64,22 +64,22 @@ TalentAllowanceInfoDlg.validate = function () {
 /**
  * 选择申报对象初始化
  */
-TalentAllowanceInfoDlg.init = function(){
+TalentAllowanceInfoDlg.init = function () {
     var talentId = $("#name").val();
-    if(Feng.isNotEmptyStr(talentId)){
-        var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/detail/"+talentId, function(data){
-            if(data.active == 1){
-                $("#wageDiv").css("display","none");
-            }else if(data.active == 2){
-                $("#wageDiv").css("display","block").val("");
-            }else if(data.active == 3){
+    if (Feng.isNotEmptyStr(talentId)) {
+        var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/detail/" + talentId, function (data) {
+            if (data.active == 1) {
+                $("#wageDiv").css("display", "none");
+            } else if (data.active == 2) {
+                $("#wageDiv").css("display", "block").val("");
+            } else if (data.active == 3) {
                 Feng.info("上一年度不存在有效的单位");
             }
             $("#active").val(data.active);
             $("#talentId").val(talentId);
             $("#talentTypeName").val(data.talentTypeName);
             $("#enterpriseName").val(data.enterpriseName);
-            $("#sex").val(data.sex==1?"男":"女");
+            $("#sex").val(data.sex == 1 ? "男" : "女");
             $("#idCard").val(data.idCard);
             $("#introductionModeName").val(data.introductionModeName);
             $("#firstInJJTime").val(data.firstInJJTime);
@@ -88,17 +88,17 @@ TalentAllowanceInfoDlg.init = function(){
             $("#phone").val(data.phone);
             $("#bank").val(data.bank);
             $("#bankNumber").val(data.bankNumber);
-            $("#bankNetwork").val(data.bankNetwork).attr("title",data.bankNetwork);
+            $("#bankNetwork").val(data.bankNetwork).attr("title", data.bankNetwork);
             $("#bankAccount").val(data.bankAccount);
             $("#talentArrangeName").val(data.talentArrangeName);
-            $("#identifyConditionText").val(data.identifyConditionText).attr("title",data.identifyConditionText);
-            $("#identifyConditionName").val(data.identifyConditionName).attr("title",data.identifyConditionName);
+            $("#identifyConditionText").val(data.identifyConditionText).attr("title", data.identifyConditionText);
+            $("#identifyConditionName").val(data.identifyConditionName).attr("title", data.identifyConditionName);
             $("#identifyGetTime").val(data.identifyGetTime);
-            $("#provinceCode").val(data.provinceName+data.cityName+data.countyName);
-        },function(data){
+            $("#provinceCode").val(data.provinceName + data.cityName + data.countyName);
+        }, function (data) {
             Feng.error("查询失败!" + data.responseJSON.message + "!");
         });
-        ajax.set("year",$("#year").val())
+        ajax.set("year", $("#year").val())
         ajax.start();
     }
 }
@@ -106,38 +106,40 @@ TalentAllowanceInfoDlg.init = function(){
 /**
  * 提交添加
  */
-TalentAllowanceInfoDlg.addSubmit = function() {
+TalentAllowanceInfoDlg.addSubmit = function () {
     this.clearData();
     this.collectData();
-    if(!TalentAllowanceInfoDlg.validate()){
-        return ;
+    if (!TalentAllowanceInfoDlg.validate()) {
+        return;
     }
     var id = $('#id').val();
-    if(Feng.isNotEmptyStr(id)){
+    if (Feng.isNotEmptyStr(id)) {
         TalentAllowanceInfoDlg.editSubmit();
         return;
     }
     var active = $("#active").val();
-    if(active == 2){
-        if(Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-            Feng.info("请填写上一年度年薪");return ;
+    if (active == 2) {
+        if (Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("请填写上一年度年薪");
+            return;
         }
-        if(!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-            Feng.info("上一年度年薪格式不合法,无需填写单位元");return ;
+        if (!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("上一年度年薪格式不合法,无需填写单位元");
+            return;
         }
     }
     var operation = function () {
-        var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/add", function(data){
-            if(data.code==200){
+        var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/apply", function (data) {
+            if (data.code == 200) {
                 Feng.success(data.msg);
                 $("#id").val(data.obj.id);
-                $("#name").prop("disabled",true).trigger("chosen:updated");
+                $("#name").prop("disabled", true).trigger("chosen:updated");
                 $("#fileLi").removeAttr("style");
                 $("#checkState").val(data.obj.checkState);
-            }else{
+            } else {
                 Feng.info(data.msg);
             }
-        },function(data){
+        }, function (data) {
             Feng.error("提交失败!" + data.responseJSON.message + "!");
         });
         ajax.set(TalentAllowanceInfoDlg.talentAllowanceData);
@@ -146,29 +148,32 @@ TalentAllowanceInfoDlg.addSubmit = function() {
     Feng.confirm("请确认当前申报人是否已完成所有的离职变更、工作单位变更、人才层次变更以及银行账号变更且已审核通过,一旦保存无法追加,确认保存吗?", operation);
 }
 
-TalentAllowanceInfoDlg.editSubmit = function(){
+TalentAllowanceInfoDlg.editSubmit = function () {
     this.clearData();
     this.collectData();
-    if(!TalentAllowanceInfoDlg.validate()){
-        return ;
+    if (!TalentAllowanceInfoDlg.validate()) {
+        return;
     }
-    if(!TalentAllowanceInfoDlg.validateIsEdit())return;
+    if (!TalentAllowanceInfoDlg.validateIsEdit())
+        return;
     var active = $("#active").val();
-    if(active == 2){
-        if(Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-            Feng.info("请填写上一年度年薪");return ;
+    if (active == 2) {
+        if (Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("请填写上一年度年薪");
+            return;
         }
-        if(!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-            Feng.info("上一年度年薪格式不合法,无需填写单位元");return ;
+        if (!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("上一年度年薪格式不合法,无需填写单位元");
+            return;
         }
     }
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/edit", function(data){
-        if(data.code==200){
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/apply", function (data) {
+        if (data.code == 200) {
             Feng.success(data.msg);
-        }else{
+        } else {
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("提交失败!" + data.responseJSON.message + "!");
     });
     ajax.set(TalentAllowanceInfoDlg.talentAllowanceData);
@@ -179,26 +184,26 @@ TalentAllowanceInfoDlg.editSubmit = function(){
 /**
  * 初始化工作单位及核查项目情况表
  */
-TalentAllowanceInfoDlg.initContract = function(){
-    $("#projectTable").bootstrapTable("destroy",{});
+TalentAllowanceInfoDlg.initContract = function () {
+    $("#projectTable").bootstrapTable("destroy", {});
     $("#projectTable").bootstrapTable({
-        url: Feng.ctxPath + "/api/talentAllowance/findAllowanceContractDetail",
+        url: Feng.ctxPath + "/enterprise/talentAllowance/findAllowanceContractDetail",
         method: 'POST',
         contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-        search: false,					// 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
-        showRefresh: false,				// 是否显示刷新按钮
-        clickToSelect: true,			// 是否启用点击选中行
-        singleSelect: true,				// 设置True 将禁止多选
-        striped: true,  				// 是否显示行间隔色
+        search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
+        showRefresh: false, // 是否显示刷新按钮
+        clickToSelect: true, // 是否启用点击选中行
+        singleSelect: true, // 设置True 将禁止多选
+        striped: true, // 是否显示行间隔色
         escape: true,
-        pagination: false,   			// 设置为 true 会在表格底部显示分页条
+        pagination: false, // 设置为 true 会在表格底部显示分页条
         paginationHAlign: "left",
         paginationDetailHAlign: "right",
-        sidePagination: "server",   	// 设置在哪里进行分页,可选值为 'client' 或者 'server'
+        sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
         showColumns: false,
-        detailView: true,//父子表
+        detailView: true, //父子表
         queryParams: function (params) {
-            return $.extend({"mainId":$("#id").val()},params)
+            return $.extend({"mainId": $("#id").val()}, params)
         },
         columns: TalentAllowanceInfoDlg.initContractColumns(),
         onPostBody: function () {
@@ -212,28 +217,28 @@ TalentAllowanceInfoDlg.initContract = function(){
         },
         onExpandRow: function (index, row, $detail) {
             var enterpriseId = row.enterpriseId;
-            var cur_table = $detail.html('<table id="'+enterpriseId+'" class="mytable-hover"></table>').find('table');
-            $(cur_table).bootstrapTable("destroy",{});
+            var cur_table = $detail.html('<table id="' + enterpriseId + '" class="mytable-hover"></table>').find('table');
+            $(cur_table).bootstrapTable("destroy", {});
             $(cur_table).bootstrapTable({
-                url: Feng.ctxPath + "/api/talentAllowance/findAllowanceProject",
+                url: Feng.ctxPath + "/enterprise/talentAllowance/findAllowanceProject",
                 method: 'POST',
                 contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-                search: false,					// 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
-                showRefresh: false,				// 是否显示刷新按钮
-                clickToSelect: true,			// 是否启用点击选中行
-                singleSelect: true,				// 设置True 将禁止多选
+                search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
+                showRefresh: false, // 是否显示刷新按钮
+                clickToSelect: true, // 是否启用点击选中行
+                singleSelect: true, // 设置True 将禁止多选
                 escape: true,
-                pagination: false,   			// 设置为 true 会在表格底部显示分页条
+                pagination: false, // 设置为 true 会在表格底部显示分页条
                 paginationHAlign: "left",
                 paginationDetailHAlign: "right",
-                sidePagination: "server",   	// 设置在哪里进行分页,可选值为 'client' 或者 'server'
+                sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
                 showColumns: false,
                 queryParams: function (params) {
-                    return $.extend({"mainId":$("#id").val(),"baseId":row.id},params)
+                    return $.extend({"mainId": $("#id").val(), "baseId": row.id}, params)
                 },
                 columns: TalentAllowanceInfoDlg.initProjectColumns(),
                 onLoadSuccess: function (data) {
-                    layer.tips('请勾选个税缴纳情况','.tips',{tips:[1,"#1ab394"],time:0,closeBtn :2});
+                    layer.tips('请勾选个税缴纳情况', '.tips', {tips: [1, "#1ab394"], time: 0, closeBtn: 2});
                 },
             });
         }
@@ -242,65 +247,75 @@ TalentAllowanceInfoDlg.initContract = function(){
 
 
 //显示修改工作单位合同情况模态框
-TalentAllowanceInfoDlg.showEditContractModel = function(id){
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/validateIsEdit", function(data){
-        if(data.code==200){
+TalentAllowanceInfoDlg.showEditContractModel = function (id) {
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/validateIsEdit", function (data) {
+        if (data.code == 200) {
             $("#contractForm")[0].reset();
             $("#contractId").val(id);
             $("#contractModal").modal("show");
-        }else{1
+        } else {
+            1
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("校验失败!" + data.responseJSON.message + "!");
     });
-    ajax.set("id",id);
-    ajax.set("type",1);
+    ajax.set("id", id);
+    ajax.set("type", 1);
     ajax.start();
 }
 
 //修改合同起止时间提交
-TalentAllowanceInfoDlg.editContract = function(){
+TalentAllowanceInfoDlg.editContract = function () {
     var id = $("#contractId").val();
     var startTime = $("#startTime").val();
     var endTime = $("#endTime").val();
-    if(startTime==null || startTime==''){
+    if (startTime == null || startTime == '') {
         Feng.info("请选择合同起始时间");
-        return ;
+        return;
     }
-    if(endTime==null || endTime==''){
+    if (endTime == null || endTime == '') {
         Feng.info("请选择合同截止时间");
-        return ;
+        return;
     }
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/editContract", function(data){
-        if(data.code==200){
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/editContract", function (data) {
+        if (data.code == 200) {
             Feng.success(data.msg);
             $("#projectTable").bootstrapTable("refresh", {});
             $("#contractModal").modal("hide");
-        }else{
+        } else {
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("提交失败!" + data.responseJSON.message + "!");
     });
-    ajax.set({"id":id,"startTime":startTime,"endTime":endTime});
+    ajax.set({"id": id, "startTime": startTime, "endTime": endTime});
     ajax.start();
 }
 
 //显示
 // 项目模态框
-TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId, months, days,content) {
+TalentAllowanceInfoDlg.showEditProjectModal = function (project, id, enterpriseId, months, days, content) {
     var desc = $(content).attr("data-value");
     var type = $("#type").val();
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/validateIsEdit",function(data) {
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/validateIsEdit", function (data) {
         if (data.code == 200) {
             TalentAllowanceInfoDlg.initICheck();
             $("#description").val(desc);
-            if (project == 4 || project==15 || project==16) {
+            if (project == 4 || project == 15 || project == 16) {
                 if (type == 2) {
-                    if(project == 4){$("#attendanceModalLabel").html("考勤");$("#heading").html("请填写每月考勤天数<span style=\"color: red\">(不填写或填写0则代表无考勤记录)</span>");}
-                    if(project == 15){$("#attendanceModalLabel").html("在境时间");$("#heading").html("请填写每月在境内天数<span style=\"color: red\">(不填写则代表为0天)</span>");}
-                    if(project == 16){$("#attendanceModalLabel").html("境内工作日时间");$("#heading").html("请填写每月境内工作日天数<span style=\"color: red\">(不填写则代表为0天)</span>");}
+                    if (project == 4) {
+                        $("#attendanceModalLabel").html("考勤");
+                        $("#heading").html("请填写每月考勤天数<span style=\"color: red\">(不填写或填写0则代表无考勤记录)</span>");
+                    }
+                    if (project == 15) {
+                        $("#attendanceModalLabel").html("在境时间");
+                        $("#heading").html("请填写每月在境内天数<span style=\"color: red\">(不填写则代表为0天)</span>");
+                    }
+                    if (project == 16) {
+                        $("#attendanceModalLabel").html("境内工作日时间");
+                        $("#heading").html("请填写每月境内工作日天数<span style=\"color: red\">(不填写则代表为0天)</span>");
+                    }
                     $("#attendanceForm")[0].reset();
                     $("#attendanceId").val(id);
                     $("#attendanceEnterpriseId").val(enterpriseId);
@@ -309,8 +324,9 @@ TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId
                         for (var key in arr) {
                             var num = arr[key].split("=")[0];
                             var day = arr[key].split("=")[1];
-                            $("#attendMonths input").each(function() {
-                                if ($(this).attr('num') == num) $(this).val(day);
+                            $("#attendMonths input").each(function () {
+                                if ($(this).attr('num') == num)
+                                    $(this).val(day);
                             });
                         }
                     }
@@ -322,16 +338,18 @@ TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId
                         });
                         $("#jjAttendanceId").val(id);
                         $("#jjAttendanceEnterpriseId").val(enterpriseId);
-                        if(Feng.isNotEmptyStr(months) && months.indexOf(",") != -1) {
+                        if (Feng.isNotEmptyStr(months) && months.indexOf(",") != -1) {
                             var arr = months.split(",");
                             for (var key in arr) {
                                 $("#jjmonths input").each(function () {
-                                    if ($(this).val() == arr[key]) $(this).iCheck("check");
+                                    if ($(this).val() == arr[key])
+                                        $(this).iCheck("check");
                                 });
                             }
                         }
                     });
-                    if (days != null && days != '') $("#days").val(days);
+                    if (days != null && days != '')
+                        $("#days").val(days);
                     $("#jjAttendanceModal").modal("show");
                 }
             } else {
@@ -341,11 +359,12 @@ TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId
                     });
                     $("#projectId").val(id);
                     $("#enterpriseId").val(enterpriseId);
-                    if(Feng.isNotEmptyStr(months)) {
+                    if (Feng.isNotEmptyStr(months)) {
                         var arr = months.split(",");
                         for (var key in arr) {
-                            $("#months input").each(function() {
-                                if ($(this).val() == arr[key]) $(this).iCheck("check");
+                            $("#months input").each(function () {
+                                if ($(this).val() == arr[key])
+                                    $(this).iCheck("check");
                             });
                         }
                     }
@@ -355,7 +374,7 @@ TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId
         } else {
             Feng.info(data.msg);
         }
-    },function(data) {
+    }, function (data) {
         Feng.error("校验失败!" + data.responseJSON.message + "!");
     });
     ajax.set("id", id);
@@ -363,136 +382,136 @@ TalentAllowanceInfoDlg.showEditProjectModal = function(project, id, enterpriseId
     ajax.start();
 }
 //编辑项目提交
-TalentAllowanceInfoDlg.editProject = function(){
+TalentAllowanceInfoDlg.editProject = function () {
     var id = $("#projectId").val();
     var enterpriseId = $("#enterpriseId").val();
     var description = $("#description").val();
     var months = "";
     $("#months input").each(function () {
-        if(this.checked){
+        if (this.checked) {
             months = months + $(this).val() + ",";
         }
     })
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/editProject", function(data){
-        if(data.code==200){
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/editProject", function (data) {
+        if (data.code == 200) {
             Feng.success(data.msg);
-            $("#"+enterpriseId).bootstrapTable("refresh", {});
+            $("#" + enterpriseId).bootstrapTable("refresh", {});
             $("#projectModal").modal("hide");
-        }else{
+        } else {
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("提交失败!" + data.responseJSON.message + "!");
     });
-    ajax.set({"id":id,"months":months,"description":description});
+    ajax.set({"id": id, "months": months, "description": description});
     ajax.start();
 }
 
-TalentAllowanceInfoDlg.editJJAttendance = function(){
+TalentAllowanceInfoDlg.editJJAttendance = function () {
     var id = $("#jjAttendanceId").val();
     var enterpriseId = $("#jjAttendanceEnterpriseId").val();
     var description = $("#jjDescription").val();
     var days = $("#days").val();
     var months = "";
     $("#jjmonths input").each(function () {
-        if(this.checked){
+        if (this.checked) {
             months = months + $(this).val() + ",";
         }
     })
-    if(months=="" && (days==null || days=="")){
+    if (months == "" && (days == null || days == "")) {
         Feng.info("请填写考勤信息");
-        return ;
+        return;
     }
-    if(months!=null && months!='' && days!=null && days!=''){
+    if (months != null && months != '' && days != null && days != '') {
         Feng.info("考勤天数和考勤月份只能选择一个填写");
-        return ;
+        return;
     }
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/editProject", function(data){
-        if(data.code==200){
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/editProject", function (data) {
+        if (data.code == 200) {
             Feng.success(data.msg);
-            $("#"+enterpriseId).bootstrapTable("refresh", {});
+            $("#" + enterpriseId).bootstrapTable("refresh", {});
             $("#projectModal").modal("hide");
-        }else{
+        } else {
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("提交失败!" + data.responseJSON.message + "!");
     });
-    ajax.set({"id":id,"months":months,"days":days,"description":description});
+    ajax.set({"id": id, "months": months, "days": days, "description": description});
     ajax.start();
 }
 
-TalentAllowanceInfoDlg.editAttendanceProject = function(){
+TalentAllowanceInfoDlg.editAttendanceProject = function () {
     var id = $("#attendanceId").val();
     var enterpriseId = $("#attendanceEnterpriseId").val();
     var description = $("#attendanceDescription").val();
     var months = "";
     var error = "";
     var name = $("#attendanceModalLabel").html();
-    $("#attendMonths input").each(function(){
+    $("#attendMonths input").each(function () {
         var days = $(this).val();
         var num = $(this).attr("num");
-        if(isNaN(days)){
-            error = error + num+"月的"+name+"天数不是数字;";
-        }else{
-            if(days<0 || days>31){
-                error = error + num+"月的"+name+"天数不在范围内(1-31);";
+        if (isNaN(days)) {
+            error = error + num + "月的" + name + "天数不是数字;";
+        } else {
+            if (days < 0 || days > 31) {
+                error = error + num + "月的" + name + "天数不在范围内(1-31);";
             }
         }
-        if(days==null || days==''){
+        if (days == null || days == '') {
             days = 0;
         }
         months = months + num + "=" + days + ",";
     });
-    if(error!=""){
+    if (error != "") {
         Feng.error(error);
-        return ;
+        return;
     }
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/editProject", function(data){
-        if(data.code==200){
+    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/editProject", function (data) {
+        if (data.code == 200) {
             Feng.success(data.msg);
-            $("#"+enterpriseId).bootstrapTable("refresh", {});
+            $("#" + enterpriseId).bootstrapTable("refresh", {});
             $("#attendanceModal").modal("hide");
-        }else{
+        } else {
             Feng.info(data.msg);
         }
-    },function(data){
+    }, function (data) {
         Feng.error("提交失败!" + data.responseJSON.message + "!");
     });
-    ajax.set({"id":id,"months":months,"description":description});
+    ajax.set({"id": id, "months": months, "description": description});
     ajax.start();
 }
 
 
 //初始化附件类别表单
-TalentAllowanceInfoDlg.initFileTable = function (){
+TalentAllowanceInfoDlg.initFileTable = function () {
     TalentAllowanceInfoDlg.initContract();
     // Feng.showMiniFileModal(CONFIG.project_jbt,$("#type").val(),$("#id").val());
     var queryData = {};
     queryData['project'] = CONFIG.project_jbt;
     queryData['type'] = $("#type").val();
     $("#fileTable").bootstrapTable({
-        url: Feng.ctxPath + "/api/talentInfo/findUnCommonFileType",
+        url: Feng.ctxPath + "/common/api/findUnCommonFileType",
         method: 'POST',
         contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-        search: false,					// 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
-        showRefresh: false,				// 是否显示刷新按钮
-        clickToSelect: true,			// 是否启用点击选中行
-        singleSelect: true,				// 设置True 将禁止多选
-        striped: true,  				// 是否显示行间隔色
+        search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
+        showRefresh: false, // 是否显示刷新按钮
+        clickToSelect: true, // 是否启用点击选中行
+        singleSelect: true, // 设置True 将禁止多选
+        striped: true, // 是否显示行间隔色
         escape: true,
-        pagination: false,   			// 设置为 true 会在表格底部显示分页条
+        pagination: false, // 设置为 true 会在表格底部显示分页条
         paginationHAlign: "left",
         paginationDetailHAlign: "right",
-        sidePagination: "server",   	// 设置在哪里进行分页,可选值为 'client' 或者 'server'
+        sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
         showColumns: false,
-        detailView: true,               //是否显示父子表
+        detailView: true, //是否显示父子表
         pageList: [10, 30, 50],
         queryParams: function (params) {
-            return $.extend(queryData,params)
+            return $.extend(queryData, params)
         },
         rowStyle: function (row, index) {
-            return {classes:"info"};
+            return {classes: "info"};
         },
         columns: TalentAllowanceInfoDlg.initFileTypeColumn(),
         onPostBody: function () {
@@ -505,45 +524,45 @@ TalentAllowanceInfoDlg.initFileTable = function (){
             $("#fileTable").bootstrapTable('expandAllRows');
         },
         onExpandRow: function (index, row, $detail) {
-            var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/listTalentFile", function (data) {
-                if(data==null||data.length==0){
+            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();
-                for(var key in data){
+                for (var key in data) {
                     var btn = "";
-                    if(checkState==1 || (checkState==10 && files.indexOf(row.id)!=-1)){
-                        btn = "<button type=\'button\' onclick=\"TalentAllowanceInfoDlg.checkFile(this,'"+row.id+"','"+data[key].id+"')\" style=\'margin-left: 5px\' class=\"btn btn-xs btn-success\">" +
-                            "<i class=\"fa fa-paste\"></i>修改" +
-                            "</button>" +
-                            "<button type='button' onclick=\"TalentAllowanceInfoDlg.deleteFile('"+data[key].id+"','"+row.fState+"')\" class=\"btn btn-xs btn-danger\">" +
-                            "<i class=\"fa fa-times\"></i>删除" +
-                            "</button>";
-                    }else{
+                    if (checkState == 1 || (checkState == 10 && files.indexOf(row.id) != -1)) {
+                        btn = "<button type=\'button\' onclick=\"TalentAllowanceInfoDlg.checkFile(this,'" + row.id + "','" + data[key].id + "')\" style=\'margin-left: 5px\' class=\"btn btn-xs btn-success\">" +
+                                "<i class=\"fa fa-paste\"></i>修改" +
+                                "</button>" +
+                                "<button type='button' onclick=\"TalentAllowanceInfoDlg.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 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;\">';
+                    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 + '<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({
                     // toolbar:false,
-                    fullscreen:false
+                    fullscreen: false
                 });
             }, function (data) {
                 Feng.error("查询失败!" + data.responseJSON.message + "!");
@@ -559,64 +578,67 @@ TalentAllowanceInfoDlg.initFileTable = function (){
 }
 
 //校验是否保存基础信息
-TalentAllowanceInfoDlg.validId = function (){
+TalentAllowanceInfoDlg.validId = function () {
     var id = $("#id").val();
-    if(id!=null && id!=''){
+    if (id != null && id != '') {
         $("#fileLi").removeAttr("style");
-    }else{
-        $("#fileLi").attr("style","pointer-events: none");
-        $("#name").on('chosen:ready', function(e, params) {
-            $(".chosen-container-single .chosen-single").css("padding","4px 0px 0px 4px");
+    } else {
+        $("#fileLi").attr("style", "pointer-events: none");
+        $("#name").on('chosen:ready', function (e, params) {
+            $(".chosen-container-single .chosen-single").css("padding", "4px 0px 0px 4px");
         });
         $("#name").chosen({
-            search_contains:true,       //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
+            search_contains: true,       //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
             disable_search: false,
-            width:"100%",
+            width: "100%",
             enable_split_word_search: true
         });
     }
 }
 //选择附件并显示附件名
-TalentAllowanceInfoDlg.checkFile = function (content,fileTypeId,fileId){
-    if(!TalentAllowanceInfoDlg.validateIsEdit())return;
+TalentAllowanceInfoDlg.checkFile = function (content, fileTypeId, fileId) {
+    if (!TalentAllowanceInfoDlg.validateIsEdit())
+        return;
     $("#upload_file ").unbind("change");
     $("#upload_file ").change(function () {
-        TalentAllowanceInfoDlg.upload(fileTypeId,fileId);
+        TalentAllowanceInfoDlg.upload(fileTypeId, fileId);
     });
     $('#upload_file').val("");
     $('#upload_file').click()
 }
 //上传附件
-TalentAllowanceInfoDlg.upload = function (fileTypeId,fileId){
+TalentAllowanceInfoDlg.upload = function (fileTypeId, fileId) {
     var id = $("#id").val();
-    if(!TalentAllowanceInfoDlg.validateIsEdit())return;
-    if(fileId!=null&&fileId!='null'){
+    if (!TalentAllowanceInfoDlg.validateIsEdit())
+        return;
+    if (fileId != null && fileId != 'null') {
         $("#fileId").val(fileId)
-    }else{
+    } else {
         $("#fileId").val("");
     }
     $("#mainId").val(id);
     $("#fileTypeId").val(fileTypeId);
-    var index = layer.load(0, {shade: false,time:0});
+    var index = layer.load(0, {shade: false, time: 0});
     $("#index").val(index);
     $("#uploadForm").submit();
 }
 //删除附件
-TalentAllowanceInfoDlg.deleteFile = function (id){
-    if(!TalentAllowanceInfoDlg.validateIsEdit())return;
-    var operation = function() {
-        var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/deleteFile", function (data) {
-            if(data.code=200){
+TalentAllowanceInfoDlg.deleteFile = function (id) {
+    if (!TalentAllowanceInfoDlg.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{
+            } else {
                 Feng.error(data.msg);
             }
         }, function (data) {
             Feng.error("删除失败!" + data.responseJSON.message + "!");
         });
         ajax.set("id", id);
-        ajax.set("type",CONFIG.project_jbt);
+        ajax.set("type", CONFIG.project_jbt);
         ajax.start();
     }
     Feng.confirm("删除后无法恢复,确认删除吗?", operation);
@@ -625,113 +647,106 @@ TalentAllowanceInfoDlg.deleteFile = function (id){
 /**
  * 提交审核
  */
-TalentAllowanceInfoDlg.submitToCheck = function(){
-    var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/valiateIsSubmit", function (data) {
-        if(data.code == 200){
-            var id = $("#id").val();
-            if(id==null || id==""){
-                Feng.info("请先填写基础信息并上传附件");
-                return ;
-            }
-            TalentAllowanceInfoDlg.clearData();
-            TalentAllowanceInfoDlg.collectData();
-            if(!TalentAllowanceInfoDlg.validateIsEdit())return;
-            var active = $("#active").val();
-            if(active == 2){
-                if(Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-                    Feng.info("请填写上一年度年薪");return ;
-                }
-                if(!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)){
-                    Feng.info("上一年度年薪格式不合法,无需填写单位元");return ;
-                }
-            }
-            var operation = function() {
-                var ajax = new $ax(Feng.ctxPath + "/api/talentAllowance/submitToCheck", function (data) {
-                    if(data.code==200){
-                        Feng.success(data.msg);
-                        window.parent.TalentAllowanceInfo.table.refresh();
-                        TalentAllowanceInfoDlg.close();
-                    }else{
-                        Feng.error(data.msg);
-                    }
-                }, function (data) {
-                    Feng.error("提交审核失败!" + data.responseJSON.message + "!");
-                });
-                ajax.set(TalentAllowanceInfoDlg.talentAllowanceData)
-                // ajax.set("id", id);
-                ajax.start();
-            }
-            Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
-        }else{
-            Feng.error(data.msg);
+TalentAllowanceInfoDlg.submitToCheck = function () {
+    var id = $("#id").val();
+    if (id == null || id == "") {
+        Feng.info("请先填写基础信息并上传附件");
+        return;
+    }
+    TalentAllowanceInfoDlg.clearData();
+    TalentAllowanceInfoDlg.collectData();
+    if (!TalentAllowanceInfoDlg.validateIsEdit())
+        return;
+    var active = $("#active").val();
+    if (active == 2) {
+        if (Feng.isEmptyStr(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("请填写上一年度年薪");
+            return;
         }
-    }, function (data) {
-        Feng.error("查询失败!" + data.responseJSON.message + "!");
-    });
-    ajax.set("type",CONFIG.project_jbt);
-    ajax.set("id",$("#id").val())
-    ajax.start();
+        if (!/^([1-9][0-9]*)+(\.[0-9]{1,10})?$/.test(TalentAllowanceInfoDlg.talentAllowanceData.wage)) {
+            Feng.info("上一年度年薪格式不合法,无需填写单位元");
+            return;
+        }
+    }
+    var operation = function () {
+        var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/submitToCheck", function (data) {
+            if (data.code == 200) {
+                Feng.success(data.msg);
+                window.parent.TalentAllowanceInfo.table.refresh();
+                TalentAllowanceInfoDlg.close();
+            } else {
+                Feng.error(data.msg);
+            }
+        }, function (data) {
+            Feng.error("提交审核失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set(TalentAllowanceInfoDlg.talentAllowanceData)
+        // ajax.set("id", id);
+        ajax.start();
+    }
+    Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
+
 }
 
 /**
  * 校验是否可以修改/提交审核
  */
-TalentAllowanceInfoDlg.validateIsEdit = function (){
+TalentAllowanceInfoDlg.validateIsEdit = function () {
     var id = $("#id").val();
-    if(id==null || id==''){
+    if (id == null || id == '') {
         Feng.info("请先添加基本信息并保存后再试");
         return false;
     }
     var checkState = $("#checkState").val();
-    if(checkState != 1 && checkState != 10){
-        if(checkState==-1){
+    if (checkState != 1 && checkState != 10) {
+        if (checkState == -1) {
             Feng.error("您的申报审核不通过,无法再修改");
             return false;
-        }else if(checkState==30){
+        } else if (checkState == 30) {
             Feng.error("您的申报已审核通过,无法再修改");
             return false;
-        }else{
+        } else {
             Feng.error("您的申报正在审核中,请耐心等待");
             return false;
         }
     }
     return true;
 }
-TalentAllowanceInfoDlg.initICheck = function(){
+TalentAllowanceInfoDlg.initICheck = function () {
     $('input[type=checkbox]').iCheck({
-        labelHover : false,
-        cursor : true,
-        checkboxClass : 'icheckbox_square-green',
-        radioClass : 'iradio_square-greene',
-        increaseArea : '20%'
+        labelHover: false,
+        cursor: true,
+        checkboxClass: 'icheckbox_square-green',
+        radioClass: 'iradio_square-greene',
+        increaseArea: '20%'
     });
 }
 
 
-TalentAllowanceInfoDlg.showAllLog = function(){
+TalentAllowanceInfoDlg.showAllLog = function () {
     var id = $("#id").val();
-    if(Feng.isNotEmptyStr(id)){
-        Feng.getCheckLog("logTable",{"type":CONFIG.project_jbt,"mainId":$("#id").val(),"typeFileId":"","active":1})
+    if (Feng.isNotEmptyStr(id)) {
+        Feng.getCheckLog("logTable", {"type": CONFIG.project_jbt, "mainId": $("#id").val(), "typeFileId": "", "active": 1})
     }
 }
 
 
-$(function() {
-    Feng.initValidatorTip("talentAllowanceForm",TalentAllowanceInfoDlg.validateFields);
+$(function () {
+    Feng.initValidatorTip("talentAllowanceForm", TalentAllowanceInfoDlg.validateFields);
     Feng.addAjaxSelect({
         "id": 'name',
         "displayCode": "id",
         "displayName": "name",
         "type": "GET",
-        "url": Feng.ctxPath + "/enterprise/talent/findTalentByEnterpriseInLibrary?type=1&year="+$("#year").val()
+        "url": Feng.ctxPath + "/enterprise/talent/findTalentByEnterpriseInLibrary?type=1&year=" + $("#year").val()
     });
     TalentAllowanceInfoDlg.validId();
-    if($("#type").val()==2){
-        $("#bankNumberSpan,#talentTypeSpan,#introductionModeSpan,#firstInJJTimeSpan").attr("style","display:none");
+    if ($("#type").val() == 2) {
+        $("#bankNumberSpan,#talentTypeSpan,#introductionModeSpan,#firstInJJTimeSpan").attr("style", "display:none");
     }
     //批量加载时间控件
-    $(".date").each(function(){
-        laydate.render({elem: "#"+$(this).attr("id"),type: 'date',trigger: 'click'});
+    $(".date").each(function () {
+        laydate.render({elem: "#" + $(this).attr("id"), type: 'date', trigger: 'click'});
     });
     $("select").each(function () {
         $(this).val($(this).attr("value"));
@@ -750,7 +765,7 @@ $(function() {
         "hideEasing": "linear",
         "showMethod": "fadeIn",
         "hideMethod": "fadeOut",
-        "tapToDismiss":true
+        "tapToDismiss": true
     };
     toastr.success("请确保申报对象在申报津补贴之前已完成离职变更、工作单位变更、人才层次变更、银行账号变更且审核通过,否则可能带来不必要的损失,请在申报之前再次确认!!!");
 });

+ 2 - 2
public/static/modular/gate/talentAllowance/ic/talentAllowanceInfoIC.js

@@ -160,7 +160,7 @@ TalentAllowanceInfo.openTalentAllowanceInfoDetail = function () {
                     title: '津补贴申报',
                     fix: false, //不固定
                     maxmin: true,
-                    content: Feng.ctxPath + '/api/talentAllowance/apply/id/' + TalentAllowanceInfo.seItem.id,
+                    content: Feng.ctxPath + '/enterprise/talentAllowance/apply/id/' + TalentAllowanceInfo.seItem.id,
                     btn: ['<i class="fa fa-check"></i>&nbsp;&nbsp;提交审核', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
                     btnAlign: 'c',
                     yes: function (index, layero) {
@@ -196,7 +196,7 @@ TalentAllowanceInfo.openTalentAllowanceInfoSelect = function () {
             title: '津补贴查看',
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/enterprise/talentAllowance/view/id/' + TalentAllowanceInfo.seItem.id,
+            content: Feng.ctxPath + '/enterprise/talentAllowance/detail/id/' + TalentAllowanceInfo.seItem.id,
             btn: ['<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
             btnAlign: 'c',
         });