浏览代码

增加默认经纪人

linwu 2 年之前
父节点
当前提交
a0474753ab

+ 302 - 263
app/admin/controller/Broker.php

@@ -1,7 +1,9 @@
 <?php
+
 namespace app\admin\controller;
 
 use app\admin\BaseController;
+use app\common\model\Config;
 use app\common\model\User as UserModel;
 use app\common\model\Worker as WorkerModel;
 use app\common\model\Agent as AgentModel;
@@ -14,289 +16,326 @@ use think\exception\ValidateException;
 
 class Broker extends BaseController
 {
-	
-	public function brokerList()
-	{
-		$workerlist = WorkerModel::order(['id'=>'desc'])->select();
-		$agentlist = AgentModel::order(['id'=>'desc'])->select();
-		return view('broker/brokerlist',[
-			'workerlist'	=> $workerlist,
-			'agentlist'		=> $agentlist
-		]);
-	}
-	
-	public function brokerForm()
-	{
-		$id = input('id/d, 0');
-		$broker = BrokerModel::findOrEmpty($id);
-		$workerlist = WorkerModel::with(['agent','muser'])->order(['id'=>'desc'])->select();
-		return view('broker/brokerform',[
-			'workerlist'	=> $workerlist,
-			'broker'		=> $broker
-		]);
-	}
-	
-	public function editBroker()
-	{
-		$id = input('id/d');
-		$data = [
-			'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')==1 ? 1 : 2,
-			'status'		=> input('status/d')==1 ? 1 : 2
-		];
-		if (empty($id)){
-            $vdata = array(
-                'id'		=> $id,
-                'mobile'    => input('mobile/s')
-            );
+
+    public function brokerList()
+    {
+        $workerlist = WorkerModel::order(['id' => 'desc'])->select();
+        $agentlist  = AgentModel::order(['id' => 'desc'])->select();
+        return view('broker/brokerlist', [
+            'workerlist' => $workerlist,
+            'agentlist'  => $agentlist,
+        ]);
+    }
+
+    public function brokerForm()
+    {
+        $id         = input('id/d, 0');
+        $broker     = BrokerModel::findOrEmpty($id);
+        $workerlist = WorkerModel::with(['agent', 'muser'])->order(['id' => 'desc'])->select();
+        return view('broker/brokerform', [
+            'workerlist' => $workerlist,
+            'broker'     => $broker,
+        ]);
+    }
+
+    public function editBroker()
+    {
+        $id   = input('id/d');
+        $data = [
+            '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') == 1 ? 1 : 2,
+            'status'      => input('status/d') == 1 ? 1 : 2,
+        ];
+        if (empty($id)) {
+            $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'  => "关联的用户不存在。",
+                ]));
             }
             $workeragentarr = explode(",", input('workeragent/s'));
