no message

This commit is contained in:
kuaifan 2021-06-24 17:33:22 +08:00
parent d64705ab32
commit e7f2c8fbde
6 changed files with 72 additions and 56 deletions

View File

@ -767,6 +767,7 @@ class ProjectController extends AbstractController
'parent_id' => $task->id, 'parent_id' => $task->id,
'project_id' => $task->project_id, 'project_id' => $task->project_id,
'column_id' => $task->column_id, 'column_id' => $task->column_id,
'owner' => [User::userid()]
]); ]);
$data = [ $data = [
'new_column' => null, 'new_column' => null,

View File

@ -12,6 +12,7 @@
<EDropdown <EDropdown
trigger="click" trigger="click"
size="small" size="small"
placement="bottom"
@command="dropTask(item, $event)"> @command="dropTask(item, $event)">
<div class="drop-icon"> <div class="drop-icon">
<Icon v-if="item.complete_at" class="completed" type="md-checkmark-circle" /> <Icon v-if="item.complete_at" class="completed" type="md-checkmark-circle" />
@ -51,12 +52,21 @@
</EDropdown> </EDropdown>
<div class="item-title" @click="openTask(item)">{{item.name}}</div> <div class="item-title" @click="openTask(item)">{{item.name}}</div>
<div class="item-icons" @click="openTask(item)"> <div class="item-icons" @click="openTask(item)">
<div v-if="item.file_num > 0" class="item-icon">{{item.file_num}}<Icon type="ios-link-outline" /></div> <div v-if="item.desc" class="item-icon">
<div v-if="item.msg_num > 0" class="item-icon">{{item.msg_num}}<Icon type="ios-chatbubbles-outline" /></div> <i class="iconfont">&#xe71a;</i>
</div> </div>
<div v-if="item.sub_num > 0" class="item-sub-num" @click="getSublist(item)"> <div v-if="item.file_num > 0" class="item-icon">
<Icon type="md-git-merge" /> <i class="iconfont">&#xe71c;</i>
{{item.sub_complete}}/{{item.sub_num}} <em>{{item.file_num}}</em>
</div>
<div v-if="item.msg_num > 0" class="item-icon">
<i class="iconfont">&#xe71e;</i>
<em>{{item.msg_num}}</em>
</div>
<div v-if="item.sub_num > 0" class="item-icon" @click.stop="getSublist(item)">
<i class="iconfont">&#xe71f;</i>
<em>{{item.sub_complete}}/{{item.sub_num}}</em>
</div>
</div> </div>
</Col> </Col>
<Col span="3" class="row-column"> <Col span="3" class="row-column">

View File

@ -30,13 +30,18 @@
<template v-if="list.length > 0"> <template v-if="list.length > 0">
<div class="dashboard-title">{{title}}</div> <div class="dashboard-title">{{title}}</div>
<ul class="dashboard-list overlay-y"> <ul class="dashboard-list overlay-y">
<li v-for="item in list" :key="item.id" :style="item.color ? {backgroundColor: item.color} : {}"> <li
v-for="item in list"
:key="item.id"
:style="item.color ? {backgroundColor: item.color} : {}"
@click="$store.dispatch('openTask', item.id)">
<em v-if="item.p_name && item.parent_id === 0" class="priority-color" :style="{backgroundColor:item.p_color}"></em>
<EDropdown <EDropdown
trigger="click" trigger="click"
size="small" size="small"
placement="bottom" placement="bottom"
@command="dropTask(item, $event)"> @command="dropTask(item, $event)">
<div class="drop-icon"> <div class="drop-icon" @click.stop="">
<i class="iconfont">&#xe625;</i> <i class="iconfont">&#xe625;</i>
</div> </div>
<EDropdownMenu slot="dropdown" class="project-list-more-dropdown-menu"> <EDropdownMenu slot="dropdown" class="project-list-more-dropdown-menu">
@ -70,9 +75,17 @@
</template> </template>
</EDropdownMenu> </EDropdownMenu>
</EDropdown> </EDropdown>
<div class="item-title" @click="$store.dispatch('openTask', item.id)">{{item.name}}</div> <div class="item-title">{{item.name}}</div>
<div :class="['item-time', item.today ? 'today' : '', item.overdue ? 'overdue' : '']"> <div v-if="item.desc" class="item-icon">
<Icon type="ios-time-outline"/>{{expiresFormat(item.end_at)}} <i class="iconfont">&#xe71a;</i>
</div>
<div v-if="item.sub_num > 0" class="item-icon">
<i class="iconfont">&#xe71f;</i>
<em>{{item.sub_complete}}/{{item.sub_num}}</em>
</div>
<div :class="['item-icon', item.today ? 'today' : '', item.overdue ? 'overdue' : '']">
<i class="iconfont">&#xe71d;</i>
<em>{{expiresFormat(item.end_at)}}</em>
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: 'iconfont'; /* Project id 2583385 */ font-family: 'iconfont'; /* Project id 2583385 */
src: url('//at.alicdn.com/t/font_2583385_twblip3um0q.woff2?t=1624439217605') format('woff2'), src: url('//at.alicdn.com/t/font_2583385_q96au6w9mi.woff2?t=1624526227684') format('woff2'),
url('//at.alicdn.com/t/font_2583385_twblip3um0q.woff?t=1624439217605') format('woff'), url('//at.alicdn.com/t/font_2583385_q96au6w9mi.woff?t=1624526227684') format('woff'),
url('//at.alicdn.com/t/font_2583385_twblip3um0q.ttf?t=1624439217605') format('truetype'); url('//at.alicdn.com/t/font_2583385_q96au6w9mi.ttf?t=1624526227684') format('truetype');
} }
.iconfont { .iconfont {

View File

@ -119,7 +119,7 @@
color: $primary-color; color: $primary-color;
border-radius: 6px; border-radius: 6px;
border: 1px solid $primary-color; border: 1px solid $primary-color;
background-color: #e6f7ff; background-color: rgba($primary-color, 0.1);
transition: left 0.2s; transition: left 0.2s;
} }
> div { > div {
@ -569,7 +569,9 @@
} }
} }
&.row-name { &.row-name {
padding-left: 34px; align-items: flex-start;
padding: 12px 12px 12px 34px;
line-height: 24px;
.drop-icon { .drop-icon {
position: relative; position: relative;
} }
@ -592,7 +594,6 @@
cursor: pointer; cursor: pointer;
font-size: 16px; font-size: 16px;
color: #cccccc; color: #cccccc;
margin-right: 8px;
&.completed { &.completed {
color: $primary-color; color: $primary-color;
} }
@ -600,6 +601,7 @@
font-size: 16px; font-size: 16px;
width: 16px; width: 16px;
height: 16px; height: 16px;
margin-top: 4px;
margin-left: -20px; margin-left: -20px;
margin-right: 4px; margin-right: 4px;
color: #cfcfcf; color: #cfcfcf;
@ -611,47 +613,26 @@
} }
.item-title { .item-title {
flex: 1; flex: 1;
padding: 0 22px 0 0; padding: 0 22px 0 8px;
cursor: pointer; cursor: pointer;
} }
.item-sub-num {
flex-shrink: 0;
cursor: pointer;
display: flex;
align-items: center;
margin-left: 8px;
border: 1px solid #e8e8e8;
background-color: #ffffff;
padding: 0 6px 0 5px;
border-radius: 4px;
height: 20px;
line-height: 18px;
font-size: 12px;
.ivu-icon {
transform: scale(0.9);
font-size: 12px;
color: #333333;
margin-right: 4px;
}
}
.item-icons { .item-icons {
display: flex; display: flex;
align-items: center; align-items: center;
margin-left: 4px; margin-left: 4px;
flex-shrink: 0; flex-shrink: 0;
.item-icon { .item-icon {
display: flex;
font-size: 12px; font-size: 12px;
margin-left: 8px; margin-left: 16px;
color: #777777; color: #aaaaaa;
.ivu-icon, cursor: pointer;
.iconfont { .iconfont {
margin-left: 2px; font-size: 12px;
margin-right: 0;
font-size: 14px;
color: #666666;
} }
.iconfont { > em {
color: #999999; font-style: normal;
margin-left: 4px;
} }
} }
} }

