element.scss 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. @import 'mixins/index.scss';
  2. /* Button 按钮
  3. ------------------------------- */
  4. // 第三方字体图标大小
  5. .el-button:not(.is-circle) i.el-icon,
  6. .el-button i.iconfont,
  7. .el-button i.fa,
  8. .el-button--default i.iconfont,
  9. .el-button--default i.fa {
  10. font-size: 14px !important;
  11. margin-right: 5px;
  12. }
  13. .el-button--small i.iconfont,
  14. .el-button--small i.fa {
  15. font-size: 12px !important;
  16. margin-right: 5px;
  17. }
  18. /* Input 输入框、InputNumber 计数器
  19. ------------------------------- */
  20. // 菜单搜索
  21. .el-autocomplete-suggestion__wrap {
  22. max-height: 280px !important;
  23. }
  24. // InputNumber无控制器时与Input保持一致
  25. .el-input-number.is-without-controls .el-input__wrapper {
  26. padding-left: 7px !important;
  27. padding-right: 7px !important;
  28. .el-input__inner {
  29. text-align: left !important;
  30. }
  31. }
  32. /* Form 表单
  33. ------------------------------- */
  34. .el-form {
  35. // 用于修改弹窗时表单内容间隔太大问题,如系统设置的新增菜单弹窗里的表单内容
  36. .el-form-item:last-of-type {
  37. margin-bottom: 0 !important;
  38. }
  39. // 修复行内表单最后一个 el-form-item 位置下移问题
  40. &.el-form--inline {
  41. // .el-form-item--large.el-form-item:last-of-type {
  42. // margin-bottom: 22px !important;
  43. // }
  44. // .el-form-item--default.el-form-item:last-of-type,
  45. // .el-form-item--small.el-form-item:last-of-type {
  46. // margin-bottom: 18px !important;
  47. // }
  48. .el-form-item--small.el-form-item,.el-form-item:last-of-type {
  49. margin: 5px 15px !important;
  50. }
  51. }
  52. // https://gitee.com/lyt-top/vue-next-admin/issues/I5K1PM
  53. .el-form-item .el-form-item__label .el-icon {
  54. margin-right: 0px;
  55. }
  56. }
  57. /* Alert 警告
  58. ------------------------------- */
  59. .el-alert {
  60. border: 1px solid;
  61. }
  62. .el-alert__title {
  63. word-break: break-all;
  64. }
  65. /* Message 消息提示
  66. ------------------------------- */
  67. .el-message {
  68. min-width: unset !important;
  69. padding: 15px !important;
  70. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.02);
  71. }
  72. /* NavMenu 导航菜单
  73. ------------------------------- */
  74. // 鼠标 hover 时颜色
  75. .el-menu-hover-bg-color {
  76. background-color: var(--next-bg-menuBarActiveColor) !important;
  77. //background-color: var(--el-color-primary-light-7) !important;
  78. }
  79. // 默认样式修改
  80. .el-menu {
  81. border-right: none !important;
  82. width: auto;
  83. }
  84. .el-menu-item,
  85. .el-sub-menu__title {
  86. color: var(--next-bg-menuBarColor);
  87. height: 45px !important;
  88. line-height: 45px !important;
  89. // margin: 0 0 1px 0;
  90. }
  91. // 修复点击左侧菜单折叠再展开时,宽度不跟随问题
  92. .el-menu--collapse {
  93. width: 64px !important;
  94. }
  95. // 外部链接时
  96. .el-menu-item a,
  97. .el-menu-item a:hover,
  98. .el-menu-item i,
  99. .el-sub-menu__title i {
  100. color: inherit;
  101. text-decoration: none;
  102. }
  103. // 第三方图标字体间距/大小设置
  104. .el-menu-item .iconfont,
  105. .el-sub-menu .iconfont,
  106. .el-menu-item .fa,
  107. .el-sub-menu .fa {
  108. @include generalIcon;
  109. }
  110. // 水平菜单、横向菜单高亮 背景色,鼠标 hover 时,有子级菜单的背景色
  111. .el-menu-item.is-active,
  112. .el-sub-menu.is-active .el-sub-menu__title,
  113. .el-sub-menu:not(.is-opened):hover .el-sub-menu__title {
  114. @extend .el-menu-hover-bg-color;
  115. color: var(--el-color-primary-dark-2);
  116. }
  117. .el-sub-menu:not(.is-active) .el-sub-menu__title {
  118. color: var(--next-bg-menuBarColor);
  119. }
  120. // 鼠标 hover 时背景色
  121. .el-menu-item:hover {
  122. //@extend .el-menu-hover-bg-color;
  123. background-color: var(--el-color-primary-light-9);
  124. }
  125. .el-sub-menu.is-active.is-opened .el-sub-menu__title {
  126. background-color: unset !important;
  127. }
  128. // 当前选中菜单右侧边框
  129. .el-menu-item.is-active {
  130. border-right: solid 3px var(--el-color-primary);
  131. }
  132. // 子级菜单背景颜色
  133. // .el-menu--inline {
  134. // background: var(--next-bg-menuBar-light-1);
  135. // }
  136. // 水平菜单、横向菜单折叠 a 标签
  137. .el-popper.is-dark a {
  138. color: var(--el-color-white) !important;
  139. text-decoration: none;
  140. }
  141. // 水平菜单、横向菜单折叠背景色
  142. .el-popper.is-pure.is-light {
  143. // 水平菜单
  144. .el-menu--vertical {
  145. background: var(--next-bg-menuBar);
  146. .el-sub-menu.is-active .el-sub-menu__title {
  147. color: var(--el-menu-active-color);
  148. }
  149. .el-popper.is-pure.is-light {
  150. .el-menu--vertical {
  151. .el-sub-menu .el-sub-menu__title {
  152. background-color: unset !important;
  153. color: var(--next-bg-menuBarColor);
  154. }
  155. .el-sub-menu.is-active .el-sub-menu__title {
  156. color: var(--el-menu-active-color);
  157. }
  158. }
  159. }
  160. }
  161. // 横向菜单
  162. .el-menu--horizontal {
  163. background: var(--next-bg-topBar);
  164. .el-menu-item,
  165. .el-sub-menu {
  166. height: 45px !important;
  167. line-height: 45px !important;
  168. color: var(--next-bg-topBarColor);
  169. .el-sub-menu__title {
  170. height: 45px !important;
  171. line-height: 45px !important;
  172. color: var(--next-bg-topBarColor);
  173. }
  174. .el-popper.is-pure.is-light {
  175. .el-menu--horizontal {
  176. .el-sub-menu .el-sub-menu__title {
  177. background-color: unset !important;
  178. color: var(--next-bg-topBarColor);
  179. }
  180. .el-sub-menu.is-active .el-sub-menu__title {
  181. color: var(--el-menu-active-color);
  182. }
  183. }
  184. }
  185. }
  186. .el-menu-item.is-active,
  187. .el-sub-menu.is-active .el-sub-menu__title {
  188. color: var(--el-menu-active-color);
  189. }
  190. // 鼠标 hover 时背景色
  191. .el-menu-item:hover {
  192. background-color: var(--el-color-primary-light-9);
  193. }
  194. }
  195. }
  196. // 横向菜单(经典、横向)布局
  197. .el-menu.el-menu--horizontal {
  198. border-bottom: none !important;
  199. width: 100% !important;
  200. .el-menu-item,
  201. .el-sub-menu__title {
  202. height: 50px !important;
  203. color: var(--next-bg-topBarColor);
  204. }
  205. .el-menu-item:not(.is-active):hover,
  206. .el-sub-menu:not(.is-active):hover .el-sub-menu__title {
  207. color: var(--next-bg-topBarColor);
  208. //border-right: solid 3px var(--el-color-primary);
  209. }
  210. // 鼠标 hover 时背景色
  211. .el-menu-item:hover {
  212. background-color: var(--el-color-primary-light-9);
  213. }
  214. // 菜单激活时去掉全局右边框
  215. .el-menu-item.is-active {
  216. border-right: none;
  217. }
  218. }
  219. // 菜单收起时,图标不居中问题
  220. .el-menu--collapse {
  221. .el-menu-item .iconfont,
  222. .el-sub-menu .iconfont,
  223. .el-menu-item .fa,
  224. .el-sub-menu .fa {
  225. margin-right: 0 !important;
  226. }
  227. .el-sub-menu__title {
  228. padding-right: 0 !important;
  229. }
  230. }
  231. /* Tabs 标签页
  232. ------------------------------- */
  233. .el-tabs__nav-wrap::after {
  234. height: 1px !important;
  235. }
  236. /* Dropdown 下拉菜单
  237. ------------------------------- */
  238. .el-dropdown-menu {
  239. list-style: none !important;
  240. /*修复 Dropdown 下拉菜单样式问题 2022.03.04*/
  241. }
  242. .el-dropdown-menu .el-dropdown-menu__item {
  243. white-space: nowrap;
  244. &:not(.is-disabled):hover {
  245. background-color: var(--el-dropdown-menuItem-hover-fill);
  246. color: var(--el-dropdown-menuItem-hover-color);
  247. }
  248. }
  249. /* Steps 步骤条
  250. ------------------------------- */
  251. .el-step__icon-inner {
  252. font-size: 30px !important;
  253. font-weight: 400 !important;
  254. }
  255. .el-step__title {
  256. font-size: 14px;
  257. }
  258. /* Dialog 对话框
  259. ------------------------------- */
  260. .el-overlay {
  261. overflow: hidden;
  262. .el-overlay-dialog {
  263. display: flex;
  264. align-items: center;
  265. justify-content: center;
  266. position: unset !important;
  267. width: 100%;
  268. height: 100%;
  269. .el-dialog {
  270. padding: 0 !important;
  271. margin: 0 auto !important;
  272. position: absolute;
  273. .el-dialog__body {
  274. padding: 18px !important;
  275. }
  276. }
  277. }
  278. }
  279. .el-dialog__body {
  280. max-height: calc(100vh - 160px) !important;
  281. overflow-y: auto;
  282. overflow-x: auto;
  283. }
  284. // .el-dialog__title{
  285. // font-size: 14px;
  286. // color: #FFF;
  287. // font-weight: 700;
  288. // }
  289. .el-dialog__header {
  290. margin-right: 0;
  291. padding: 8px;
  292. background: var(--el-color-primary);
  293. }
  294. .el-dialog__footer {
  295. padding: 15px;
  296. // border-top: 1px solid var(--el-color-primary-light-7);
  297. }
  298. .el-dialog__headerbtn {
  299. height: 37px;
  300. width: 40px;
  301. font-weight: 900;
  302. .el-dialog__close {
  303. color: #fff;
  304. }
  305. }
  306. .el-dialog__headerbtn:hover .el-dialog__close {
  307. color: var(--el-color-danger) !important;
  308. }
  309. /* Card 卡片
  310. ------------------------------- */
  311. .el-card__header {
  312. padding: 15px 20px;
  313. }
  314. .el-card__body {
  315. padding: 8px;
  316. }
  317. /* Table 表格 element plus 2.2.0 版本
  318. ------------------------------- */
  319. .el-table {
  320. // 表头背景色
  321. --el-table-header-bg-color: var(--next-bg-main-color);
  322. .el-button.is-text {
  323. padding: 0;
  324. }
  325. // 表头字体颜色
  326. thead {
  327. color: var(--el-text-color-regular);
  328. th {
  329. font-weight: 500;
  330. }
  331. }
  332. }
  333. /*防止分栏布局二级菜单很多时,滚动条消失问题*/
  334. .layout-columns-warp .layout-aside .el-scrollbar__view {
  335. height: unset !important;
  336. }
  337. /* Pagination 分页
  338. ------------------------------- */
  339. // .el-pagination__editor {
  340. // margin-right: 8px;
  341. // }
  342. /*深色模式时分页高亮问题*/
  343. .el-pagination.is-background .btn-next.is-active,
  344. .el-pagination.is-background .btn-prev.is-active,
  345. .el-pagination.is-background .el-pager li.is-active {
  346. background-color: var(--el-color-primary) !important;
  347. color: var(--el-color-white) !important;
  348. }
  349. // 分页组件靠右显示
  350. .el-pagination {
  351. float: right;
  352. margin: 8px 0 0 0 !important;
  353. }
  354. // 强制给分页组件的下拉框设置宽度
  355. .el-pagination--small {
  356. .el-select {
  357. width: 100px !important;
  358. }
  359. }
  360. /* scrollbar
  361. ------------------------------- */
  362. .el-scrollbar__bar {
  363. z-index: 4;
  364. }
  365. /*防止页面切换时,滚动条高度不变的问题(滚动条高度非滚动条滚动高度)*/
  366. .el-scrollbar__wrap {
  367. max-height: 100%;
  368. }
  369. .el-select-dropdown .el-scrollbar__wrap {
  370. overflow-x: scroll !important;
  371. }
  372. /*修复Select 选择器高度问题*/
  373. .el-select-dropdown__wrap {
  374. max-height: 274px !important;
  375. }
  376. /*修复Cascader 级联选择器高度问题*/
  377. .el-cascader-menu__wrap.el-scrollbar__wrap {
  378. height: 204px !important;
  379. }
  380. /*用于界面高度自适应(main.vue),区分 scrollbar__view,防止其它使用 scrollbar 的地方出现滚动条消失*/
  381. .layout-container-view .el-scrollbar__view {
  382. height: 100%;
  383. }
  384. /* Drawer 抽屉
  385. ------------------------------- */
  386. .el-drawer {
  387. --el-drawer-padding-primary: unset !important;
  388. .el-drawer__header {
  389. padding: 8px !important;
  390. display: flex;
  391. align-items: center;
  392. margin-bottom: 0 !important;
  393. border-bottom: 1px solid var(--el-border-color);
  394. color: var(--el-color-white);
  395. background-color: var(--el-color-primary);
  396. }
  397. .el-drawer__body {
  398. width: 100%;
  399. height: 100%;
  400. overflow: auto;
  401. }
  402. .el-drawer__footer {
  403. padding: 5px;
  404. }
  405. }
  406. .el-drawer__close-btn:hover .el-drawer__close {
  407. color: var(--el-color-danger) !important;
  408. }
  409. // 级联选择-点击文本也生效
  410. .el-cascader-panel .el-radio {
  411. width: 100%;
  412. height: 100%;
  413. z-index: 10;
  414. position: absolute;
  415. top: 0px;
  416. right: -8px;
  417. }
  418. .el-cascader-panel .el-checkbox {
  419. width: 100%;
  420. height: 100%;
  421. z-index: 10;
  422. position: absolute;
  423. top: 0px;
  424. right: 0px;
  425. }
  426. $--el-table-text-color: #fb6d49;
  427. // hack列表页
  428. .layout-parent {
  429. height: 0;
  430. overflow: auto;
  431. // 方案一 如果怕影响其他页面,可以直接修改 src/views/home/index.vue 中 .home-container样式。
  432. // 方案二 此处修改是为了不修改框架原始页面,方便后期同步升级。
  433. // 自行取舍
  434. // 工作台 滚动条
  435. .home-container {
  436. overflow: auto !important;
  437. }
  438. // Table页自动撑满页面
  439. > div:first-child {
  440. display: flex;
  441. flex-direction: column;
  442. height: 100%;
  443. .full-table {
  444. flex: 1;
  445. display: flex;
  446. flex-direction: column;
  447. justify-content: space-between;
  448. .el-card__body {
  449. height: 100%;
  450. display: flex;
  451. //padding: 5px 5px 0px 5px;
  452. flex-direction: column;
  453. justify-content: space-between;
  454. .el-table {
  455. flex: 1;
  456. }
  457. .el-pagination > span:first-child {
  458. flex: 1;
  459. text-align: right;
  460. }
  461. }
  462. }
  463. }
  464. }