소스 검색

个人版初版、部门待审核通知

sugangqiang 2 년 전
부모
커밋
b2f425151f

+ 39 - 4
app/command/DeptVerifyChecker.php

@@ -11,6 +11,11 @@ use think\console\input\Option;
 use think\console\Output;
 use think\facade\Db;
 use think\facade\Log;
+use app\common\api\TalentState;
+use app\enterprise\model\Talent;
+use app\common\api\MenuApi;
+use app\admin\model\SysRelation;
+use app\admin\model\User;
 
 /**
  * 人才认定部门审核检查
@@ -24,11 +29,41 @@ class DeptVerifyChecker extends Command {
     }
 
     protected function execute(Input $input, Output $output) {
-        \app\common\api\VerifyApi::getDeptList($params);
+        $where[] = ["e.type", "=", 1];
+        $where[] = ["ti.checkState", "=", TalentState::FST_VERIFY_PASS];
+        $where[] = ["ti.pass_dept_check", "=", 0];
+        $jjrc_list = Talent::alias("ti")
+                        ->leftJoin("new_talent_condition tc", "tc.id=ti.talent_condition")
+                        ->leftJoin("un_enterprise e", "e.id=ti.enterprise_id")
+                        ->leftJoin("(select description,mainId,last_state,new_state,state,createTime from new_talent_checklog where md5(concat(createTime,mainId,`type`)) in (select md5(concat(max(createTime),mainId,`type`)) from `new_talent_checklog` where `type`=1 and `step` is null and active=1 and typeFileId is null group by mainId,`type`)) tl", "`tl`.`mainId`=ti.id")
+                        ->where($where)->column("companyIds");
+        $jjrc_counts = [];
+        for ($i = 0; $i < count($jjrc_list); $i++) {
+            $companys = array_filter(explode(",", $jjrc_list[$i]));
+            for ($n = 0; $n < count($companys); $n++) {
+                $jjrc_counts[$companys[$n]] += 1;
+            }
+        }
+        $codes = ["talentInfo_dep"];
+        $menuIds = MenuApi::getMenuIdsByCodes($codes);
+
         $where = [];
-        $where[] = ["checkState", "=", \app\common\api\TalentState::FST_VERIFY_PASS];
-        $where[] = ["pass_dept_check", "=", 0];
-        Db::table()->where($where)->select();
+        $where[] = ["menuid", "in", $menuIds];
+        $roleIds = SysRelation::where($where)->group("roleid")->having("count(*)=" . count($codes))->column("roleid");
+        foreach ($jjrc_counts as $companyId => $count) {
+            $where = [];
+            $where[] = ["status", "=", 1];
+            $where[] = ["roleid", "<>", 1];
+            $where[] = ["companyId", "=", $companyId];
+            $regstr = ",(" . implode("|", $roleIds) . "),";
+            $whereRaw = "concat(',',roleid,',') REGEXP '$regstr'";
+            $users = User::where($where)->whereRaw($whereRaw)->select()->toArray();
+            foreach ($users as $user) {
+                if ($user["phone"]) {
+                    queue("app\job\Messenger", ["type" => 3, "userId" => $user["id"], "name" => $user["name"], "phone" => $user["phone"], "count" => $count]);
+                }
+            }
+        }
     }
 
 }

+ 12 - 0
app/common/api/MenuApi.php

@@ -247,4 +247,16 @@ class MenuApi {
         return self::buildMenu($menus);
     }
 
+    public static function getPersonMenuList($type) {
+        $menus = [];
+        $menus[] = ["type" => [1], "code" => "grzx", "pcode" => "0", "name" => "个人中心", "url" => "/person/center_page", "icon" => "fa-user", "status" => 1];
+        $menus[] = ["type" => [1], "code" => "znjx", "pcode" => "0", "name" => "子女就学", "url" => "#", "icon" => "fa-graduation-cap", "status" => 1];
+        $menus[] = ["type" => [1], "code" => "znzx", "pcode" => "znjx", "name" => "子女择校", "url" => "/person/education/choose", "icon" => "fa-thumbs-up", "status" => 1];
+        foreach ($menus as $key => $menu) {
+            if (!in_array($type, $menu["type"]) || ($menu["pcode"]) != "0" && $menu["url"] == "" || $menu["status"] == 0)
+                unset($menus[$key]);
+        }
+        return self::buildMenu($menus);
+    }
+
 }

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

@@ -155,6 +155,7 @@ class VerifyApi {
         $limit = $params["limit"] ?: 10;
 
         $companyId = session("user")["companyId"];
+        $talent_arrange_kvs = DictApi::selectByParentCode("talent_arrange");
         $enterprise_tag_kvs = DictApi::selectByParentCode("enterprise_tag");
         $count = Talent::alias("ti")
                         ->leftJoin("new_talent_condition tc", "tc.id=ti.talent_condition")
@@ -170,7 +171,7 @@ class VerifyApi {
                         //->leftJoin("new_talent_checklog tl", "tl.mainId=ti.id and tl.id=(select id from new_talent_checklog where mainId=ti.id and `step` is null and active=1 and typeFileId is null order by createTime desc limit 1)")
                         ->where($where)
                         ->whereRaw("find_in_set(:companyId,companyIds)", ["companyId" => $companyId])
-                        ->field("ti.*,tl.last_state as 'lastState',tl.state as 'realState',e.name as enterprise_name,e.type as enterprise_type,enterpriseTag")
+                        ->field("ti.*,tl.last_state as 'lastState',tl.state as 'realState',e.name as enterprise_name,e.type as enterprise_type,enterpriseTag,tc.name as talentConditionName")
                         ->limit($offset, $limit)->order("ti.createTime " . $order)
                         ->select()->toArray();
         foreach ($list as &$item) {
@@ -178,6 +179,7 @@ class VerifyApi {
             $item["enterprise_tag"] = $enterprise_tag_kvs[$item["enterpriseTag"]];
             $lastCheckLog = TalentLogApi::getCompanyNewestCheckedLog($item["id"], $companyId);
             $item["deptCheckState"] = $lastCheckLog["new_state"];
+            $item["talentArrangeName"] = $talent_arrange_kvs[$item["talent_arrange"]];
         }unset($item);
         return ["total" => $count, "rows" => $list];
     }
@@ -241,9 +243,6 @@ class VerifyApi {
         $order = $params["order"] ?: "desc";
         $offset = $params["offset"] ?: 0;
         $limit = $params["limit"] ?: 10;
-        unset($params["order"]);
-        unset($params["limit"]);
-        unset($params["offset"]);
         $where[] = ["e.type", "=", session("user")["type"]];
         if ($params["name"]) {
             $where[] = ["ti.name", "like", "%{$params["name"]}%"];

+ 34 - 0
app/job/Messenger.php

@@ -74,6 +74,40 @@ class Messenger {
                     return false;
                 }
                 break;
+            case 3:
+                //通知人才申报部门审核人员
+                try {
+                    $userId = $data["userId"];
+                    $name = $data["name"];
+                    $phone = $data["phone"];
+                    $count = $data["count"];
+                    $template = sprintf("【晋江市人才服务平台】您的部门有%d条人才认定申报记录待部门审核,请及时登录审批系统处理。", $count);
+                    $smsapi = new ChuanglanSmsApi();
+                    $result = $smsapi->sendSMS($phone, $template);
+                    $result = json_decode($result, true);
+                    $id = getStringId();
+                    $record_data = [
+                        'id' => $id,
+                        'userId' => $userId,
+                        'bizId' => $result["msgId"],
+                        'type' => 1,
+                        'smsType' => 2,
+                        'name' => $name,
+                        'phone' => $phone,
+                        'params' => "部门审核",
+                        'templateCode' => $template,
+                        'state' => $result['code'] == 0 ? 2 : 3,
+                        'sendingDate' => date("Y-m-d H:i:s", time()),
+                        'createTime' => date("Y-m-d H:i:s", time()),
+                        'msg' => $result['errorMsg']
+                    ];
+
+                    MessageRecord::create($record_data);
+                    return true;
+                } catch (\think\Exception $e) {
+                    return false;
+                }
+                break;
         }
         return false;
     }

+ 18 - 0
app/person/controller/CenterPage.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\person\controller;
+
+use app\person\common\PersonController;
+
+/**
+ * Description of CenterPageController
+ *
+ * @author sgq
+ */
+class CenterPage extends PersonController {
+
+    public function index() {
+        return view();
+    }
+
+}

