This commit is contained in:
mkm 2024-01-15 17:13:42 +08:00
parent b8e2a4d1dc
commit 028a06bf13
2 changed files with 44 additions and 15 deletions

View File

@ -46,6 +46,7 @@ class TaskStages extends CommonModel
if (is_array($stageCode)) { if (is_array($stageCode)) {
$taskModel = $taskModel->whereIn('t.stage_code', $stageCode); $taskModel = $taskModel->whereIn('t.stage_code', $stageCode);
} else { } else {
if (isset($data['type']) && $data['type'] != 'all')
$taskModel = $taskModel->where('t.stage_code', $stageCode); $taskModel = $taskModel->where('t.stage_code', $stageCode);
} }
if ($title) { if ($title) {
@ -74,8 +75,10 @@ class TaskStages extends CommonModel
$member = new MemberAccount(); $member = new MemberAccount();
$member_code = getCurrentMember()['code']; $member_code = getCurrentMember()['code'];
$find = $member->where('member_code', $member_code)->find(); $find = $member->where('member_code', $member_code)->find();
if(isset($data['type']) &&$data['type']=='copied_list'){ if (isset($data['type'])) {
if ($data['type'] == 'copied_list') {
$taskModel = $taskModel->whereRaw('find_in_set(:id,t.copied_list) ', ['id' => $member_code]); $taskModel = $taskModel->whereRaw('find_in_set(:id,t.copied_list) ', ['id' => $member_code]);
}
} else { } else {
if ($find && $find['is_liaison_man'] == 0) { if ($find && $find['is_liaison_man'] == 0) {
$joinTaskMember = true; $joinTaskMember = true;
@ -99,7 +102,7 @@ class TaskStages extends CommonModel
!$joinTaskMember && $taskModel->leftJoin('task_member tm', 't.code = tm.task_code'); !$joinTaskMember && $taskModel->leftJoin('task_member tm', 't.code = tm.task_code');
$taskModel = $taskModel->whereIn('tm.member_code', $joiner); $taskModel = $taskModel->whereIn('tm.member_code', $joiner);
} }
$list = $taskModel->order('t.create_time desc')->field('id', true)->select(); $list = $taskModel->order('t.create_time desc')->field('id', true)->page($data['page'], 10)->select();
if ($list) { if ($list) {
$taskMemberList = []; $taskMemberList = [];
foreach ($list as &$task) { foreach ($list as &$task) {
@ -113,6 +116,30 @@ class TaskStages extends CommonModel
$taskMemberList[$assign_to] = $task['executor']; $taskMemberList[$assign_to] = $task['executor'];
} }
} }
$task['exchange_info'] = [];
$arr = '';
if ($task['exchange_list'] && $task['transferred']) {
$arr = $task['exchange_list'] . ',' . $task['transferred'];
} elseif ($task['exchange_list']) {
$arr = $task['exchange_list'];
} elseif ($task['transferred']) {
$arr = $task['transferred'];
}
$arr = array_unique(explode(',', $arr));
$arr2 = explode(',', $task['copied_list']);
$task['exchange_info'] = MemberAccount::whereIn('member_code', $arr)->field('member_code,name,avatar')->select();
$task['copied_info'] = MemberAccount::whereIn('member_code', $arr2)->field('member_code,name,avatar')->select();
$endTime = strtotime($task['end_time']);
$createTime = strtotime($task['create_time']);
$task['timeout']=0;
$task['department_name']=Department::where('code',$task['department'])->value('name');
if ($endTime > $createTime) {
$timeDifference = abs($endTime - $createTime);
// 计算天数
$days = $timeDifference / 86400;
$task['timeout']=$days.'天';
}
} }
} }
return $list; return $list;

View File

@ -67,6 +67,7 @@ class TaskStages extends BasicApi
$where = []; $where = [];
$code = Request::post('stageCode'); $code = Request::post('stageCode');
$type = Request::post('type'); $type = Request::post('type');
$page = Request::post('page',1);
$done = Request::param('done', -1); $done = Request::param('done', -1);
$title = Request::param('title', ''); $title = Request::param('title', '');
$pri = json_decode(Request::post('pri', '')); $pri = json_decode(Request::post('pri', ''));
@ -84,6 +85,7 @@ class TaskStages extends BasicApi
} }
$where[] = ['stage_code', '=', $code]; $where[] = ['stage_code', '=', $code];
$data = ['type'=>$type]; $data = ['type'=>$type];
$data = ['page'=>$page];
$list = $this->model->tasks($code, 0, $done, $title, $pri, $executor, $creator, $joiner, $status, $endTime, $beginTime, $createTime, $doneTime,$data); $list = $this->model->tasks($code, 0, $done, $title, $pri, $executor, $creator, $joiner, $status, $endTime, $beginTime, $createTime, $doneTime,$data);
// $list = \app\common\Model\Task::alias('t')->join('member m','t.assign_to = m.code')->field()->where(['stage_code'=>$code])->select(); // $list = \app\common\Model\Task::alias('t')->join('member m','t.assign_to = m.code')->field()->where(['stage_code'=>$code])->select();