Browse Source

完善后台用户列表

15954078560 2 years ago
parent
commit
1ab9f9fd76
2 changed files with 35 additions and 9 deletions
  1. 16 2
      application/admin/model/User.php
  2. 19 7
      public/assets/js/backend/user/user.js

+ 16 - 2
application/admin/model/User.php

@@ -20,7 +20,9 @@ class User extends Model
     protected $append = [
         'prevtime_text',
         'logintime_text',
-        'jointime_text'
+        'jointime_text',
+        'birthday_text',
+        'experiencetime_text'
     ];
 
     public function getOriginData()
@@ -59,7 +61,7 @@ class User extends Model
 
     public function getGenderList()
     {
-        return ['1' => __('Male'), '0' => __('Female')];
+        return ['1' => __('Male'), '2' => __('Female')];
     }
 
     public function getStatusList()
@@ -86,6 +88,18 @@ class User extends Model
         return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
     }
 
+    public function getBirthdayTextAttr($value, $data)
+    {
+        $value = $value ? $value : ($data['birthday'] ?? "");
+        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+    }
+
+    public function getExperiencetimeTextAttr($value, $data)
+    {
+        $value = $value ? $value : ($data['experiencetime'] ?? "");
+        return is_numeric($value) && $value > time() ? date("Y-m-d H:i:s", $value) : '已到期';
+    }
+
     protected function setPrevtimeAttr($value)
     {
         return $value && !is_numeric($value) ? strtotime($value) : $value;

+ 19 - 7
public/assets/js/backend/user/user.js

@@ -22,12 +22,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 pk: 'id',
                 sortName: 'user.id',
                 searchFormVisible: true,
+                fixedColumns: true,
+                fixedRightNumber: 1,
                 columns: [
                     [
                         {checkbox: true},
                         {field: 'id', title: __('Id'), sortable: true},
                         // {field: 'group.name', title: __('Group')},
-                        // {field: 'username', title: __('Username'), operate: 'LIKE'},
+                        {field: 'username', title: __('Username'), operate: 'LIKE'},
                         {field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
                         // {field: 'email', title: __('Email'), operate: 'LIKE'},
                         {field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
@@ -36,18 +38,28 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         // {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 0: __('Female')}},
                         // {field: 'score', title: __('Score'), operate: 'BETWEEN', sortable: true},
                         {field: 'money', title: __('余额'), operate: false},
-                        {field: 'province', title: __('省'), operate: 'LIKE'},
-                        {field: 'city', title: __('市'), operate: 'LIKE'},
-                        {field: 'area', title: __('区'), operate: 'LIKE'},
-                        {field: 'address', title: __('详细地址'), operate: 'LIKE'},
                         {field: 'successions', title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},
                         {field: 'maxsuccessions', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},
                         {field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                         {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},
                         {field: 'jointime', title: __('Jointime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                         {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},
-                        {field: 'is_auth', title: __('实名认证状态'), formatter: Table.api.formatter.status, searchList: {"1":'待审核',"2":'通过','3':'拒绝'},
-                            custom: {2:'success',3:'danger'}},
+                        {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 2: __('Female')}},
+                        {field: 'birthday', title: __('生日'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
+                        {field: 'idcard', title: __('身份证号'), operate: 'LIKE'},
+                        {field: 'passport', title: __('护照号'), operate: 'LIKE'},
+                        {field: 'emergencycontact', title: __('紧急联系人'), operate: 'LIKE'},
+                        {field: 'contactmobile', title: __('紧急联系方式'), operate: 'LIKE'},
+                        {field: 'outdoorduration', title: __('户外时长'), operate: 'LIKE'},
+                        {field: 'invite_no', title: __('用户邀请码'), operate: 'LIKE'},
+                        {field: 'growthvalue', title: __('会员成长值')},
+                        {field: 'growthlevel', title: __('成长值会员ID')},
+                        {field: 'experiencelevel', title: __('体验会员ID')},
+                        {field: 'experiencetime', title: __('体验会员到期时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
+                        {field: 'maxlevel', title: __('实际有效会员ID')},
+                        {field: 'freenumber', title: __('会员免费参加活动次数')},
+                        // {field: 'is_auth', title: __('实名认证状态'), formatter: Table.api.formatter.status, searchList: {"1":'待审核',"2":'通过','3':'拒绝'},
+                        //     custom: {2:'success',3:'danger'}},
                         {field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {"1":__('Status 1'),"2":__('Status 2')},
                             custom: {1:'success',2:'danger'}},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}