Browse Source

fix:分销商

super-yimizi 21 hours ago
parent
commit
e6a6ee9b74

+ 33 - 18
application/admin/view/commission/agent/team.html

@@ -19,11 +19,16 @@
                                             <th>用户信息</th>
                                             <th>用户信息</th>
                                             <th>等级</th>
                                             <th>等级</th>
                                             <th>状态</th>
                                             <th>状态</th>
-                                            <th>团队人数</th>
-                                            <th>直推分销商</th>
-                                            <th>团队分销商</th>
+                                            <th>团队人数/分销商人数</th>
+                                            <th>一级团队人数/一级分销商人数</th>
+                                            <th>二级团队人数/二级分销商人数</th>
+                                            <th>团队分销总额/团队分销订单</th>
+                                            <th>一级分销总额/一级分销订单</th>
+                                            <th>二级分销总额/二级分销订单</th>
+                                            <th>自购分销总金额/订单数</th>
                                             <th>累计佣金</th>
                                             <th>累计佣金</th>
-                                            <th>待结算佣金</th>
+                                            <th>消费金额</th>
+                                            <th>待入账佣金</th>
                                             <th>加入时间</th>
                                             <th>加入时间</th>
                                         </tr>
                                         </tr>
                                     </thead>
                                     </thead>
@@ -45,27 +50,37 @@
                                             </td>
                                             </td>
                                             <td>
                                             <td>
                                                 {if condition="$currentAgent.level_info"}
                                                 {if condition="$currentAgent.level_info"}
-                                                {$currentAgent.level_info.name}<br><small>等级{$currentAgent.level_info.level}</small>
+                                                <div style="display:flex;align-items:center;">
+                                                    {if condition="$currentAgent.level_info.image"}
+                                                    <img src="{$currentAgent.level_info.image|cdnurl}" style="width:32px;height:32px;margin-right:8px;" />
+                                                    {/if}
+                                                    <span>{$currentAgent.level_info.name}</span>
+                                                </div>
                                                 {else /}
                                                 {else /}
                                                 等级{$currentAgent.level|default='-'}
                                                 等级{$currentAgent.level|default='-'}
                                                 {/if}
                                                 {/if}
                                             </td>
                                             </td>
-                                            <td>
+                                            <td style="text-align:center;">
                                                 {switch name="$currentAgent.status"}
                                                 {switch name="$currentAgent.status"}
-                                                    {case value="normal"}<span class="label label-success">正常</span>{/case}
-                                                    {case value="pending"}<span class="label label-warning">审核中</span>{/case}
-                                                    {case value="freeze"}<span class="label label-info">冻结</span>{/case}
-                                                    {case value="forbidden"}<span class="label label-danger">禁用</span>{/case}
-                                                    {case value="reject"}<span class="label label-danger">拒绝</span>{/case}
-                                                    {default /}<span class="label label-default">{$currentAgent.status}</span>
+                                                    {case value="normal"}<span style="color:#5cb85c;">正常</span>{/case}
+                                                    {case value="pending"}<span style="color:#f0ad4e;">审核中</span>{/case}
+                                                    {case value="freeze"}<span style="color:#5bc0de;">冻结</span>{/case}
+                                                    {case value="forbidden"}<span style="color:#d9534f;">禁用</span>{/case}
+                                                    {case value="reject"}<span style="color:#d9534f;">拒绝</span>{/case}
+                                                    {default /}<span style="color:#777;">{$currentAgent.status}</span>
                                                 {/switch}
                                                 {/switch}
                                             </td>
                                             </td>
