优化前端代码

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();
// 搜索当前用户
$builder = Report::query()->whereUserid($user->userid);
$builder = Report::with(['receivesUser'])->whereUserid($user->userid);
$type = trim(Request::input('type'));
$createAt = Request::input('created_at');
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]))];
}
$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);
}
@ -82,7 +75,7 @@ class ReportController extends AbstractController
public function receive(): array
{
$user = User::auth();
$builder = Report::query();
$builder = Report::with(['receivesUser']);
$builder->whereHas("receivesUser", function ($query) use ($user) {
$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));
if ($list->items()) {
foreach ($list->items() as $item) {
$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");
$item->receive_time = ReportReceive::query()->whereRid($item["id"])->whereUserid($user->userid)->value("receive_time");
}
}
return Base::retSuccess('success', $list);
@ -353,7 +344,7 @@ class ReportController extends AbstractController
return Base::retError("缺少ID参数");
$one = Report::getOne($id);
$one["type_val"] = $one->getRawOriginal("type");
$one->type_val = $one->getRawOriginal("type");
$user = User::auth();
// 标记为已读

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "DooTask",
"version": "0.6.60",
"version": "0.6.63",
"description": "DooTask is task management system.",
"scripts": {
"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 span="6">
<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>
</Col>
</Row>

View File

@ -172,7 +172,7 @@ export default {
// data
this.reportData.title = data.title;
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.id = reportId;
this.disabledType = true;

View File

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

View File

@ -54,13 +54,13 @@ export default {
listPageSize: 10,
noDataText: "",
username:'',
reportType:'',
username: '',
reportType: '',
createAt: [],
reportTypeList:[
{value:"",label:'全部' },
{value:"weekly",label:'周报' },
{value:"daily",label:'日报' },
reportTypeList: [
{value: "", label: '全部'},
{value: "weekly", label: '周报'},
{value: "daily", label: '日报'},
],
}
},
@ -77,22 +77,22 @@ export default {
"minWidth": 120,
render: (h, params) => {
let arr = []
if(params.row.receives_user[0].pivot.read==0){
if (params.row.receives_user[0].pivot.read == 0) {
arr.push(
h('Tag', {
props: { //
color: "orange",
}
}, this.$L("未读")),
h('span',params.row.title)
}, this.$L("未读")),
h('span', params.row.title)
)
}else {
} else {
arr.push(
h('span',params.row.title)
h('span', params.row.title)
)
}
return h('div',arr)
return h('div', arr)
}
}, {
"title": this.$L("类型"),
@ -117,11 +117,11 @@ export default {
}
let arr = [
h('ETooltip', {
props: { content: this.$L('查看'), transfer: true, delay: 600 },
style: { position: 'relative' },
props: {content: this.$L('查看'), transfer: true, delay: 600},
style: {position: 'relative'},
}, [h('Icon', {
props: { type: 'md-eye', size: 16 },
style: { margin: '0 3px', cursor: 'pointer' },
props: {type: 'md-eye', size: 16},
style: {margin: '0 3px', cursor: 'pointer'},
on: {
click: () => {
this.$emit("detail", params.row)
@ -151,16 +151,16 @@ export default {
// data
this.lists = data.data;
this.listTotal = data.total;
if ( this.lists.length <= 0 ) {
if (this.lists.length <= 0) {
this.noDataText = this.$L("无数据");
}
// msg
}).catch(({msg}) => {
// msg
$A.messageError(msg);
}).finally( () => {
}).finally(() => {
this.loadIng = 0;
} );
});
},
setPage(page) {
this.listPage = page;
@ -173,10 +173,10 @@ export default {
}
},
timePick(e){
timePick(e) {
this.createAt = e;
},
typePick(e){
typePick(e) {
// console.log(e)
},
searchTab() {