Răsfoiți Sursa

经济人收益

linwu 1 an în urmă
părinte
comite
526c93a484

+ 1 - 1
app/admin/view/comjobs/comjobsform.html

@@ -185,7 +185,7 @@
 							</div>
 						</div>
 						<div class="layui-form-item" pane>
-							<label class="layui-form-label">是否支付悬赏金</label>
+							<label class="layui-form-label">支付悬赏金</label>
 							<div class="layui-input-block">
 								<input type="radio" name="is_pay" value="1" title="是" {eq name="comjobs.is_pay" value="1"}checked{/eq}>
 								<input type="radio" name="is_pay" value="2" title="否" {eq name="comjobs.is_pay|default=2" value="2"}checked{/eq}>

+ 79 - 0
app/agent/controller/Broker.php

@@ -7,6 +7,7 @@ use app\common\model\UserPart as UserPartModel;
 use app\common\model\Broker as BrokerModel;
 use app\common\model\User as UserModel;
 
+use app\common\service\IncomeService;
 use app\common\validate\Broker as BrokerValidate;
 use think\exception\ValidateException;
 
@@ -216,4 +217,82 @@ class Broker extends BaseController
             'code' => 0,
         ]));
     }
+
+    public function incomeList()
+    {
+        $brokerid = input('brokerid');
+        if (empty($brokerid)) {
+            exit("未查询到数据");
+        }
+
+        return view('broker/incomelist', [
+            'brokerid' => $brokerid,
+        ]);
+    }
+
+    public function listIncome()
+    {
+        $brokerid = input('brokerid');
+        if (empty($brokerid)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+
+        $limit    = input('limit/d', 20);
+        $page     = input('page/d', 1);
+        $map = [
+            ['brokerid','=',$brokerid]
+        ];
+        $list  = BrokerIncomeModel::where($map)->order('id', 'DESC')->limit($limit)->page($page)->append(['status_text', 'powerreport_text'])->select();
+        $count = BrokerIncomeModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+    public function settleIncome()
+    {
+        $brokerid = input('brokerid');
+        $value = input('value');
+
+        if (empty($brokerid) || $value <= 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "参数错误",
+            ]));
+        }
+
+        $broker = BrokerModel::find($brokerid);
+        if (empty($broker)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        if ($broker['income'] < $value) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "经济人收益不足",
+            ]));
+        }
+
+        $incomeService = new IncomeService();
+        $incomeService->add($brokerid, -$value, '商家结算', '劳务公司与经济人线下结算');
+
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
 }

+ 36 - 3
app/agent/view/broker/brokerlist.html

@@ -45,6 +45,8 @@
 				{{d.user_count}}
 			</script>
 			<script type="text/html" id="setTpl">
+				<a class="layui-btn layui-btn-xs" lay-event="income"><i class="layui-icon layui-icon-table"></i>收益明细</a>
+				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="settle"><i class="layui-icon layui-icon-edit"></i>收益结算</a>
 				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="transfer"><i class="layui-icon layui-icon-spread-left"></i>下线转移</a>
 				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
 				<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
@@ -75,15 +77,17 @@
 					{ field: 'id', width: 80, title: '表ID', sort: true },
 					{ field: 'title', title: '姓名', edit: 'text' },
 					{ field: 'mobile', title: '手机号' },
-					{ field: 'weixin', title: '微信号', edit: 'text' },
-					{ field: 'qq', title: 'QQ号', edit: 'text' },
+					{ field: 'income', title: '收益', width: 120 },
+					{ field: 'income_total', title: '总收益', width: 120 },
 					{ field: 'muser', title: '关联的用户(姓名-手机号)', templet: '#muserTpl', minWidth: 250, align: 'left' },
 					{ field: 'agenttitle', title: '代理门店', templet: '#agenttitleTpl' },
 					{ field: 'usercount', title: '用户邀请数', templet: '#usercountTpl', width: 100, align: 'center' },
+					{ field: 'weixin', title: '微信号', edit: 'text' },
+					{ field: 'qq', title: 'QQ号', edit: 'text' },
 					{ field: 'status_text', title: '状态', width: 80, align: 'center' },
 					{ field: 'powerreport_text', title: '报备权限', width: 100, align: 'center' },
 					{ field: 'createtime', title: '创建时间', width: 170 },
