<?php // +---------------------------------------------------------------------- // | Description: 业绩目标设置及完成情况统计 // +---------------------------------------------------------------------- // | Author: yykun // +---------------------------------------------------------------------- namespace app\crm\controller; use app\admin\controller\ApiCommon; use app\crm\logic\AchievementLogic; use think\Hook; use think\Request; class Achievement extends ApiCommon { /** * 用于判断权限 * @permission 无限制 * @allow 登录用户可访问 * @other 其他根据系统设置 **/ public function _initialize() { $action = [ 'permission'=>[''], 'allow'=>['index','indexforuser','save','read','update','delete'] ]; Hook::listen('check_auth',$action); $request = Request::instance(); $a = strtolower($request->action()); if (!in_array($a, $action['permission'])) { parent::_initialize(); } $userInfo = $this->userInfo; //权限判断 $unAction = ['']; if (!in_array($a, $unAction) && !checkPerByAction('admin', 'crm', 'achievement')) { header('Content-Type:application/json; charset=utf-8'); exit(json_encode(['code'=>102,'error'=>'无权操作'])); } } /** * 业绩目标列表 * @author yykun * @return */ public function index(AchievementLogic $achievementLogic) { // $model = model('Achievement'); // $param = $this->param; // $data = $model->getDataList($param); // return resultArray(['data' => $data]); if (empty($this->param['year'])) return resultArray(['error' => '请选择年份!']); if (empty($this->param['type'])) return resultArray(['error' => '请选择业绩类型']); if (empty($this->param['structure_id'])) return resultArray(['error' => '请选择部门或员工!']); $data = $achievementLogic->getDepartmentList($this->param); return resultArray(['data' => $data]); } //员工业绩目标列表 public function indexForuser(AchievementLogic $achievementLogic) { // $model = model('Achievement'); // $param = $this->param; // $data = $model->getDataListForUser($param); // return resultArray(['data' => $data]); if (empty($this->param['year'])) return resultArray(['error' => '请选择年份!']); if (empty($this->param['type'])) return resultArray(['error' => '请选择业绩类型']); if (empty($this->param['structure_id']) && empty($this->param['user_id'])) { return resultArray(['error' => '请选择部门或员工!']); } $data = $achievementLogic->getEmployeeList($this->param); return resultArray(['data' => $data]); } /** * 添加 * @author yykun * @param * @return */ public function save() { $model = model('Achievement'); $param = $this->param; $userInfo = $this->userInfo; if ($model->createData($param)) { return resultArray(['data' => '添加成功']); } else { return resultArray(['error' => $model->getError()]); } } /** * 详情 * @author yykun * @param * @return */ public function read() { $model = model('Achievement'); $param = $this->param; $data = $model->getDataById($param['id']); if (!$data) { return resultArray(['error' => $model->getError()]); } else { return resultArray(['data' => $data]); } } /** * 编辑信息 * @author yykun * @param * @return */ public function update() { $model = model('Achievement'); $param = $this->param; if ($model->updateData($param)) { return resultArray(['data' => '编辑成功']); } else { return resultArray(['error' => $model->getError()]); } } /** * 删除 * * @return \think\response\Json * @throws \think\Exception * @throws \think\exception\PDOException */ public function delete() { if (empty($this->param['achievement_id'])) return resultArray(['error' => '参数错误!']); $model = new \app\crm\model\Achievement(); if (!$model->delete($this->param['achievement_id'])) return resultArray(['error' => '操作失败!']); return resultArray(['data' => '操作成功!']); } }