|
@@ -8,6 +8,8 @@ use think\exception\DbException;
|
|
|
use think\exception\PDOException;
|
|
|
use think\exception\ValidateException;
|
|
|
use Exception;
|
|
|
+
|
|
|
+use app\common\model\Maintain as Maintainmodel;
|
|
|
/**
|
|
|
* 维修单
|
|
|
*
|
|
@@ -179,4 +181,131 @@ class Maintain extends Backend
|
|
|
$this->success();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查看导出
|
|
|
+ */
|
|
|
+ public function showinfo(){
|
|
|
+ $id = input('id',0);
|
|
|
+
|
|
|
+ $info = Db::name('maintain')->alias('mt')
|
|
|
+ ->join('user_company uc','mt.uc_id = uc.id','LEFT')
|
|
|
+ ->join('user','mt.user_id = user.id','LEFT')
|
|
|
+ ->join('worker','mt.worker_id = worker.id','LEFT')
|
|
|
+ ->join('company','mt.company_id = company.id','LEFT')
|
|
|
+ ->field('mt.*,uc.projectname,uc.header,uc.header_mobile,uc.projectaddress,user.nickname as user_nickname,user.mobile as user_mobile,worker.truename as worker_truename,worker.mobile as worker_mobile,company.companyname')
|
|
|
+ ->where('mt.id',$id)
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ $maintain_model = new Maintainmodel();
|
|
|
+ $info['status_text'] = $maintain_model->status_data($info['status']);
|
|
|
+
|
|
|
+ //pc用户,已流转订单,直接显示流转中
|
|
|
+ if($info['company_id'] != 1 && in_array($info['status'],[0,20,22,30,40]) && $info['liuzhuan_status'] == 1){
|
|
|
+ $info['status_text'] = '流转中';
|
|
|
+ }
|
|
|
+
|
|
|
+ $info['status_colorType'] = $maintain_model->status_colorType($info['status']);
|
|
|
+
|
|
|
+ //假状态
|
|
|
+ $info['fake_status'] = $this->fake_status($info['status']);
|
|
|
+ $info['fake_status_text'] = $this->fake_status_data($info['status']);
|
|
|
+
|
|
|
+ $info['filedata'] = json_decode($info['filedata'],true);
|
|
|
+
|
|
|
+ //追加报价历史
|
|
|
+ $baojia = Db::name('maintain_baojia')->alias('bj')
|
|
|
+ ->field('bj.*,admin.nickname as baojia_nickname,audit.nickname as baojia_audit_nickname')
|
|
|
+ ->join('pc_admin admin','bj.baojia_staffid = admin.id','LEFT')
|
|
|
+ ->join('pc_admin audit','bj.baojia_audit_staffid = audit.id','LEFT')
|
|
|
+ ->where('order_id',$id)->order('id desc')->select();
|
|
|
+ if(!empty($baojia)){
|
|
|
+ foreach($baojia as $key => $val){
|
|
|
+ $baojia[$key]['status_text'] = $maintain_model->baojia_status_data($val['status']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $info['baojia_list'] = $baojia;
|
|
|
+
|
|
|
+ //追加材料列表
|
|
|
+ $info['cailiao_list'] = Db::name('maintain_cailiao')->field('id,name,number,danwei,images')->where('order_id',$id)->order('id desc')->select();
|
|
|
+
|
|
|
+ //追加多次维修+对应进度历史
|
|
|
+ $last_jindulist = [];
|
|
|
+ $new_jindulist = [];
|
|
|
+ $jindu_list = Db::name('maintain_jindu')->alias('jd')
|
|
|
+ ->join('worker','jd.worker_id = worker.id','LEFT')
|
|
|
+ ->field('jd.id,jd.worker_id,jd.weixiu_times,jd.title,jd.images,jd.createtime,worker.avatar,worker.truename')
|
|
|
+ ->where('jd.order_id',$id)
|
|
|
+ ->order('jd.id desc')->select();
|
|
|
+ if(!empty($jindu_list)){
|
|
|
+ for($i=$jindu_list[0]['weixiu_times'];$i>=1;$i--){
|
|
|
+ foreach($jindu_list as $key => $val){
|
|
|
+ if($i == $val['weixiu_times']){
|
|
|
+ $new_jindulist[$i][] = $val;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ foreach($new_jindulist as $key => $val){
|
|
|
+ $last_jindulist[] = [
|
|
|
+ 'title' => '第'.$val[0]['weixiu_times'].'次',
|
|
|
+ 'child' => $val
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $info['jindu'] = $last_jindulist;
|
|
|
+
|
|
|
+ $this->view->assign('info', $info);
|
|
|
+// dump($info);exit;
|
|
|
+ $this->view->engine->layout(false);
|
|
|
+ return $this->view->fetch();
|
|
|
+ }
|
|
|
+
|
|
|
+ //整合过的状态
|
|
|
+ private function fake_status_data($status){
|
|
|
+ $data = [
|
|
|
+ 0 => '待报价',
|
|
|
+ 2 => '已取消',
|
|
|
+
|
|
|
+ 20 => '评估报价',
|
|
|
+ 22 => '评估报价',
|
|
|
+
|
|
|
+ 30 => '用户待确认',
|
|
|
+ 40 => '待处理',
|
|
|
+ 50 => '待处理',
|
|
|
+ 60 => '待处理',
|
|
|
+ 70 => '待处理',
|
|
|
+
|
|
|
+ 80 => '待处理',
|
|
|
+ 90 => '待处理',
|
|
|
+ 92 => '待处理',
|
|
|
+
|
|
|
+ 100 => '已完成',
|
|
|
+ ];
|
|
|
+
|
|
|
+ return isset($data[$status]) ? $data[$status] : $status;
|
|
|
+ }
|
|
|
+ //整合过的状态
|
|
|
+ private function fake_status($status){
|
|
|
+ $data = [
|
|
|
+ 0 => 0,
|
|
|
+ 2 => 2,
|
|
|
+
|
|
|
+ 20 => 20,
|
|
|
+ 22 => 20,
|
|
|
+
|
|
|
+ 30 => 30,
|
|
|
+ 40 => 40,
|
|
|
+ 50 => 40,
|
|
|
+ 60 => 40,
|
|
|
+ 70 => 40,
|
|
|
+
|
|
|
+ 80 => 40,
|
|
|
+ 90 => 40,
|
|
|
+ 92 => 40,
|
|
|
+
|
|
|
+ 100 => 100,
|
|
|
+ ];
|
|
|
+
|
|
|
+ return isset($data[$status]) ? $data[$status] : $status;
|
|
|
+ }
|
|
|
+
|
|
|
}
|