-					{ title: '操作', width: 240, align: 'center', fixed: 'right', toolbar: '#setTpl' }
+					{ title: '操作', width: 420, align: 'center', fixed: 'right', toolbar: '#setTpl' }
 				]
 			],
 			page: true,
@@ -188,6 +192,35 @@
 					area: ['750px', '480px']
 				});
 				layer.full(index);
+			} else if (obj.event === 'income') {
+				index = layer.open({
+					type: 2,
+					title: '收益明细',
+					content: 'incomelist.html?brokerid=' + data.id,
+					maxmin: true,
+					area: ['750px', '480px']
+				});
+				layer.full(index);
+			} else if (obj.event === 'settle') {
+				layer.prompt({
+					formType: 0,
+					title: '请输入要结算的金额'
+				}, function(value, index) {
+					layer.close(index);
+					layer.confirm('确定要结算吗?', function(index) {
+						admin.req({
+							url: setter.baseAgentUrl + 'broker/settleIncome',
+							data: {
+								value: value,
+								brokerid: data.id
+							},
+							done: function(res) {
+								table.reload('LAY-broker-brokerlist-table');
+							}
+						});
+						layer.close(index);
+					});
+				});
 			}
 		});
 

+ 53 - 0
app/agent/view/broker/incomelist.html

@@ -0,0 +1,53 @@
+<div class="layui-fluid">
+	<div class="layui-card">
+		<div class="layui-card-body">
+			<table id="LAY-broker-incomelist-table" lay-filter="LAY-broker-brokerlist-table"></table>
+		</div>
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'table'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			form = layui.form,
+			table = layui.table;
+		form.render();
+
+		table.render({
+			elem: '#LAY-broker-incomelist-table',
+			url: setter.baseWorkerUrl + 'broker/listincome?brokerid={$brokerid}',
+			cols: [
+				[
+					{ field: 'title', title: '标题' },
+					{ field: 'value', title: '收益', width: 120 },
+					{ field: 'remark', title: '备注' },
+					{ field: 'createtime', title: '时间'},
+				]
+			],
+			page: true,
+			limit: 50,
+			cellMinWidth: 150,
+			text: '对不起,加载出现异常!'
+		});
+
+		table.on('edit(LAY-broker-brokerlist-table)', function(obj) {
+			var id = obj.data.id,
+				field = obj.field,
+				value = obj.value;
+			admin.req({
+				url: setter.baseWorkerUrl + 'broker/fieldbroker',
+				data: { id: id, field: field, value: value },
+				done: function(res) {
+					layer.msg('修改成功');
+					layui.table.reload('LAY-broker-brokerlist-table');
+				}
+			});
+		});
+	});
+</script>

+ 5 - 4
app/common/model/Broker.php

@@ -27,10 +27,11 @@ class Broker extends Model
         'district' => 'string',
         'details'  => 'string',
 
-        'status'      => 'tinyint',
-        'powerreport' => 'tinyint',
-        'createtime'  => 'int',
-        'income'      => 'decimal',
+        'status'       => 'tinyint',
+        'powerreport'  => 'tinyint',
+        'createtime'   => 'int',
+        'income'       => 'decimal',
+        'income_total' => 'decimal',
     ];
 
     // 设置字段自动转换类型

+ 3 - 1
app/common/service/IncomeService.php

@@ -23,7 +23,9 @@ class IncomeService extends BaseService
         ]);
 
         $broker->income += $value;
-        $broker->income_total += $value;
+        if ($value > 0) {
+            $broker->income_total += $value;
+        }
         $broker->save();
     }
 }

+ 241 - 162
app/worker/controller/Broker.php

@@ -1,191 +1,270 @@
 <?php
+
 namespace app\worker\controller;
 
+use app\common\service\IncomeService;
 use app\worker\BaseController;
 use app\common\model\Agent as AgentModel;
 use app\common\model\Broker as BrokerModel;
 use app\common\model\User as UserModel;