+ 22 - 0
app/person/controller/Education.php

@@ -0,0 +1,22 @@
+<?php
+
+namespace app\person\controller;
+
+use app\person\common\PersonController;
+
+/**
+ * Description of Education
+ *
+ * @author sgq
+ */
+class Education extends PersonController {
+
+    public function index() {
+        return view();
+    }
+
+    public function choose() {
+        return view();
+    }
+
+}

+ 25 - 0
app/person/controller/Index.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace app\person\controller;
+
+use app\person\common\PersonController;
+
+/**
+ * Description of Index
+ *
+ * @author sgq
+ */
+class Index extends PersonController {
+
+    public function index() {
+        $vars["user"] = [
+            "name" => $this->user["name"],
+            "rolename" => $this->user["rolename"],
+            "avatar" => $this->user["avatar"]
+        ];
+        $menus = \app\common\api\MenuApi::getPersonMenuList($this->user["type"]);
+        $vars["menus"] = $menus;
+        return view("", $vars);
+    }
+
+}

+ 395 - 0
app/person/view/center_page/index.html

@@ -0,0 +1,395 @@
+{extend name="layout/content"}
+{block name="content"}
+<style type="text/css">
+    .spacing {
+        margin-bottom: 10px;
+        padding-right: 4px;
+        padding-left: 4px;
+    }
+    table {
+        word-wrap: break-word;
+        word-break: break-all
+    }
+
+    .layui-layer-btn .layui-layer-btn1 {
+        border-color: #009688;
+        background-color: #009688;
+        color: #fff;
+    }
+    .key{
+        width: 150px;
+        text-align: right;
+        background-color: #f0f9eb;
+    }
+    .value1{
+        width: 240px;
+    }
+</style>
+<div class="ibox float-e-margins">
+    <div class="ibox-title">
+        <h5>机构用户中心</h5>
+    </div>
+    <div class="ibox-content">
+        <div class="form-horizontal">
+            <div class="row">
+                <div class="col-sm-12">
+                    <div class="tabs-container">
+                        <ul class="nav nav-tabs">
+                            <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">基本信息</a></li>
+                            <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">机构信息变更</a></li>
+                            <li class=""><a data-toggle="tab" href="#tab-3" aria-expanded="false">修改密码</a></li>
+                            <!--              <li class="" ><a data-toggle="tab" href="#tab-4" aria-expanded="false">绑定聚才网账号</a></li>-->
+                        </ul>
+                        <div class="tab-content">
+                            <div id="tab-1" class="tab-pane active">
+                                <div class="panel-body">
+                                    <div class="panel panel-default">
+                                        <div class="panel-heading">{eq name="ep.special" value="0"}企业{else/}单位{/eq}信息</div>
+                                        <div class="panel-body">
+
+                                            <table style="width:100%" class="table table-bordered">
+                                                <tr>
+                                                    <td class="key">
+                                                        账号
+                                                    </td>
+                                                    <td class="value1">
+                                                        {$ep.username}
+                                                    </td>
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}名称
+                                                    </td>
+                                                    <td class="value1" style="border-right: 1px solid #c0a16b">
+                                                        {$ep.name}
+                                                    </td>
+                                                    <td rowspan="4"  style="border: 1px solid #c0a16b">
+                                                        <label>{eq name="ep.special" value="0"}营业执照{else/}事业单位法人证或批文{/eq}</label>
+                                                        {if condition="$ep['imgurl']"}
+                                                        {if condition="$ep['imgurl_is_img'] eq 1"}
+                                                        <img onclick="Feng.showImg(this)" id="yyzz" src="{$ep.imgurl|getStoragePath}" style="max-height:60px">
+                                                        {else/}
+                                                        <img onclick="Feng.showPdf('{$ep.imgurl|getStoragePath}', 'imgurl')" src="/static/img/Pdf.png" style="max-height:60px">
+                                                        {/if}
+                                                        {/if}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+                                                    <td class="key">
+                                                        统一社会信用代码
+                                                    </td>
+                                                    <td>
+                                                        {$ep.idCard}
+                                                    </td>
+                                                    <td class="key">
+                                                        法人代表
+                                                    </td>
+                                                    <td>
+                                                        {$ep.legal}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+                                                    <td class="key">
+                                                        所属街道
+                                                    </td>
+                                                    <td>
+                                                        {$ep.streetName}
+                                                    </td>
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}电话
+                                                    </td>
+                                                    <td>
+                                                        {$ep.ephone}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}地址
+                                                    </td>
+                                                    <td colspan="3">
+                                                        {$ep.address}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}银行账号
+                                                    </td>
+                                                    <td>
+                                                        {$ep.bankCard}
+                                                    </td>
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}开户银行
+                                                    </td>
+                                                    <td style="border-right: 1px solid #c0a16b">
+                                                        {$ep.bank}
+                                                    </td>
+                                                    <td rowspan="2" style="border: 1px solid #c0a16b">
+                                                        <label>开户许可证/基本存款账户信息</label>
+                                                        {if condition="$ep['bankImg']"}
+                                                        {if condition="$ep['bankImg_is_img'] eq 1"}
+                                                        <img onclick="Feng.showImg(this)" id="bankImg" src="{$ep.bankImg|getStoragePath}" style="max-height:60px">
+                                                        {else/}
+                                                        <img onclick="Feng.showPdf('{$ep.bankImg|getStoragePath}', 'bankImg')" src="/static/img/Pdf.png" style="max-height:60px">
+                                                        {/if}
+                                                        {/if}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+                                                    <td class="key">
+                                                        {eq name="ep.special" value="0"}企业{else/}单位{/eq}开户银行网点
+                                                    </td>
+                                                    <td>
+                                                        {$ep.bankNetwork}
+                                                    </td>
+                                                    {eq name="ep.special" value="3"}
+                                                    <td class="key">机构标签</td>                                                            
+                                                    <td>{$ep.organizationTagName}</td>
+                                                    {/eq}
+                                                    {eq name="ep.special" value="1"}
+                                                    <td class="key">单位标签</td>                                                            
+                                                    <td>{$ep.institutionTagName}</td>
+                                                {/eq}
+                                                </tr>
+                                            </table>
+                                            {eq name="ep.special" value="0"}
+                                            <p>
+                                                申报类型:
+                                                {switch name="ep.type"}
+                                                {case value="1"}晋江市现代产业体系人才{if condition="$ep['agencyTypeName']"}({$ep.agencyTypeName}){/if}{/case}
+                                                {case value="2"}集成电路优秀人才{/case}
+                                                {/switch}
+                                                <input type="hidden" id="type" value="{$ep.type}">
+                                            </p>
+                                            {if condition="$ep['type'] eq 1"}
+                                            <table style="width:100%;table-layout:fixed;" class="table table-bordered">
+                                                {if condition="$ep['agencyType'] eq 1"}
+                                                <tr class="type1">
+                                                    <td  class="key">
+                                                        产业领域
+                                                    </td>
+                                                    <td class="value1">
+                                                        {$ep.industryFieldNewName}
+                                                    </td>
+                                                    <td  class="key">
+                                                        行业领域
+                                                    </td>
+                                                    <td class="value1" style="border-right: 1px solid #c0a16b">
+                                                        {$ep.industryFieldOldName}
+                                                    </td>
+                                                    <td style="border: 1px solid #c0a16b">
+                                                        <label>行业领域佐证材料</label>
+                                                        {if condition="$ep['domainImg']"}
+                                                        {if condition="$ep['domainImg_is_img'] eq 1"}
+                                                        <img onclick="Feng.showImg(this)" id="domainImg" src="{$ep.domainImg|getStoragePath}" style="max-height:60px">
+                                                        {else/}
+                                                        <img onclick="Feng.showPdf('{$ep.domainImg|getStoragePath}', 'domainImg')" src="/static/img/Pdf.png" style="max-height:60px">
+                                                        {/if}
+                                                        {/if}
+                                                    </td>
+                                                </tr>
+                                                {/if}
+                                                <tr class="type1">
+                                                    <td  class="key">
+                                                        企业标签
+                                                    </td>
+                                                    <td>
+                                                        {$ep.enterpriseTagName}
+                                                    </td>
+                                                    <td  class="key">
+                                                        企业类型
+                                                    </td>
+                                                    <td style="border-right:1px solid #c0a16b;">
+                                                        {$ep.enterpriseTypeName}
+                                                    </td>
+                                                    <td style="border: 1px solid #c0a16b">
+                                                        <label>规上、高新技术、专精特新企业上传材料</label>
+                                                        {if condition="$ep['typeImg']"}
+                                                        {if condition="$ep['typeImg_is_img'] eq 1"}
+                                                        <img onclick="Feng.showImg(this)" id="domainImg" src="{$ep.typeImg|getStoragePath}" style="max-height:60px">
+                                                        {else/}
+                                                        <img onclick="Feng.showPdf('{$ep.typeImg|getStoragePath}', 'typeImg')" src="/static/img/Pdf.png" style="max-height:60px">
+                                                        {/if}
+                                                        {/if}
+                                                    </td>
+                                                </tr>
+                                            </table>
+                                            {/if}
+                                            {/eq}
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="panel-body">
+                                    <div class="panel panel-default">
+                                        <div class="panel-heading">人才联络员信息</div>
+                                        <div class="panel-body">
+                                            <table style="width:100%" class="table table-bordered">
+                                                <tr>
+                                                    <td class="key">
+                                                        姓名
+                                                    </td>
+                                                    <td class="value1">
+                                                        {$ep.agentName}
+                                                    </td>
+                                                    <td class="key">
+                                                        人才联络员电话
+                                                    </td>
+                                                    <td class="value1" style="border-right: 1px solid #c0a16b">
+                                                        {$ep.agentPhone}
+                                                    </td>
+                                                    <td rowspan="2" style="border: 1px solid #c0a16b">
+                                                        <label>人才联络员信息备案表</label>
+                                                        {if condition="$ep['beian']"}
+                                                        {if condition="$ep['beian_is_img'] eq 1"}
+                                                        <img onclick="Feng.showImg(this)" id="domainImg" src="{$ep.beian|getStoragePath}" style="max-height:60px">
+                                                        {else/}
+                                                        <img onclick="Feng.showPdf('{$ep.beian|getStoragePath}', 'beian')" src="/static/img/Pdf.png" style="max-height:60px">
+                                                        {/if}
+                                                        {/if}
+                                                    </td>
+                                                </tr>
+                                                <tr>
+                                                    <td class="key">
+                                                        人才联络员邮箱
+                                                    </td>
+                                                    <td class="value1">
+                                                        {$ep.agentEmail}
+                                                    </td>
+                                                    <td colspan="2"></td>
+                                                </tr>
+
+                                            </table>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+
+                            <div id="tab-2" class="tab-pane">
+                                <br/>
+                                <div class="row">
+                                    <div class="hidden-xs" id="tableToolbar" role="group">
+                                        <button type="button" class="btn btn-sm btn-primary"
+                                                onclick="EnterpriseCenter.addEnterprisechangeRecord()"><i
+                                                class="fa fa-plus"></i>申请变更
+                                        </button>
+                                        <button type="button" class="btn btn-sm btn-primary"
+                                                onclick="EnterpriseCenter.updateEnterprisechangeRecord()"><i
+                                                class="fa fa-edit"></i>修改
+                                        </button>
+                                        <button type="button" class="btn btn-sm btn-primary"
+                                                onclick="EnterpriseCenter.showEnterprisechangeRecordDetail()"><i
+                                                class="fa fa-info"></i>查看详情
+                                        </button>
+                                    </div>
+                                    <table id="table">
+                                    </table>
+                                </div>
+                            </div>
+                            <div id="tab-3" class="tab-pane">
+                                <div class="panel-body" style="width:900px;">
+                                    <br/>
+                                    <div class="row">
+                                        <div class="col-sm-12 b-r">
+                                            <div class="rowGroup" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">原密码</label>
+                                                <div class="col-sm-10">
+                                                    <input type="password" class="form-control"
+                                                           autocomplete='new-password' name="password"/>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="hr-line-dashed"></div>
+                                    <div class="row">
+                                        <div class="col-sm-12 b-r">
+                                            <div class="rowGroup" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">新密码</label>
+                                                <div class="col-sm-10">
+                                                    <input type="password" class="form-control"
+                                                           autocomplete='new-password' name="newPassword"/>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="hr-line-dashed"></div>
+                                    <div class="row">
+                                        <div class="col-sm-12 b-r">
+                                            <div class="rowGroup" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">重复新密码</label>
+                                                <div class="col-sm-10">
+                                                    <input type="password" class="form-control"
+                                                           autocomplete='new-password' name="newRePassword"/>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <br/>
+                                    <div style="width:100%; text-align: center;">
+                                        <button type="button" class="btn btn-w-m btn-primary" style="width:200px;"
+                                                onclick="EnterpriseCenter.changePwd()">确认修改
+                                        </button>
+                                    </div>
+                                </div>
+                            </div>
+                            <div id="tab-4" class="tab-pane">
+                                <div class="panel-body" style="width:900px;">
+                                    <br/>
+                                    <div class="row">
+                                        <div class="col-sm-12 ">
+                                            <div class="rowGroup" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">聚才网账号</label>
+                                                <div class="col-sm-10">
+                                                    <input type="text" class="form-control" id="username"
+                                                           name="username"/>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <br/>
+                                    <div class="row">
+                                        <div class="col-sm-12">
+                                            <div class="rowGroup" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">聚才网账号密码</label>
+                                                <div class="col-sm-10">
+                                                    <input type="password" class="form-control"
+                                                           autocomplete='new-password' id="password" name="password"/>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <br/>
+                                    <div class="row">
+                                        <div class="col-sm-12 ">
+                                            <div class="rowGroup form-inline" style="margin-bottom: 0px;">
+                                                <label class="col-sm-2 control-label">人才联络员手机验证码</label>
+                                                <div class="col-sm-10">
+                                                    <input autocomplete="off" type="text" style="width: 80%"
+                                                           class="form-control" id="verificationCode"
+                                                           name="verificationCode"/>
+                                                    <button id="enterprise_sms_btn"
+                                                            style="margin-bottom: 0px;width: 18%"
+                                                            onclick="EnterpriseCenter.getEnterpriseSms()" type="button"
+                                                            class="btn btn-sm btn-info">获取验证码
+                                                    </button>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <br/>
+                                    <div style="width:100%; text-align: center;">
+                                        <button type="button" class="btn btn-w-m btn-primary" style="width:200px;"
+                                                onclick="EnterpriseCenter.bindJcAccount()">确认绑定
+                                        </button>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/javascript">
+    document.write('<script src="/static/modular/gate/enterprise/enterprise_center.js?v=' + (new Date()).getTime() + '"><\/script>');
+</script>
+<!--<script src='{$ctxPath}/static/modular/gate/enterprise/enterprise_center.js?v='></script>-->
+{/block}

