优化前端代码

This commit is contained in:
kuaifan 2022-01-21 14:21:48 +08:00
parent c4fed86f1e
commit 511c19d5aa
10 changed files with 34 additions and 43 deletions

View File

@ -42,7 +42,7 @@ class ReportController extends AbstractController
{ {
$user = User::auth(); $user = User::auth();
// 搜索当前用户 // 搜索当前用户
$builder = Report::query()->whereUserid($user->userid); $builder = Report::with(['receivesUser'])->whereUserid($user->userid);
$type = trim(Request::input('type')); $type = trim(Request::input('type'));
$createAt = Request::input('created_at'); $createAt = Request::input('created_at');
in_array($type, [Report::WEEKLY, Report::DAILY]) && $builder->whereType($type); in_array($type, [Report::WEEKLY, Report::DAILY]) && $builder->whereType($type);
@ -52,13 +52,6 @@ class ReportController extends AbstractController
if ($createAt[1] > 0) $whereArray[] = ['created_at', '<=', date('Y-m-d H:i:s', Base::dayTimeE($createAt[1]))]; if ($createAt[1] > 0) $whereArray[] = ['created_at', '<=', date('Y-m-d H:i:s', Base::dayTimeE($createAt[1]))];
} }
$list = $builder->where($whereArray)->orderByDesc('created_at')->paginate(Base::getPaginate(50, 20)); $list = $builder->where($whereArray)->orderByDesc('created_at')->paginate(Base::getPaginate(50, 20));
if ($list->items()) {
foreach ($list->items() as $item) {
$item->receivesUser;
$item->receives = empty($item->receivesUser) ? [] : array_column($item->receivesUser->toArray(), "userid");
}
}
return Base::retSuccess('success', $list); return Base::retSuccess('success', $list);
} }
@ -82,7 +75,7 @@ class ReportController extends AbstractController
public function receive(): array public function receive(): array
{ {
$user = User::auth(); $user = User::auth();
$builder = Report::query(); $builder = Report::with(['receivesUser']);
$builder->whereHas("receivesUser", function ($query) use ($user) { $builder->whereHas("receivesUser", function ($query) use ($user) {
$query->where("report_receives.userid", $user->userid); $query->where("report_receives.userid", $user->userid);
}); });
@ -103,9 +96,7 @@ class ReportController extends AbstractController
$list = $builder->where($whereArray)->orderByDesc('created_at')->paginate(Base::getPaginate(50, 20)); $list = $builder->where($whereArray)->orderByDesc('created_at')->paginate(Base::getPaginate(50, 20));
if ($list->items()) { if ($list->items()) {
foreach ($list->items() as $item) { foreach ($list->items() as $item) {
$item["receive_time"] = ReportReceive::query()->whereRid($item["id"])->whereUserid($user->userid)->value("receive_time"); $item->receive_time = ReportReceive::query()->whereRid($item["id"])->whereUserid($user->userid)->value("receive_time");
$item->receivesUser;
$item->receives = empty($item->receivesUser) ? [] : array_column($item->receivesUser->toArray(), "userid");
} }
} }
return Base::retSuccess('success', $list); return Base::retSuccess('success', $list);
@ -353,7 +344,7 @@ class ReportController extends AbstractController
return Base::retError("缺少ID参数"); return Base::retError("缺少ID参数");
$one = Report::getOne($id); $one = Report::getOne($id);
$one["type_val"] = $one->getRawOriginal("type"); $one->type_val = $one->getRawOriginal("type");
$user = User::auth(); $user = User::auth();
// 标记为已读 // 标记为已读

View File

@ -1,6 +1,6 @@
{ {
"name": "DooTask", "name": "DooTask",
"version": "0.6.60", "version": "0.6.63",
"description": "DooTask is task management system.", "description": "DooTask is task management system.",
"main": "main.js", "main": "main.js",
"license": "MIT", "license": "MIT",

View File

@ -1,6 +1,6 @@
{ {
"name": "DooTask", "name": "DooTask",
"version": "0.6.60", "version": "0.6.63",
"description": "DooTask is task management system.", "description": "DooTask is task management system.",
"scripts": { "scripts": {
"start": "./cmd dev", "start": "./cmd dev",

2
public/js/app.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
public/js/build/652.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -26,7 +26,7 @@
</Col> </Col>
<Col span="6"> <Col span="6">
<div class="report-submitter"> <div class="report-submitter">
<UserAvatar v-for="item in data.receives" :key="item" :userid="item" :size="28"/> <UserAvatar v-for="item in data.receives_user" :key="item" :userid="item.userid" :size="28"/>
</div> </div>
</Col> </Col>
</Row> </Row>

View File

@ -172,7 +172,7 @@ export default {
// data // data
this.reportData.title = data.title; this.reportData.title = data.title;
this.reportData.content = data.content; this.reportData.content = data.content;
this.reportData.receive = data.receives; this.reportData.receive = data.receives_user.map(({userid}) => userid);
this.reportData.type = data.type_val; this.reportData.type = data.type_val;
this.reportData.id = reportId; this.reportData.id = reportId;
this.disabledType = true; this.disabledType = true;

View File

@ -66,19 +66,19 @@ export default {
this.columns = [{ this.columns = [{
"title": this.$L("名称"), "title": this.$L("名称"),
"key": 'title', "key": 'title',
sortable: true, "sortable": true,
"minWidth": 120, "minWidth": 120,
}, { }, {
"title": this.$L("类型"), "title": this.$L("类型"),
"key": 'type', "key": 'type',
"align": 'center', "align": 'center',
sortable: true, "sortable": true,
"maxWidth": 80, "maxWidth": 80,
}, { }, {
"title": this.$L("汇报时间"), "title": this.$L("汇报时间"),
"key": 'created_at', "key": 'created_at',
"align": 'center', "align": 'center',
sortable: true, "sortable": true,
"maxWidth": 180, "maxWidth": 180,
}, { }, {
"title": "操作", "title": "操作",