+use app\common\model\BrokerIncome as BrokerIncomeModel;
 
 use app\common\validate\Broker as BrokerValidate;
 use think\exception\ValidateException;
 
 class Broker extends BaseController
 {
-	
-	public function brokerList()
-	{
-		$workerid = $this->access_worker['id'];
-		$agentlist = AgentModel::where('workerid','=',$workerid)->order(['id'=>'desc'])->select();
-		return view('broker/brokerlist',[
-			'agentlist'		=> $agentlist 
-		]);
-	}
-	
-	public function brokerForm()
-	{
-		$workerid = $this->access_worker['id'];
-		$id = input('id/d', 0);
-		$broker = BrokerModel::where('workerid','=',$workerid)->findOrEmpty($id);
-		$agentlist = AgentModel::where('workerid','=',$workerid)->order(['id'=>'desc'])->select();
-		return view('broker/brokerform',[
-			'agentlist'		=> $agentlist,
-			'broker'		=> $broker,
-			'worker'		=> $this->access_worker
-		]);
-	}
-	
-	public function editBroker()
-	{
-		$workerid = $this->access_worker['id'];
-        $data = [
-            'agentid'		=> input('agentid/d', 0),
-            'title'			=> input('title/s', ""),
-            'mobile'    	=> input('mobile/s', ""),
-            'weixin'    	=> input('weixin/s', ""),
-            'qq'			=> input('qq/s', ""),
-            'province'		=> input('province/s', ""),
-            'city'			=> input('city/s', ""),
-            'district'		=> input('district/s', ""),
-            'details'		=> input('details/s', ""),
-            'powerreport'	=> input('powerreport/d', 0)==1 ? 1 : 2,
-            'status'		=> input('status/d', 0)==1 ? 1 : 2
+
+    public function brokerList()
+    {
+        $workerid  = $this->access_worker['id'];
+        $agentlist = AgentModel::where('workerid', '=', $workerid)->order(['id' => 'desc'])->select();
+        return view('broker/brokerlist', [
+            'agentlist' => $agentlist,
+        ]);
+    }
+
+    public function brokerForm()
+    {
+        $workerid  = $this->access_worker['id'];
+        $id        = input('id/d', 0);
+        $broker    = BrokerModel::where('workerid', '=', $workerid)->findOrEmpty($id);
+        $agentlist = AgentModel::where('workerid', '=', $workerid)->order(['id' => 'desc'])->select();
+        return view('broker/brokerform', [
+            'agentlist' => $agentlist,
+            'broker'    => $broker,
+            'worker'    => $this->access_worker,
+        ]);
+    }
+
+    public function editBroker()
+    {
+        $workerid = $this->access_worker['id'];
+        $data     = [
+            'agentid'     => input('agentid/d', 0),
+            'title'       => input('title/s', ""),
+            'mobile'      => input('mobile/s', ""),
+            'weixin'      => input('weixin/s', ""),
+            'qq'          => input('qq/s', ""),
+            'province'    => input('province/s', ""),
+            'city'        => input('city/s', ""),
+            'district'    => input('district/s', ""),
+            'details'     => input('details/s', ""),
+            'powerreport' => input('powerreport/d', 0) == 1 ? 1 : 2,
+            'status'      => input('status/d', 0) == 1 ? 1 : 2,
         ];
 
-		if (empty($id)){
-            $id = input('id/d', 0);
-            $vdata = array(
-                'id'		=> $id,
-                'mobile'    => input('mobile/s')
-            );
+        if (empty($id)) {
+            $id    = input('id/d', 0);
+            $vdata = [
+                'id'     => $id,
+                'mobile' => input('mobile/s'),
+            ];
             try {
                 validate(BrokerValidate::class)->check($vdata);
             } catch (ValidateException $e) {
-                exit(json_encode(array(
-                    'code' 	=> 1,
-                    'msg'	=> $e->getError()
-                )));
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => $e->getError(),
+                ]));
             }
 
-            $muser = UserModel::where(['mobile'=>input('musermobile/s', '')])->findOrEmpty();
-            if ($muser->isEmpty()){
-                exit(json_encode(array(
-                    'code' 	=> 1,
-                    'msg'	=> "关联的用户不存在。"
-                )));
+            $muser = UserModel::where(['mobile' => input('musermobile/s', '')])->findOrEmpty();
+            if ($muser->isEmpty()) {
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => "关联的用户不存在。",
+                ]));
             }
 
-            $broker_user = BrokerModel::where('userid',$muser->id)->find();
+            $broker_user = BrokerModel::where('userid', $muser->id)->find();
             if (!empty($broker_user)) {
-                exit(json_encode(array(
-                    'code' 	=> 1,
-                    'msg'	=> "该用户已是经纪人。"
-                )));
+                exit(json_encode([
+                    'code' => 1,
+                    'msg'  => "该用户已是经纪人。",
+                ]));
             }
 
-            $data['userid'] = $muser->id;
-            $data['workerid'] = $workerid;
-			$data['createtime'] = time();
-			$broker = BrokerModel::create($data);
-
-            event('brokerAdd',$broker);
-		}else{
-			$broker = BrokerModel::find($id);
-			$broker->save($data);
-		}
-		$muser->save([
-			'brokerid'	=> $broker->id
-		]);
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function fieldBroker()
-	{
-		$workerid = $this->access_worker['id'];
-		$id = input('id/d',0); 
-		$broker = BrokerModel::where('workerid','=',$workerid)->findOrEmpty($id);
-		if ($broker->isEmpty()){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "信息不存在"
-			)));
-		}else{
-			$broker->save([
-				input('field/s')  => input('value/s', "")
-			]);
-		}
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function delBroker()
-	{
-		$workerid = $this->access_worker['id'];
-		$password = input('password');
-		if ( $this->access_worker['password'] !== md5($password) ){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "操作密码验证失败"
-			)));
-		}
-		$idarr = input('idarr/a');
-        $user_check = UserModel::whereIn('brokerid',$idarr)->find();
+            $data['userid']     = $muser->id;
+            $data['workerid']   = $workerid;
+            $data['createtime'] = time();
+            $broker             = BrokerModel::create($data);
+
+            event('brokerAdd', $broker);
+        } else {
+            $broker = BrokerModel::find($id);
+            $broker->save($data);
+        }
+        $muser->save([
+            'brokerid' => $broker->id,
+        ]);
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    public function fieldBroker()
+    {
+        $workerid = $this->access_worker['id'];
+        $id       = input('id/d', 0);
+        $broker   = BrokerModel::where('workerid', '=', $workerid)->findOrEmpty($id);
+        if ($broker->isEmpty()) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "信息不存在",
+            ]));
+        } else {
+            $broker->save([
+                input('field/s') => input('value/s', ""),
+            ]);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    public function delBroker()
+    {
+        $workerid = $this->access_worker['id'];
+        $password = input('password');
+        if ($this->access_worker['password'] !== md5($password)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "操作密码验证失败",
+            ]));
+        }
+        $idarr      = input('idarr/a');
+        $user_check = UserModel::whereIn('brokerid', $idarr)->find();
         if (!empty($user_check)) {
-            exit(json_encode(array(
-                'code' 	=> 1,
-                'msg'	=> "该经纪人还有下线,请先转移再删除"
-            )));
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "该经纪人还有下线,请先转移再删除",
+            ]));
+        }
+        $broker = BrokerModel::where('workerid', '=', $workerid)->whereIn('id', $idarr)->select();
+        $result = $broker->delete();
+        if ($result) {
+            exit(json_encode([
+                'code' => 0,
+                'msg'  => "",
+            ]));
+        }
+        exit(json_encode([
+            'code' => 1,
+            'msg'  => "删除失败,请稍后重试",
+        ]));
+    }
+
+    public function listBroker()
+    {
+        $workerid = $this->access_worker['id'];
+        $limit    = input('limit/d', 20);
+        $page     = input('page/d', 1);
+        $map      = [];
+        $map[]    = ['workerid', '=', $workerid];
+        $keywords = input('keywords/s');
+        if (!empty($keywords)) {
+            $map[] = ['title', 'like', '%' . $keywords . '%'];
+        }
+        $status = input('status/d');
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+        $agentid = input('agentid/d');
+        if (!empty($agentid)) {
+            $map[] = ['agentid', '=', $agentid];
+        }
+        $list  = BrokerModel::with(['muser', 'worker', 'agent'])->withCount(['user'])->where($map)->order('id', 'DESC')->limit($limit)->page($page)->append(['status_text', 'powerreport_text'])->select();
+        $count = BrokerModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
         }