+ 16 - 0
app/person/view/education/choose.html

@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<!--
+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.
+-->
+<html>
+    <head>
+        <title>TODO supply a title</title>
+        <meta charset="UTF-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    </head>
+    <body>
+        <div>TODO write content</div>
+    </body>
+</html>

+ 5 - 0
app/person/view/index/index.html

@@ -0,0 +1,5 @@
+{extend name="layout/layout" /}
+{block name="tab"}{include file="layout/tab" /}{/block}
+{block name="right"}{include file="layout/right" /}{/block}
+{block name="theme"}{include file="layout/theme" /}{/block}
+

+ 43 - 48
app/person/view/layout/tab.html

@@ -6,20 +6,15 @@
             <li class="nav-header">
                 <div class="dropdown profile-element" style="text-align: center">
                     <span onclick="gotoChangeHeadPortraitPage()"><img id="head_portrait" alt="image" class="img-circle"
-                               @if(isEmpty(avatar)){
-                                  @if(sex==1){
-                                  src="${ctxPath}/static/img/photoBoy.png"
-                                  @}else{
-                                  src="${ctxPath}/static/img/photoGirl.jpg"
-                                  @}
-                               @}else{
-                                    src="${avatar}"
-                               @}
-                               width="64px" height="64px"/></span>
+                                                                      {if condition="!$user['avatar']"}src="/static/img/photoGirl.jpg"
+                                                                      {else/}
+                                                                      src="{$user.avatar}"
+                                                                      {/if}
+                                                                      width="64px" height="64px"/></span>
                     <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                         <span class="clear">