-            $workerid = isset($workeragentarr[0]) ? $workeragentarr[0] : 0;
-            $agentid = isset($workeragentarr[1]) ? $workeragentarr[1] : 0;
-            if ( empty($workerid) || empty($agentid) ){
-                exit(json_encode(array(
-                    'code' 	=> 1,
-                    'msg'	=> "请选择劳务公司和代理门店。"
-                )));
+            $workerid       = isset($workeragentarr[0]) ? $workeragentarr[0] : 0;
+            $agentid        = isset($workeragentarr[1]) ? $workeragentarr[1] : 0;
+            if (empty($workerid) || empty($agentid)) {
+                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['agentid'] = $agentid;
-			$data['createtime'] = time();
-			$broker = BrokerModel::create($data);
+            $data['userid']     = $muser->id;
+            $data['workerid']   = $workerid;
+            $data['agentid']    = $agentid;
+            $data['createtime'] = time();
+            $broker             = BrokerModel::create($data);
 
-            event('brokerAdd',$broker);
-		}else{
-			$broker = BrokerModel::find($id);
-			$broker->save($data);
-		}
+            event('brokerAdd', $broker);
+        } else {
+            $broker = BrokerModel::find($id);
+            $broker->save($data);
+        }
+
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    public function fieldBroker()
+    {
+        $id     = input('id/d', 0);
+        $broker = BrokerModel::findOrEmpty($id);
+        if ($broker->isEmpty()) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "信息不存在",
+            ]));
+        } else {
+            $broker->save([
+                input('field/s') => input('value'),
+            ]);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
 
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function fieldBroker()
-	{
-		$id = input('id/d',0); 
-		$broker = BrokerModel::findOrEmpty($id);
-		if ($broker->isEmpty()){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "信息不存在"
-			)));
-		}else{
-			$broker->save([
-				input('field/s')  => input('value')
-			]);
-		}
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function delBroker()
-	{
-		$access_admin = session('access_admin');
-		$password = input('password');
-		if ( $access_admin['password'] !== md5($password) ){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "操作密码验证失败"
-			)));
-		}
-		$idarr = input('idarr/a');
-		$user_check = UserModel::whereIn('brokerid',$idarr)->findOrEmpty();
-		if (!empty($user_check)) {
-            exit(json_encode(array(
-                'code' 	=> 1,
-                'msg'	=> "该经纪人还有下线,请先转移再删除"
-            )));
+    public function delBroker()
+    {
+        $access_admin = session('access_admin');
+        $password     = input('password');
+        if ($access_admin['password'] !== md5($password)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "操作密码验证失败",
+            ]));
         }
-        $user_ids = BrokerModel::whereIn('id',$idarr)->column('userid');
-        $resident_check = ResidentModel::whereIn('userid',$user_ids)->findOrEmpty();
+        $idarr      = input('idarr/a');
+        $user_check = UserModel::whereIn('brokerid', $idarr)->findOrEmpty();
+        if (!empty($user_check)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "该经纪人还有下线,请先转移再删除",
+            ]));
+        }
+        $user_ids       = BrokerModel::whereIn('id', $idarr)->column('userid');
+        $resident_check = ResidentModel::whereIn('userid', $user_ids)->findOrEmpty();
         if (empty($resident_check)) {
-            exit(json_encode(array(
-                'code' 	=> 1,
-                'msg'	=> "该经纪人是驻场老师,请取消驻场老师资格"
-            )));
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "该经纪人是驻场老师,请取消驻场老师资格",
+            ]));
+        }
+
+        $result = BrokerModel::whereIn('id', $idarr)->delete();
+        if ($result) {
+            exit(json_encode([
+                'code' => 0,
+                'msg'  => "",
+            ]));
         }
+        exit(json_encode([
+            'code' => 1,
+            'msg'  => "删除失败,请稍后重试",
+        ]));
+    }
 