-		$broker = BrokerModel::where('workerid','=',$workerid)->whereIn('id',$idarr)->select();
-		$result = $broker->delete();
-		if ($result){
-			exit(json_encode(array(
-				'code' 	=> 0,
-				'msg'	=> ""
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 1,
-			'msg'	=> "删除失败,请稍后重试"
-		)));
-	}
-	
-	public function listBroker()
-	{
-		$workerid = $this->access_worker['id'];
-		$limit = input('limit/d',20);
-		$page = input('page/d',1);
-		$map = array();
-		$map[] = ['workerid', '=', $workerid];
-		$keywords = input('keywords/s');
-		if (!empty($keywords)){
-			$map[] =['title', 'like', '%'.$keywords.'%'];
-		}
-		$status = input('status/d');
-		if (!empty($status)){
-			$map[] = ['status', '=', $status];
-		}
-		$agentid = input('agentid/d');
-		if (!empty($agentid)){
-			$map[] = ['agentid', '=', $agentid];
-		}
-		$list = BrokerModel::with(['muser','worker','agent'])->withCount(['user'])->where($map)->order('id','DESC')->limit($limit)->page($page)->append(['status_text','powerreport_text'])->select();
-		$count = BrokerModel::where($map)->count();
-		if ($count==0){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "未查询到数据"
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> "",
-			'count' => $count,
-			'data'  => $list
-		)));
-	}
-	
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+    public function incomeList()
+    {
+        $brokerid = input('brokerid');
+        if (empty($brokerid)) {
+            exit("未查询到数据");
+        }
+
+        return view('broker/incomelist', [
+            'brokerid' => $brokerid,
+        ]);
+    }
+
+    public function listIncome()
+    {
+        $brokerid = input('brokerid');
+        if (empty($brokerid)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+
+        $limit    = input('limit/d', 20);
+        $page     = input('page/d', 1);
+        $map = [
+            ['brokerid','=',$brokerid]
+        ];
+        $list  = BrokerIncomeModel::where($map)->order('id', 'DESC')->limit($limit)->page($page)->append(['status_text', 'powerreport_text'])->select();
+        $count = BrokerIncomeModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+    public function settleIncome()
+    {
+        $brokerid = input('brokerid');
+        $value = input('value');
+
+        if (empty($brokerid) || $value <= 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "参数错误",
+            ]));
+        }
+
+        $broker = BrokerModel::find($brokerid);
+        if (empty($broker)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        if ($broker['income'] < $value) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "经济人收益不足",
+            ]));
+        }
+
+        $incomeService = new IncomeService();
+        $incomeService->add($brokerid, -$value, '商家结算', '劳务公司与经济人线下结算');
 
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+        ]));
+    }
 }

