variables.module.scss 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. // 全局SCSS变量
  2. :root {
  3. --menuBg: #1f2d3d;
  4. --menuColor: #bfcbd9;
  5. --menuActiveText: #f4f4f5;
  6. --menuHover: #263445;
  7. --subMenuBg: #1f2d3d;
  8. --subMenuActiveText: #f4f4f5;
  9. --subMenuHover: #001528;
  10. --subMenuTitleHover: #293444;
  11. // 菜单栏缩进
  12. --el-menu-base-level-padding: 12px;
  13. --el-menu-level-padding: 8px;
  14. --el-menu-item-height: 50px;
  15. --fixedHeaderBg: #ffffff;
  16. --tableHeaderBg: #f8f8f9;
  17. --tableHeaderTextColor: #515a6e;
  18. // ele
  19. --brder-color: #e8e8e8;
  20. // 添加 tag 相关变量
  21. --tags-view-active-bg: var(--el-color-primary);
  22. --tags-view-active-border-color: var(--el-color-primary);
  23. // Modern rounded style + soft shadows
  24. --app-radius-base: 8px;
  25. --app-radius-sm: calc(var(--app-radius-base) * 0.6);
  26. --app-radius-md: var(--app-radius-base);
  27. --app-radius-lg: calc(var(--app-radius-base) * 1.4);
  28. --app-radius-lg: var(--app-radius-base);
  29. --app-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08), 0 6px 16px rgba(15, 23, 42, 0.08);
  30. --app-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.12);
  31. --app-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.16);
  32. --app-surface-bg: #ffffff;
  33. --app-surface-border: var(--el-border-color-lighter);
  34. // Element Plus tokens
  35. --el-border-radius-base: var(--app-radius-md);
  36. --el-border-radius-small: var(--app-radius-sm);
  37. --el-border-radius-round: 999px;
  38. --el-box-shadow-light: var(--app-shadow-sm);
  39. --el-box-shadow: var(--app-shadow-md);
  40. --el-bg-color-page: #f5f7fb;
  41. }
  42. html.dark {
  43. --menuBg: #1d1e1f;
  44. --menuColor: #bfcbd9;
  45. --menuActiveText: #f4f4f5;
  46. --menuHover: #171819;
  47. --subMenuBg: #1d1e1f;
  48. --subMenuActiveText: #f4f4f5;
  49. --subMenuHover: #171819;
  50. --subMenuTitleHover: #171819;
  51. --fixedHeaderBg: #171819;
  52. --tableHeaderBg: var(--el-bg-color);
  53. --tableHeaderTextColor: var(--el-text-color);
  54. // 覆盖ele 高亮当前行的标准暗色
  55. .el-tree-node__content {
  56. --el-color-primary-light-9: #262727;
  57. }
  58. .el-button--primary {
  59. --el-button-bg-color: #2b6bd3;
  60. --el-button-border-color: #3a7be8;
  61. --el-button-text-color: #eef4ff;
  62. --el-button-hover-bg-color: #3a7be8;
  63. --el-button-hover-border-color: #3a7be8;
  64. --el-button-active-bg-color: #255fb8;
  65. --el-button-active-border-color: #255fb8;
  66. }
  67. .el-button--primary.is-plain {
  68. --el-button-bg-color: rgba(43, 107, 211, 0.12);
  69. --el-button-border-color: rgba(58, 123, 232, 0.5);
  70. --el-button-text-color: #dbe8ff;
  71. --el-button-hover-bg-color: rgba(58, 123, 232, 0.2);
  72. --el-button-hover-border-color: rgba(58, 123, 232, 0.7);
  73. --el-button-active-bg-color: rgba(43, 107, 211, 0.28);
  74. --el-button-active-border-color: rgba(43, 107, 211, 0.8);
  75. }
  76. .el-button--success {
  77. --el-button-bg-color: #1f8a5a;
  78. --el-button-border-color: #29a46d;
  79. --el-button-text-color: #eefaf4;
  80. --el-button-hover-bg-color: #29a46d;
  81. --el-button-hover-border-color: #29a46d;
  82. --el-button-active-bg-color: #1b784f;
  83. --el-button-active-border-color: #1b784f;
  84. }
  85. .el-button--success.is-plain {
  86. --el-button-bg-color: rgba(31, 138, 90, 0.12);
  87. --el-button-border-color: rgba(41, 164, 109, 0.5);
  88. --el-button-text-color: #dbf6e8;
  89. --el-button-hover-bg-color: rgba(41, 164, 109, 0.2);
  90. --el-button-hover-border-color: rgba(41, 164, 109, 0.7);
  91. --el-button-active-bg-color: rgba(31, 138, 90, 0.28);
  92. --el-button-active-border-color: rgba(31, 138, 90, 0.8);
  93. }
  94. .el-button--warning {
  95. --el-button-bg-color: #b87922;
  96. --el-button-border-color: #d6953b;
  97. --el-button-text-color: #fff7e6;
  98. --el-button-hover-bg-color: #d6953b;
  99. --el-button-hover-border-color: #d6953b;
  100. --el-button-active-bg-color: #a56c1d;
  101. --el-button-active-border-color: #a56c1d;
  102. }
  103. .el-button--warning.is-plain {
  104. --el-button-bg-color: rgba(184, 121, 34, 0.12);
  105. --el-button-border-color: rgba(214, 149, 59, 0.5);
  106. --el-button-text-color: #ffecc8;
  107. --el-button-hover-bg-color: rgba(214, 149, 59, 0.2);
  108. --el-button-hover-border-color: rgba(214, 149, 59, 0.7);
  109. --el-button-active-bg-color: rgba(184, 121, 34, 0.28);
  110. --el-button-active-border-color: rgba(184, 121, 34, 0.8);
  111. }
  112. .el-button--danger {
  113. --el-button-bg-color: #b24a4a;
  114. --el-button-border-color: #d16060;
  115. --el-button-text-color: #ffecec;
  116. --el-button-hover-bg-color: #d16060;
  117. --el-button-hover-border-color: #d16060;
  118. --el-button-active-bg-color: #9c3f3f;
  119. --el-button-active-border-color: #9c3f3f;
  120. }
  121. .el-button--danger.is-plain {
  122. --el-button-bg-color: rgba(178, 74, 74, 0.12);
  123. --el-button-border-color: rgba(209, 96, 96, 0.5);
  124. --el-button-text-color: #ffd6d6;
  125. --el-button-hover-bg-color: rgba(209, 96, 96, 0.2);
  126. --el-button-hover-border-color: rgba(209, 96, 96, 0.7);
  127. --el-button-active-bg-color: rgba(178, 74, 74, 0.28);
  128. --el-button-active-border-color: rgba(178, 74, 74, 0.8);
  129. }
  130. .el-button--info {
  131. --el-button-bg-color: #4b5563;
  132. --el-button-border-color: #667085;
  133. --el-button-text-color: #f3f4f6;
  134. --el-button-hover-bg-color: #667085;
  135. --el-button-hover-border-color: #667085;
  136. --el-button-active-bg-color: #3f4753;
  137. --el-button-active-border-color: #3f4753;
  138. }
  139. .el-button--info.is-plain {
  140. --el-button-bg-color: rgba(75, 85, 99, 0.16);
  141. --el-button-border-color: rgba(102, 112, 133, 0.55);
  142. --el-button-text-color: #e5e7eb;
  143. --el-button-hover-bg-color: rgba(102, 112, 133, 0.22);
  144. --el-button-hover-border-color: rgba(102, 112, 133, 0.75);
  145. --el-button-active-bg-color: rgba(75, 85, 99, 0.3);
  146. --el-button-active-border-color: rgba(75, 85, 99, 0.85);
  147. }
  148. .el-switch {
  149. --el-switch-on-color: var(--el-color-primary-dark-6);
  150. --el-switch-border-color: var(--el-color-primary-light-2);
  151. }
  152. .el-tag--primary {
  153. --el-tag-bg-color: var(--el-color-primary-dark-6);
  154. --el-tag-border-color: var(--el-color-primary-light-2);
  155. }
  156. .el-tag--success {
  157. --el-tag-bg-color: rgba(31, 138, 90, 0.18);
  158. --el-tag-border-color: rgba(41, 164, 109, 0.6);
  159. --el-tag-text-color: #c7f2df;
  160. }
  161. .el-tag--warning {
  162. --el-tag-bg-color: rgba(184, 121, 34, 0.18);
  163. --el-tag-border-color: rgba(214, 149, 59, 0.6);
  164. --el-tag-text-color: #ffe6bb;
  165. }
  166. .el-tag--danger {
  167. --el-tag-bg-color: rgba(178, 74, 74, 0.18);
  168. --el-tag-border-color: rgba(209, 96, 96, 0.6);
  169. --el-tag-text-color: #ffd0d0;
  170. }
  171. .el-tag--info {
  172. --el-tag-bg-color: rgba(75, 85, 99, 0.18);
  173. --el-tag-border-color: rgba(102, 112, 133, 0.6);
  174. --el-tag-text-color: #e5e7eb;
  175. }
  176. // 在深色模式下使用更深的颜色
  177. --tags-view-active-bg: var(--el-color-primary-dark-6);
  178. --tags-view-active-border-color: var(--el-color-primary-light-2);
  179. // Modern rounded style + soft shadows (dark)
  180. --app-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28), 0 8px 18px rgba(0, 0, 0, 0.25);
  181. --app-shadow-md: 0 10px 26px rgba(0, 0, 0, 0.35);
  182. --app-shadow-lg: 0 14px 34px rgba(0, 0, 0, 0.4);
  183. --app-surface-bg: #151922;
  184. --app-surface-border: var(--el-border-color);
  185. --el-bg-color-page: #0f1115;
  186. // vxe-table 主题
  187. --vxe-font-color: #98989e;
  188. --vxe-primary-color: #2c7ecf;
  189. --vxe-icon-background-color: #98989e;
  190. --vxe-table-font-color: #98989e;
  191. --vxe-table-resizable-color: #95969a;
  192. --vxe-table-header-background-color: #28282a;
  193. --vxe-table-body-background-color: #151518;
  194. --vxe-table-background-color: #4a5663;
  195. --vxe-table-border-width: 1px;
  196. --vxe-table-border-color: #37373a;
  197. --vxe-toolbar-background-color: #37373a;
  198. // ele
  199. --brder-color: #37373a;
  200. }
  201. // base color
  202. $blue: #324157;
  203. $light-blue: #3a71a8;
  204. $red: #c03639;
  205. $pink: #e65d6e;
  206. $green: #30b08f;
  207. $tiffany: #4ab7bd;
  208. $yellow: #fec171;
  209. $panGreen: #30b08f;
  210. // 默认菜单主题风格
  211. $base-menu-color: var(--menuColor);
  212. $base-menu-hover: var(--menuHover);
  213. $base-menu-color-active: var(--menuActiveText);
  214. $base-menu-background: var(--menuBg);
  215. $base-logo-title-color: #ffffff;
  216. $base-menu-light-color: rgba(0, 0, 0, 0.7);
  217. $base-menu-light-background: #ffffff;
  218. $base-logo-light-title-color: #001529;
  219. $base-sub-menu-background: var(--subMenuBg);
  220. $base-sub-menu-hover: var(--subMenuHover);
  221. $base-sub-menu-title-hover: var(--subMenuTitleHover);
  222. // 表单头背景色和标题颜色
  223. $fixed-header-bg: var(--fixedHeaderBg);
  224. $table-header-bg: var(--tableHeaderBg);
  225. $table-header-text-color: var(--tableHeaderTextColor);
  226. $--color-primary: #409eff;
  227. $--color-success: #67c23a;
  228. $--color-warning: #e6a23c;
  229. $--color-danger: #f56c6c;
  230. $--color-info: #909399;
  231. $base-sidebar-width: 200px;
  232. // the :export directive is the magic sauce for webpack
  233. // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
  234. :export {
  235. menuColor: $base-menu-color;
  236. menuLightColor: $base-menu-light-color;
  237. menuColorActive: $base-menu-color-active;
  238. menuBackground: $base-menu-background;
  239. menuLightBackground: $base-menu-light-background;
  240. subMenuBackground: $base-sub-menu-background;
  241. subMenuHover: $base-sub-menu-hover;
  242. sideBarWidth: $base-sidebar-width;
  243. logoTitleColor: $base-logo-title-color;
  244. logoLightTitleColor: $base-logo-light-title-color;
  245. primaryColor: $--color-primary;
  246. successColor: $--color-success;
  247. dangerColor: $--color-danger;
  248. infoColor: $--color-info;
  249. warningColor: $--color-warning;
  250. }