844 lines
28 KiB
SCSS
Vendored

.task-detail {
display: flex;
flex-direction: column;
margin: 0 -32px 12px -10px;
padding: 0 22px 12px 0;
min-height: 120px;
.task-info {
flex: 3;
display: flex;
flex-direction: column;
position: relative;
.head {
display: flex;
align-items: center;
height: 42px;
padding-bottom: 10px;
color: #888888;
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
background-color: #f4f5f5;
}
.task-menu-icon {
margin-right: 18px;
display: flex;
align-items: center;
.ivu-icon {
font-size: 18px;
}
.loading {
width: 18px;
height: 18px;
.common-loading {
width: 16px;
height: 16px;
}
}
.uncomplete {
color: #888888;
}
}
.flow {
display: flex;
align-items: center;
margin-right: 10px;
> span {
font-size: 14px;
height: 26px;
line-height: 24px;
padding: 0 8px;
border-radius: 4px;
color: $primary-color;
border: 1px solid $primary-color;
display: inline-block;
text-align: center;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
&.archived {
background-color: rgba($flow-status-archived-color, 0.1);
border-color: rgba($flow-status-archived-color, 0.1);
color: $flow-status-archived-color;
}
&.start {
background-color: rgba($flow-status-start-color, 0.1);
border-color: rgba($flow-status-start-color, 0.1);
color: $flow-status-start-color;
}
&.progress {
background-color: rgba($flow-status-progress-color, 0.1);
border-color: rgba($flow-status-progress-color, 0.1);
color: $flow-status-progress-color;
}
&.test {
background-color: rgba($flow-status-test-color, 0.1);
border-color: rgba($flow-status-test-color, 0.1);
color: $flow-status-test-color;
}
&.end {
background-color: rgba($flow-status-end-color, 0.1);
border-color: rgba($flow-status-end-color, 0.1);
color: $flow-status-end-color;
}
}
}
.nav {
flex: 1;
display: flex;
align-items: center;
font-size: 12px;
width: 0;
height: 40px;
overflow: auto;
&::-webkit-scrollbar {
display: none
}
> p {
display: flex;
align-items: center;
padding-right: 5px;
> span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}
&:after {
content: "/";
padding-left: 5px;
}
&:last-child {
&:after {
display: none;
}
}
}
}
.function {
display: flex;
align-items: center;
margin: 0 32px;
.pick {
margin-left: 12px;
margin-right: 10px;
}
.open {
margin-top: -2px;
margin-left: 12px;
font-size: 22px;
cursor: pointer;
}
.menu {
margin-left: 12px;
display: flex;
align-items: center;
.task-menu-icon {
margin-right: 0;
}
.ivu-icon {
font-size: 22px;
color: $primary-text-color;
}
}
}
}
.scroller {
.title {
margin-top: 18px;
.ivu-input {
font-weight: 500;
font-size: 24px;
padding: 4px 0;
line-height: 1.4;
resize: none;
border-color: transparent;
&:focus {
box-shadow: none
}
}
}
.desc {
margin-top: 10px;
div[contenteditable="true"] {
outline: none
}
.mce-content-body {
img {
max-width: 100%;
}
pre {
padding: 14px;
margin: 7px 0;
overflow: auto;
background: #f5f2f0;
border-radius: 5px;
}
&[data-mce-placeholder]:not(.mce-visualblocks)::before {
color: #bbbbbb;
}
}
}
.items {
margin-top: 12px;
.ivu-form-item {
margin-bottom: 10px;
}
.item-label {
display: flex;
align-items: center;
color: #bbbbbb;
.taskfont {
margin-right: 4px;
}
}
.item-content {
margin-top: 5px;
margin-left: 12px;
> li {
display: flex;
align-items: center;
list-style: none;
line-height: 26px;
.el-dropdown {
display: flex;
cursor: pointer;
}
.task-priority {
padding: 0 7px;
}
.picker-time {
display: flex;
align-items: center;
flex-wrap: wrap;
line-height: 26px;
.time {
cursor: pointer;
margin-right: 10px;
}
.ivu-tag {
flex-shrink: 0;
margin-right: 10px;
padding: 0 4px;
height: 20px;
line-height: 18px;
.ivu-tag-text {
display: flex;
align-items: center;
.taskfont {
transform: scale(0.9);
font-size: 14px;
padding-right: 3px;
}
}
}
}
}
&.user {
margin-top: 1px;
cursor: pointer;
}
&.file {
margin-bottom: -3px;
> li {
margin-bottom: 2px;
&.tip {
color: #999;
}
.file-load {
margin: 0;
padding: 2px;
width: 16px;
height: 16px;
}
.file-ext {
width: 16px;
}
.file-name {
color: $primary-text-color;
padding-left: 8px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.file-size {
flex-shrink: 0;
padding-left: 10px;
height: 24px;
font-size: 12px;
color: #bbbbbb;
}
.file-menu {
display: flex;
align-items: center;
opacity: 0;
transition: all 0.3s;
padding-left: 12px;
&.show {
opacity: 1;
}
i {
font-size: 14px;
color: #aaaaaa;
transition: color 0.3s;
cursor: pointer;
padding: 0 4px;
&:hover {
color: #777777;
}
&.del {
font-size: 13px;
&:hover {
color: #ff0000;
}
}
}
}
&:hover {
.file-name {
color: $primary-title-color;
}
.file-menu {
opacity: 1;
}
}
}
}
&.subtask {
> li {
align-items: flex-start;
margin-bottom: 4px;
&:last-child {
margin-bottom: -6px;
}
&:hover {
.subtask-time {
.clock {
transform: translateX(0);
opacity: 0.7;
}
}
}
.subtask-icon {
padding-top: 1px;
width: 16px;
height: 26px;
line-height: 26px;
margin-right: 6px;
display: flex;
align-items: center;
cursor: pointer;
}
.subtask-flow {
> span {
white-space: nowrap;
font-size: 12px;
height: 18px;
min-width: 20px;
line-height: 16px;
padding: 0 2px;
border-radius: 3px;
color: $primary-color;
border: 1px solid $primary-color;
display: inline-block;
margin-right: 3px;
text-align: center;
cursor: pointer;
&.start {
background-color: rgba($flow-status-start-color, 0.1);
border-color: rgba($flow-status-start-color, 0.1);
color: $flow-status-start-color;
}
&.progress {
background-color: rgba($flow-status-progress-color, 0.1);
border-color: rgba($flow-status-progress-color, 0.1);
color: $flow-status-progress-color;
}
&.test {
background-color: rgba($flow-status-test-color, 0.1);
border-color: rgba($flow-status-test-color, 0.1);
color: $flow-status-test-color;
}
&.end {
background-color: rgba($flow-status-end-color, 0.1);
border-color: rgba($flow-status-end-color, 0.1);
color: $flow-status-end-color;
}
}
}
.subtask-name {
flex: 1;
margin-right: 8px;
display: flex;
.ivu-input {
min-width: 80px;
margin: -2px 0;
padding: 4px 0;
resize: none;
border-color: transparent;
line-height: 20px;
&:focus {
box-shadow: none
}
}
}
.subtask-time {
margin-right: 8px;
.time {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13px;
height: 26px;
line-height: 26px;
cursor: pointer;
&.overdue {
font-weight: 600;
color: #ed4014;
}
&.today {
font-weight: 500;
color: #ff9900;
}
}
.clock {
margin: 3px 2px;
font-size: 20px;
transition: all 0.2s;
transform: translateX(50%);
opacity: 0;
}
}
.ivu-icon-ios-loading {
animation: animation-icon-loading 0.6s infinite linear;
}
}
}
&.nosub {
margin-top: 0;
> li {
.add-input,
.add-button {
margin-top: -2px;
}
}
}
}
.dashed-text{
cursor: pointer;
border-bottom: 1px dashed #acacac;
&.color{
color: #bbbbbb;
}
}
.dashed-text .taskfont{
font-size: 10px;
margin-right: 0;
}
}
.add {
margin-top: 12px;
margin-bottom: 10px;
.el-dropdown {
max-width: 100%;
.add-button {
> em {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
.add-input {
margin-top: 6px;
&.loading {
.ivu-icon-ios-loading {
animation: animation-icon-loading 0.6s infinite linear;
}
}
}
.add-button {
cursor: pointer;
color: #bbbbbb;
display: flex;
align-items: center;
margin-top: 6px;
height: 32px;
white-space: nowrap;
> i {
font-size: 14px;
padding-right: 8px;
}
> em {
font-style: normal;
padding-left: 4px;
&:after {
content: "/";
padding-left: 4px;
}
&:last-child {
&:after {
display: none;
}
}
}
&:hover {
color: $primary-desc-color;
}
}
}
.upload {
display: none;
}
}
.task-dialog {
flex: 2;
flex-shrink: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
margin-top: 22px;
position: relative;
.head {
display: flex;
align-items: center;
height: 42px;
padding-bottom: 10px;
color: #888888;
position: relative;
&:before {
content: "";
position: absolute;
left: 36px;
right: 0;
bottom: 0;
height: 1px;
background-color: #f4f5f5;
}
.icon {
width: 18px;
font-size: 18px;
}
.nav {
flex: 1;
display: flex;
align-items: center;
padding-left: 18px;
font-weight: 500;
color: $primary-text-color;
> p {
display: flex;
align-items: center;
margin-right: 24px;
cursor: pointer;
&.active {
margin-top: -2px;
font-size: 16px;
font-weight: 600;
color: #555555;
cursor: default;
}
}
.refresh {
display: flex;
align-items: center;
margin-left: -18px;
> i {
font-size: 18px;
cursor: pointer;
opacity: 0.8;
transition: opacity 0.2s;
&:hover {
opacity: 1;
}
}
.common-loading {
margin: 3px;
width: 12px;
height: 12px;
}
}
}
.menu {
.menu-item {
display: flex;
align-items: center;
line-height: 24px;
.menu-load {
margin-right: 8px;
width: 14px;
height: 14px;
display: flex;
}
> em {
font-style: normal;
padding-left: 1px;
}
> i {
margin-left: 4px;
font-size: 14px;
}
}
}
}
.no-dialog {
flex: 1;
display: flex;
flex-direction: column;
position: relative;
.no-tip {
flex: 1;
display: none;
margin-left: 36px;
}
.no-input {
position: relative;
margin: 22px 0 0 36px;
background-color: #F4F5F7;
padding: 10px 4px 10px 6px;
border-radius: 10px;
.chat-input-box {
.chat-input-quick-emoji {
right: 0;
}
.chat-input-wrapper {
padding: 0;
background-color: #F4F5F7;
.chat-toolbar {
> li {
&.chat-record-recwave {
background-color: #F4F5F7;
}
}
}
}
}
}
.drag-over {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 3;
background-color: rgba(255, 255, 255, 0.78);
display: flex;
align-items: center;
justify-content: center;
&:before {
content: "";
position: absolute;
top: 0;
left: 36px;
right: 0;
bottom: 0;
border: 2px dashed #7b7b7b;
border-radius: 12px;
}
.drag-text {
padding: 12px;
font-size: 18px;
color: $primary-text-color;
}
}
}
.project-log {
margin-left: 36px;
.logs-activity {
padding: 22px 0 0;
> li {
list-style: none;
padding-top: 0;
&.logs-loading,
&.logs-more,
&.logs-none {
height: 59px;
line-height: 59px;
}
&.logs-loading {
display: flex;
align-items: center;
.common-loading {
width: 22px;
height: 22px;
margin: 0;
}
}
}
}
}
.dialog-wrapper {
.dialog-scroller {
padding-right: 16px;
padding-left: 32px;
}
.dialog-footer {
padding: 0 0 0 24px;
.chat-input-box {
.chat-input-quick-emoji {
right: 2px;
}
}
}
}
}
.task-load {
margin-top: 6px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
.common-loading {
width: 32px;
height: 32px;
}
}
&.open-dialog {
flex-direction: row;
.task-info {
overflow: auto;
.head {
.function {
margin-right: 2px;
}
}
}
.task-dialog {
margin: 0 0 0 18px;
min-width: 320px;
max-width: 450px;
border-left: 1px solid #f4f5f5;
.head {
&:before {
left: 18px;
}
.icon {
&:before {
display: none;
}
}
.nav {
padding-left: 0;
> p {
margin-right: 28px;
&.active {
font-size: 18px;
}
}
}
}
.no-dialog {
.no-tip {
display: flex;
align-items: center;
justify-content: center;
margin-left: 18px;
color: $primary-desc-color;
}
.no-input {
margin: 0 0 0 18px;
}
}
.dialog-wrapper {
z-index: 0;
.dialog-footer {
margin-bottom: 0;
}
}
.project-log {
position: absolute;
top: 40px;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
padding: 8px 8px;
margin-left: 8px;
background-color: #ffffff;
overflow: auto;
.logs-activity {
padding: 22px 0 0 10px;
}
}
}
}
&.completed {
.task-info {
&:before {
content: "\f373";
font-family: Ionicons, serif;
pointer-events: none;
position: absolute;
top: 0;
right: 13%;
font-size: 72px;
color: #19be6b;
opacity: .2;
z-index: 1;
}
}
}
}
.task-detail-receive {
padding: 6px 6px 3px;
.receive-title {
font-size: 14px;
.ivu-icon {
font-size: 16px;
color: #f90;
line-height: 18px;
}
}
.receive-time {
margin-top: 10px;
.ivu-date-picker {
width: 280px;
}
}
.receive-bottom {
text-align: right;
margin-top: 12px;
> button + button {
margin-left: 4px;
}
}
}
.task-detail-delete-file-popover {
max-width: 200px;
.buttons {
text-align: right;
margin-top: 12px;
.ivu-btn-small {
font-size: 12px
}
}
}
.task-detail-loop {
> li {
text-align: center;
}
}
body.window-portrait {
.task-detail {
.task-info {
.scroller {
overflow-x: auto;
}
}
}
}