+ 41 - 7
app/worker/view/broker/brokerlist.html

@@ -56,9 +56,11 @@
 				{{d.user_count}}
 					</script>
 			<script type="text/html" id="setTpl">
+				<a class="layui-btn layui-btn-xs" lay-event="income"><i class="layui-icon layui-icon-table"></i>收益明细</a>
+				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="settle"><i class="layui-icon layui-icon-edit"></i>收益结算</a>
 				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
-						<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
-					</script>
+				<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+			</script>
 		</div>
 	</div>
 </div>
@@ -85,15 +87,17 @@
 					{ field: 'id', width: 80, title: '表ID', sort: true },
 					{ field: 'title', title: '姓名', edit: 'text' },
 					{ field: 'mobile', title: '手机号' },
-					{ field: 'weixin', title: '微信号', edit: 'text' },
-					{ field: 'qq', title: 'QQ号', edit: 'text' },
+					{ field: 'income', title: '收益', width: 120 },
+					{ field: 'income_total', title: '总收益', width: 120 },
 					{ field: 'muser', title: '关联的用户(姓名-手机号)', templet: '#muserTpl', minWidth: 250, align: 'left' },
 					{ field: 'agenttitle', title: '代理门店', templet: '#agenttitleTpl' },
 					{ field: 'usercount', title: '用户邀请数', templet: '#usercountTpl', width: 100, align: 'center' },