-                                            <td>{$currentAgent.child_user_count_all|default=0}人</td>
-                                            <td>{$currentAgent.child_agent_count_1|default=0}人</td>
-                                            <td>{$currentAgent.child_agent_count_all|default=0}人</td>
-                                            <td>{$currentAgent.total_income|default=0}元</td>
-                                            <td>{$currentAgent.pending_reward|default=0}元</td>
-                                            <td>{$currentAgent.become_time|default=$currentAgent.createtime|default='-'}</td>
+                                            <td style="text-align:center;">{$currentAgent.child_user_count_all|default=0}人/{$currentAgent.child_agent_count_all|default=0}人</td>
+                                            <td style="text-align:center;">{$currentAgent.child_user_count_first|default=0}人/{$currentAgent.child_agent_count_first|default=0}人</td>
+                                            <td style="text-align:center;">{$currentAgent.child_user_count_second|default=0}人/{$currentAgent.child_agent_count_second|default=0}人</td>
+                                            <td style="text-align:center;">{$currentAgent.child_order_money_all|default=0}元/{$currentAgent.child_order_count_all|default=0}单</td>
+                                            <td style="text-align:center;">{$currentAgent.child_order_money_first|default=0}元/{$currentAgent.child_order_count_first|default=0}单</td>
+                                            <td style="text-align:center;">{$currentAgent.child_order_money_second|default=0}元/{$currentAgent.child_order_count_second|default=0}单</td>
+                                            <td style="text-align:center;">{$currentAgent.self_order_money|default=0}元/{$currentAgent.self_order_count|default=0}单</td>
+                                            <td style="text-align:center;">{$currentAgent.total_income|default=0}元</td>
+                                            <td style="text-align:center;">{$currentAgent.user.total_consume|default=0}元</td>
+                                            <td style="text-align:center;">{$currentAgent.pending_reward|default=0}元</td>
+                                            <td style="text-align:center;">{$currentAgent.createtime|date='Y-m-d H:i:s',###}</td>
                                         </tr>
                                         </tr>
                                     </tbody>
                                     </tbody>
                                 </table>
                                 </table>

+ 3 - 3
application/api/controller/Pay.php

@@ -10,7 +10,7 @@ use app\common\Service\Pay\PayService;
 use app\common\Service\Pay\PayOperService;
 use app\common\Service\Pay\PayOperService;
 use app\common\Enum\ChannelEnum;
 use app\common\Enum\ChannelEnum;
 use app\common\Service\OrderService;
 use app\common\Service\OrderService;
-use app\common\model\Third as ThirdOauth;
+use app\common\model\ThirdOauth;
 use app\common\model\Order;
 use app\common\model\Order;
 use app\common\model\pay\Index as PayModel;
 use app\common\model\pay\Index as PayModel;
 use app\common\Enum\PayEnum;
 use app\common\Enum\PayEnum;
@@ -161,8 +161,8 @@ class Pay extends Base
                         // 没有 openid 默认拿下单人的 openid
                         // 没有 openid 默认拿下单人的 openid
                         $oauth = ThirdOauth::where([
                         $oauth = ThirdOauth::where([
                             'user_id' => $order->user_id,
                             'user_id' => $order->user_id,
-                            'platform' => $payment,
-                            'apptype' => lcfirst(str_replace($payment, '', $platform))
+                            'provider' => 'Wechat',
+                            'platform' => lcfirst(str_replace('Wechat', '', $platform))
                         ])->find();
                         ])->find();
     
     
                         $order_data['payer']['openid'] = $oauth ? $oauth->openid : '';
                         $order_data['payer']['openid'] = $oauth ? $oauth->openid : '';

+ 1 - 0
application/common/Service/Pay/PayService.php

@@ -132,6 +132,7 @@ class PayService
             'WechatMiniProgram' => ChannelEnum::CHANNEL_WECHAT_MINI_PROGRAM,
             'WechatMiniProgram' => ChannelEnum::CHANNEL_WECHAT_MINI_PROGRAM,
             'H5' => ChannelEnum::CHANNEL_H5,
             'H5' => ChannelEnum::CHANNEL_H5,
             'App' => ChannelEnum::CHANNEL_ANDROID_APP, // 默认Android,可根据具体情况调整
             'App' => ChannelEnum::CHANNEL_ANDROID_APP, // 默认Android,可根据具体情况调整
+            'App' => ChannelEnum::CHANNEL_IOS_APP, // 默认Android,可根据具体情况调整
             'PC' => ChannelEnum::CHANNEL_PC,
             'PC' => ChannelEnum::CHANNEL_PC,
         ];
         ];
 
 

+ 155 - 69
public/assets/js/backend/commission/agent.js

