mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 03:01:12 +00:00
321 lines
9.0 KiB
SCSS
Vendored
321 lines
9.0 KiB
SCSS
Vendored
.common-gantt {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: self-start;
|
|
color: #747a81;
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.gantt-left {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
height: 100%;
|
|
background-color: #ffffff;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
background-color: rgba(237, 241, 242, 0.75);
|
|
}
|
|
|
|
.gantt-title {
|
|
display: flex;
|
|
align-items: center;
|
|
height: 76px;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
background-color: #F9FAFB;
|
|
padding-left: 12px;
|
|
padding-top: 26px;
|
|
overflow: hidden;
|
|
|
|
.gantt-title-text {
|
|
flex: 1;
|
|
line-height: 22px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.gantt-title-right {
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
|
|
.gantt-item {
|
|
transform: translateZ(0);
|
|
max-height: 100%;
|
|
overflow: auto;
|
|
|
|
&::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
> li {
|
|
height: 40px;
|
|
border-bottom: 1px solid rgba(237, 241, 242, 0.75);
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
padding-left: 12px;
|
|
|
|
&:hover {
|
|
.item-icon {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.item-overdue {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
color: #ffffff;
|
|
margin-right: 4px;
|
|
background-color: #ff0000;
|
|
padding: 1px 3px;
|
|
border-radius: 3px;
|
|
font-size: 12px;
|
|
line-height: 18px;
|
|
}
|
|
|
|
.item-title {
|
|
flex: 1;
|
|
padding-right: 12px;
|
|
cursor: default;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
|
|
&.complete {
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
&.overdue {
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.item-icon {
|
|
display: none;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
margin-right: 2px;
|
|
font-size: 16px;
|
|
color: #888888;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.gantt-right {
|
|
flex: 1;
|
|
height: 100%;
|
|
background-color: #ffffff;
|
|
position: relative;
|
|
overflow: hidden;
|
|
|
|
.gantt-size {
|
|
position: absolute;
|
|
top: 76px;
|
|
left: 0;
|
|
z-index: 2;
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
padding: 8px 14px;
|
|
background: rgba(255, 255, 255, 0.502);
|
|
transition: all 250ms;
|
|
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
border-bottom-right-radius: 9px;
|
|
&:hover {
|
|
box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
|
|
background: #fff;
|
|
}
|
|
> i {
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
|
|
.gantt-chart {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
transform: translateZ(0);
|
|
|
|
.gantt-month {
|
|
display: flex;
|
|
align-items: center;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 1;
|
|
height: 26px;
|
|
line-height: 20px;
|
|
font-size: 14px;
|
|
background-color: #F9FAFB;
|
|
|
|
> li {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
height: 100%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 1px;
|
|
height: 100%;
|
|
background-color: rgba(237, 241, 242, 0.75);
|
|
}
|
|
|
|
.month-format {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
padding: 6px 6px 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.gantt-date {
|
|
display: flex;
|
|
align-items: center;
|
|
position: absolute;
|
|
top: 26px;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 2;
|
|
cursor: move;
|
|
|
|
&:before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 50px;
|
|
background-color: #F9FAFB;
|
|
}
|
|
|
|
> li {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
list-style: none;
|
|
height: 100%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 1px;
|
|
height: 100%;
|
|
background-color: rgba(237, 241, 242, 0.75);
|
|
}
|
|
|
|
.date-format {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 44px;
|
|
|
|
.format-day {
|
|
line-height: 28px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.format-week {
|
|
line-height: 16px;
|
|
font-weight: 300;
|
|
font-size: 13px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.gantt-timeline {
|
|
position: absolute;
|
|
top: 76px;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 3;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
|
|
> li {
|
|
cursor: default;
|
|
height: 40px;
|
|
border-bottom: 1px solid rgba(237, 241, 242, 0.75);
|
|
position: relative;
|
|
|
|
.timeline-item {
|
|
position: absolute;
|
|
top: 0;
|
|
touch-action: none;
|
|
pointer-events: auto;
|
|
padding: 4px;
|
|
margin-top: 4px;
|
|
background: #e74c3c;
|
|
border-radius: 18px;
|
|
color: #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
will-change: contents;
|
|
height: 32px;
|
|
|
|
.timeline-title {
|
|
touch-action: none;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
margin-left: 4px;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.timeline-resizer {
|
|
height: 22px;
|
|
touch-action: none;
|
|
width: 8px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
cursor: ew-resize;
|
|
flex-shrink: 0;
|
|
will-change: visibility;
|
|
position: absolute;
|
|
top: 5px;
|
|
right: 5px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|