+					{ field: 'weixin', title: '微信号', edit: 'text' },
+					{ field: 'qq', title: 'QQ号', edit: 'text' },
 					{ field: 'status_text', title: '状态', width: 100, align: 'center' },
 					{ field: 'powerreport_text', title: '报备权限', width: 100, align: 'center' },
 					{ field: 'createtime', title: '创建时间', width: 170 },
-					{ title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#setTpl' }
+					{ title: '操作', width: 330, align: 'center', fixed: 'right', toolbar: '#setTpl' }
 				]
 			],
 			page: true,
@@ -170,7 +174,8 @@
 		};
 
 		table.on('tool(LAY-broker-brokerlist-table)', function(obj) {
-			var data = obj.data;
+			let data = obj.data;
+			let index;
 			if (obj.event === 'del') {
 				layer.confirm('确定删除此经纪人吗?', function(index) {
 					admin.req({
@@ -186,7 +191,7 @@
 					layer.close(index);
 				});
 			} else if (obj.event === 'edit') {
-				var index = layer.open({
+				index = layer.open({
 					type: 2,
 					title: '编辑经纪人',
 					content: 'brokerform.html?id=' + data.id,
@@ -194,6 +199,35 @@
 					area: ['750px', '480px']
 				});
 				layer.full(index);
+			} else if (obj.event === 'income') {
+				index = layer.open({
+					type: 2,
+					title: '收益明细',
+					content: 'incomelist.html?brokerid=' + data.id,
+					maxmin: true,
+					area: ['750px', '480px']
+				});
+				layer.full(index);
+			} else if (obj.event === 'settle') {
+				layer.prompt({
+					formType: 0,
+					title: '请输入要结算的金额'
+				}, function(value, index) {
+					layer.close(index);
+					layer.confirm('确定要结算吗?', function(index) {
+						admin.req({
+							url: setter.baseWorkerUrl + 'broker/settleIncome',
+							data: {
+								value: value,
+								brokerid: data.id
+							},
+							done: function(res) {
+								table.reload('LAY-broker-brokerlist-table');
+							}
+						});
+						layer.close(index);
+					});
+				});
 			}
 		});
 

+ 53 - 0
app/worker/view/broker/incomelist.html

@@ -0,0 +1,53 @@
+<div class="layui-fluid">
+	<div class="layui-card">
+		<div class="layui-card-body">
+			<table id="LAY-broker-incomelist-table" lay-filter="LAY-broker-brokerlist-table"></table>
+		</div>
+	</div>
+</div>
+
+<script>
+	layui.config({
+		base: '/static/echoui/' //静态资源所在路径
+	}).extend({
+		index: 'lib/index' //主入口模块
+	}).use(['index', 'form', 'set', 'table'], function() {
+		var $ = layui.$,
+			setter = layui.setter,
+			admin = layui.admin,
+			form = layui.form,
+			table = layui.table;
+		form.render();
+
+		table.render({
+			elem: '#LAY-broker-incomelist-table',
+			url: setter.baseWorkerUrl + 'broker/listincome?brokerid={$brokerid}',
+			cols: [
+				[
+					{ field: 'title', title: '标题' },
+					{ field: 'value', title: '收益', width: 120 },
+					{ field: 'remark', title: '备注' },
+					{ field: 'createtime', title: '时间'},
+				]
+			],
+			page: true,
+			limit: 50,
+			cellMinWidth: 150,
+			text: '对不起,加载出现异常!'
+		});
+
+		table.on('edit(LAY-broker-brokerlist-table)', function(obj) {
+			var id = obj.data.id,
+				field = obj.field,
+				value = obj.value;
+			admin.req({
+				url: setter.baseWorkerUrl + 'broker/fieldbroker',
+				data: { id: id, field: field, value: value },
+				done: function(res) {
+					layer.msg('修改成功');
+					layui.table.reload('LAY-broker-brokerlist-table');
+				}
+			});
+		});
+	});
+</script>