@@ -447,6 +450,7 @@ export default {
'projectChatShow',
'projectTablePanel',
+ 'projectCompleteHide',
'taskMyShow',
'taskUndoneShow',
'taskCompletedShow'
@@ -459,11 +463,16 @@ export default {
},
panelTask() {
- const {searchText} = this;
+ const {searchText, projectCompleteHide} = this;
return function (project_task) {
+ if (projectCompleteHide) {
+ project_task = project_task.filter(({complete_at}) => {
+ return !complete_at;
+ });
+ }
if (searchText) {
- return project_task.filter((task) => {
- return $A.strExists(task.name, searchText) || $A.strExists(task.desc, searchText);
+ project_task = project_task.filter(({name, desc}) => {
+ return $A.strExists(name, searchText) || $A.strExists(desc, searchText);
});
}
return project_task;
@@ -486,7 +495,15 @@ export default {
}
});
});
- return array;
+ return array.sort((a, b) => {
+ if (a.p_level != b.p_level) {
+ return a.p_level - b.p_level;
+ }
+ if (a.sort != b.sort) {
+ return a.sort - b.sort;
+ }
+ return a.id - b.id;
+ });
},
undoneList() {
@@ -505,7 +522,15 @@ export default {
}
});
});
- return array;
+ return array.sort((a, b) => {
+ if (a.p_level != b.p_level) {
+ return a.p_level - b.p_level;
+ }
+ if (a.sort != b.sort) {
+ return a.sort - b.sort;
+ }
+ return a.id - b.id;
+ });
},
completedList() {
@@ -524,7 +549,15 @@ export default {
}
});
});
- return array;
+ return array.sort((a, b) => {
+ if (a.p_level != b.p_level) {
+ return a.p_level - b.p_level;
+ }
+ if (a.sort != b.sort) {
+ return a.sort - b.sort;
+ }
+ return a.id - b.id;
+ });
},
expiresFormat() {
@@ -973,6 +1006,28 @@ export default {
this.$store.dispatch("toggleBoolean", type);
},
+ taskHidden(task) {
+ const {name, desc, complete_at} = task;
+ const {searchText, projectCompleteHide} = this;
+ if (projectCompleteHide) {
+ if (complete_at) {
+ return true;
+ }
+ }
+ if (searchText) {
+ if (!($A.strExists(name, searchText) || $A.strExists(desc, searchText))) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ sortBy(field) {
+ return function (a, b) {
+ return a[field] - b[field];
+ }
+ },
+
formatTime(date) {
let time = Math.round(new Date(date).getTime() / 1000),
string = '';
diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue
index 509dd58c..21fe372b 100644
--- a/resources/assets/js/pages/manage/messenger.vue
+++ b/resources/assets/js/pages/manage/messenger.vue
@@ -22,8 +22,8 @@
:class="{active: dialog.id == dialogId}"
@click="openDialog(dialog, true)">
-
-
+
+
diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js
index b4cf65f3..15691be9 100644
--- a/resources/assets/js/store/state.js
+++ b/resources/assets/js/store/state.js
@@ -228,6 +228,7 @@ const state = { method };
[
'projectChatShow', // 项目聊天显示
'projectTablePanel', // 项目面板显示类型
+ 'projectCompleteHide', // 项目面板显示已完成列表
'taskMyShow', // 项目面板显示我的任务
'taskUndoneShow', // 项目面板显示未完成任务
'taskCompletedShow' // 项目面板显示已完成任务
diff --git a/resources/assets/sass/iconfont.scss b/resources/assets/sass/iconfont.scss
index 7776b932..82cf5e15 100644
--- a/resources/assets/sass/iconfont.scss
+++ b/resources/assets/sass/iconfont.scss
@@ -1,8 +1,8 @@
@font-face {
font-family: 'iconfont'; /* Project id 2583385 */
- src: url('//at.alicdn.com/t/font_2583385_acaq8xa48dj.woff2?t=1623513995409') format('woff2'),
- url('//at.alicdn.com/t/font_2583385_acaq8xa48dj.woff?t=1623513995409') format('woff'),
- url('//at.alicdn.com/t/font_2583385_acaq8xa48dj.ttf?t=1623513995409') format('truetype');
+ src: url('//at.alicdn.com/t/font_2583385_cz486uauxcg.woff2?t=1623761047200') format('woff2'),
+ url('//at.alicdn.com/t/font_2583385_cz486uauxcg.woff?t=1623761047200') format('woff'),
+ url('//at.alicdn.com/t/font_2583385_cz486uauxcg.ttf?t=1623761047200') format('truetype');
}
.iconfont {
diff --git a/resources/assets/sass/pages/components/project-list.scss b/resources/assets/sass/pages/components/project-list.scss
index 5364cabe..808c8972 100644
--- a/resources/assets/sass/pages/components/project-list.scss
+++ b/resources/assets/sass/pages/components/project-list.scss
@@ -61,18 +61,22 @@
&.project-icon {
border-radius: 50%;
background-color: #F2F3F5;
- .ivu-icon {
+ .menu-icon {
font-size: 20px;
width: 36px;
height: 36px;
line-height: 36px;
}
- .ivu-badge {
+ .menu-badge {
position: absolute;
top: -6px;
left: 20px;
transform: scale(0.8);
}
+ .search-input {
+ margin: 2px 0;
+ width: 170px;
+ }
&.active {
color: #ffffff;
background-color: #2d8cf0;
@@ -84,6 +88,12 @@
display: flex;
justify-content: flex-end;
margin-top: 24px;
+ .project-checkbox {
+ display: flex;
+ align-items: center;
+ margin-right: 14px;
+ opacity: 0.9;
+ }
.project-switch-button {
display: flex;
align-items: center;
@@ -279,14 +289,13 @@
overflow-x: hidden;
overflow-y: auto;
.task-list {
- flex: 1;
- height: 0;
- display: flex;
- flex-direction: column;
+ > div:last-child {
+ margin-bottom: 16px;
+ }
}
.task-item {
cursor: pointer;
- margin: 0 10px 16px;
+ margin: 16px 10px 0;
background-color: #ffffff;
border-radius: 12px;
padding: 12px;
@@ -295,9 +304,6 @@
&:hover {
box-shadow: 0 0 10px #e6ecfa;
}
- &:first-child {
- margin-top: 16px;
- }
.task-head {
display: flex;
align-items: flex-start;
@@ -449,6 +455,9 @@
display: none;
}
}
+ &.hidden {
+ display: none;
+ }
}
}
}
diff --git a/resources/assets/sass/pages/page-manage.scss b/resources/assets/sass/pages/page-manage.scss
index f99242fd..1561d125 100644
--- a/resources/assets/sass/pages/page-manage.scss
+++ b/resources/assets/sass/pages/page-manage.scss
@@ -85,10 +85,9 @@
padding: 0 4%;
border-radius: 4px;
> i {
- opacity: 0.5;
- font-size: 22px;
+ opacity: 0.3;
+ font-size: 20px;
margin-right: 10px;
- margin-top: -1px;
}
.menu-title {
flex: 1;
diff --git a/resources/assets/sass/pages/page-messenger.scss b/resources/assets/sass/pages/page-messenger.scss
index 197607ca..3903e484 100644
--- a/resources/assets/sass/pages/page-messenger.scss
+++ b/resources/assets/sass/pages/page-messenger.scss
@@ -76,27 +76,11 @@
> li {
display: flex;
flex-direction: row;
- align-items: center;
- height: 80px;
- padding: 0 12px;
+ align-items: flex-start;
+ padding: 16px 12px;
position: relative;
cursor: pointer;
list-style: none;
- &.active {
- background-color: #F4F5F7;
- }
- &.loading {
- margin: 0;
- height: 52px;
- display: flex;
- align-items: center;
- justify-content: center;
- .common-loading {
- width: 20px;
- height: 20px;
- margin: 0;
- }
- }
.user-avatar,
.icon-avatar {
width: 46px;
@@ -105,16 +89,18 @@
flex-shrink: 0;
}
.icon-avatar {
- line-height: 46px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
border-radius: 50%;
font-size: 26px;
background-color: #61B2F9;
color: #ffffff;
&.project {
- background-color: #7274E3;
+ background-color: #6E99EB;
}
&.task {
- background-color: #4EA3F4;
+ background-color: #9B96DF;
font-size: 24px;
}
}
@@ -170,6 +156,21 @@
font-size: 12px;
transform: scale(0.8);
}
+ &.active {
+ background-color: #F4F5F7;
+ }
+ &.loading {
+ margin: 0;
+ height: 52px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .common-loading {
+ width: 20px;
+ height: 20px;
+ margin: 0;
+ }
+ }
}
}
&.contacts {