diff --git a/src/views/About.vue b/src/views/About.vue index adb4961..ba4fe69 100644 --- a/src/views/About.vue +++ b/src/views/About.vue @@ -1,64 +1,646 @@ + \ No newline at end of file + +.stats-block { + display: flex; + align-items: center; + background: #F8F9FB; + border-radius: 8px; + height: 150px; + + .stat-item { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + cursor: pointer; + height: 122px; + border-radius: 11px; + gap: 6px; + + &:hover { + background-color: #EDEDFE; + + } + + .stat-num { + font-size: 50px; + line-height: 60px; + font-weight: 500; + } + + .stat-label { + font-weight: 400; + font-size: 18px; + color: #767676; + line-height: 18px; + } + } + + .text-gradient { + background: linear-gradient(186deg, #A679F4 0%, #808AFC 100%); + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + color: transparent; + } + + .divider { + background: #DFD9EA; + width: 1px; + height: 100px; + transform: scalex(0.5); + margin: 0 12px; + } +} + +.section-container { + margin-bottom: 13px; + + .section-title { + display: flex; + align-items: center; + font-weight: 600; + font-size: 18px; + color: #1A1A1A; + line-height: 18px; + margin-bottom: 8px; + margin-left: 30px; + + .bar { + width: 4px; + height: 18px; + background: linear-gradient(215deg, #A679F4 7.14%, #778CF5 100%); + /* 紫色竖条 */ + border-radius: 129px 129px 129px 129px; + margin-right: 12px; + } + } + + .order-list { + .order-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 7px 12px 45px; + + &:last-child { + border-bottom: none; + } + + .order-left { + display: flex; + flex-direction: column; + gap: 4px; + + .order-plan { + font-weight: 400; + font-size: 16px; + color: #1A1A1A; + font-weight: 500; + line-height: 16px; + } + + .order-time { + font-weight: 400; + font-size: 16px; + color: #AAAAAA; + line-height: 16px; + margin-top: 8px; + } + } + + .order-right { + display: flex; + align-items: center; + gap: 12px; + + .order-amount { + font-weight: 500; + color: #FF4D4F; + font-size: 18px; + } + } + } + } + + .empty-state { + display: flex; + justify-content: center; + align-items: center; + padding: 30px 0 10px; + + .empty-img { + width: 150px; + object-fit: contain; + } + } +} + +.logout-btn { + width: 100%; + height: 52px; + background: #FFECEC; + border: 1px solid #FF454E; + border-radius: 6px; + font-weight: 400; + font-size: 18px; + color: #FF454E; + line-height: 18px; + cursor: pointer; + outline: none; + transition: all 0.2s; + + &:hover { + background: #FF454E; + color: #fff; + border: none; + } +} + +.all-orders-dialog { + padding: 10px 3px; + + .dialog-title { + display: flex; + align-items: center; + font-weight: 600; + font-size: 18px; + color: #1A1A1A; + line-height: 18px; + margin-bottom: 18px; + + .bar { + width: 4px; + height: 18px; + background: linear-gradient(215deg, #A679F4 7.14%, #778CF5 100%); + border-radius: 2px; + margin-right: 12px; + } + } + + .orders-list { + max-height: 500px; + overflow-y: auto; + + &::-webkit-scrollbar { + width: 4px; + } + + &::-webkit-scrollbar-thumb { + background: #E0E0E0; + border-radius: 4px; + } + + .order-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 16px 0; + border-bottom: 1px solid #F0F0F0; + + &:last-child { + border-bottom: none; + } + + .order-left { + display: flex; + flex-direction: column; + gap: 8px; + + .order-plan { + font-weight: 500; + font-size: 16px; + color: #1A1A1A; + line-height: 16px; + } + + .order-time { + font-weight: 400; + font-size: 14px; + color: #AAAAAA; + line-height: 14px; + } + } + + .order-right { + display: flex; + align-items: center; + gap: 20px; + + .order-amount { + font-weight: 600; + color: #FF4D4F; + font-size: 20px; + + .symbol { + font-size: 14px; + margin-right: 2px; + } + } + + .status-tag { + font-size: 13px; + padding: 4px 10px; + border-radius: 4px; + white-space: nowrap; + + &.active { + color: #52C41A; + background: #F6FFED; + border: 1px solid #B7EB8F; + } + + &.expired { + color: #BFBFBF; + background: #FAFAFA; + border: 1px solid #D9D9D9; + } + } + } + } + } +} + +.all-orders-dialog { + height: 420px; + overflow: hidden; + overflow-y: auto; + + :deep(.el-dialog) { + border-radius: 16px !important; + } + + .order-item { + height: 60px; + border-bottom: none !important; + padding-left: 15px !important; + + .order-time { + font-size: 16px !important; + } + + .order-amount { + font-size: 18px !important; + + .symbol { + font-size: 12px !important; + } + } + } +} +