index.scss 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. .hc-global-upload-file-box {
  2. &:not(.global-uploader-single) {
  3. position: fixed;
  4. z-index: 2000;
  5. right: 10px;
  6. bottom: 0;
  7. box-sizing: border-box;
  8. }
  9. /* 隐藏上传按钮 */
  10. .hc-global-upload-btn {
  11. position: absolute;
  12. clip: rect(0, 0, 0, 0);
  13. padding: 0;
  14. font-size: initial;
  15. line-height: initial;
  16. border: initial;
  17. border-radius: 0;
  18. }
  19. .uploader-app {
  20. width: 620px;
  21. .uploader-list {
  22. position: relative;
  23. .file-panel {
  24. background-color: #fff;
  25. border: 1px solid #e2e2e2;
  26. border-radius: 7px 7px 0 0;
  27. box-shadow: 0 0 10px #0003;
  28. .file-title {
  29. display: flex;
  30. height: 40px;
  31. line-height: 40px;
  32. padding: 0 15px;
  33. border-bottom: 1px solid #ddd;
  34. .operate {
  35. flex: 1;
  36. text-align: right;
  37. .el-button {
  38. --el-button-hover-link-text-color: #1ECC95;
  39. i {
  40. font-size: 19px;
  41. }
  42. + .el-button {
  43. margin-left: 8px;
  44. }
  45. }
  46. }
  47. }
  48. .file-list {
  49. position: relative;
  50. height: 240px;
  51. overflow-x: hidden;
  52. overflow-y: auto;
  53. background-color: #fff;
  54. transition: all .3s;
  55. font-size: 14px;
  56. .file-item {
  57. background-color: #fff;
  58. .uploader-file {
  59. position: relative;
  60. height: 49px;
  61. line-height: 49px;
  62. overflow: hidden;
  63. border-bottom: 1px solid #cdcdcd;
  64. .uploader-file-progress {
  65. position: absolute;
  66. width: 100%;
  67. height: 100%;
  68. background: #d2f5ea;
  69. transform: translate(-100%);
  70. }
  71. .uploader-file-info {
  72. position: relative;
  73. z-index: 1;
  74. height: 100%;
  75. overflow: hidden;
  76. display: flex;
  77. align-items: center;
  78. .uploader-file-actions,
  79. .uploader-file-name,
  80. .uploader-file-size,
  81. .uploader-file-status {
  82. position: relative;
  83. height: 100%;
  84. }
  85. .uploader-file-name {
  86. flex: 1;
  87. overflow: hidden;
  88. white-space: nowrap;
  89. text-overflow: ellipsis;
  90. .uploader-file-icon {
  91. display: inline-block;
  92. vertical-align: top;
  93. margin-right: 8px;
  94. font-size: 22px;
  95. margin-left: 8px;
  96. &:before {
  97. font-family: remixicon !important;
  98. font-style: normal;
  99. -webkit-font-smoothing: antialiased;
  100. content: '' !important;
  101. }
  102. &[icon='image']:before {
  103. content: "\ee4a" !important;
  104. color: #8044de;
  105. }
  106. &[icon='audio']:before {
  107. content: "\ecf6" !important;
  108. color: #1ECC95;
  109. }
  110. &[icon='video']:before {
  111. content: "\ed20" !important;
  112. color: #e54d42;
  113. }
  114. &[icon='document']:before {
  115. content: "\ed0e" !important;
  116. color: #0081ff;
  117. }
  118. &[icon='unknown']:before {
  119. content: "\ed12" !important;
  120. color: #a5673f;
  121. }
  122. }
  123. }
  124. .uploader-file-size {
  125. width: auto;
  126. text-align: center;
  127. margin: 0 24px;
  128. }
  129. .uploader-file-status {
  130. width: auto;
  131. margin: 0 24px;
  132. text-align: center;
  133. &.text {
  134. width: 100px;
  135. }
  136. }
  137. .uploader-file-actions {
  138. width: auto;
  139. text-align: center;
  140. display: flex;
  141. align-items: center;
  142. margin-right: 5px;
  143. span {
  144. flex: 1;
  145. display: none;
  146. cursor: pointer;
  147. margin-right: 8px;
  148. font-size: 18px;
  149. &:before {
  150. font-family: remixicon !important;
  151. font-style: normal;
  152. -webkit-font-smoothing: antialiased;
  153. content: "";
  154. transition: color 0.3s;
  155. }
  156. &:hover {
  157. color: #1ECC95;
  158. }
  159. }
  160. .uploader-file-pause:before {
  161. content: "\efd7";
  162. }
  163. .uploader-file-resume:before {
  164. content: "\f00a";
  165. }
  166. .uploader-file-retry:before {
  167. content: "\f064";
  168. }
  169. .uploader-file-remove {
  170. display: block;
  171. font-size: 22px;
  172. &:before {
  173. content: "\eb98";
  174. }
  175. }
  176. }
  177. }
  178. &.md5 .uploader-file-info .uploader-file-actions .uploader-file-resume {
  179. display: none;
  180. }
  181. }
  182. .uploader-file[status='uploading'] .uploader-file-info .uploader-file-actions .uploader-file-pause,
  183. .uploader-file[status='waiting'] .uploader-file-info .uploader-file-actions .uploader-file-pause,
  184. .uploader-file[status='paused'] .uploader-file-info .uploader-file-actions .uploader-file-resume,
  185. .uploader-file[status='error'] .uploader-file-info .uploader-file-actions .uploader-file-retry {
  186. display: block;
  187. }
  188. .uploader-file[status='error'] .uploader-file-progress {
  189. background: #f7cac6;
  190. }
  191. .uploader-file[status='success'] .uploader-file-info .uploader-file-status.text {
  192. color: #1bb886;
  193. }
  194. .uploader-file[status='error'] .uploader-file-info .uploader-file-status.text {
  195. color: #ce453b;
  196. }
  197. }
  198. }
  199. &.collapse {
  200. .file-title {
  201. background-color: #e7ecf2;
  202. }
  203. .file-list {
  204. height: 0;
  205. }
  206. }
  207. }
  208. }
  209. }
  210. .no-file {
  211. position: absolute;
  212. top: 45%;
  213. left: 50%;
  214. color: #999;
  215. font-size: 16px;
  216. transform: translate(-50%, -50%);
  217. }
  218. .custom-status {
  219. position: absolute;
  220. top: 0;
  221. left: 0;
  222. right: 0;
  223. bottom: 0;
  224. z-index: 1;
  225. }
  226. &.global-uploader-single {
  227. .hc-global-upload-btn {
  228. position: relative;
  229. }
  230. }
  231. }