首页优化

This commit is contained in:
vilson 2020-08-30 17:19:14 +08:00
parent a5acbb0dee
commit aad0551649
4 changed files with 49 additions and 1 deletions

View File

@ -345,7 +345,7 @@ class Task extends CommonModel
throw new Exception('父任务已完成,无法重做子任务', 4);
}
if ($task['hasUnDone']) {
throw new Exception('子任务尚未全部完成,无法完成父任务', 5);
throw new Exception('子任务尚未全部完成,无法完成父任务', 55);
}
Db::startTrans();

View File

@ -4,6 +4,7 @@ namespace app\common\Model;
use service\FileService;
use service\RandomService;
use service\ToolsService;
use think\File;
/**
@ -100,6 +101,32 @@ class TaskStages extends CommonModel
return $list;
}
public function tasksTree($stageCode)
{
$taskModel = new Task();
$list1 = $taskModel->where('stage_code', $stageCode)->where('done', 0)->where('deleted', 0)->order('sort asc,end_time desc, id asc')->select()->toArray();
$list2 = $taskModel->where('stage_code', $stageCode)->where('done', 1)->where('deleted', 0)->order('sort asc,end_time desc, id asc')->select()->toArray();
$list = array_merge($list1, $list2);
if ($list) {
foreach ($list as $key => &$item) {
$item = $taskModel->read($item['code']);
if ($item) {
$item = $item->toArray();
} else {
$item = [];
}
if (empty($item['canRead'])) {
array_splice($list, $key, 1);
}
$item['type'] = 'task';
$item['tasks'] = [];
}
unset($item);
}
$list = ToolsService::arr2tree($list, 'code', 'pcode', 'tasks');
return $list;
}
/*public function tasks($stageCode, $deleted = 0, $done = -1)
{
$where = ['stage_code' => $stageCode, 'pcode' => '', 'deleted' => $deleted];

View File

@ -94,6 +94,9 @@ class Task extends BasicApi
$status = [0 => '普通', 1 => '紧急', 2 => '非常紧急'];
if ($list['list']) {
foreach ($list['list'] as &$task) {
$taskInfo = \app\common\Model\Task::get($task['id']);
$task['parentDone'] = $taskInfo['parentDone'];
$task['hasUnDone'] = $taskInfo['hasUnDone'];
$task['priText'] = $status[$task['pri']];
$task['executor'] = Member::where(['code' => $task['assign_to']])->field('name,avatar')->find();
$task['projectInfo'] = \app\common\Model\Project::where(['code' => $task['project_code']])->field('name,code')->find();

View File

@ -88,6 +88,24 @@ class TaskStages extends BasicApi
$this->success('', $list);
}
public function taskTree()
{
$where = [];
$code = Request::post('projectCode');
if (!$code) {
$this->error("请选择一个项目");
}
$where[] = ['project_code', '=', $code];
$list = $this->model->where($where)->select();
if ($list) {
foreach ($list as &$item) {
$item['type'] = 'stage';
$item['tasks'] = $this->model->tasksTree($item['code']);
}
}
$this->success('', $list);
}
public function sort(Request $request)
{
$data = $request::only('preCode,nextCode');