@@ -25,15 +25,66 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 columns: [
                 columns: [
                     [
                     [
                         {checkbox: true},
                         {checkbox: true},
-                        {field: 'user_id', title: __('ID'), width: 60},
-                        {field: 'user.nickname', title: __('用户昵称'), operate: 'LIKE'},
-                        {field: 'user.mobile', title: __('手机号'), operate: 'LIKE'},
-                        {field: 'level_info.name', title: __('分销等级'), formatter: function(value, row, index) {
+                        {field: 'user_id', title: __('ID'), width: 90},
+                        {field: 'user.nickname', title: __('分销商信息'), width: 200, operate: 'LIKE', formatter: function(value, row, index) {
+                            var avatarUrl = row.user && row.user.avatar ? Fast.api.cdnurl(row.user.avatar) : Fast.api.cdnurl('/assets/img/avatar.png');
+                            var nickname = row.user && row.user.nickname ? row.user.nickname : 'yimizi';
+                            var mobile = row.user && row.user.mobile ? row.user.mobile : '';
+                            
+                            var html = '<div style="display:flex;align-items:center;">';
+                            html += '<img src="' + avatarUrl + '" style="width:40px;height:40px;border-radius:50%;margin-right:10px;" />';
+                            html += '<div>';
+                            html += '<div style="color:#337ab7;font-weight:bold;">' + nickname + '</div>';
+                            if (mobile) {
+                                html += '<div style="color:#6c757d;font-size:12px;">' + mobile + '</div>';
+                            }
+                            html += '</div></div>';
+                            return html;
+                        }},
+                        {field: 'level_info.name', title: __('等级'), width: 120, formatter: function(value, row, index) {
                             if (row.level_info) {
                             if (row.level_info) {
-                                return row.level_info.name + '(等级' + row.level_info.level + ')';
+                                var html = '<div>' + row.level_info.name + '</div>';
+                                html += '<div style="color:#999;font-size:12px;">(等级' + row.level_info.level + ')</div>';
+                                return html;
+                            }
+                            return '默认等级<br><small>(等级' + (row.level || 1) + ')</small>';
+                        }},
+                        {field: 'total_income', title: __('累计佣金'), width: 120, operate: 'BETWEEN', formatter: function(value, row, index) {
+                            return (row.total_income || 0) + '元';
+                        }},
+                        {field: 'user.total_consume', title: __('消费金额'), width: 120, formatter: function(value, row, index) {
+                            return ((row.user && row.user.total_consume) || 0) + '元';
+                        }},
+                        {field: 'child_order_money_0', title: __('自购分销业绩'), width: 140, formatter: function(value, row, index) {
+                            var orderCount = row.child_order_count_first;
+                            var orderMoney = row.child_order_money_first;
+                            var html = '<div>' + orderCount + '单</div>';
+                            html += '<div style="color:#999;font-size:12px;">' + orderMoney + '元</div>';
+                            return html;
+                        }},
+                        {field: 'user.parent_user.nickname', title: __('上级分销商'), width: 150, formatter: function(value, row, index) {
+                            if (row.user && row.user.parent_user) {
+                                var parentAvatar = row.user.parent_user.avatar ? Fast.api.cdnurl(row.user.parent_user.avatar) : Fast.api.cdnurl('/assets/img/avatar.png');
+                                var parentNickname = row.user.parent_user.nickname || ('用户' + row.user.parent_user_id);
+                                
+                                var html = '<div style="display:flex;align-items:center;justify-content:center;">';
+                                html += '<img src="' + parentAvatar + '" style="width:30px;height:30px;border-radius:50%;margin-right:8px;" />';
+                                html += '<div style="text-align:left;">';
+                                html += '<div style="font-size:12px;">' + parentNickname + '</div>';
+                                html += '</div></div>';
+                                return html;
                             }
                             }
-                            return row.level || '-';
+                            return '<div style="text-align:center;color:#999;">平台直推</div>';
+                        }},
+                        {field: 'child_order_money_second', title: __('一级用户人数'), width: 120, formatter: function(value, row, index) {
+                            var count = row.child_user_count_first;
+                            return count + '人';
                         }},
                         }},
+                        {field: 'child_agent_count_1', title: __('一级分销商人数'), width: 160, formatter: function(value, row, index) {
+                            var count = row.child_agent_count_first;
+                            return '<div>' + count + '人</div>';
+                        }},
+                        {field: 'become_time', title: __('创建时间'), width: 172, operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: Table.api.formatter.datetime},
                         {field: 'status', title: __('状态'), searchList: {
                         {field: 'status', title: __('状态'), searchList: {
                             "normal": __('正常'),
                             "normal": __('正常'),
                             "pending": __('审核中'),
                             "pending": __('审核中'),
@@ -59,38 +110,32 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                             var text = textMap[value] || value;
                             var text = textMap[value] || value;
                             return '<span class="label label-' + color + '">' + text + '</span>';
                             return '<span class="label label-' + color + '">' + text + '</span>';
                         }},
                         }},
-                        {field: 'total_income', title: __('总收益'), operate: 'BETWEEN'},
-                        {field: 'child_agent_count_1', title: __('直推分销商'), width: 80},
-                        {field: 'child_agent_count_all', title: __('团队分销商'), width: 80},
-                        {field: 'child_user_count_all', title: __('团队人数'), width: 80},
-                        {field: 'pending_reward', title: __('待结算佣金'), width: 80},
-                        {field: 'become_time', title: __('成为分销商时间'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: Table.api.formatter.datetime},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, 
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, 
-                         buttons: [
-                             {
-                                 name: 'detail',
-                                 text: __('详情'),
-                                 title: __('详情'),
-                                 classname: 'btn btn-xs btn-primary btn-dialog',
-                                 icon: 'fa fa-list',
-                                 url: 'commission/agent/detail',
-                                 callback: function (data) {
-                                     table.bootstrapTable('refresh');
-                                 }
-                             },
-                             {
-                                 name: 'team',
-                                 text: __('团队'),
-                                 title: __('团队'),
-                                 classname: 'btn btn-xs btn-info btn-dialog',
-                                 icon: 'fa fa-users',
-                                 url: 'commission/agent/team',
-                                 callback: function (data) {
-                                     table.bootstrapTable('refresh');
-                                 }
-                             },
-                         ], 
-                         formatter: Table.api.formatter.operate}
+                            buttons: [
+                                {
+                                    name: 'detail',
+                                    text: __('详情'),
+                                    title: __('详情'),
+                                    classname: 'btn btn-xs btn-primary btn-dialog',
+                                    icon: 'fa fa-list',
+                                    url: 'commission/agent/detail',
+                                    callback: function (data) {
+                                        table.bootstrapTable('refresh');
+                                    }
+                                },
+                                {
+                                    name: 'team',
+                                    text: __('团队'),
+                                    title: __('团队'),
+                                    classname: 'btn btn-xs btn-info btn-dialog',
+                                    icon: 'fa fa-users',
+                                    url: 'commission/agent/team',
+                                    callback: function (data) {
+                                        table.bootstrapTable('refresh');
+                                    }
+                                },
+                            ], 
+                            formatter: Table.api.formatter.operate}
                     ]
                     ]
                 ]
                 ]
             });
             });