View File

@ -86,6 +86,7 @@
padding: 0 12px; padding: 0 12px;
overflow: auto; overflow: auto;
> li { > li {
position: relative;
list-style: none; list-style: none;
display: flex; display: flex;
background: #F9FAFB; background: #F9FAFB;
@ -100,6 +101,14 @@
&:last-child { &:last-child {
margin-bottom: 12px; margin-bottom: 12px;
} }
.priority-color {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
height: 12px;
width: 2px;
}
.el-dropdown { .el-dropdown {
flex-shrink: 0; flex-shrink: 0;
width: 22px; width: 22px;
@ -115,25 +124,27 @@
padding-left: 6px; padding-left: 6px;
line-height: 22px; line-height: 22px;
} }
.item-time { .item-icon {
display: flex; display: flex;
align-items: center; align-items: center;
height: 22px;
line-height: 22px;
font-size: 13px; font-size: 13px;
margin-left: 12px; margin-left: 16px;
flex-shrink: 0; height: 22px;
color: #aaaaaa; color: #aaaaaa;
cursor: pointer;
.iconfont {
font-size: 13px;
}
> em {
font-style: normal;
margin-left: 4px;
}
&.overdue { &.overdue {
color: #ed4014; color: #ed4014;
} }
&.today { &.today {
color: #ff9900; color: #ff9900;
} }
.ivu-icon {
margin-right: 3px;
font-size: 14px;
}
} }
} }
} }