-        $result = BrokerModel::whereIn('id',$idarr)->delete();
-		if ($result){
-			exit(json_encode(array(
-				'code' 	=> 0,
-				'msg'	=> ""
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 1,
-			'msg'	=> "删除失败,请稍后重试"
-		)));
-	}
-	
-	public function listBroker()
-	{
-		$limit = input('limit/d',20);
-		$page = input('page/d',1);
-		$map = array();
-		$keywords = input('keywords/s');
-		if (!empty($keywords)){
-			$map[] =['title', 'like', '%'.$keywords.'%'];
-		}
-		$status = input('status/d');
-		if (!empty($status)){
-			$map[] = ['status', '=', $status];
-		}
+    public function listBroker()
+    {
+        $limit    = input('limit/d', 20);
+        $page     = input('page/d', 1);
+        $map      = [];
+        $keywords = input('keywords/s');
+        if (!empty($keywords)) {
+            $map[] = ['title', 'like', '%' . $keywords . '%'];
+        }
+        $status = input('status/d');
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
         $workerid = input('workerid/d');
-        if (!empty($workerid)){
+        if (!empty($workerid)) {
             $map[] = ['workerid', '=', $workerid];
         }
-		$list = BrokerModel::with(['worker','agent','muser'])->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
-		)));
-	}
-	
-	
-	// 申请注册经纪人
-	public function fbrokerList()
-	{
-		return view('broker/fbrokerlist');
-	}
-	
-	public function fbrokerForm()
-	{
-		$id = input('id/d, 0');
-		$fbroker = BrokerFormModel::findOrEmpty($id);
-		return view('broker/fbrokerform',[
-			'fbroker'	=> $fbroker
-		]);
-	}
-	
-	public function editFbroker()
-	{
-		$id = input('id/d');
-		$fbroker = BrokerFormModel::findOrEmpty($id);
-		$fbroker->save([
-			'realname'  	=> input('realname/s', ""),
-			'mobile'    	=> input('mobile/s', ""),
-			'address'		=> input('address/s', ""),
-			'idcard'		=> input('idcard/s', ""),
-			'recommender'	=> input('recommender/s', ""),
-			'status'		=> input('status/d', 1),
-			'remark'		=> input('remark/s', ""),
-			'createtime'	=> input('createtime/s', ""),
-		]);
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function fieldFbroker()
-	{
-		$id = input('id/d',0); 
-		$info = BrokerFormModel::findOrEmpty($id);
-		if ($info->isEmpty()){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "信息不存在"
-			)));
-		}else{
-			$info->save([
-				input('field/s')  => input('value')
-			]);
-		}
-		exit(json_encode(array(
-			'code' 	=> 0
-		)));
-	}
-	
-	public function delFbroker()
-	{
-		$idarr = input('idarr/a');
-		$fbroker = BrokerFormModel::whereIn('id',$idarr)->select();
-		$result = $fbroker->delete();
-		if ($result){
-			exit(json_encode(array(
-				'code' 	=> 0,
-				'msg'	=> ""
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 1,
-			'msg'	=> "删除失败,请稍后重试"
-		)));
-	}
-	
-	public function listFbroker()
-	{
-		$limit = input('limit');
-		$page = input('page');
-		$map = array();
-		$keywords = input('keywords/s');
-		if (!empty($keywords)){
-			$map[] =['realname|mobile', 'like', '%'.$keywords.'%'];
-		}
-		$status = input('status/d');
-		if (!empty($status)){
-			$map[] = ['status', '=', $status];
-		}
-		$list = BrokerFormModel::where($map)->order('id','DESC')->limit($limit)->page($page)->append(['status_text','powerreport_text'])->select();
-		$count = BrokerFormModel::where($map)->count();
-		if ($count==0){
-			exit(json_encode(array(
-				'code' 	=> 1,
-				'msg'	=> "未查询到数据"
-			)));
-		}
-		exit(json_encode(array(
-			'code' 	=> 0,
-			'msg'	=> "",
-			'count' => $count,
-			'data'  => $list
-		)));
-	}
+        $list  = BrokerModel::with(['worker', 'agent', 'muser'])->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'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+
+    // 申请注册经纪人
+    public function fbrokerList()
+    {
+        return view('broker/fbrokerlist');
+    }
+
+    public function fbrokerForm()
+    {
+        $id      = input('id/d, 0');
+        $fbroker = BrokerFormModel::findOrEmpty($id);
+        return view('broker/fbrokerform', [
+            'fbroker' => $fbroker,
+        ]);
+    }
+
+    public function editFbroker()
+    {
+        $id      = input('id/d');
+        $fbroker = BrokerFormModel::findOrEmpty($id);
+        $fbroker->save([
+            'realname'    => input('realname/s', ""),
+            'mobile'      => input('mobile/s', ""),
+            'address'     => input('address/s', ""),
+            'idcard'      => input('idcard/s', ""),
+            'recommender' => input('recommender/s', ""),
+            'status'      => input('status/d', 1),
+            'remark'      => input('remark/s', ""),
+            'createtime'  => input('createtime/s', ""),
+        ]);
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    public function fieldFbroker()
+    {
+        $id   = input('id/d', 0);
+        $info = BrokerFormModel::findOrEmpty($id);
+        if ($info->isEmpty()) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "信息不存在",
+            ]));
+        } else {
+            $info->save([
+                input('field/s') => input('value'),
+            ]);
+        }
+        exit(json_encode([
+            'code' => 0,
+        ]));
+    }
+
+    public function delFbroker()
+    {
+        $idarr   = input('idarr/a');
+        $fbroker = BrokerFormModel::whereIn('id', $idarr)->select();
+        $result  = $fbroker->delete();
+        if ($result) {
+            exit(json_encode([
+                'code' => 0,
+                'msg'  => "",
+            ]));
+        }
+        exit(json_encode([
+            'code' => 1,
+            'msg'  => "删除失败,请稍后重试",
+        ]));
+    }
+
+    public function listFbroker()
+    {
+        $limit    = input('limit');
+        $page     = input('page');
+        $map      = [];
+        $keywords = input('keywords/s');
+        if (!empty($keywords)) {
+            $map[] = ['realname|mobile', 'like', '%' . $keywords . '%'];
+        }
+        $status = input('status/d');
+        if (!empty($status)) {
+            $map[] = ['status', '=', $status];
+        }
+        $list  = BrokerFormModel::where($map)->order('id', 'DESC')->limit($limit)->page($page)->append(['status_text', 'powerreport_text'])->select();
+        $count = BrokerFormModel::where($map)->count();
+        if ($count == 0) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "未查询到数据",
+            ]));
+        }
+        exit(json_encode([
+            'code'  => 0,
+            'msg'   => "",
+            'count' => $count,
+            'data'  => $list,
+        ]));
+    }
+
+    public function brokerdefault()
+    {
+        $broker_id = Config::getConfigValue("default_broker");
+        $broker    = [];
+        if (!empty($broker_id)) {
+            $broker = BrokerModel::where('id', $broker_id)->find();
+        }
+
+        return view('broker/brokerdefault', [
+            'broker' => $broker,
+        ]);
+    }
+
+    public function brokerajax()
+    {
+        $keyword = input('keyword');
+        $list    = BrokerModel::where('title|mobile', 'like', "%{$keyword}%")->limit(10)->select();
+        exit(json_encode([
+            'code' => 0,
+            'msg'  => "",
+            'data' => $list,
+        ]));
+    }
+
+    public function editdefault()
+    {
+        $brokerid = input('brokerid/d',0);
+        if (empty($brokerid)) {
+            exit(json_encode([
+                'code' => 1,
+                'msg'  => "请选择经纪人",
+            ]));
+        }
 
+        Config::setConfigValue('default_broker',$brokerid);
+        exit(json_encode(['code'  => 0]));
+    }
 }

