attach.scss 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. .d-attach-list {
  2. display: flex;
  3. flex-direction: column;
  4. gap: 20rpx;
  5. }
  6. .d-attach-upload {
  7. width: 100%;
  8. border: 3rpx dashed #9ad9be;
  9. border-radius: 28rpx;
  10. background: linear-gradient(135deg, rgba(233, 249, 242, 0.95), rgba(255, 255, 255, 0.95));
  11. padding: 28rpx 24rpx;
  12. display: flex;
  13. align-items: center;
  14. gap: 24rpx;
  15. }
  16. .d-attach-upload:active {
  17. border-color: #22c55e;
  18. }
  19. .d-attach-upload .up-icon {
  20. width: 88rpx;
  21. height: 88rpx;
  22. border-radius: 24rpx;
  23. background: linear-gradient(145deg, #4ade80, #22c55e);
  24. color: #fff;
  25. display: flex;
  26. align-items: center;
  27. justify-content: center;
  28. font-size: 44rpx;
  29. box-shadow: 0 12rpx 28rpx rgba(22, 163, 74, 0.28);
  30. flex-shrink: 0;
  31. }
  32. .d-attach-upload .up-text {
  33. flex: 1;
  34. min-width: 0;
  35. }
  36. .d-attach-upload .up-title {
  37. font-size: 26rpx;
  38. font-weight: 700;
  39. color: #22c55e;
  40. }
  41. .d-attach-upload .up-sub {
  42. margin-top: 4rpx;
  43. font-size: 22rpx;
  44. color: #5f7a6d;
  45. line-height: 1.4;
  46. }
  47. .d-attach-card {
  48. display: flex;
  49. align-items: center;
  50. gap: 24rpx;
  51. padding: 24rpx;
  52. border-radius: 28rpx;
  53. background: #fff;
  54. border: 1rpx solid #e4eee9;
  55. box-shadow: 0 8rpx 28rpx rgba(20, 55, 40, 0.05);
  56. position: relative;
  57. overflow: hidden;
  58. }
  59. .d-attach-card::before {
  60. content: '';
  61. position: absolute;
  62. left: 0;
  63. top: 0;
  64. bottom: 0;
  65. width: 6rpx;
  66. background: var(--file-accent, #22c55e);
  67. }
  68. .d-attach-card.ft-pdf {
  69. --file-accent: #ef4444;
  70. }
  71. .d-attach-card.ft-img {
  72. --file-accent: #22c55e;
  73. }
  74. .d-attach-card.ft-xls {
  75. --file-accent: #10b981;
  76. }
  77. .d-attach-card.ft-doc {
  78. --file-accent: #3b82f6;
  79. }
  80. .d-attach-card.ft-other {
  81. --file-accent: #d6a343;
  82. }
  83. .d-attach-card .file-icon {
  84. width: 92rpx;
  85. height: 92rpx;
  86. border-radius: 26rpx;
  87. display: flex;
  88. flex-direction: column;
  89. align-items: center;
  90. justify-content: center;
  91. gap: 2rpx;
  92. flex-shrink: 0;
  93. color: #fff;
  94. font-weight: 800;
  95. }
  96. .d-attach-card.ft-pdf .file-icon {
  97. background: linear-gradient(145deg, #f07171, #ef4444);
  98. }
  99. .d-attach-card.ft-img .file-icon {
  100. background: linear-gradient(145deg, #4ade80, #22c55e);
  101. }
  102. .d-attach-card.ft-xls .file-icon {
  103. background: linear-gradient(145deg, #4fbf8a, #10b981);
  104. }
  105. .d-attach-card.ft-doc .file-icon {
  106. background: linear-gradient(145deg, #6ea8ff, #3b82f6);
  107. }
  108. .d-attach-card.ft-other .file-icon {
  109. background: linear-gradient(145deg, #e4bc6a, #d6a343);
  110. }
  111. .d-attach-card .file-icon .ext {
  112. font-size: 20rpx;
  113. letter-spacing: 0.04em;
  114. line-height: 1;
  115. text-transform: uppercase;
  116. }
  117. .d-attach-card .file-body {
  118. flex: 1;
  119. min-width: 0;
  120. }
  121. .d-attach-card .file-name {
  122. font-size: 26rpx;
  123. font-weight: 650;
  124. color: #173128;
  125. line-height: 1.35;
  126. overflow: hidden;
  127. text-overflow: ellipsis;
  128. white-space: nowrap;
  129. }
  130. .d-attach-card .file-meta {
  131. margin-top: 8rpx;
  132. display: flex;
  133. flex-wrap: wrap;
  134. gap: 16rpx;
  135. font-size: 22rpx;
  136. color: #8aa198;
  137. }
  138. .d-attach-card .file-ops {
  139. display: flex;
  140. flex-direction: column;
  141. gap: 12rpx;
  142. flex-shrink: 0;
  143. }
  144. .d-attach-card .file-ops .op-btn {
  145. width: 64rpx;
  146. height: 64rpx;
  147. border-radius: 20rpx;
  148. display: flex;
  149. align-items: center;
  150. justify-content: center;
  151. font-size: 32rpx;
  152. }
  153. .d-attach-card .file-ops .btn-preview {
  154. background: var(--brand-green-soft, #ecfdf5);
  155. color: var(--brand-green-dark, #16a34a);
  156. }
  157. .d-attach-card .file-ops .btn-download {
  158. background: #f0f5f3;
  159. color: #4d635a;
  160. }
  161. .d-attach-card .file-ops .icon-download {
  162. width: 28rpx;
  163. height: 28rpx;
  164. display: block;
  165. }