diff --git a/package.json b/package.json index 65cd4ff6..4952a9c7 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,9 @@ "vue": "^2.6.12", "vue-loader": "^15.9.7", "vue-router": "^3.4.2", - "vue-template-compiler": "^2.6.11" + "vue-template-compiler": "^2.6.11", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.0" }, "dependencies": { "echarts": "^5.1.1", diff --git a/resources/assets/js/components/DragInput.vue b/resources/assets/js/components/DragInput.vue new file mode 100644 index 00000000..fb07cddb --- /dev/null +++ b/resources/assets/js/components/DragInput.vue @@ -0,0 +1,396 @@ + + + diff --git a/resources/assets/js/components/ScrollerY.vue b/resources/assets/js/components/ScrollerY.vue new file mode 100644 index 00000000..1993edd2 --- /dev/null +++ b/resources/assets/js/components/ScrollerY.vue @@ -0,0 +1,97 @@ + + + + diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 33ee52f6..124ed2b4 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -152,6 +152,7 @@ } .manage-box-new { width: 80%; + height: 38px; margin-top: 16px; margin-bottom: 20px; } diff --git a/resources/assets/js/pages/manage/components/project-list.vue b/resources/assets/js/pages/manage/components/project-list.vue index 567a9784..6fbb72c2 100644 --- a/resources/assets/js/pages/manage/components/project-list.vue +++ b/resources/assets/js/pages/manage/components/project-list.vue @@ -1,6 +1,239 @@ @@ -8,7 +241,235 @@ :global { .project-list { display: flex; - align-items: flex-start; + flex-direction: column; + .project-head { + display: flex; + align-items: flex-start; + margin: 32px; + .project-titbox { + .project-title { + flex: 1; + color: #333333; + font-size: 28px; + font-weight: 600; + } + .project-subtitle { + color: #999999; + margin-top: 18px; + line-height: 24px; + } + } + .project-icons { + display: flex; + align-items: center; + margin-top: 2px; + margin-left: 80px; + flex-shrink: 0; + > li { + list-style: none; + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; + position: relative; + margin-left: 16px; + &.project-icon { + border-radius: 50%; + background-color: #F2F3F5; + .ivu-icon { + font-size: 20px; + } + .ivu-badge { + position: absolute; + top: -6px; + left: 20px; + transform: scale(0.8); + } + } + &.project-avatar { + .ivu-avatar { + width: 36px; + height: 36px; + } + &:before { + content: ""; + position: absolute; + right: 0; + bottom: 0; + width: 9px; + height: 9px; + border-radius: 50%; + background-color: #ff0000; + border: 1px solid #ffffff; + z-index: 1; + } + &.online { + &:before { + background-color: #509E76; + } + } + } + } + } + } + .project-column { + display: flex; + height: 100%; + overflow-x: auto; + > ul { + display: inline-flex; + justify-content: space-between; + align-items: center; + > li { + flex-shrink: 0; + list-style: none; + width: 260px; + height: 100%; + display: flex; + flex-direction: column; + &:first-child { + margin-left: 22px; + } + &:last-child { + margin-right: 22px; + } + .column-head { + display: flex; + align-items: center; + padding: 6px 10px; + margin: 0 10px; + background-color: #F2F3F5; + border-radius: 4px; + .column-head-title { + flex: 1; + font-size: 16px; + font-weight: 600; + } + .column-head-num { + font-size: 12px; + padding: 2px 7px; + line-height: 16px; + border-radius: 3px; + color: #ffffff; + background-color: #1C1D1E; + } + } + > ul { + flex: 1; + height: 0; + overflow: auto; + > li { + list-style: none; + margin: 0 10px 16px; + background-color: #ffffff; + border-radius: 12px; + padding: 12px; + transition: box-shadow 0.3s; + &:hover { + box-shadow: 0 0 10px #e6ecfa; + } + &:first-child { + margin-top: 16px; + } + .task-head { + display: flex; + align-items: center; + .task-title { + flex: 1; + font-weight: 600; + } + .ivu-icon { + font-size: 22px; + color: #666666; + } + } + .task-desc { + color: #999999; + margin-top: 10px; + line-height: 18px; + } + .task-tags { + margin-top: 10px; + .ivu-tag { + + } + } + .task-member { + margin-top: 10px; + display: flex; + align-items: center; + > ul { + flex: 1; + width: 0; + display: flex; + align-items: center; + margin-right: 12px; + > li { + list-style: none; + margin-left: -5px; + &:first-child { + margin-left: 0; + } + .ivu-avatar { + width: 28px; + height: 28px; + border: 2px solid #ffffff; + } + } + } + .task-icon { + margin-left: 6px; + font-size: 12px; + .ivu-icon { + margin-left: 1px; + font-size: 14px; + } + } + } + .task-progress { + margin-top: 10px; + display: flex; + align-items: center; + .task-time { + flex-shrink: 0; + background-color: #EAEDF2; + padding: 1px 4px; + font-size: 12px; + font-weight: 500; + border-radius: 3px; + display: flex; + align-items: center; + &.today { + color: #ffffff; + background-color: #ed4014; + } + &.tomorrow { + color: #ffffff; + background-color: #ff9900; + } + .ivu-icon { + margin-right: 2px; + font-size: 14px; + } + } + } + } + } + .column-add { + border-radius: 6px; + border: 2px dashed #F1f1f1; + padding: 5px 12px; + text-align: center; + margin: 0 10px 18px; + .ivu-icon { + color: #cccccc; + font-size: 22px; + } + } + } + } + } } } diff --git a/resources/assets/js/pages/manage/components/project-message.vue b/resources/assets/js/pages/manage/components/project-message.vue index fa6231cf..7348bea2 100644 --- a/resources/assets/js/pages/manage/components/project-message.vue +++ b/resources/assets/js/pages/manage/components/project-message.vue @@ -16,23 +16,104 @@
  • -
    -
    Group Chat
    -
    -
    - +
    Group Chat
    + +
    +
      +
    • +
      +
      +
      Selamat pagi, Mas!
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Selamat pagi, Mas!
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Pagi Mas Piko, Langsung saja Ada apa Gerangan mas?
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Pagi Mas Piko, Langsung saja Ada apa Gerangan mas?
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Selamat pagi, Mas!
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Selamat pagi, Mas!
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Pagi Mas Piko, Langsung saja Ada apa Gerangan mas?
      +
      08:00 AM
      +
      +
    • +
    • +
      +
      +
      Pagi Mas Piko, Langsung saja Ada apa Gerangan mas?
      +
      08:00 AM
      +
      +
    • +
    +
    +
    +
    + diff --git a/resources/assets/js/pages/manage/project-detail.vue b/resources/assets/js/pages/manage/project-detail.vue index d30a1972..13519ba6 100644 --- a/resources/assets/js/pages/manage/project-detail.vue +++ b/resources/assets/js/pages/manage/project-detail.vue @@ -13,13 +13,16 @@ align-items: flex-start; .project-list { flex: 1; + width: 0; height: 100%; + background-color: #fafafa; } .project-message { position: relative; height: 100%; width: 40%; max-width: 410px; + flex-shrink: 0; &:before { content: ""; position: absolute;