+ 6 - 6
app/admin/controller/Login.php

@@ -16,13 +16,13 @@ class Login
 	
     public function login()
     {
-		// if (!captcha_check( input('vercode') )) {
+		 if (!captcha_check( input('vercode') )) {
 			
-		// 	exit(json_encode(array(
-		// 		'code' 	=> 1,
-		// 		'msg'	=> "验证码错误。"
-		// 	)));
-		// }
+		 	exit(json_encode(array(
+		 		'code' 	=> 1,
+		 		'msg'	=> "验证码错误。"
+		 	)));
+		 }
 		$admin = AdminModel::where(['adminname'=>input('adminname')])->findOrEmpty()->toArray();
 		if ( empty($admin) || $admin['password']!=md5(input('password')) ) {
 			exit(json_encode(array(

+ 91 - 0
app/admin/view/broker/brokerdefault.html

@@ -0,0 +1,91 @@
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-header">默认经纪人</div>
+                <div class="layui-card-body" pad15>
+                    <div class="layui-form layui-form-pane" lay-filter="LAY-broker-brokerform-edit">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label">当前</label>
+                            <div class="layui-input-block">
+                                <input type="text"
+                                       value="{empty name='broker'}无{else/}{$broker.title} - {$broker.mobile}{/empty}"
+                                       class="layui-input" readonly>
+                            </div>
+                        </div>
+                        <div class="layui-form-item">
+                            <label class="layui-form-label required">切换经纪人</label>
+                            <div class="layui-input-block">
+                                <div id="broker" class="xm-select-demo"></div>
+                            </div>
+                        </div>
+                        <div class="layui-form-item">
+                            <div class="layui-input-block">
+                                <input type="button" lay-submit lay-filter="LAY-broker-brokerform-edit-submit"
+                                       value="确认提交" class="layui-btn">
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script>
+
+    layui.config({
+        base: '/static/echoui/' //静态资源所在路径
+    }).extend({
+        index: 'lib/index' //主入口模块
+    }).use(['index', 'form', 'set', 'upload', 'selectN', 'selectM', 'layarea'], function () {
+        var $ = layui.$,
+            setter = layui.setter,
+            admin = layui.admin,
+            form = layui.form;
+        form.render();
+
+        xmSelect.render({
+            el: '#broker',
+            filterable: true,
+            remoteSearch: true,
+            radio: true,
+            name: 'brokerid',
+            remoteMethod: function(val, cb, show){
+                admin.req({
+                    url: setter.baseAdminUrl + 'broker/brokerajax',
+                    data: { keyword: val},
+                    done: function (res) {
+                        if (res.data.length == 0) {
+                            cb([]);
+                        } else {
+                            var option = [];
+                            var name = '';
+                            $.each(res.data,function(key,val){
+                                name = val.title + ' - ' + val.mobile;
+                                option.push({name:name,value:val.id});
+                            });
+                            cb(option);
+                        }
+                    }
+                });
+            },
+            data: []
+        });
+
+        form.on('submit(LAY-broker-brokerform-edit-submit)', function (obj) {
+            var index = parent.layer.getFrameIndex(window.name);
+            admin.req({
+                url: setter.baseAdminUrl + 'broker/editdefault',
+                data: obj.field,
+                done: function (res) {
+                    layer.msg("提交成功", {
+                        icon: 1
+                    });
+                    parent.layui.table.reload('LAY-broker-brokerlist-table'); //重载表格
+                    parent.layer.close(index);
+                }
+            });
+        });
+    });
+</script>

+ 11 - 0
app/admin/view/broker/brokerlist.html

@@ -41,6 +41,7 @@
 			<div style="padding-bottom: 10px;">
 				<button class="layui-btn layuiadmin-btn" data-type="batchdel">删除</button>
 				<button class="layui-btn layuiadmin-btn" data-type="add">添加</button>
+				<button class="layui-btn layuiadmin-btn" data-type="default">默认经纪人</button>
 			</div>
 
 			<table id="LAY-broker-brokerlist-table" lay-filter="LAY-broker-brokerlist-table"></table>
@@ -170,6 +171,16 @@
 					area: ['750px', '480px']
 				});
 				layer.full(index);
+			},
+			default: function () {
+				var index = layer.open({
+					type: 2,
+					title: '默认经纪人',
+					content: 'brokerdefault.html',
+					maxmin: true,
+					area: ['750px', '480px']
+				});
+				layer.full(index);
 			}
 		};
 

+ 2 - 1
app/admin/view/public/header.html

@@ -11,7 +11,8 @@
 		<link rel="stylesheet" href="/static/echoui/style/login.css" media="all">
 		<link rel="stylesheet" href="/static/jscss/echoui.css" media="all">
 		<script src="/static/echoui/layui/layui.js"></script>
-		 
+		<script src="/static/echoui/layui/xm-select.js"></script>
+
 		<script src="/static/jscss/echoui.js"></script>
 		<script src="https://webapi.amap.com/maps?v=1.4.15&key={$Think.AMAP_KEY}&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
 	</head>

文件差异内容过多而无法显示
+ 7 - 0
public/static/echoui/layui/xm-select.js


部分文件因为文件数量过多而无法显示