dashboard-urgent-tasks-enhanced.scss 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. // 🆕 待办事项标签筛选样式
  2. .tag-filter-bar {
  3. display: flex;
  4. gap: 8px;
  5. padding: 12px 16px;
  6. background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
  7. border-bottom: 1px solid #e0e6ed;
  8. overflow-x: auto;
  9. align-items: center;
  10. // 隐藏滚动条
  11. scrollbar-width: thin;
  12. scrollbar-color: #cbd5e0 #f1f5f9;
  13. &::-webkit-scrollbar {
  14. height: 4px;
  15. }
  16. &::-webkit-scrollbar-track {
  17. background: #f1f5f9;
  18. }
  19. &::-webkit-scrollbar-thumb {
  20. background: #cbd5e0;
  21. border-radius: 2px;
  22. &:hover {
  23. background: #a0aec0;
  24. }
  25. }
  26. }
  27. .tag-button {
  28. display: flex;
  29. align-items: center;
  30. gap: 6px;
  31. padding: 6px 12px;
  32. background: #ffffff;
  33. border: 1.5px solid #dfe3e6;
  34. border-radius: 20px;
  35. font-size: 12px;
  36. font-weight: 500;
  37. color: #4a5568;
  38. cursor: pointer;
  39. transition: all 0.3s ease;
  40. white-space: nowrap;
  41. flex-shrink: 0;
  42. .tag-icon {
  43. font-size: 14px;
  44. display: inline-block;
  45. }
  46. .tag-label {
  47. color: #4a5568;
  48. }
  49. .tag-count {
  50. background: #f0f4f8;
  51. color: #718096;
  52. padding: 2px 6px;
  53. border-radius: 10px;
  54. font-size: 11px;
  55. font-weight: 600;
  56. min-width: 22px;
  57. text-align: center;
  58. }
  59. // 悬停状态
  60. &:hover {
  61. border-color: #cbd5e0;
  62. background: #f8fafc;
  63. transform: translateY(-2px);
  64. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  65. .tag-count {
  66. background: #e6f0ff;
  67. color: #2d5a8c;
  68. }
  69. }
  70. // 激活状态
  71. &.active {
  72. background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
  73. border-color: #4f46e5;
  74. color: #ffffff;
  75. box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
  76. .tag-label {
  77. color: #ffffff;
  78. font-weight: 600;
  79. }
  80. .tag-count {
  81. background: rgba(255, 255, 255, 0.25);
  82. color: #ffffff;
  83. font-weight: 700;
  84. }
  85. }
  86. // 各类型标签的颜色主题
  87. &[data-tag-type='customer'] {
  88. &.active {
  89. background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  90. border-color: #3b82f6;
  91. box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
  92. }
  93. }
  94. &[data-tag-type='phase'] {
  95. &.active {
  96. background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  97. border-color: #f59e0b;
  98. box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
  99. }
  100. }
  101. &[data-tag-type='review'] {
  102. &.active {
  103. background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
  104. border-color: #8b5cf6;
  105. box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
  106. }
  107. }
  108. &[data-tag-type='delivery'] {
  109. &.active {
  110. background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
  111. border-color: #ec4899;
  112. box-shadow: 0 4px 12px rgba(236, 72, 153, 0.3);
  113. }
  114. }
  115. }
  116. // 空状态样式
  117. .empty-state.filtered {
  118. display: flex;
  119. flex-direction: column;
  120. align-items: center;
  121. justify-content: center;
  122. padding: 40px 20px;
  123. color: #718096;
  124. svg {
  125. margin-bottom: 16px;
  126. opacity: 0.6;
  127. }
  128. p {
  129. margin: 0;
  130. font-size: 14px;
  131. &:first-of-type {
  132. font-weight: 500;
  133. color: #4a5568;
  134. margin-bottom: 4px;
  135. }
  136. &.hint {
  137. font-size: 12px;
  138. color: #a0aec0;
  139. }
  140. }
  141. }
  142. // 响应式设计
  143. @media (max-width: 768px) {
  144. .tag-filter-bar {
  145. padding: 10px 12px;
  146. gap: 6px;
  147. }
  148. .tag-button {
  149. padding: 5px 10px;
  150. font-size: 11px;
  151. .tag-icon {
  152. font-size: 12px;
  153. }
  154. .tag-count {
  155. padding: 2px 4px;
  156. font-size: 10px;
  157. min-width: 20px;
  158. }
  159. }
  160. }
  161. @media (max-width: 480px) {
  162. .tag-filter-bar {
  163. padding: 8px 10px;
  164. gap: 4px;
  165. }
  166. .tag-button {
  167. padding: 4px 8px;
  168. font-size: 10px;
  169. .tag-icon {
  170. font-size: 11px;
  171. }
  172. }
  173. }