@@ -651,10 +696,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 columns: [
                 columns: [
                     [
                     [
                         {checkbox: true},
                         {checkbox: true},
-                        {field: 'id', title: __('ID'), width: 60},
-                        {field: 'nickname', title: __('团队成员'), operate: 'LIKE', formatter: function(value, row, index) {
+                        {field: 'id', title: __('ID'), width: 90},
+                        {field: 'nickname', title: __('团队用户'), width: 150, operate: 'LIKE', formatter: function(value, row, index) {
                             var avatarUrl = row.avatar ? Fast.api.cdnurl(row.avatar) : Fast.api.cdnurl('/assets/img/avatar.png');
                             var avatarUrl = row.avatar ? Fast.api.cdnurl(row.avatar) : Fast.api.cdnurl('/assets/img/avatar.png');
-                            var html = '<div style="display:flex;align-items:center;">';
+                            var html = '<div style="display:flex;align-items:center;cursor:pointer;" onclick="viewTeam(' + row.id + ')">';
                             html += '<img src="' + avatarUrl + '" style="width:40px;height:40px;border-radius:50%;margin-right:10px;" />';
                             html += '<img src="' + avatarUrl + '" style="width:40px;height:40px;border-radius:50%;margin-right:10px;" />';
                             html += '<div>';
                             html += '<div>';
                             html += '<div style="color:#337ab7;font-weight:bold;">' + (row.nickname || '用户' + row.id) + '</div>';
                             html += '<div style="color:#337ab7;font-weight:bold;">' + (row.nickname || '用户' + row.id) + '</div>';
@@ -662,15 +707,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                             html += '</div></div>';
                             html += '</div></div>';
                             return html;
                             return html;
                         }},
                         }},
-                        {field: 'agent.level_info.name', title: __('分销等级'), formatter: function(value, row, index) {
+                        {field: 'agent.level_info.name', title: __('等级'), width: 150, formatter: function(value, row, index) {
                             if (row.agent && row.agent.level_info) {
                             if (row.agent && row.agent.level_info) {
-                                return row.agent.level_info.name + '<br><small>等级' + row.agent.level_info.level + '</small>';
+                                var html = '<div style="display:flex;align-items:center;">';
+                                if (row.agent.level_info.image) {
+                                    html += '<img src="' + Fast.api.cdnurl(row.agent.level_info.image) + '" style="width:32px;height:32px;margin-right:8px;" />';
+                                }
+                                html += '<span>' + row.agent.level_info.name + '</span>';
+                                html += '</div>';
+                                return html;
                             } else if (row.agent) {
                             } else if (row.agent) {
                                 return '等级' + (row.agent.level || '-');
                                 return '等级' + (row.agent.level || '-');
                             }
                             }
                             return '<span class="text-muted">非分销商</span>';
                             return '<span class="text-muted">非分销商</span>';
                         }},
                         }},
-                        {field: 'agent.status', title: __('状态'), searchList: {
+                        {field: 'agent.status', title: __('状态'), width: 120, align: 'center', searchList: {
                             "normal": __('正常'),
                             "normal": __('正常'),
                             "pending": __('审核中'),
                             "pending": __('审核中'),
                             "freeze": __('冻结'),
                             "freeze": __('冻结'),
@@ -678,15 +729,15 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                             "reject": __('拒绝')
                             "reject": __('拒绝')
                         }, formatter: function(value, row, index) {
                         }, formatter: function(value, row, index) {
                             if (!row.agent) {
                             if (!row.agent) {
-                                return '<span class="label label-default">非分销商</span>';
+                                return '<span style="color:#777;">非分销商</span>';
                             }
                             }
                             var status = row.agent.status;
                             var status = row.agent.status;
                             var colorMap = {
                             var colorMap = {
-                                'normal': 'success',
-                                'pending': 'warning',
-                                'freeze': 'info',
-                                'forbidden': 'danger',
-                                'reject': 'danger'
+                                'normal': '#5cb85c',
+                                'pending': '#f0ad4e',
+                                'freeze': '#5bc0de',
+                                'forbidden': '#d9534f',
+                                'reject': '#d9534f'
                             };
                             };
                             var textMap = {
                             var textMap = {
                                 'normal': '正常',
                                 'normal': '正常',
@@ -695,28 +746,63 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                 'forbidden': '禁用',
                                 'forbidden': '禁用',
                                 'reject': '拒绝'
                                 'reject': '拒绝'
                             };
                             };
-                            var color = colorMap[status] || 'default';
+                            var color = colorMap[status] || '#777';
                             var text = textMap[status] || status;
                             var text = textMap[status] || status;
-                            return '<span class="label label-' + color + '">' + text + '</span>';
+                            return '<span style="color:' + color + ';">' + text + '</span>';
+                        }},
+                        {field: 'agent.child_user_count_all', title: __('团队人数/分销商人数'), width: 160, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0人/0人';
+                            var userCount = row.agent.child_user_count_all || 0;
+                            var agentCount = row.agent.child_agent_count_all || 0;
+                            return userCount + '人/' + agentCount + '人';
+                        }},
+                        {field: 'agent.child_user_count_first', title: __('一级团队人数/一级分销商人数'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0人/0人';
+                            var userCount = row.agent.child_user_count_first || 0;
+                            var agentCount = row.agent.child_agent_count_first || 0;
+                            return userCount + '人/' + agentCount + '人';
                         }},
                         }},
-                        {field: 'agent.child_user_count_all', title: __('团队人数'), width: 80, formatter: function(value, row, index) {
-                            return row.agent ? (row.agent.child_user_count_all || 0) : 0;
+                        {field: 'agent.child_user_count_second', title: __('二级团队人数/二级分销商人数'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0人/0人';
+                            var userCount = row.agent.child_user_count_second || 0;
+                            var agentCount = row.agent.child_agent_count_second || 0;
+                            return userCount + '人/' + agentCount + '人';
                         }},
                         }},
-                        {field: 'agent.child_agent_count_1', title: __('直推分销商'), width: 80, formatter: function(value, row, index) {
-                            return row.agent ? (row.agent.child_agent_count_1 || 0) : 0;
+                        {field: 'agent.child_order_money_all', title: __('团队分销总额/团队分销订单'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0元/0单';
+                            var money = row.agent.child_order_money_all || 0;
+                            var count = row.agent.child_order_count_all || 0;
+                            return money + '元/' + count + '单';
                         }},
                         }},
-                        {field: 'agent.child_agent_count_all', title: __('团队分销商'), width: 80, formatter: function(value, row, index) {
-                            return row.agent ? (row.agent.child_agent_count_all || 0) : 0;
+                        {field: 'agent.child_order_money_first', title: __('一级分销总额/一级分销订单'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0元/0单';
+                            var money = row.agent.child_order_money_first || 0;
+                            var count = row.agent.child_order_count_first || 0;
+                            return money + '元/' + count + '单';
                         }},
                         }},
-                        {field: 'agent.total_income', title: __('累计佣金'), operate: 'BETWEEN', formatter: function(value, row, index) {
+                        {field: 'agent.child_order_money_second', title: __('二级分销总额/二级分销订单'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0元/0单';
+                            var money = row.agent.child_order_money_second || 0;
+                            var count = row.agent.child_order_count_second || 0;
+                            return money + '元/' + count + '单';
+                        }},
+                        {field: 'agent.child_order_money_0', title: __('自购分销总金额/订单数'), width: 220, align: 'center', formatter: function(value, row, index) {
+                            if (!row.agent) return '0元/0单';
+                            // 自购数据可能存储在其他字段中,这里使用0级别或者特定字段
+                            var money = row.agent.self_order_money || 0;
+                            var count = row.agent.self_order_count || 0;
+                            return money + '元/' + count + '单';
+                        }},
+                        {field: 'agent.total_income', title: __('累计佣金'), width: 160, align: 'center', operate: 'BETWEEN', formatter: function(value, row, index) {
                             return row.agent ? ((row.agent.total_income || 0) + '元') : '0元';
                             return row.agent ? ((row.agent.total_income || 0) + '元') : '0元';
                         }},
                         }},
-                        {field: 'agent.pending_reward', title: __('待结算佣金'), width: 80, formatter: function(value, row, index) {
+                        {field: 'total_consume', title: __('消费金额'), width: 160, align: 'center', formatter: function(value, row, index) {
+                            return ((row.total_consume) || 0) + '元';
+                        }},
+                        {field: 'agent.pending_reward', title: __('待入账佣金'), width: 160, align: 'center', formatter: function(value, row, index) {
                             return row.agent ? ((row.agent.pending_reward || 0) + '元') : '0元';
                             return row.agent ? ((row.agent.pending_reward || 0) + '元') : '0元';
                         }},
                         }},
-                        {field: 'agent.become_time', title: __('成为分销商时间'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: function(value, row, index) {
-                            return row.agent && row.agent.become_time ? Table.api.formatter.datetime(row.agent.become_time, row, index) : '<span class="text-muted">-</span>';
-                        }}
+                        {field: 'createtime', title: __('加入时间'), width: 172, align: 'center', operate: 'RANGE', addclass: 'datetimerange', autocomplete: false, formatter: Table.api.formatter.datetime}
                     ]
                     ]
                 ]
                 ]
             });
             });
@@ -724,14 +810,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             // 为表格绑定事件
             // 为表格绑定事件
             Table.api.bindevent(table);
             Table.api.bindevent(table);
 
 
-            // // 团队页面特有的全局函数
-            // window.viewTeam = function(userId) {
-            //     Fast.api.open('commission/agent/team?id=' + userId, '查看团队');
-            // };
+            // 团队页面特有的全局函数
+            window.viewTeam = function(userId) {
+                Fast.api.open('commission/agent/team?id=' + userId, '查看团队');
+            };
 
 
-            // window.viewDetail = function(userId) {
-            //     Fast.api.open('commission/agent/detail?id=' + userId, '分销商详情');
-            // };
+            window.viewDetail = function(userId) {
+                Fast.api.open('commission/agent/detail?id=' + userId, '分销商详情');
+            };
 
 
             Controller.api.bindevent();
             Controller.api.bindevent();
         },
         },