kuaifan 5 anni fa
parent
commit
2be9bd90c2

+ 1 - 1
resources/assets/js/main/components/project/task/lists.vue

@@ -74,7 +74,7 @@
                 default: true
             },
             labelLists: {
-                type: Object,
+                type: Array,
             },
         },
         data() {

+ 67 - 63
resources/assets/js/main/pages/project-panel.vue

@@ -40,14 +40,16 @@
                                 </DropdownMenu>
                             </Dropdown>
                         </div>
-                        <draggable v-model="label.taskLists" class="task-box" group="task" :sort="false" :animation="150" draggable=".task-draggable">
-                            <div v-for="task in label.taskLists" :key="task.id" class="task-item task-draggable" :class="['p'+task.level,task.complete?'complete':'',task.overdue?'overdue':'']">
-                                <div class="task-title">{{task.title}}</div>
-                                <div class="task-more">
-                                    <div v-if="task.overdue" class="task-status">已超期</div>
-                                    <div v-else-if="task.complete" class="task-status">已完成</div>
-                                    <div v-else class="task-status">未完成</div>
-                                    <Tooltip class="task-userimg" :content="task.nickname || task.username"><img :src="task.userimg"/></Tooltip>
+                        <draggable v-model="label.taskLists" class="task-box" group="task" :animation="150" draggable=".task-draggable">
+                            <div v-for="task in label.taskLists" :key="task.id" class="task-item task-draggable">
+                                <div class="task-shadow" :class="['p'+task.level,task.complete?'complete':'',task.overdue?'overdue':'']">
+                                    <div class="task-title">{{task.title}}</div>
+                                    <div class="task-more">
+                                        <div v-if="task.overdue" class="task-status">已超期</div>
+                                        <div v-else-if="task.complete" class="task-status">已完成</div>
+                                        <div v-else class="task-status">未完成</div>
+                                        <Tooltip class="task-userimg" :content="task.nickname || task.username"><img :src="task.userimg"/></Tooltip>
+                                    </div>
                                 </div>
                             </div>
                             <div slot="footer">
@@ -191,66 +193,68 @@
                         padding: 0 12px 2px;
                         .task-item {
                             width: 100%;
-                            margin: 5px 0 8px;
-                            padding: 8px;
-                            background-color: #ffffff;
-                            border-left: 2px solid #BF9F03;
-                            border-right: 2px solid #ffffff;
-                            color: #091e42;
-                            border-radius: 3px;
-                            box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-                            transition: all 0.2s;
-                            cursor: pointer;
-                            &:hover{
-                                box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.38);
-                            }
-                            &.p1 {
-                                border-left-color: #ff0000;
-                            }
-                            &.p2 {
-                                border-left-color: #BB9F35;
-                            }
-                            &.p3 {
-                                border-left-color: #449EDD;
-                            }
-                            &.p4 {
-                                border-left-color: #84A83B;
-                            }
-                            &.complete {
-                                .task-more {
-                                    .task-status {
-                                        color: #666666;
+                            .task-shadow {
+                                margin: 5px 0 4px;
+                                padding: 8px;
+                                background-color: #ffffff;
+                                border-left: 2px solid #BF9F03;
+                                border-right: 2px solid #ffffff;
+                                color: #091e42;
+                                border-radius: 3px;
+                                cursor: pointer;
+                                box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+                                transition: all 0.3s;
+                                &:hover{
+                                    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.38);
+                                }
+                                &.p1 {
+                                    border-left-color: #ff0000;
+                                }
+                                &.p2 {
+                                    border-left-color: #BB9F35;
+                                }
+                                &.p3 {
+                                    border-left-color: #449EDD;
+                                }
+                                &.p4 {
+                                    border-left-color: #84A83B;
+                                }
+                                &.complete {
+                                    .task-more {
+                                        .task-status {
+                                            color: #666666;
+                                        }
                                     }
                                 }
-                            }
-                            &.overdue {
-                                .task-more {
-                                    .task-status {
-                                        color: #ff0000;
+                                &.overdue {
+                                    .task-more {
+                                        .task-status {
+                                            color: #ff0000;
+                                        }
                                     }
                                 }
-                            }
-                            .task-title {
-                                font-size: 12px;
-                                color: #091e42;
-                            }
-                            .task-more {
-                                min-height: 30px;
-                                display: flex;
-                                align-items: flex-end;
-                                .task-status {
-                                    color: #19be6b;
+                                .task-title {
                                     font-size: 12px;
-                                    flex: 1;
+                                    color: #091e42;
                                 }
-                                .task-userimg {
-                                    width: 26px;
-                                    height: 26px;
-                                    img {
-                                        object-fit: cover;
-                                        width: 100%;
-                                        height: 100%;
-                                        border-radius: 50%;
+                                .task-more {
+                                    min-height: 30px;
+                                    display: flex;
+                                    align-items: flex-end;
+                                    .task-status {
+                                        color: #19be6b;
+                                        font-size: 12px;
+                                        flex: 1;
+                                    }
+                                    .task-userimg {
+                                        width: 26px;
+                                        height: 26px;
+                                        img {
+                                            object-fit: cover;
+                                            width: 100%;
+                                            height: 100%;
+                                            border-radius: 50%;
+                                        }
                                     }
                                 }
                             }
@@ -264,7 +268,7 @@
                         position: absolute;
                         top: 50%;
                         transform: translate(0, -50%) scale(1);
-                        transition: all 0.2s;
+                        transition: all 0.3s;
                     }
                 }
             }