-                        <span class="text-muted text-xs block">${role}</span>
-                        <span class="block m-t-xs"><strong class="font-bold">${name}</strong></span>
+                            <span class="text-muted text-xs block">{$user.rolename}</span>
+                            <span class="block m-t-xs"><strong class="font-bold">{$user.name}</strong></span>
                         </span>
                     </a>
                     <!-- 
@@ -30,49 +25,49 @@
                         <li><a href="${ctxPath}/logout">安全退出</a>
                         </li>
                     </ul>
-                     -->
+                    -->
                 </div>
+                <div class="logo-element">GS
+                </div>
+            </li>
+            {volist name="menus" id="menu"}
+            {if condition="!$menu['children']"}
+            <li>
+                <a class="J_menuItem" href="{$menu.url}" name="tabMenuItem">
+                    <i class="fa {$menu.icon}"></i>
+                    <span class="nav-label">{$menu.name}</span>
+                </a>
             </li>
-            
-            @for(title in titles){
-                @if(tool.isEmpty(title.children)){
+            {else/}
+            <li>
+                <a href="#">
+                    <i class="fa {$menu.icon}"></i>
+                    <span class="nav-label">{$menu.name}</span>
+                    <span class="fa arrow"></span>
+                </a>
+                <ul class="nav nav-second-level">
+                    {volist name="menu.children" id="second"}                        
+                    {if condition="!$second['children']"}
                     <li>
-                        <a class="J_menuItem" href="${ctxPath}${title.url}" name="tabMenuItem">
-                            <i class="fa ${title.icon}"></i>
-                            <span class="nav-label">${title.name}</span>
-                        </a>
+                        <a class="J_menuItem" href="{$second.url}" name="tabMenuItem">{$second.name}</a>
                     </li>
-                @}else{
+                    {else/}
                     <li>
-                        <a href="#">
-                            <i class="fa ${title.icon}"></i>
-                            <span class="nav-label">${title.name}</span>
-                            <span class="fa arrow"></span>
-                        </a>
-                        <ul class="nav nav-second-level">
-                            @for(subTitle in title.children){
-                                @if(tool.isEmpty(subTitle.children)){
-                                    <li>
-                                        <a class="J_menuItem" href="${ctxPath}${subTitle.url}" name="tabMenuItem">${subTitle.name}</a>
-                                    </li>
-                                @}else{
-                                    <li>
-                                        <a href="#">${subTitle.name} <span class="fa arrow"></span></a>
-                                        <ul class="nav nav-third-level">
-                                            @for(thirdTitle in subTitle.children){
-                                            <li>
-                                                <a class="J_menuItem" href="${ctxPath}${thirdTitle.url}" name="tabMenuItem">${thirdTitle.name}</a>
-                                            </li>
-                                            @}
-                                        </ul>
-                                    </li>
-                                @}
-                            @}
+                        <a href="#">{$second.name} <span class="fa arrow"></span></a>
+                        <ul class="nav nav-third-level">
+                            {volist name="second.children" id="third"}  
+                            <li>
+                                <a class="J_menuItem" href="{$third.url}" name="tabMenuItem">{$third.name}</a>
+                            </li>
+                            {/volist}
                         </ul>
                     </li>
-                @}
-            @}
-
+                    {/if}
+                    {/volist}
+                </ul>
+            </li>
+            {/if}
+            {/volist}
         </ul>
     </div>
 </nav>