123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- <?php
- namespace app\adminall\controller;
- use app\BaseController;
- use think\facade\View;
- use think\facade\Session;
- use toolkits\Aec;
- use app\model\User;
- use app\model\Admin;
- use app\model\Customer as CrmModel;
- use app\model\Company;
- use app\model\Org;
- use app\model\CustomerVisitLog;
- use app\model\Employee;
- use app\model\CustomerInvalidLog;
- class Crm extends BaseController
- {
- public function index()
- {
- if (!request()->isAjax()) {
- return View::fetch();
- }
- $param = request()->param();
- $org_id = Org::where([['path','like','%1035-%']])->column('id');
- $where = [
- ['org_id','in',$org_id]
- ];
- if(!empty($param['keyword'])){
- $aec = new Aec(config('app.aec_key'), config('app.aec_iv'));
- $phone = $aec->encrypt($param['keyword']);
- $where[] = ['phone','=',$phone];
- }
-
- $crm = CrmModel::with(['employee','org'])->where($where)->page($param['page'], $param['limit'])->order(['state'=>'asc', 'addtime'=>'asc'])->select();
- $count = CrmModel::where($where)->count();
- return json(['code'=>0, 'data'=>$crm, 'count'=>$count]);
- }
- public function visitlog()
- {
- $param = request()->param();
- if (!request()->isAjax()) {
- View::assign('customer_id',$param['id']);
- View::assign('employee_id',$param['employee_id']);
- return View::fetch();
- }
-
- $data = CustomerVisitLog::with('employee')->where([['customer_id','=',$param['customer_id']]])->order('addtime')->select();
- $count = CustomerVisitLog::where([['customer_id','=',$param['customer_id']]])->count();
- return json(['code'=>0, 'data'=>$data, 'count'=>$count]);
- }
- public function save_state()
- {
- $id = input('id');
- $list = CustomerVisitLog::where('customer_id','=',$id)->select()->toArray();
- foreach($list as $key=>$val){
- $ms = CustomerVisitLog::where('id','=',$val['id'])->update(['state'=>10,'confirm_date'=>$val['addtime']]);
- }
- //$ms = CustomerVisitLog::where('customer_id','=',$id)->update(['state'=>10]);
- if($ms){
- return json(['code'=>0,'msg'=>'修改成功']);
- }else{
- return json(['code'=>1,'msg'=>'修改失败']);
- }
- }
- /**
- * 无效记录
- */
- public function wuxiaolog_list()
- {
- $customer_id = input('customer_id');
- $employee_id = input('employee_id');
- if (!request()->isAjax()) {
- View::assign('customer_id',$customer_id);
- View::assign('employee_id',$employee_id);
- return View::fetch();
- }
- $list = CustomerInvalidLog::where([['customer_id','=',$customer_id]])->select()->toArray();
- foreach($list as $key=>$val){
- $list[$key]['name'] = CrmModel::where([['id','=',$val['customer_id']],['org_id','in',orgSubIds($val['root_id'])]])->value('name');
- $list[$key]['empname'] = Employee::where([['root_id','=',$val['root_id']],['id','=',$val['employee_id']]])->value('name');
- $list[$key]['designer_name'] = !empty($val['designer_id']) ? Employee::where([['root_id','=',$val['root_id']],['id','=',$val['designer_id']]])->value('name') : '';
- $list[$key]['org_name'] = Org::where('id',$val['org_id'])->value('name');
- $list[$key]['company_name'] = Company::where('root_id',$val['root_id'])->value('company_name');
- }
- return json(['code'=>0,'data'=>$list,'msg'=>'获取成功']);
- }
- /**
- * 修改无效记录状态
- */
- public function savewxlogstate()
- {
- $customer_id = input('customer_id');
- $id = input('id');
- $log = CustomerInvalidLog::where([['id','=',$id],['customer_id','=',$customer_id]])->find();
- $status = $log->status == 1 ? 2 : 1;
- $log->status = $status;
- $ms = $log->save();
- if($ms){
- return json(['code'=>0,'msg'=>'修改成功']);
- }else{
- return json(['code'=>1,'msg'=>'修改失败']);
- }
- }
- public function savecusstate()
- {
- $customer_id = input('customer_id');
- $employee_id = input('employee_id');
- $state = input('state');
- if (!request()->isAjax()) {
-
- View::assign('customer_id',$customer_id);
- View::assign('employee_id',$employee_id);
- return View::fetch();
- }
-
- $allstate = [0,1,2,5,6,7];
- if(!in_array($state,$allstate)) return json(['code'=>1,'msg'=>'参数错误']);
- $ms = CrmModel::where([['id','=',$customer_id],['employee_id','=',$employee_id]])->update(['state'=>$state]);
- if($ms){
- return json(['code'=>0,'msg'=>'修改成功']);
- }else{
- return json(['code'=>1,'msg'=>'修改失败']);
- }
- }
- public function savelogstate()
- {
- $customer_id = input('customer_id');
- $id = input('id');
- $state = input('state');
- if (!request()->isAjax()) {
- View::assign('customer_id',$customer_id);
- View::assign('id',$id);
- return View::fetch();
- }
- $allstate = [1,10,7,2,3,11];
- if(!in_array($state,$allstate)) return json(['code'=>1,'msg'=>'参数错误']);
- $ms = CustomerVisitLog::where([['customer_id','=',$customer_id],['id','=',$id]])->update(['state'=>$state]);
- if($ms){
- return json(['code'=>0,'msg'=>'修改成功']);
- }else{
- return json(['code'=>1,'msg'=>'修改失败']);
- }
- }
- public function addlog()
- {
- $param = request()->param();
- if (!request()->isAjax()) {
- View::assign('customer_id',$param['customer_id']);
- View::assign('employee_id',$param['employee_id']);
- return View::fetch();
- }
- //待确认
- if($param['state'] == 1) {
- $employee = Employee::where('id',$param['employee_id'])->find();
- $data = [
- 'customer_id' => $param['customer_id'],
- 'type' => '',
- 'addtime' => $param['addtime'],
- 'employee_id' => $param['employee_id'],
- 'user_id' => $employee['uid'],
- 'state' => $param['state'],
- 'remark' => $param['remark'],
- 'org_id' => $employee['org_id'],
- 'next_contact_date' => date('Y-m-d'),
- ];
- $add = CustomerVisitLog::insert($data);
- if($add){
- return json(['code'=>0,'msg'=>'成功']);
- }
- }
- //定金
- if($param['state'] == 2) {
- $employee = Employee::where('id',$param['employee_id'])->find();
- $data = [
- 'customer_id' => $param['customer_id'],
- 'type' => '',
- 'next_contact_date' => date('Y-m-d',strtotime($param['addtime'])),
- 'addtime' => $param['addtime'],
- 'employee_id' => $param['employee_id'],
- 'user_id' => $employee['uid'],
- 'state' => $param['state'],
- 'remark' => $param['remark'],
- 'org_id' => $employee['org_id'],
- 'confirm_date' => $param['confirm_date'],
- 'money' => $param['money']
- ];
- $add = CustomerVisitLog::insert($data);
- if($add){
- return json(['code'=>0,'msg'=>'成功']);
- }
- }
- //签单
- if($param['state'] == 3) {
- $employee = Employee::where('id',$param['employee_id'])->find();
- $data = [
- 'customer_id' => $param['customer_id'],
- 'type' => '',
- 'next_contact_date' => date('Y-m-d',strtotime($param['addtime'])),
- 'addtime' => $param['addtime'],
- 'employee_id' => $param['employee_id'],
- 'user_id' => $employee['uid'],
- 'state' => $param['state'],
- 'remark' => $param['remark'],
- 'org_id' => $employee['org_id'],
- 'confirm_date' => $param['confirm_date'],
- 'money' => $param['money']
- ];
- $add = CustomerVisitLog::insert($data);
- if($add){
- return json(['code'=>0,'msg'=>'成功']);
- }
- }
- //到店
- if($param['state'] == 7) {
- $employee = Employee::where('id',$param['employee_id'])->find();
- $data = [
- 'customer_id' => $param['customer_id'],
- 'type' => '',
- 'next_contact_date' => date('Y-m-d',strtotime($param['addtime'])),
- 'addtime' => $param['addtime'],
- 'employee_id' => $param['employee_id'],
- 'user_id' => $employee['uid'],
- 'state' => $param['state'],
- 'remark' => $param['remark'],
- 'org_id' => $employee['org_id'],
- 'confirm_date' => $param['addtime'],
- ];
- $add = CustomerVisitLog::insert($data);
- if($add){
- return json(['code'=>0,'msg'=>'成功']);
- }
- }
- //未到访
- if($param['state'] == 10) {
- $employee = Employee::where('id',$param['employee_id'])->find();
- $data = [
- 'customer_id' => $param['customer_id'],
- 'type' => '',
- 'next_contact_date' => date('Y-m-d'),
- 'addtime' => $param['addtime'],
- 'employee_id' => $param['employee_id'],
- 'user_id' => $employee['uid'],
- 'state' => $param['state'],
- 'remark' => $param['remark'],
- 'org_id' => $employee['org_id'],
- ];
- $add = CustomerVisitLog::insert($data);
- if($add){
- return json(['code'=>0,'msg'=>'成功']);
- }
- }
- return json(['code'=>-1,'msg'=>'失败']);
- }
- // public function editlog()
- // {
- // $param = request()->param();
- // if (!request()->isAjax()) {
- // $res = CustomerVisitLog::where('id', $param['id'])->find();
- // $data = $res;
- // if(in_array($res['state'],['回访', '待确认', '预约回访'])){
- // $data->state = 1;
- // }
- // if(in_array($res['state'],['交定', '定金', '已交定', '收定'])){
- // $data['state'] = 2;
- // }
- // if(in_array($res['state'],['签单', '已签单'])){
- // $data['state'] = 3;
- // }
- // if(in_array($res['state'],['已到访', '已到店', '确定到店', '确认到店'])){
- // $data['state'] = 7;
- // }
- // if(in_array($res['state'],['未到访'])){
- // $data['state'] = 10;
- // }
- // if(in_array($res['state'],['无效'])){
- // $data['state'] = 11;
- // }
- // print_r($data['state']);
- // View::assign('data',$data);
- // return View::fetch();
- // }
- // }
- }
|