.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 { 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; } } } } } .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; } } } }