index.scss 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. /* 附件缩略图样式 */
  2. .attachment-thumbnail {
  3. display: flex;
  4. justify-content: center;
  5. align-items: center;
  6. width: 60px;
  7. height: 60px;
  8. margin: 0 auto;
  9. border: 1px solid #e8e8e8;
  10. border-radius: 4px;
  11. background-color: #fafafa;
  12. overflow: hidden;
  13. }
  14. .thumbnail-image {
  15. max-width: 100%;
  16. max-height: 100%;
  17. object-fit: cover;
  18. cursor: pointer;
  19. transition: transform 0.2s ease;
  20. }
  21. .thumbnail-image:hover {
  22. transform: scale(1.1);
  23. }
  24. .file-type-icon {
  25. font-size: 24px;
  26. color: #666;
  27. }
  28. .error-icon {
  29. font-size: 24px;
  30. color: #ccc;
  31. }
  32. .clickable-filename {
  33. color: #409eff;
  34. cursor: pointer;
  35. text-decoration: underline;
  36. }
  37. .clickable-filename:hover {
  38. color: #66b1ff;
  39. }
  40. /* 图片预览弹窗样式 */
  41. .image-preview-dialog .el-dialog__body {
  42. padding: 20px;
  43. text-align: center;
  44. }
  45. .image-preview-container {
  46. display: flex;
  47. justify-content: center;
  48. align-items: center;
  49. min-height: 400px;
  50. max-height: 70vh;
  51. overflow: hidden;
  52. }
  53. .preview-image {
  54. max-width: 100%;
  55. max-height: 100%;
  56. object-fit: contain;
  57. border-radius: 4px;
  58. box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  59. }
  60. .image-error {
  61. display: flex;
  62. flex-direction: column;
  63. justify-content: center;
  64. align-items: center;
  65. color: #999;
  66. }
  67. .image-error i {
  68. font-size: 48px;
  69. margin-bottom: 10px;
  70. }
  71. .image-error p {
  72. margin: 0;
  73. font-size: 14px;
  74. }
  75. /* 附件表格优化 */
  76. .detail-section .el-table {
  77. margin-top: 10px;
  78. font-size: 13px;
  79. }
  80. .detail-section .el-table th {
  81. background-color: #f5f7fa;
  82. color: #333;
  83. font-weight: 600;
  84. }
  85. .detail-section .el-table td {
  86. padding: 12px 0;
  87. }
  88. .detail-section .el-button--text {
  89. padding: 0;
  90. margin: 0 4px;
  91. font-size: 12px;
  92. }
  93. .detail-section .el-tag {
  94. border-radius: 2px;
  95. }
  96. .approval-records-header {
  97. margin-bottom: 20px;
  98. padding-bottom: 10px;
  99. border-bottom: 1px solid #ebeef5;
  100. }
  101. .approval-records-header h4 {
  102. margin: 0 0 8px 0;
  103. font-size: 16px;
  104. font-weight: 600;
  105. color: #303133;
  106. }
  107. .approval-records-header p {
  108. margin: 0;
  109. font-size: 14px;
  110. color: #606266;
  111. }
  112. .approval-records-pagination {
  113. margin-top: 20px;
  114. text-align: right;
  115. }
  116. .dialog-footer {
  117. text-align: right;
  118. }
  119. /* 查看详情弹窗样式 */
  120. .activity-detail-dialog .el-dialog__body {
  121. padding: 20px;
  122. max-height: 70vh;
  123. overflow-y: auto;
  124. }
  125. .activity-detail-container {
  126. min-height: 200px;
  127. }
  128. .activity-detail-content {
  129. padding: 0;
  130. }
  131. .detail-section {
  132. margin-bottom: 30px;
  133. padding: 20px;
  134. background: #fafafa;
  135. border-radius: 6px;
  136. border: 1px solid #e8e8e8;
  137. }
  138. .detail-section:last-child {
  139. margin-bottom: 0;
  140. }
  141. .section-title {
  142. margin: 0 0 20px 0;
  143. padding-bottom: 10px;
  144. font-size: 16px;
  145. font-weight: 600;
  146. color: #333;
  147. border-bottom: 2px solid #409eff;
  148. }
  149. .detail-item {
  150. margin-bottom: 15px;
  151. display: flex;
  152. align-items: center;
  153. }
  154. .detail-item:last-child {
  155. margin-bottom: 0;
  156. }
  157. .detail-item label {
  158. min-width: 100px;
  159. font-weight: 500;
  160. color: #666;
  161. margin-right: 10px;
  162. }
  163. .detail-item span {
  164. color: #333;
  165. word-break: break-all;
  166. }
  167. .description-content {
  168. padding: 15px;
  169. background: #fff;
  170. border-radius: 4px;
  171. border: 1px solid #ddd;
  172. line-height: 1.6;
  173. color: #333;
  174. white-space: pre-wrap;
  175. word-break: break-word;
  176. }
  177. /* 弹窗底部按钮 */
  178. .dialog-footer {
  179. text-align: center;
  180. padding: 20px 0 10px 0;
  181. }
  182. /* 响应式设计 */
  183. @media (max-width: 768px) {
  184. .image-preview-dialog {
  185. width: 95% !important;
  186. }
  187. .attachment-thumbnail {
  188. width: 50px;
  189. height: 50px;
  190. }
  191. .thumbnail-image {
  192. max-width: 100%;
  193. max-height: 100%;
  194. }
  195. .activity-detail-dialog {
  196. width: 95% !important;
  197. }
  198. .detail-item {
  199. flex-direction: column;
  200. align-items: flex-start;
  201. }
  202. .detail-item label {
  203. min-width: auto;
  204. margin-bottom: 5px;
  205. }
  206. .detail-section .el-table {
  207. font-size: 12px;
  208. }
  209. }
  210. @media (max-width: 1200px) {
  211. .activity-detail-dialog {
  212. width: 90% !important;
  213. }
  214. }