Browse Source

pc端,维保流程

lizhen_gitee 7 months ago
parent
commit
654ab34e08

+ 11 - 0
application/api/controller/Maintain.php

@@ -36,11 +36,22 @@ class Maintain extends Api
         $filedata = json_encode($filedata);
 
         $nowtime = time();
+
+        //
+        if(empty($this->auth->company_id)){
+            $this->error('您还没绑定维保公司');
+        }
+        $uc_id = Db::name('user_company')->where('user_id',$this->auth->id)->where('company_id',$this->auth->company_id)->value('id');
+        if(empty($uc_id)){
+            $this->error('您还没绑定维保公司');
+        }
+
         //写入
         $data = [
             'orderno' => createUniqueNo('',''),
             'user_id' => $this->auth->id,
             'company_id' => $this->auth->company_id,
+            'uc_id' => $uc_id,
             'createtime' => $nowtime,
             'updatetime' => $nowtime,
             'info' => $info,

+ 161 - 0
application/company/controller/Maintain.php

@@ -0,0 +1,161 @@
+<?php
+
+namespace app\company\controller;
+
+use app\common\controller\Apic;
+use think\Db;
+/**
+ * 维保流程
+ */
+class Maintain extends Apic
+{
+    protected $noNeedLogin = [];
+    protected $noNeedRight = [];
+
+    protected $table = 'maintain';
+
+    //待审核  0
+    //报价评估 20,22
+    //报价审核 30
+    //待处理   40,50,60,70,80,90,92
+    //已完成   100
+
+    //首页统计
+    public function index(){
+
+        $rs = [
+            'status_0' => 0,
+            'status_20' => 0,
+            'status_30' => 0,
+            'status_40' => 0,
+            'status_100' => 0,
+            'score' => 5,
+        ];
+
+        $list = Db::name($this->table)->field('status,count(id) as number')
+            ->where('status','NEQ',2)->where('company_id',$this->auth->company_id)->group('status')->select();
+        if(!empty($list)){
+            foreach($list as $key => $val){
+                if($val['status'] == 0){
+                    $rs['status_0'] = $val['number'];
+                }
+                if(in_array($val['status'],[20,22])){
+                    $rs['status_20'] += $val['number'];
+                }
+                if($val['status'] == 30){
+                    $rs['status_30'] = $val['number'];
+                }
+                if(in_array($val['status'],[40,50,60,70,80,90,92])){
+                    $rs['status_40'] += $val['number'];
+                }
+                if($val['status'] == 100){
+                    $rs['status_100'] = $val['number'];
+                }
+            }
+        }
+
+        //本周服务评分
+        $score = Db::name($this->table)
+            ->where('status',100)
+            ->where('company_id',$this->auth->company_id)
+            ->whereTime('eva_time','week')
+            /*->select(false);echo $score;exit;*/
+            ->avg('eva_score');
+        $rs['score'] = $score;
+
+        $this->success(1,$rs);
+    }
+
+    public function lists(){
+        $orderno     = input('orderno','');
+        $projectname = input('projectname','');
+        $header      = input('header','');
+        $status      = input('status','ALL'); //默认ALL
+
+        $map = [
+            'mt.company_id' => $this->auth->company_id,
+        ];
+        if(!empty($orderno)){
+            $map['mt.orderno'] = $orderno;
+        }
+        if(!empty($projectname)){
+            $map['uc.projectname'] = $projectname;
+        }
+        if(!empty($header)){
+            $map['uc.header'] = $header;
+        }
+        if($status != 'ALL'){
+            $map['mt.status'] = $status;
+
+            if($status == 20){
+                $map['mt.status'] = ['IN',[20,22]];
+            }
+            if($status == 40){
+                $map['mt.status'] = ['IN',[40,50,60,70,80,90,92]];
+            }
+        }
+
+        $field = ['mt.id','mt.orderno','uc.projectname','mt.info','uc.header','mt.status'];
+        $list = Db::name($this->table)->alias('mt')
+            ->join('user_company uc','mt.uc_id = uc.id','LEFT')
+            ->field($field)
+            ->where($map)->order('mt.id desc')
+            ->autopage()->select();
+
+        $this->success(1,$list);
+    }
+
+    //详情
+    public function info(){
+        $id = input('id',0);
+
+        $info = Db::name($this->table)->alias('mt')
+            ->join('user_company uc','mt.uc_id = uc.id','LEFT')
+            ->field('mt.*,uc.projectname,uc.header,uc,projectaddress')
+            ->where('id',$id)->where('company_id',$this->auth->company_id)
+            ->find();
+
+        $this->success(1,$info);
+    }
+
+    //提交报价
+    public function baojia(){
+
+    }
+    //审核报价
+    public function baojia_audit(){
+
+    }
+    //指派师傅
+    public function zhipai(){
+
+    }
+
+
+
+    public function edit(){
+        $id = input('id',0);
+        $info = Db::name($this->table)->where('id',$id)->where('company_id',$this->auth->company_id)->find();
+        if(empty($info)){
+            $this->error('没找到该信息,请刷新重试');
+        }
+
+        $data = [
+            'brand'      => input('brand',''),
+            'logo_image' => input('logo_image',''),
+            'typename'   => input('typename',''),
+            'name'       => input('name',''),
+            'password'   => input('password',''),
+        ];
+
+        Db::name($this->table)->where('id',$id)->update($data);
+
+        $this->success();
+    }
+
+
+
+
+
+
+}

+ 1 - 0
application/company/controller/Usercompany.php

@@ -104,6 +104,7 @@ class Usercompany extends Apic
 
         $data = [
             'projectname'      => input('projectname',''),
+            'projectaddress'   => input('projectaddress',''),
             'image'            => input('image',''),
             'starttime'        => input('starttime','','strtotime'),
             'endtime'          => input('endtime','','strtotime'),