_vali([ 'uuid.default'=>$this->uuid, 'imgs.require'=>'产品图片必须', 'start_time.require'=>'维修开始时间必须', 'end_time.require'=>'维修结束时间必须', 'province.require'=>'省必须', 'city.require'=>'市必须', 'area.require'=>'区、镇必须', 'address.require'=>'详细地址必须', 'describe.require'=>'故障描述必须', 'quick.require|in:1,2'=>'是否快修必须' ]); $id = input('id'); empty($id) ? $data['order_no'] = setorderno($this->uuid) : $data['update_at']=date('Y-m-d H:i:s'); if (empty($id) ? DataUserRepair::mk()->insert($data) : DataUserRepair::mk()->where('id',$id)->update($data)){ $this->success('成功'); } $this->error('失败'); } /** * @Title("快修单循环列表") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") */ public function quicklist(){ $list = DataUserRepair::mk() ->where('is_del',1) ->whereIn('status','1,2') ->where('quick',2) ->field('id,describe,uuid') ->with(['user'=>function($query){ $query->field('id,headimg'); }]) ->select(); $this->success('成功',$list); } /** * @Title("船机修理列表") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("type",type="string",require=1,default="",desc="1:全部2:快修3:普修") */ public function repairlist(){ $data = $this->_vali([ 'type.require|in:1,2,3'=>'type有误' ]); $type = $data['type']; $list = DataUserRepair::mk() ->where('is_del',1) ->whereIn('status','1,2') ->where(function ($query) use ($type){ switch ($type){ case 1: break; case 2: $query->where('quick',2); break; case 3: $query->where('quick',1); break; } }) ->with(['user'=>function($query){ $query->field('id,nickname,headimg'); },'offer'=>function($query){ $query->where('offer_id',$this->uuid); }]) ->order('id desc') ->paginate(); $this->success('成功',$list); } /** * @Title("船机修理详情") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("id",type="string",require=1,default="",desc="主键ID") */ public function repairdetail(){ $data = $this->_vali([ 'id.require'=>'id有误' ]); $info = DataUserRepair::mk() ->where('is_del',1) ->whereIn('status','1,2') ->where('id',$data['id']) ->with(['user'=>function($query){ $query->field('id,phone,headimg,username,nickname'); },'offer'=>function($query){ $query->where('offer_id',$this->uuid); }]) ->findOrEmpty(); $this->success('成功',$info); } /** * @Title("立即报价") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("id",type="string",require=1,default="",desc="主键ID") * @Param("price",type="string",require=0,default="",desc="报价金额") * @Param("imgs",type="string",require=1,default="",desc="图片及资质证明") */ public function repairoffer(){ $user = $this->getUser(); if (!$user['is_maintenance']) $this->error('不是维修工,无法报价'); $data = $this->_vali([ 'id.require'=>'id必须', 'price.default'=>'0' // 'imgs.require'=>'图片及资质证明必须' ]); if(input('price')){ $array['price'] = input('price'); }else{ DataUserRepairOffer::mk()->where(['repair_id'=>$data['id'],'offer_id'=>$this->uuid])->find()?$this->error('报价必须填写'):''; } DataUserRepair::mk() ->where('is_del',1) ->whereIn('status','1,2') ->where('id',$data['id']) ->count() ? : $this->error('订单不存在'); $userdata = DataUserRepair::mk()->where('id',$data['id'])->value('uuid'); if($user['id']==$userdata)$this->error('无法报价自己发的订单'); $array = [ 'repair_id'=>$data['id'], 'offer_id'=>$this->uuid, 'price'=>$data['price'] // 'imgs'=>$data['imgs'], ]; if (DataUserRepairOffer::mk()->insert($array) && DataUserRepair::mk()->where('id',$data['id'])->update(['status'=>2,'update_at'=>date('Y-m-d H:i:s')])){ $this->success('成功'); } $this->error('失败'); } /** * @Title("报价信息") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("id",type="string",require=1,default="",desc="主键ID") */ public function offerinfo(){ $data = $this->_vali([ 'id.require'=>'id必须' ]); $list = DataUserRepairOffer::mk() ->where('repair_id',118) ->where('offer_id',114) ->field('id,price') ->select(); foreach ($list as $k=>$v){ if($v['price'] == 0.00){ unset($list[$k]); } } $list = array_values($list->toArray()); $imgs = array_filter(explode(',',DataUserRepairOffer::mk()->where('repair_id',118) ->where('offer_id',114) //->where('price','>',0) ->order('id desc') ->limit(1) ->value('imgs'))); $this->success('成功',compact('list','imgs')); } /** * @Title("发布接单需求,修改接单需求") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("name",type="string",require=0,default="",desc="姓名") * @Param("company_name",type="string",require=1,default="",desc="所在单位") * @Param("business_img",type="string",require=1,default="",desc="营业执照") * @Param("id_card_zheng",type="string",require=1,default="",desc="身份证正面") * @Param("id_card_fan",type="string",require=1,default="",desc="身份证反面") * @Param("phone",type="string",require=1,default="",desc="手机号") * @Param("email",type="string",require=1,default="",desc="邮箱") * @Param("address",type="string",require=1,default="",desc="地址") * @Param("job_resume",type="string",require=1,default="",desc="工作简历") * @Param("specialty",type="string",require=1,default="",desc="特长") * @Param("province",type="string",require=1,default="",desc="定位-省") * @Param("city",type="string",require=1,default="",desc="定位-市") * @Param("area",type="string",require=1,default="",desc="定位-区") * @Param("hidden",type="string",require=0,default="1",desc="1:不隐藏 2:隐藏") * @Param("id",type="string",require=0,default="",desc="修改,则必传之前提交的ID") */ public function subacceptance() { $user = $this->getUser(); if (!$user['is_maintenance']) $this->error('不是维修工,发布接单需求'); $data = $this->_vali([ 'uuid.default'=>$this->uuid, 'name.require'=>'姓名必须', 'company_name.require'=>'所在单位必须', 'business_img.require'=>'营业执照必须', 'id_card_zheng.require'=>'身份证正面必须', 'id_card_fan.require'=>'身份证反面必须', 'phone.require'=>'手机号必须', 'email.require'=>'邮箱必须', 'address.require'=>'地址必须', 'job_resume.require'=>'工作简历必须', 'specialty.require'=>'特长必须', 'province.require'=>'定位省必须', 'city.require'=>'定位市必须', 'area.require'=>'定位区必须', 'hidden.default'=>'1' ]); $id = input('id'); empty($id) ? : $data['update_at']=date('Y-m-d H:i:s'); empty($id) ? DataUserAcceptance::mk()->where('uuid',$this->uuid)->value('id') : ''; if (empty($id) ? DataUserAcceptance::mk()->insert($data) : DataUserAcceptance::mk()->where('id',$id)->where('uuid',$this->uuid)->update($data)){ $this->success('成功'); } $this->error('失败'); } /** * @Title("维修工列表") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("keyword",type="string",require=0,default="",desc="关键词") */ public function acceptancelist(){ $data = $this->_vali([ 'keyword.default'=>'' ]); $keyword = $data['keyword']; $list = DataUserAcceptance::mk() ->where('hidden',1) ->when($keyword,function ($query) use ($keyword){ $query->whereLike('name|company_name|phone|email|address','%'.$keyword.'%'); }) ->with(['user'=>function($query){ $query->field('id,headimg'); }]) ->field('id,uuid,name,company_name,phone,province,city,area') ->order('id desc') ->paginate(); $this->success('成功',$list); } /** * @Title("维修工详情") * @Method("post") * @Header("api-name",type="string",require=1,default="",desc="访问类型") * @Header("api-token",type="string",require=1,default="",desc="token") * @Param("id",type="string",require=1,default="",desc="主键ID") */ public function acceptancedetail(){ $data = $this->_vali([ 'id.require'=>'id有误' ]); $info = DataUserAcceptance::mk() ->where('id',$data['id']) ->with(['user'=>function($query){ $query->field('id,headimg'); }]) ->findOrEmpty(); $this->success('成功',$info); } }