修复任务bug

This commit is contained in:
李志强 2026-02-12 17:21:23 +08:00
parent 63e6365337
commit 1a74cc8d25
3 changed files with 40 additions and 42 deletions

View File

@ -39,18 +39,9 @@ class Task extends Model
function list($param)
{
$where = array();
$map1 = [];
$map2 = [];
$map3 = [];
$map4 = [];
if (!empty($param['project_id'])) {
$where[] = ['project_id', '=', $param['project_id']];
} else {
$project_ids = Db::name('ProjectUser')->where(['uid' => $param['uid'], 'delete_time' => 0])->column('project_id');
$map1[] = ['admin_id', '=', $param['uid']];
$map2[] = ['director_uid', '=', $param['uid']];
$map3[] = ['', 'exp', Db::raw("FIND_IN_SET({$param['uid']},assist_admin_ids)")];
$map4[] = ['project_id', 'in', $project_ids];
}
if (!empty($param['admin_id'])) {
$where[] = ['admin_id', '=', $param['admin_id']];
@ -82,11 +73,9 @@ class Task extends Model
$where[] = ['delete_time', '=', 0];
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
$list = Db::name('Task')->where(function ($query) use ($map1, $map2, $map3, $map4) {
$query->where($map1)->whereor($map2)->whereor($map3)->whereor($map4);
})->where($where)
$list = Db::name('Task')->where($where)
->withoutField('content,md_content')
->orderRaw("FIELD(flow_status, 6, 1, 2, 4, 5, 3)")
// ->orderRaw("FIELD(flow_status, 6, 1, 2, 4, 5, 3)")
->order('id', 'desc')
->paginate($rows, false, ['query' => $param])
->each(function ($item, $key) {
@ -115,6 +104,7 @@ class Task extends Model
$item['assist_admin_names'] = implode(',', $assist_admin_names);
}
$item['end_time'] = date('Y-m-d', $item['end_time']);
$item['create_time'] = date('Y-m-d H:i:s', $item['create_time']);
$item['delay'] = 0;
if ($item['over_time'] > 0 && $item['flow_status'] < 4) {
$item['delay'] = countDays($item['end_time'], date('Y-m-d', $item['over_time']));

View File

@ -22,7 +22,10 @@ class Index extends BaseController
{
if (request()->isAjax()) {
$param = get_params();
$param['uid'] = $this->uid;
// 检查是否需要显示所有任务
if (!isset($param['show_all']) || $param['show_all'] != 1) {
$param['uid'] = $this->uid;
}
$list = (new TaskList())->list($param);
return table_assign(0, '', $list);
} else {
@ -276,34 +279,30 @@ class Index extends BaseController
if (in_array($this->uid, $role_uid)) {
$role_edit = 'edit';
}
$project_ids = Db::name('ProjectUser')->where(['uid' => $this->uid, 'delete_time' => 0])->column('project_id');
if (in_array($detail['project_id'], $project_ids) || in_array($this->uid, $role_uid) || in_array($this->uid, explode(",", $detail['assist_admin_ids']))) {
$file_array = Db::name('FileInterfix')
->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,a.name as admin_name')
->alias('mf')
->join('File f', 'mf.file_id = f.id', 'LEFT')
->join('Admin a', 'mf.admin_id = a.id', 'LEFT')
->order('mf.create_time desc')
->where(array('mf.topic_id' => $id, 'mf.module' => 'task'))
->select()->toArray();
$file_array = Db::name('FileInterfix')
->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,a.name as admin_name')
->alias('mf')
->join('File f', 'mf.file_id = f.id', 'LEFT')
->join('Admin a', 'mf.admin_id = a.id', 'LEFT')
->order('mf.create_time desc')
->where(array('mf.topic_id' => $id, 'mf.module' => 'task'))
->select()->toArray();
$link_array = Db::name('LinkInterfix')
->field('i.id,i.topic_id,i.admin_id,i.desc,i.url,a.name as admin_name')
->alias('i')
->join('Admin a', 'i.admin_id = a.id', 'LEFT')
->order('i.create_time desc')
->where(array('i.topic_id' => $id, 'i.module' => 'task', 'delete_time' => 0))
->select()->toArray();
$link_array = Db::name('LinkInterfix')
->field('i.id,i.topic_id,i.admin_id,i.desc,i.url,a.name as admin_name')
->alias('i')
->join('Admin a', 'i.admin_id = a.id', 'LEFT')
->order('i.create_time desc')
->where(array('i.topic_id' => $id, 'i.module' => 'task', 'delete_time' => 0))
->select()->toArray();
View::assign('detail', $detail);
View::assign('file_array', $file_array);
View::assign('link_array', $link_array);
View::assign('role_edit', $role_edit);
View::assign('id', $id);
return view();
} else {
return to_assign(1, '您没权限查看该任务');
}
View::assign('detail', $detail);
View::assign('file_array', $file_array);
View::assign('link_array', $link_array);
View::assign('role_edit', $role_edit);
View::assign('id', $id);
return view();
}
}

View File

@ -5,6 +5,10 @@
.layui-unselect dl {
max-height: 188px;
}
.layui-table-cell{
display: grid;
align-items: center;
}
</style>
{/block} {block name="breadcrumb"}
<span class="layui-breadcrumb">
@ -98,7 +102,7 @@
<button type="reset" class="layui-btn layui-btn-primary layui-border-blue" lay-filter="clear">
重置
</button>
<button type="reset" class="layui-btn" lay-filter="onlyme">只看我</button>
<button type="reset" class="layui-btn" lay-filter="onlyme">指派我的</button>
<input id="loginusers" type="hidden" value="{$user_info.id}" />
</form>
</div>
@ -277,6 +281,11 @@
title: "指派负责人",
width: 140,
},
{
field: "create_time",
title: "创建时间",
width: 180,
},
// { field: "assist_admin_names", title: "协作人", width: 200 },
// { field: "cate_name", title: "工作类型", width: 90, align: "center" },
// {