From d543c270001ac20e5b44e4734507eebc8546314f Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 25 Feb 2025 20:39:22 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=B7=A5=E4=BD=9C=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9F=A5=E7=9C=8B=E4=BB=85=E6=9C=AA=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/ReportController.php | 6 ++++++ .../pages/manage/components/ReportReceive.vue | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/app/Http/Controllers/Api/ReportController.php b/app/Http/Controllers/Api/ReportController.php index d036f51f2..0c29b6789 100755 --- a/app/Http/Controllers/Api/ReportController.php +++ b/app/Http/Controllers/Api/ReportController.php @@ -71,6 +71,7 @@ class ReportController extends AbstractController * @apiParam {Object} [keys] 搜索条件 * - keys.key: 关键词 * - keys.type: 汇报类型,weekly:周报,daily:日报 + * - keys.status: 状态,unread:未读,read:已读 * - keys.created_at: 汇报时间 * @apiParam {Number} [page] 当前页,默认:1 * @apiParam {Number} [pagesize] 每页显示数量,默认:20,最大:50 @@ -98,6 +99,11 @@ class ReportController extends AbstractController if (in_array($keys['type'], [Report::WEEKLY, Report::DAILY])) { $builder->whereType($keys['type']); } + if (in_array($keys['status'], ['unread', 'read'])) { + $builder->whereHas("receivesUser", function ($query) use ($user, $keys) { + $query->where("report_receives.userid", $user->userid)->where("report_receives.read", $keys['status'] === 'unread' ? 0 : 1); + }); + } if (is_array($keys['created_at'])) { if ($keys['created_at'][0] > 0) $builder->where('created_at', '>=', Base::newCarbon($keys['created_at'][0])->startOfDay()); if ($keys['created_at'][1] > 0) $builder->where('created_at', '<=', Base::newCarbon($keys['created_at'][1])->endOfDay()); diff --git a/resources/assets/js/pages/manage/components/ReportReceive.vue b/resources/assets/js/pages/manage/components/ReportReceive.vue index 7ed3b8b54..91a2ddc76 100644 --- a/resources/assets/js/pages/manage/components/ReportReceive.vue +++ b/resources/assets/js/pages/manage/components/ReportReceive.vue @@ -22,6 +22,18 @@ +
  • +
    + {{ $L("汇报状态") }} +
    +
    + +
    +
  • {{ $L("汇报时间") }} @@ -191,6 +203,12 @@ export default { {value: "weekly", label: this.$L('周报')}, {value: "daily", label: this.$L('日报')}, ], + + reportStatusList: [ + {value: "", label: this.$L('全部')}, + {value: "unread", label: this.$L('仅未读')}, + {value: "read", label: this.$L('仅已读')}, + ], } }, mounted() {