Kirin 3 年之前
父節點
當前提交
21cfbd0d18
共有 4 個文件被更改,包括 553 次插入251 次删除
  1. 49 0
      app/admin/controller/user/User.php
  2. 27 1
      app/admin/model/user/User.php
  3. 329 250
      app/admin/view/user/user/index.php
  4. 148 0
      app/admin/view/user/user/real_name.php

+ 49 - 0
app/admin/controller/user/User.php

@@ -334,6 +334,7 @@ class User extends AuthController
             ['sex', ''],
             ['level', ''],
             ['group_id', ''],
+            ['real_check', ''],
         ]);
         return Json::successlayui(UserModel::getUserList($where));
     }
@@ -771,6 +772,54 @@ class User extends AuthController
         return $this->fetch();
     }
 
+    /**
+     * 会员详情
+     */
+    public function real_name($uid = '')
+    {
+        $this->assign([
+            'userinfo' => UserModel::getUserRealname($uid),
+            'real_check' => \app\admin\model\user\User::where('uid', $uid)->value('real_check'),
+            'real_name' => \app\admin\model\user\User::where('uid', $uid)->value('real_name'),
+            'uid' => $uid,
+        ]);
+        return $this->fetch();
+    }
+
+    public function pass()
+    {
+        $uid = $this->request->post('uid', 0);
+        $user = \app\admin\model\user\User::get($uid);
+        if (!$user || !$uid) {
+            Json::fail('找不到用户');
+        }
+        if ($user['real_check']) Json::fail('已实名认证');
+        if (!$user['real_name']) Json::fail('未提交实名认证材料');
+        $user->real_check = 1;
+        $res = $user->save();
+        if ($res) Json::success('审核成功');
+        else Json::fail('审核失败');
+    }
+
+    public function cancel()
+    {
+        $uid = $this->request->post('uid', 0);
+        $user = \app\admin\model\user\User::get($uid);
+        if (!$user || !$uid) {
+            Json::fail('找不到用户');
+        }
+        if ($user['real_check']) Json::fail('已实名认证');
+        if (!$user['real_name']) Json::fail('未提交实名认证材料');
+        $user->real_name = '';
+        $user->card_id = '';
+        $user->idcard_front = '';
+        $user->idcard_hold = '';
+        $user->idcard_back = '';
+        $res = $user->save();
+        if ($res) Json::success('驳回成功');
+        else Json::fail('驳回失败');
+    }
+
     /*
      * 获取某个用户的推广下线
      * */

+ 27 - 1
app/admin/model/user/User.php

@@ -134,6 +134,19 @@ class User extends BaseModel
         if ($where['group_id'] !== '') {
             $model = $model->where('group_id', $where['group_id']);
         }
+        if (isset($where['real_check']) && $where['real_check'] != '') {
+            switch ($where['real_check']) {
+                case 1:
+                    $model = $model->where('real_check', 1);
+                    break;
+                case 0:
+                    $model = $model->where('real_check', 0)->where('real_name', '<>', '');
+                    break;
+                case -1:
+                    $model = $model->where('real_check', 0)->where('real_name', '');
+                    break;
+            }
+        }
         return $model;
     }
 
@@ -722,6 +735,19 @@ class User extends BaseModel
         ], $info);
     }
 
+    //获取某用户的详细信息
+    public static function getUserRealname($uid)
+    {
+        $UserInfo = self::get($uid);
+        return [
+            ['name' => '姓名', 'value' => $UserInfo['real_name'] ?: '--', 'col' => 6],
+            ['name' => '身份证号码', 'value' => $UserInfo['card_id'] ?: '--', 'col' => 6],
+            ['name' => '身份证正面', 'value' => $UserInfo['idcard_front'] ?: '--', 'type' => $UserInfo['idcard_front'] ? 'img' : '', 'col' => 12],
+            ['name' => '身份证背面', 'value' => $UserInfo['idcard_back'] ?: '--', 'type' => $UserInfo['idcard_front'] ? 'img' : '', 'col' => 12],
+            ['name' => '手持身份证', 'value' => $UserInfo['idcard_hold'] ?: '--', 'type' => $UserInfo['idcard_front'] ? 'img' : '', 'col' => 12],
+        ];
+    }
+
     //获取某用户的订单个数,消费明细
     public static function getHeaderList($uid)
     {
@@ -770,7 +796,7 @@ class User extends BaseModel
 //            ->count();
 //        $coupon_count = StoreCouponUser::where('uid', $uid)->count();
         $spread_count = self::where('spread_uid', $uid)->count();
-        return compact('order_count','spread_count');
+        return compact('order_count', 'spread_count');
 //        return compact('order_count', 'integral_count', 'sign_count', 'balanceChang_count', 'coupon_count', 'spread_count');
     }
 

+ 329 - 250
app/admin/view/user/user/index.php

@@ -2,43 +2,62 @@
 {block name="head_top"}
 <script src="{__PLUG_PATH}city.js"></script>
 <style>
