diff --git a/resources/assets/js/pages/manage/components/project-list.vue b/resources/assets/js/pages/manage/components/project-list.vue index d0bc645d4..b37fdb1ea 100644 --- a/resources/assets/js/pages/manage/components/project-list.vue +++ b/resources/assets/js/pages/manage/components/project-list.vue @@ -8,9 +8,17 @@
-
-
- -
-
- -
+
+ +
-
+
+
+
+ + # Task name + Task Column + Priority + Member + Expiration + +
+
+ + + +
My task
+
(5)
+ + + + + +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Unimportance + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+
6
+ + Next Up + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+
+
+ + + +
Undone
+
(5)
+ + + + + +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Unimportance + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Unimportance + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+
+
+ + + +
Completed
+
(5)
+ + + + + +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Hi Progress + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Hi Progress + Unimportance + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Hi Progress + Important + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+ + + +
Maxxis Tyres
+
5
+
5
+ + Next Up + Unimportance + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ + 6 June, 2021 +
+
+
@@ -297,6 +646,9 @@ background-color: #F2F3F5; .ivu-icon { font-size: 20px; + width: 36px; + height: 36px; + line-height: 36px; } .ivu-badge { position: absolute; @@ -304,6 +656,10 @@ left: 20px; transform: scale(0.8); } + &.active { + color: #ffffff; + background-color: #2d8cf0; + } } &.project-avatar { .ivu-avatar { @@ -449,10 +805,11 @@ width: 0; display: flex; align-items: center; - margin-right: 12px; + overflow: auto; + margin-right: 24px; > li { list-style: none; - margin-left: -5px; + margin-left: -6px; &:first-child { margin-left: 0; } @@ -515,20 +872,132 @@ } } } + .project-table { + height: 100%; + overflow-y: auto; + .project-row { + background-color: #ffffff; + border-bottom: 1px solid #F4F4F5; + > div { + display: flex; + align-items: center; + padding: 8px 12px; + border-right: 1px solid #F4F4F5; + &:first-child { + padding-left: 32px; + } + &:last-child { + border-right: 0; + } + } + } + .project-table-head, + .project-table-body { + margin: 0 32px 12px; + border-radius: 5px; + border: 1px solid #F4F4F5; + border-bottom: 0; + overflow: hidden; + } + .project-table-head { + .project-row { + > div { + color: #888888; + font-size: 13px; + font-weight: 500; + } + } + } + .project-table-body { + &:hover { + box-shadow: 0 0 10px #e6ecfa; + } + .project-row { + > div { + padding: 10px 12px; + &.row-title { + font-size: 14px; + font-weight: 500; + color: #333333; + padding-left: 14px; + .iconfont { + font-size: 12px; + } + .row-h1 { + padding-left: 18px; + } + .row-num { + color: #999999; + padding-left: 6px; + } + } + &.row-item { + padding-left: 20px; + .ivu-icon { + font-size: 16px; + color: #dddddd; + &.completed { + color: #87d068; + } + } + .item-title { + padding: 0 22px 0 10px; + } + .item-icon { + font-size: 12px; + margin-right: 6px; + color: #777777; + .ivu-icon, + .iconfont { + margin-left: 1px; + font-size: 14px; + color: #666666; + } + .iconfont { + color: #999999; + } + } + } + &.row-member { + > ul { + display: flex; + align-items: center; + overflow: auto; + margin-left: -4px; + > li { + list-style: none; + margin-left: -6px; + &:first-child { + margin-left: 0; + } + .ivu-avatar { + width: 28px; + height: 28px; + border: 2px solid #ffffff; + } + } + } + } + } + } + } + } } } diff --git a/resources/assets/js/pages/manage/components/task-priority.vue b/resources/assets/js/pages/manage/components/task-priority.vue new file mode 100644 index 000000000..e75736252 --- /dev/null +++ b/resources/assets/js/pages/manage/components/task-priority.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/resources/assets/js/store/mutations.js b/resources/assets/js/store/mutations.js index 817a2b7c9..153fe50be 100644 --- a/resources/assets/js/store/mutations.js +++ b/resources/assets/js/store/mutations.js @@ -3,6 +3,12 @@ export default { state.projectChatShow = !state.projectChatShow state.setStorage('projectChatShow', state.projectChatShow); }, + + toggleProjectListPanel(state) { + state.projectListPanel = !state.projectListPanel + state.setStorage('projectListPanel', state.projectListPanel); + }, + setUserInfo(state, info) { const userInfo = state._cloneJSON(info); userInfo.userid = state._runNum(userInfo.userid); diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index fb1eed464..8da677d38 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -159,12 +159,16 @@ const stateCommon = { }; const projectChatShow = stateCommon.getStorageBoolean('projectChatShow', true); +const projectListPanel = stateCommon.getStorageBoolean('projectListPanel', true); + const userInfo = stateCommon.getStorageJson('userInfo'); const userToken = userInfo.token; userInfo.userid = stateCommon._runNum(userInfo.userid); export default Object.assign(stateCommon, { projectChatShow, + projectListPanel, + userInfo, userToken, }) diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index b20be79ab..929b60584 100644 --- a/resources/assets/sass/app.scss +++ b/resources/assets/sass/app.scss @@ -1,2 +1,3 @@ +@import "iconfont"; @import "loading"; @import "main"; diff --git a/resources/assets/sass/iconfont.scss b/resources/assets/sass/iconfont.scss new file mode 100644 index 000000000..b7cdb3799 --- /dev/null +++ b/resources/assets/sass/iconfont.scss @@ -0,0 +1,15 @@ +@font-face { + font-family: 'iconfont'; /* Project id 2583385 */ + src: url('//at.alicdn.com/t/font_2583385_eusvc29tdm5.woff2?t=1622518656789') format('woff2'), + url('//at.alicdn.com/t/font_2583385_eusvc29tdm5.woff?t=1622518656789') format('woff'), + url('//at.alicdn.com/t/font_2583385_eusvc29tdm5.ttf?t=1622518656789') format('truetype'); +} + +.iconfont { + font-family: "iconfont", "serif" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -webkit-text-stroke-width: 0.2px; + -moz-osx-font-smoothing: grayscale; +}