From a051e4136fbbd75c91788faca331ac7c51efe277 Mon Sep 17 00:00:00 2001 From: zhuyu Date: Sat, 22 Mar 2025 18:47:00 +0800 Subject: [PATCH] feature: task --- application/admin/controller/oa/Schedule.php | 34 ++++++++++ application/admin/controller/oa/Task.php | 34 ++++++++++ application/admin/lang/zh-cn/oa/schedule.php | 35 +++++++--- application/admin/lang/zh-cn/oa/task.php | 71 ++++++++++++-------- application/admin/model/oa/Schedule.php | 4 ++ application/admin/model/oa/Task.php | 4 ++ application/admin/view/oa/schedule/add.html | 2 +- application/admin/view/oa/schedule/edit.html | 2 +- application/admin/view/oa/task/add.html | 2 +- application/admin/view/oa/task/edit.html | 2 +- public/assets/js/backend/oa/schedule.js | 15 +++++ public/assets/js/backend/oa/task.js | 15 +++++ 12 files changed, 178 insertions(+), 42 deletions(-) diff --git a/application/admin/controller/oa/Schedule.php b/application/admin/controller/oa/Schedule.php index c510701..eaf62e1 100644 --- a/application/admin/controller/oa/Schedule.php +++ b/application/admin/controller/oa/Schedule.php @@ -34,4 +34,38 @@ class Schedule extends Backend */ + /** + * 查看 + */ + public function index() + { + //当前是否为关联查询 + $this->relationSearch = true; + //设置过滤方法 + $this->request->filter(['strip_tags', 'trim']); + if ($this->request->isAjax()) { + //如果发送的来源是Selectpage,则转发到Selectpage + if ($this->request->request('keyField')) { + return $this->selectpage(); + } + list($where, $sort, $order, $offset, $limit) = $this->buildparams(); + + $list = $this->model + ->with(['admin']) + ->where($where) + ->order($sort, $order) + ->paginate($limit); + + foreach ($list as $row) { + + + } + + $result = array("total" => $list->total(), "rows" => $list->items()); + + return json($result); + } + return $this->view->fetch(); + } + } diff --git a/application/admin/controller/oa/Task.php b/application/admin/controller/oa/Task.php index 57808fc..7ed0e46 100644 --- a/application/admin/controller/oa/Task.php +++ b/application/admin/controller/oa/Task.php @@ -35,4 +35,38 @@ class Task extends Backend */ + /** + * 查看 + */ + public function index() + { + //当前是否为关联查询 + $this->relationSearch = true; + //设置过滤方法 + $this->request->filter(['strip_tags', 'trim']); + if ($this->request->isAjax()) { + //如果发送的来源是Selectpage,则转发到Selectpage + if ($this->request->request('keyField')) { + return $this->selectpage(); + } + list($where, $sort, $order, $offset, $limit) = $this->buildparams(); + + $list = $this->model + ->with(['admin']) + ->where($where) + ->order($sort, $order) + ->paginate($limit); + + foreach ($list as $row) { + + + } + + $result = array("total" => $list->total(), "rows" => $list->items()); + + return json($result); + } + return $this->view->fetch(); + } + } diff --git a/application/admin/lang/zh-cn/oa/schedule.php b/application/admin/lang/zh-cn/oa/schedule.php index f3b2b83..74d25ab 100644 --- a/application/admin/lang/zh-cn/oa/schedule.php +++ b/application/admin/lang/zh-cn/oa/schedule.php @@ -1,14 +1,29 @@ 'ID', - 'Admin_id' => '创建人ID', - 'Exec_admin_id' => '执行人ID', - 'Type' => '任务类型', - 'Type 1' => '早班', - 'Type 2' => '中班', - 'Type 3' => '晚班', - 'Date' => '日期', - 'Create_time' => '创建时间', - 'Update_time' => '编辑时间' + 'Id' => 'ID', + 'Admin_id' => '创建人ID', + 'Exec_admin_id' => '执行人ID', + 'Type' => '任务类型', + 'Type 1' => '早班', + 'Type 2' => '中班', + 'Type 3' => '晚班', + 'Date' => '日期', + 'Create_time' => '创建时间', + 'Update_time' => '编辑时间', + 'Admin.id' => 'ID', + 'Admin.username' => '用户名', + 'Admin.nickname' => '昵称', + 'Admin.password' => '密码', + 'Admin.salt' => '密码盐', + 'Admin.avatar' => '头像', + 'Admin.email' => '电子邮箱', + 'Admin.mobile' => '手机号码', + 'Admin.loginfailure' => '失败次数', + 'Admin.logintime' => '登录时间', + 'Admin.loginip' => '登录IP', + 'Admin.createtime' => '创建时间', + 'Admin.updatetime' => '更新时间', + 'Admin.token' => 'Session标识', + 'Admin.status' => '状态' ]; diff --git a/application/admin/lang/zh-cn/oa/task.php b/application/admin/lang/zh-cn/oa/task.php index f30d68f..08c8b86 100644 --- a/application/admin/lang/zh-cn/oa/task.php +++ b/application/admin/lang/zh-cn/oa/task.php @@ -1,32 +1,47 @@ 'ID', - 'Admin_id' => '创建人id', - 'Exec_admin_id' => '执行人id', - 'Type' => '任务类型', - 'Type 1' => '每日任务', - 'Type 2' => '每周任务', - 'Type 3' => '每月任务', - 'Title' => '任务标题', - 'Desc' => '任务描述', - 'Status' => '状态', - 'Status 1' => '待完成', - 'Set status to 1' => '设为待完成', - 'Status 2' => '已完成', - 'Set status to 2' => '设为已完成', - 'Status 3' => '待审核', - 'Set status to 3' => '设为待审核', - 'Status 4' => '已通过', - 'Set status to 4' => '设为已通过', - 'Status 5' => '已驳回', - 'Set status to 5' => '设为已驳回', - 'Status 6' => '未执行', - 'Set status to 6' => '设为未执行', - 'Refuse_reason' => '驳回原因', - 'Expire_start_time' => '有效期开始时间', - 'Expire_end_time' => '有效期结束时间', - 'Complete_time' => '完成时间', - 'Create_time' => '创建时间', - 'Update_time' => '编辑时间' + 'Id' => 'ID', + 'Admin_id' => '创建人id', + 'Exec_admin_id' => '执行人id', + 'Type' => '任务类型', + 'Type 1' => '每日任务', + 'Type 2' => '每周任务', + 'Type 3' => '每月任务', + 'Title' => '任务标题', + 'Desc' => '任务描述', + 'Status' => '状态', + 'Status 1' => '待完成', + 'Set status to 1' => '设为待完成', + 'Status 2' => '已完成', + 'Set status to 2' => '设为已完成', + 'Status 3' => '待审核', + 'Set status to 3' => '设为待审核', + 'Status 4' => '已通过', + 'Set status to 4' => '设为已通过', + 'Status 5' => '已驳回', + 'Set status to 5' => '设为已驳回', + 'Status 6' => '未执行', + 'Set status to 6' => '设为未执行', + 'Refuse_reason' => '驳回原因', + 'Expire_start_time' => '有效期开始时间', + 'Expire_end_time' => '有效期结束时间', + 'Complete_time' => '完成时间', + 'Create_time' => '创建时间', + 'Update_time' => '编辑时间', + 'Admin.id' => 'ID', + 'Admin.username' => '用户名', + 'Admin.nickname' => '昵称', + 'Admin.password' => '密码', + 'Admin.salt' => '密码盐', + 'Admin.avatar' => '头像', + 'Admin.email' => '电子邮箱', + 'Admin.mobile' => '手机号码', + 'Admin.loginfailure' => '失败次数', + 'Admin.logintime' => '登录时间', + 'Admin.loginip' => '登录IP', + 'Admin.createtime' => '创建时间', + 'Admin.updatetime' => '更新时间', + 'Admin.token' => 'Session标识', + 'Admin.status' => '状态' ]; diff --git a/application/admin/model/oa/Schedule.php b/application/admin/model/oa/Schedule.php index 9776bca..e01e4fb 100644 --- a/application/admin/model/oa/Schedule.php +++ b/application/admin/model/oa/Schedule.php @@ -46,4 +46,8 @@ class Schedule extends Model + public function admin() + { + return $this->belongsTo('app\admin\model\Admin', 'exec_admin_id', 'id', [], 'LEFT')->setEagerlyType(0); + } } diff --git a/application/admin/model/oa/Task.php b/application/admin/model/oa/Task.php index 12aa218..43fa03e 100644 --- a/application/admin/model/oa/Task.php +++ b/application/admin/model/oa/Task.php @@ -60,4 +60,8 @@ class Task extends Model + public function admin() + { + return $this->belongsTo('app\admin\model\Admin', 'exec_admin_id', 'id', [], 'LEFT')->setEagerlyType(0); + } } diff --git a/application/admin/view/oa/schedule/add.html b/application/admin/view/oa/schedule/add.html index 16931b5..c3f9af5 100644 --- a/application/admin/view/oa/schedule/add.html +++ b/application/admin/view/oa/schedule/add.html @@ -3,7 +3,7 @@
- +
diff --git a/application/admin/view/oa/schedule/edit.html b/application/admin/view/oa/schedule/edit.html index 4a3dbf1..60590d8 100644 --- a/application/admin/view/oa/schedule/edit.html +++ b/application/admin/view/oa/schedule/edit.html @@ -3,7 +3,7 @@
- +
diff --git a/application/admin/view/oa/task/add.html b/application/admin/view/oa/task/add.html index 235e8ee..175f2ee 100644 --- a/application/admin/view/oa/task/add.html +++ b/application/admin/view/oa/task/add.html @@ -3,7 +3,7 @@
- +
diff --git a/application/admin/view/oa/task/edit.html b/application/admin/view/oa/task/edit.html index e18bc31..241c86b 100644 --- a/application/admin/view/oa/task/edit.html +++ b/application/admin/view/oa/task/edit.html @@ -3,7 +3,7 @@
- +
diff --git a/public/assets/js/backend/oa/schedule.js b/public/assets/js/backend/oa/schedule.js index c8f239f..989db7b 100644 --- a/public/assets/js/backend/oa/schedule.js +++ b/public/assets/js/backend/oa/schedule.js @@ -32,6 +32,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin {field: 'date', title: __('Date'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, + {field: 'admin.id', title: __('Admin.id')}, + {field: 'admin.username', title: __('Admin.username'), operate: 'LIKE'}, + {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'}, + {field: 'admin.password', title: __('Admin.password'), operate: 'LIKE'}, + {field: 'admin.salt', title: __('Admin.salt'), operate: 'LIKE'}, + {field: 'admin.avatar', title: __('Admin.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image}, + {field: 'admin.email', title: __('Admin.email'), operate: 'LIKE'}, + {field: 'admin.mobile', title: __('Admin.mobile'), operate: 'LIKE'}, + {field: 'admin.loginfailure', title: __('Admin.loginfailure')}, + {field: 'admin.logintime', title: __('Admin.logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.loginip', title: __('Admin.loginip'), operate: 'LIKE'}, + {field: 'admin.createtime', title: __('Admin.createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.updatetime', title: __('Admin.updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.token', title: __('Admin.token'), operate: 'LIKE'}, + {field: 'admin.status', title: __('Admin.status'), operate: 'LIKE', formatter: Table.api.formatter.status}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] diff --git a/public/assets/js/backend/oa/task.js b/public/assets/js/backend/oa/task.js index ddda30e..20e3918 100644 --- a/public/assets/js/backend/oa/task.js +++ b/public/assets/js/backend/oa/task.js @@ -40,6 +40,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin {field: 'complete_time', title: __('Complete_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false}, + {field: 'admin.id', title: __('Admin.id')}, + {field: 'admin.username', title: __('Admin.username'), operate: 'LIKE'}, + {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'}, + {field: 'admin.password', title: __('Admin.password'), operate: 'LIKE'}, + {field: 'admin.salt', title: __('Admin.salt'), operate: 'LIKE'}, + {field: 'admin.avatar', title: __('Admin.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image}, + {field: 'admin.email', title: __('Admin.email'), operate: 'LIKE'}, + {field: 'admin.mobile', title: __('Admin.mobile'), operate: 'LIKE'}, + {field: 'admin.loginfailure', title: __('Admin.loginfailure')}, + {field: 'admin.logintime', title: __('Admin.logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.loginip', title: __('Admin.loginip'), operate: 'LIKE'}, + {field: 'admin.createtime', title: __('Admin.createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.updatetime', title: __('Admin.updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, + {field: 'admin.token', title: __('Admin.token'), operate: 'LIKE'}, + {field: 'admin.status', title: __('Admin.status'), operate: 'LIKE', formatter: Table.api.formatter.status}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ]