error('开始时间或结束时间不能为空'); } if ($end_day < $start_day) { $this->error('开始时间不能小于结束时间'); } $this->success('请求成功', EventModel::getTimeList($start_day, $end_day)); } //添加日程 public function addEvent() { $params = $this->request->post(); // 表单验证 if (($result = $this->qingdongValidate($params, get_class(), 'create')) !== true) { $this->error($result); } Db::startTrans(); try { $params['type'] = 1;//日程 $result = EventModel::createEvent($params); Db::commit(); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } if ($result) { $this->success('添加日程成功'); } } //变更状态 public function changeStatus() { $id = input('id'); $status = input('status', 0); if (empty($id)) { $this->error('参数错误'); } Db::startTrans(); try { EventModel::changeStatus($id, $status); Db::commit(); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success('变更成功'); } // public function getList() { $relation_type = input('relation_type', '', 'intval');// 1客户 2联系人 3合同 4线索 $relation_id = input('relation_id', '', 'intval'); $limit = input("limit/d", 10); $where = []; $where['relation_type'] = $relation_type; $where['relation_id'] = $relation_id; $where['staff_id'] = $this->auth->id; $records = EventModel::where($where)->with(['staff'])->field('id,staff_id,type,title,start_time,end_time,status,auto_end,level,remindtype,remark,color,createtime')->order('id desc')->paginate($limit); $this->success('请求成功', $records); } //添加签到 public function addSign() { $params = $this->request->post(); $location = input('location'); $lng = input('lng'); $lat = input('lat'); $files = input('file_ids'); $customer_id = input('customer_id'); $content = input('content'); if (empty($lng) || empty($lat)) { $this->error('地理位置不能为空'); } //自定义字段 $other = []; foreach ($params as $name => $val) { if (strstr( $name,'other_') !== false) { if(is_array($val)){ $other[$name] = implode(',',$val); }else{ $other[$name] = $val; } unset($params[$name]); } } $data = [ 'location' => $location, 'lng' => $lng, 'lat' => $lat, 'file_ids' => $files, 'customer_id' => $customer_id, 'staff_id' => $this->auth->id, 'other' => json_encode($other, JSON_UNESCAPED_UNICODE) ]; $model = new StaffSignIn(); if ($result = $model->save($data)) { $lastId = $model->getLastInsID(); //通知上级 Message::addMessage(Message::SIGN_TYPE, $lastId, $this->auth->parent_id, $this->auth->id); $this->success('签到成功'); } $this->error('签到失败'); } //获取签到信息 public function getSign() { $customer_id = input('customer_id', 0, 'intval'); $limit = input("limit/d", 10); $where = []; $type = input('type', 0);// 0 全部 1 我创建 2 下属创建 if ($type == 1) {//我的客户 $where['staff_id'] = $this->auth->id; } elseif ($type == 2) {//下属负责的客户 $where['staff_id'] = ['in', Staff::getLowerStaffId()]; }else{ $where['staff_id'] = ['in', Staff::getMyStaffIds()]; } if ($customer_id) { $where['customer_id'] = $customer_id; } $staffSign = StaffSignIn::where($where)->with(['staff', 'customer']) ->order('id desc')->paginate($limit); //标记通知已读 Message::setRead(Message::SIGN_TYPE,0, $this->auth->id); $this->success('请求成功', $staffSign); } /** * 获取签到详情 */ public function getSignDetail(){ $id = input('id', 0, 'intval'); $staffSign = StaffSignIn::where(['id'=>$id])->with(['staff', 'customer'])->find(); if(empty($staffSign)){ $this->error('数据不存在'); } if($staffSign['other']){ $other = json_decode($staffSign['other'],true); $form = Form::getDataValue('signin'); foreach($form as $k=>$v){ if($v['component'] == 'uploadImage' || $v['component'] == 'uploadFile'){ $other[$v['id'].'_str'] = ''; if(key_exists($v['id'],$other)){ if(isset($other[$v['id']]) && $other[$v['id']]){ $whereT['id'] = array('in',$other[$v['id']]); $fileinfo = File::where($whereT)->field('id,name,file_path,save_name')->select(); if($fileinfo){ $other[$v['id']] = $fileinfo; $fileinfodata = ''; foreach($fileinfo as $kss=>$vss){ $fileinfodata = $vss['save_name'].','.$fileinfodata; } $other[$v['id'].'_str'] = rtrim($fileinfodata,','); } } } } } $staffSign['other'] = $other; } $this->success('请求成功',$staffSign); } }