-    .layui-btn-xs{margin-left: 0px !important;}
-    legend{
+    .layui-btn-xs {
+        margin-left: 0px !important;
+    }
+
+    legend {
         width: auto;
         border: none;
         font-weight: 700 !important;
     }
-    .site-demo-button{
+
+    .site-demo-button {
         padding-bottom: 20px;
         padding-left: 10px;
     }
-    .layui-form-label{
+
+    .layui-form-label {
         width: auto;
     }
-    .layui-input-block input{
+
+    .layui-input-block input {
         width: 50%;
         height: 34px;
     }
-    .layui-form-item{
+
+    .layui-form-item {
         margin-bottom: 0;
     }
-    .layui-input-block .time-w{
+
+    .layui-input-block .time-w {
         width: 200px;
     }
-    .layui-table-body{overflow-x: hidden;}
-    .layui-btn-group button i{
+
+    .layui-table-body {
+        overflow-x: hidden;
+    }
+
+    .layui-btn-group button i {
         line-height: 30px;
         margin-right: 3px;
         vertical-align: bottom;
     }
-    .back-f8{
+
+    .back-f8 {
         background-color: #F8F8F8;
     }
-    .layui-input-block button{
+
+    .layui-input-block button {
         border: 1px solid #e5e5e5;
     }
-    .avatar{width: 50px;height: 50px;}
-    .layui-table-body{
+
+    .avatar {
+        width: 50px;
+        height: 50px;
+    }
+
+    .layui-table-body {
         overflow-x: unset;
     }
 </style>
@@ -56,118 +75,131 @@
                 </div>
             </div>
             <div class="ibox-content" style="display: block;">
-<!--                <div class="alert alert-success alert-dismissable">-->
-<!--                    <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>-->
-<!--                    目前拥有{$count_user}个会员-->
-<!--                </div>-->
+                <!--                <div class="alert alert-success alert-dismissable">-->
+                <!--                    <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>-->
+                <!--                    目前拥有{$count_user}个会员-->
+                <!--                </div>-->
                 <form class="layui-form">
                     <div class="layui-form-item">
                         <div class="layui-inline">
                             <label class="layui-form-label">姓名编号:</label>
                             <div class="layui-input-inline">
-                                <input type="text" name="nickname" lay-verify="nickname" style="width: 100%" autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
+                                <input type="text" name="nickname" lay-verify="nickname" style="width: 100%"
+                                       autocomplete="off" placeholder="请输入姓名、编号、手机号" class="layui-input">
                             </div>
                         </div>
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">用户类型:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="user_type" lay-verify="user_type">-->
-<!--                                    <option value="">全部</option>-->
-<!--                                    <option value="wechat">微信公众号</option>-->
-<!--                                    <option value="routine">微信小程序</option>-->
-<!--                                    <option value="h5">H5</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">状  态:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="status" lay-verify="status">-->
-<!--                                    <option value="">全部</option>-->
-<!--                                    <option value="1">正常</option>-->
-<!--                                    <option value="0">锁定</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">性  别:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="sex" lay-verify="sex">-->
-<!--                                    <option value="">全部</option>-->
-<!--                                    <option value="1">男</option>-->
-<!--                                    <option value="2">女</option>-->
-<!--                                    <option value="0">保密</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">身  份:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="is_promoter" lay-verify="is_promoter">-->
-<!--                                    <option value="">全部</option>-->
-<!--                                    <option value="1">推广员</option>-->
-<!--                                    <option value="0">普通用户</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">会员等级:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="level" lay-verify="level" lay-filter='level' id="level">-->
-<!--                                    <option value="" id="level-top">全部</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">会员分组:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="group_id" lay-verify="group" lay-filter='group' id="group">-->
-<!--                                    <option value="" id="group-top">全部</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">国  家:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="country" lay-verify="country" lay-filter='country'>-->
-<!--                                    <option value=""  selected="selected">请选择国家</option>-->
-<!--                                    <option value="domestic">中国</option>-->
-<!--                                    <option value="abroad">外国</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline" id="province-div">-->
-<!--                            <label class="layui-form-label">省  份:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="province" lay-verify="province" lay-filter='province' id="province">-->
-<!--                                    <option value="" id="province-top">请选择省</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                        <div class="layui-inline" id="city-div">-->
-<!--                            <label class="layui-form-label">市  区:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="city" lay-verify="city"  lay-filter='city' id="city">-->
-<!--                                    <option value="" id="city-top">请选择市</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
+                        <div class="layui-inline">
+                            <label class="layui-form-label">实名情况:</label>
+                            <div class="layui-input-inline">
+                                <select name="real_check" lay-verify="real_check">
+                                    <option value="">全部</option>
+                                    <option value="1">已实名</option>
+                                    <option value="0">待审核</option>
+                                    <option value="-1">未实名</option>
+                                </select>
+                            </div>
+                        </div>
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">用户类型:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="user_type" lay-verify="user_type">-->
+                        <!--                                    <option value="">全部</option>-->
+                        <!--                                    <option value="wechat">微信公众号</option>-->
+                        <!--                                    <option value="routine">微信小程序</option>-->
+                        <!--                                    <option value="h5">H5</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">状  态:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="status" lay-verify="status">-->
+                        <!--                                    <option value="">全部</option>-->
+                        <!--                                    <option value="1">正常</option>-->
+                        <!--                                    <option value="0">锁定</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">性  别:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="sex" lay-verify="sex">-->
+                        <!--                                    <option value="">全部</option>-->
+                        <!--                                    <option value="1">男</option>-->
+                        <!--                                    <option value="2">女</option>-->
+                        <!--                                    <option value="0">保密</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">身  份:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="is_promoter" lay-verify="is_promoter">-->
+                        <!--                                    <option value="">全部</option>-->
+                        <!--                                    <option value="1">推广员</option>-->
+                        <!--                                    <option value="0">普通用户</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">会员等级:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="level" lay-verify="level" lay-filter='level' id="level">-->
+                        <!--                                    <option value="" id="level-top">全部</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">会员分组:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="group_id" lay-verify="group" lay-filter='group' id="group">-->
+                        <!--                                    <option value="" id="group-top">全部</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline">-->
+                        <!--                            <label class="layui-form-label">国  家:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="country" lay-verify="country" lay-filter='country'>-->
+                        <!--                                    <option value=""  selected="selected">请选择国家</option>-->
+                        <!--                                    <option value="domestic">中国</option>-->
+                        <!--                                    <option value="abroad">外国</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline" id="province-div">-->
+                        <!--                            <label class="layui-form-label">省  份:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="province" lay-verify="province" lay-filter='province' id="province">-->
+                        <!--                                    <option value="" id="province-top">请选择省</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
+                        <!--                        <div class="layui-inline" id="city-div">-->
+                        <!--                            <label class="layui-form-label">市  区:</label>-->
+                        <!--                            <div class="layui-input-inline">-->
+                        <!--                                <select name="city" lay-verify="city"  lay-filter='city' id="city">-->
+                        <!--                                    <option value="" id="city-top">请选择市</option>-->
+                        <!--                                </select>-->
+                        <!--                            </div>-->
+                        <!--                        </div>-->
                     </div>
-<!--                    <div class="layui-form-item">-->
-<!--                        <div class="layui-inline">-->
-<!--                            <label class="layui-form-label">消费情况:</label>-->
-<!--                            <div class="layui-input-inline">-->
-<!--                                <select name="pay_count" lay-verify="pay_count">-->
-<!--                                    <option value="">全部</option>-->
-<!--                                    <option value="-1">0</option>-->
-<!--                                    <option value="0">1+</option>-->
-<!--                                    <option value="1">2+</option>-->
-<!--                                    <option value="2">3+</option>-->
-<!--                                    <option value="3">4+</option>-->
-<!--                                    <option value="4">5+</option>-->
-<!--                                </select>-->
-<!--                            </div>-->
-<!--                        </div>-->
+                    <!--                    <div class="layui-form-item">-->
+                    <!--                        <div class="layui-inline">-->
+                    <!--                            <label class="layui-form-label">消费情况:</label>-->
+                    <!--                            <div class="layui-input-inline">-->
+                    <!--                                <select name="pay_count" lay-verify="pay_count">-->
+                    <!--                                    <option value="">全部</option>-->
+                    <!--                                    <option value="-1">0</option>-->
+                    <!--                                    <option value="0">1+</option>-->
+                    <!--                                    <option value="1">2+</option>-->
+                    <!--                                    <option value="2">3+</option>-->
+                    <!--                                    <option value="3">4+</option>-->
+                    <!--                                    <option value="4">5+</option>-->
+                    <!--                                </select>-->
+                    <!--                            </div>-->
+                    <!--                        </div>-->
+                    <div class="layui-form-item">
                         <div class="layui-inline">
                             <label class="layui-form-label">访问情况:</label>
                             <div class="layui-input-inline">
@@ -182,14 +214,16 @@
                         <div class="layui-inline">
                             <label class="layui-form-label">选择时间:</label>
                             <div class="layui-input-inline">
-                                <input type="text" class="layui-input time-w" name="user_time" lay-verify="user_time"  id="user_time" placeholder=" - ">
+                                <input type="text" class="layui-input time-w" name="user_time" lay-verify="user_time"
+                                       id="user_time" placeholder=" - ">
                             </div>
                         </div>
                     </div>
                     <div class="layui-form-item">
                         <label class="layui-form-label">
-                            <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
-                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索</button>
+                            <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search">
+                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
+                            </button>
                         </label>
                     </div>
                 </form>
@@ -203,14 +237,16 @@
             <div class="ibox-content">
                 <div class="table-responsive">
                     <div class="layui-btn-group conrelTable">
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-danger" type="button" data-type="set_status_f"><i class="fa fa-ban"></i>封禁</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_status_j"><i class="fa fa-check-circle-o"></i>解封</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_grant"><i class="fa fa-check-circle-o"></i>发送优惠券</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_custom"><i class="fa fa-check-circle-o"></i>发送客服图文消息</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_group"><i class="fa fa-check-circle-o" ></i>批量设置分组</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_template"><i class="fa fa-check-circle-o"></i>发送模板消息</button>-->
-<!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_info"><i class="fa fa-check-circle-o"></i>发送站内消息</button>-->
-                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="refresh"><i class="layui-icon layui-icon-refresh" ></i>刷新</button>
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-danger" type="button" data-type="set_status_f"><i class="fa fa-ban"></i>封禁</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_status_j"><i class="fa fa-check-circle-o"></i>解封</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_grant"><i class="fa fa-check-circle-o"></i>发送优惠券</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_custom"><i class="fa fa-check-circle-o"></i>发送客服图文消息</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_group"><i class="fa fa-check-circle-o" ></i>批量设置分组</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_template"><i class="fa fa-check-circle-o"></i>发送模板消息</button>-->
+                        <!--                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="set_info"><i class="fa fa-check-circle-o"></i>发送站内消息</button>-->
+                        <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" data-type="refresh"><i
+                                    class="layui-icon layui-icon-refresh"></i>刷新
+                        </button>
                     </div>
                     <table class="layui-hide" id="userList" lay-filter="userList"></table>
                     <script type="text/html" id="nickname">
@@ -224,11 +260,15 @@
                         <p>最近:{{d.last_time}}</p>
                     </script>
                     <script type="text/html" id="checkboxstatus">
-                        <input type='checkbox' name='status' lay-skin='switch' value="{{d.uid}}" lay-filter='status' lay-text='正常|禁止'  {{ d.status == 1 ? 'checked' : '' }}>
+                        <input type='checkbox' name='status' lay-skin='switch' value="{{d.uid}}" lay-filter='status'
+                               lay-text='正常|禁止' {{ d.status== 1 ? 'checked' : '' }}>
                     </script>
                     <script type="text/html" id="barDemo">
-                        <button type="button" class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</button>
-                        <button type="button" class="layui-btn layui-btn-xs" onclick="dropdown(this)">操作 <span class="caret"></span></button>
+                        <button type="button" class="layui-btn layui-btn-xs" lay-event="edit"><i
+                                    class="layui-icon layui-icon-edit"></i>编辑
+                        </button>
+                        <button type="button" class="layui-btn layui-btn-xs" onclick="dropdown(this)">操作 <span
+                                    class="caret"></span></button>
                         <ul class="layui-nav-child layui-anim layui-anim-upbit">
                             <li>
                                 <a href="javascript:void(0);" lay-event="money">
@@ -238,14 +278,18 @@
                                 <a href="javascript:void(0);" lay-event="see">
                                     <i class="layui-icon layui-icon-edit"></i> 会员详情</a>
                             </li>
-<!--                            <li>-->
-<!--                                <a href="javascript:void(0);" lay-event="give_level">-->
-<!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>-->
-<!--                            </li>-->
-<!--                            <li>-->
-<!--                                <a href="javascript:void(0);" lay-event="set_group">-->
-<!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 设置分组</a>-->
-<!--                            </li>-->
+                            <li>
+                                <a href="javascript:void(0);" lay-event="real_name">
+                                    <i class="layui-icon layui-icon-camera"></i> 实名认证</a>
+                            </li>
+                            <!--                            <li>-->
+                            <!--                                <a href="javascript:void(0);" lay-event="give_level">-->
+                            <!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>-->
+                            <!--                            </li>-->
+                            <!--                            <li>-->
+                            <!--                                <a href="javascript:void(0);" lay-event="set_group">-->
+                            <!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 设置分组</a>-->
+                            <!--                            </li>-->
                             {{# if(d.vip_name){ }}
                             <li>
                                 <a href="javascript:void(0);" lay-event="del_level">
@@ -264,35 +308,35 @@
 {/block}
 {block name="script"}
 <script>
-    var level=<?=$level?>;
-    var group=<?=$group?>;
+    var level = <?=$level?>;
+    var group = <?=$group?>;
     $('#province-div').hide();
     $('#city-div').hide();
-    layList.select('country',function (odj,value,name) {
+    layList.select('country', function (odj, value, name) {
         var html = '';
-        $.each(city,function (index,item) {
-            html += '<option value="'+item.label+'">'+item.label+'</option>';
+        $.each(city, function (index, item) {
+            html += '<option value="' + item.label + '">' + item.label + '</option>';
         })
-        if(odj.value == 'domestic'){
+        if (odj.value == 'domestic') {
             $('#province-div').show();
             $('#city-div').show();
             $('#province-top').siblings().remove();
             $('#province-top').after(html);
             $('#province').val('');
             layList.form.render('select');
-        }else{
+        } else {
             $('#province-div').hide();
             $('#city-div').hide();
         }
         $('#province').val('');
         $('#city').val('');
     });
-    layList.select('province',function (odj,value,name) {
+    layList.select('province', function (odj, value, name) {
         var html = '';
-        $.each(city,function (index,item) {
-            if(item.label == odj.value){
-                $.each(item.children,function (indexe,iteme) {
-                    html += '<option value="'+iteme.label+'">'+iteme.label+'</option>';
+        $.each(city, function (index, item) {
+            if (item.label == odj.value) {
+                $.each(item.children, function (indexe, iteme) {
+                    html += '<option value="' + iteme.label + '">' + iteme.label + '</option>';
                 })
                 $('#city').val('');
                 $('#city-top').siblings().remove();
@@ -302,41 +346,48 @@
         })
     });
     layList.form.render();
-    layList.tableList('userList',"{:Url('get_user_list')}",function () {
+    layList.tableList('userList', "{:Url('get_user_list')}", function () {
         return [
-            {type:'checkbox'},
-            {field: 'uid', title: '编号',event:'uid',width:'4%',align:'center'},
-            {field: 'avatar', title: '头像', event:'open_image', width: '6%',align:'center', templet: '<p lay-event="open_image"><img class="avatar" style="cursor: pointer" class="open_image" data-image="{{d.avatar}}" src="{{d.avatar}}" alt="{{d.nickname}}"></p>'},
-            {field: 'nickname', title: '姓名',templet:'#nickname',align:'center'},
-            {field: 'phone', title: '手机号',align:'center',width:'8%'},
-            {field: 'email', title: '邮箱',align:'center',width:'12%'},
+            {type: 'checkbox'},
+            {field: 'uid', title: '编号', event: 'uid', width: '4%', align: 'center'},
+            {
+                field: 'avatar',
+                title: '头像',
+                event: 'open_image',
+                width: '6%',
+                align: 'center',
+                templet: '<p lay-event="open_image"><img class="avatar" style="cursor: pointer" class="open_image" data-image="{{d.avatar}}" src="{{d.avatar}}" alt="{{d.nickname}}"></p>'
+            },
+            {field: 'nickname', title: '姓名', templet: '#nickname', align: 'center'},
+            {field: 'phone', title: '手机号', align: 'center', width: '8%'},
+            {field: 'email', title: '邮箱', align: 'center', width: '12%'},
             // {field: 'now_money', title: '余额',width:'6%',sort:true,event:'now_money',align:'center'},
             // {field: 'pay_count', title: '购买次数',align:'center',width:'6%'},
             // {field: 'extract_count_price', title: '累计提现',align:'center',width:'6%'},
             // {field: 'integral', title: '积分',width:'6%',sort:true,event:'integral',align:'center'},
-            {field: 'spread_uid_nickname', title: '推荐人',align:'center'},
+            {field: 'spread_uid_nickname', title: '推荐人', align: 'center'},
             // {field: 'sex', title: '性别',width:'4%',align:'center'},
-            {field: 'data_time', title: '访问日期',align:'center',width:'12%',templet:'#data_time'},
+            {field: 'data_time', title: '访问日期', align: 'center', width: '12%', templet: '#data_time'},
             // {field: 'status', title: '状态',templet:"#checkboxstatus",width:'6%',align:'center'},
             // {field: 'user_type', title: '用户类型',width:'6%',align:'center'},
             {field: 'operate', title: '操作', width: '10%', align: 'center', toolbar: '#barDemo'}
         ];
     });
     //页面刷新时加载
-    layui.use('layer',function(){
+    layui.use('layer', function () {
         var layer = layui.layer;
-        layer.ready(function(){
+        layer.ready(function () {
             var html = '';
-            $.each(level,function (index,item) {
-                html += '<option value="'+item.id+'">'+item.name+'</option>';
+            $.each(level, function (index, item) {
+                html += '<option value="' + item.id + '">' + item.name + '</option>';
             })
             $('#level-top').val('');
             $('#level-top').siblings().remove();
             $('#level-top').after(html);
             layList.form.render('select');
             var htmls = '';
-            $.each(group,function (index,item) {
-                htmls += '<option value="'+item.id+'">'+item.group_name+'</option>';
+            $.each(group, function (index, item) {
+                htmls += '<option value="' + item.id + '">' + item.group_name + '</option>';
             })
             $('#group-top').val('');
             $('#group-top').siblings().remove();
@@ -354,54 +405,63 @@
     layList.sort(function (obj) {
         var layEvent = obj.field;
         var type = obj.type;
-        switch (layEvent){
+        switch (layEvent) {
             case 'uid':
-                layList.reload({order: layList.order(type,'u.uid')},true,null,obj);
+                layList.reload({order: layList.order(type, 'u.uid')}, true, null, obj);
                 break;
             case 'now_money':
-                layList.reload({order: layList.order(type,'u.now_money')},true,null,obj);
+                layList.reload({order: layList.order(type, 'u.now_money')}, true, null, obj);
                 break;
             case 'integral':
-                layList.reload({order: layList.order(type,'u.integral')},true,null,obj);
+                layList.reload({order: layList.order(type, 'u.integral')}, true, null, obj);
                 break;
         }
     });
     //监听并执行 uid 的排序
-    layList.tool(function (event,data,obj) {
+    layList.tool(function (event, data, obj) {
         var layEvent = event;
-        switch (layEvent){
+        switch (layEvent) {
             case 'edit':
-                $eb.createModalFrame('编辑',layList.Url({a:'edit',p:{uid:data.uid}}));
+                $eb.createModalFrame('编辑', layList.Url({a: 'edit', p: {uid: data.uid}}));
                 break;
             case 'see':
-                $eb.createModalFrame(data.nickname+'-会员详情',layList.Url({a:'see',p:{uid:data.uid}}));
+                $eb.createModalFrame(data.nickname + '-会员详情', layList.Url({a: 'see', p: {uid: data.uid}}));
+                break;
+            case 'real_name':
+                $eb.createModalFrame(data.nickname + '-实名认证', layList.Url({a: 'real_name', p: {uid: data.uid}}));
                 break;
             case 'del_level':
-                $eb.$swal('delete',function(){
-                    $eb.axios.get(layList.U({a:'del_level',q:{uid:data.uid}})).then(function(res){
-                        if(res.status == 200 && res.data.code == 200) {
-                            $eb.$swal('success',res.data.msg);
-                            obj.update({vip_name:false});
+                $eb.$swal('delete', function () {
+                    $eb.axios.get(layList.U({a: 'del_level', q: {uid: data.uid}})).then(function (res) {
+                        if (res.status == 200 && res.data.code == 200) {
+                            $eb.$swal('success', res.data.msg);
+                            obj.update({vip_name: false});
                             layList.reload();
-                        }else
+                        } else
                             return Promise.reject(res.data.msg || '删除失败')
-                    }).catch(function(err){
-                        $eb.$swal('error',err);
+                    }).catch(function (err) {
+                        $eb.$swal('error', err);
                     });
-                },{
-                    title:'您确定要清除【'+data.nickname+'】的会员等级吗?',
-                    text:'清除后无法恢复请谨慎操作',
-                    confirm:'是的我要清除'
+                }, {
+                    title: '您确定要清除【' + data.nickname + '】的会员等级吗?',
+                    text: '清除后无法恢复请谨慎操作',
+                    confirm: '是的我要清除'
                 })
                 break;
             case 'give_level':
-                $eb.createModalFrame(data.nickname+'-赠送会员',layList.Url({a:'give_level',p:{uid:data.uid}}),{w:500,h:300});
+                $eb.createModalFrame(data.nickname + '-赠送会员', layList.Url({
+                    a: 'give_level',
+                    p: {uid: data.uid}
+                }), {w: 500, h: 300});
                 break;
             case 'set_group':
-                $eb.createModalFrame(data.nickname+'-设置分组',layList.Url({a:'set_group',p:{uid:data.uid}}),{w:500,h:300});
+                $eb.createModalFrame(data.nickname + '-设置分组', layList.Url({
+                    a: 'set_group',
+                    p: {uid: data.uid}
+                }), {w: 500, h: 300});
                 break;
             case 'money':
-                $eb.createModalFrame(data.nickname+'-余额修改',layList.Url({a:'edit_other',p:{uid:data.uid}}));
+                $eb.createModalFrame(data.nickname + '-余额修改', layList.Url({a: 'edit_other', p: {uid: data.uid}}));
                 break;
             case 'open_image':
                 $eb.openImage(data.avatar);
@@ -412,101 +472,119 @@
     //监听并执行 now_money 的排序
     // layList.sort('now_money');
     //监听 checkbox 的状态
-    layList.switch('status',function (odj,value,name) {
-        if(odj.elem.checked==true){
-            layList.baseGet(layList.Url({a:'set_status',p:{status:1,uid:value}}),function (res) {
+    layList.switch('status', function (odj, value, name) {
+        if (odj.elem.checked == true) {
+            layList.baseGet(layList.Url({a: 'set_status', p: {status: 1, uid: value}}), function (res) {
                 layList.msg(res.msg);
             });
-        }else{
-            layList.baseGet(layList.Url({a:'set_status',p:{status:0,uid:value}}),function (res) {
+        } else {
+            layList.baseGet(layList.Url({a: 'set_status', p: {status: 0, uid: value}}), function (res) {
                 layList.msg(res.msg);
             });
         }
     });
-    layList.search('search',function(where){
-        if(where['user_time_type'] != '' && where['user_time'] == '') return layList.msg('请选择选择时间');
-        if(where['user_time_type'] == '' && where['user_time'] != '') return layList.msg('请选择访问情况');
-        layList.reload(where,true);
+    layList.search('search', function (where) {
+        if (where['user_time_type'] != '' && where['user_time'] == '') return layList.msg('请选择选择时间');
+        if (where['user_time_type'] == '' && where['user_time'] != '') return layList.msg('请选择访问情况');
+        layList.reload(where, true);
     });
 
-    var action={
-        set_status_f:function () {
-           var ids=layList.getCheckData().getIds('uid');
-           if(ids.length){
-               layList.basePost(layList.Url({a:'set_status',p:{is_echo:1,status:0}}),{uids:ids},function (res) {
-                   layList.msg(res.msg);
-                   layList.reload();
-               });
-           }else{
-               layList.msg('请选择要封禁的会员');
-           }
+    var action = {
+        set_status_f: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
+                layList.basePost(layList.Url({
+                    a: 'set_status',
+                    p: {is_echo: 1, status: 0}
+                }), {uids: ids}, function (res) {
+                    layList.msg(res.msg);
+                    layList.reload();
+                });
+            } else {
+                layList.msg('请选择要封禁的会员');
+            }
         },
-        set_status_j:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
-                layList.basePost(layList.Url({a:'set_status',p:{is_echo:1,status:1}}),{uids:ids},function (res) {
+        set_status_j: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
+                layList.basePost(layList.Url({
+                    a: 'set_status',
+                    p: {is_echo: 1, status: 1}
+                }), {uids: ids}, function (res) {
                     layList.msg(res.msg);
                     layList.reload();
                 });
-            }else{
+            } else {
                 layList.msg('请选择要解封的会员');
             }
         },
-        set_grant:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
+        set_grant: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
                 var str = ids.join(',');
-                $eb.createModalFrame('发送优惠券',layList.Url({c:'ump.store_coupon',a:'grant',p:{id:str}}),{'w':800});
-            }else{
+                $eb.createModalFrame('发送优惠券', layList.Url({
+                    c: 'ump.store_coupon',
+                    a: 'grant',
+                    p: {id: str}
+                }), {'w': 800});
+            } else {
                 layList.msg('请选择要发送优惠券的会员');
             }
         },
-        set_template:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
+        set_template: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
                 var str = ids.join(',');
-            }else{
+            } else {
                 layList.msg('请选择要发送模板消息的会员');
             }
         },
-        set_info:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
+        set_info: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
                 var str = ids.join(',');
-                $eb.createModalFrame('发送站内信息',layList.Url({c:'user.user_notice',a:'notice',p:{id:str}}),{'w':1200});
-            }else{
+                $eb.createModalFrame('发送站内信息', layList.Url({
+                    c: 'user.user_notice',
+                    a: 'notice',
+                    p: {id: str}
+                }), {'w': 1200});
+            } else {
                 layList.msg('请选择要发送站内信息的会员');
             }
         },
-        set_custom:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
+        set_custom: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
                 var str = ids.join(',');
-                $eb.createModalFrame('发送客服图文消息',layList.Url({c:'wechat.wechat_news_category',a:'send_news',p:{id:str,type:1}}),{'w':1200});
-            }else{
+                $eb.createModalFrame('发送客服图文消息', layList.Url({
+                    c: 'wechat.wechat_news_category',
+                    a: 'send_news',
+                    p: {id: str, type: 1}
+                }), {'w': 1200});
+            } else {
                 layList.msg('请选择要发送客服图文消息的会员');
             }
         },
-        set_group:function () {
-            var ids=layList.getCheckData().getIds('uid');
-            if(ids.length){
+        set_group: function () {
+            var ids = layList.getCheckData().getIds('uid');
+            if (ids.length) {
                 var str = ids.join(',');
-                $eb.createModalFrame('批量设置分组',layList.Url({a:'set_group',p:{uid:str}}),{w:500,h:300});
-            }else{
+                $eb.createModalFrame('批量设置分组', layList.Url({a: 'set_group', p: {uid: str}}), {w: 500, h: 300});
+            } else {
                 layList.msg('请选择要批量设置分组的会员');
             }
         },
-        refresh:function () {
+        refresh: function () {
             layList.reload();
         }
     };
     $('.conrelTable').find('button').each(function () {
-        var type=$(this).data('type');
-        $(this).on('click',function () {
+        var type = $(this).data('type');
+        $(this).on('click', function () {
             action[type] && action[type]();
         })
     })
-    $(document).on('click',".open_image",function (e) {
+    $(document).on('click', ".open_image", function (e) {
         var image = $(this).data('image');
         $eb.openImage(image);
     })
@@ -514,30 +592,31 @@
     $(document).click(function (e) {
         $('.layui-nav-child').hide();
     })
-    function dropdown(that){
+
+    function dropdown(that) {
         var oEvent = arguments.callee.caller.arguments[0] || event;
         oEvent.stopPropagation();
         var offset = $(that).offset();
-        var top=offset.top-$(window).scrollTop();
+        var top = offset.top - $(window).scrollTop();
         var index = $(that).parents('tr').data('index');
         $('.layui-nav-child').each(function (key) {
             if (key != index) {
                 $(this).hide();
             }
         })
-        if($(document).height() < top+$(that).next('ul').height()){
+        if ($(document).height() < top + $(that).next('ul').height()) {
             $(that).next('ul').css({
                 'padding': 10,
-                'top': - ($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height()/2),
-                'left':offset.left-$(that).parents('td').offset().left-20,
+                'top': -($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height() / 2),
+                'left': offset.left - $(that).parents('td').offset().left - 20,
                 'min-width': 'inherit',
                 'position': 'absolute'
             }).toggle();
-        }else{
+        } else {
             $(that).next('ul').css({
                 'padding': 10,
-                'top':$(that).parent('td').height() / 2 + $(that).height(),
-                'left':offset.left-$(that).parents('td').offset().left-20,
+                'top': $(that).parent('td').height() / 2 + $(that).height(),
+                'left': offset.left - $(that).parents('td').offset().left - 20,
                 'min-width': 'inherit',
                 'position': 'absolute'
             }).toggle();

+ 148 - 0
app/admin/view/user/user/real_name.php

@@ -0,0 +1,148 @@
+{extend name="public/container"}
+{block name="content"}
+<style>
+    .backlog-body {
+        padding: 10px 15px;
+        background-color: #f8f8f8;
+        color: #999;
+        border-radius: 2px;
+        transition: all .3s;
+        -webkit-transition: all .3s;
+        overflow: hidden;
+        max-height: 84px;
+    }
+
+    .backlog-body h3 {
+        margin-bottom: 10px;
+    }
+
+    .right-icon {
+        position: absolute;
+        right: 10px;
+    }
+
+    .backlog-body p cite {
+        font-style: normal;
+        font-size: 17px;
+        font-weight: 300;
+        color: #009688;
+    }
+
+    .layuiadmin-badge, .layuiadmin-btn-group, .layuiadmin-span-color {
+        position: absolute;
+        right: 15px;
+    }
+
+    .layuiadmin-badge {
+        top: 50%;
+        margin-top: -9px;
+        color: #01AAED;
+    }
+</style>
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-col-md12 layui-col-sm12 layui-col-lg12">
+            <div class="layui-card">
+                <div class="layui-card-header">实名认证详情</div>
+                <div class="layui-card-body">
+                    <ul class="layui-row layui-col-space10 layui-this">
+                        {volist name='userinfo' id='vo'}
+                        {if trim($vo.value)}
+                        <li class="layui-col-xs<?= isset($vo['col']) ? $vo['col'] : 4 ?>">
+                            <div class="backlog-body">
+                                <h3>{$vo.name}</h3>
+                                {if condition="!isset($vo['type'])||$vo['type']!='img'"}
+                                <p><cite {if isset($vo['color'])} style="color: {$vo['color']}" {/if}>{$vo.value}</cite>
+                                </p>
+                                {else/}
+                                <p><cite {if isset($vo['color'])} style="color: {$vo['color']}" {/if}>
+                                    <img src="{$vo.value}">
+                                    </cite>
+                                </p>
+                                {/if}
+                            </div>
+                        </li>
+                        {/if}
+                        {/volist}
+                        {if condition="$real_check==0&&$real_name!=''"}
+                        <li class="layui-col-xs6" style="text-align: center">
+                            <div class="backlog-body">
+                                <p>
+                                    <button type="button" class="layui-btn layui-btn-success" style="width: 100%;"
+                                            onclick="pass()">通过
+                                    </button>
+                                </p>
+                            </div>
+                        </li>
+                        <li class="layui-col-xs6" style="text-align: center">
+                            <div class="backlog-body">
+                                <p>
+                                    <button type="button" class="layui-btn"
+                                            style="width: 100%;background-color:#ee1e2d!important;"
+                                            onclick="cancel()">不通过
+                                    </button>
+                                </p>
+                            </div>
+                        </li>
+                        {/if}
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="{__ADMIN_PATH}js/layuiList.js"></script>
+<script>
+    function pass() {
+        layer.confirm('确定要通过审核吗?', {
+            btn: ['是', '否'] //按钮
+        }, function () {
+            $.ajax({
+                type: "post",
+                url: "{:url('pass')}",
+                data: {
+                    "uid": "{$uid}"
+                },
+                async: true, // 异步请求
+                cache: false, // 设置为 false 将不缓存此页面
+                dataType: 'json', // 返回对象
+                success: function (data) {
+                    layer.msg(data.msg);
+                },
+                error: function (data) {
+                    // 请求失败函数
+                    console.log(data);
+                }
+            })
+        }, function () {
+
+        });
+    }
+
+    function cancel() {
+        layer.confirm('确定要通过审核吗?', {
+            btn: ['是', '否'] //按钮
+        }, function () {
+            $.ajax({
+                type: "post",
+                url: "{:url('cancel')}",
+                data: {
+                    "uid": "{$uid}"
+                },
+                async: true, // 异步请求
+                cache: false, // 设置为 false 将不缓存此页面
+                dataType: 'json', // 返回对象
+                success: function (data) {
+                    layer.msg(data.msg);
+                },
+                error: function (data) {
+                    // 请求失败函数
+                    console.log(data);
+                }
+            })
+        }, function () {
+
+        });
+    }
+</script>
+{/block}