element.scss 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. //饿了么UI组件的样式重绘
  2. .el-button[block] {
  3. width: 100%;
  4. }
  5. .el-button .hc-icon-i {
  6. margin-right: 4px;
  7. }
  8. .el-button.is-loading .hc-icon-i {
  9. display: none;
  10. }
  11. //主色
  12. .el-button--primary.is-link,
  13. .el-button--primary.is-plain,
  14. .el-button--primary.is-text {
  15. --el-button-border-color: transparent;
  16. --el-button-hover-text-color: var(--el-color-primary);
  17. --el-button-hover-bg-color: var(--el-color-primary-light-8);
  18. --el-button-hover-border-color: transparent;
  19. }
  20. //红色
  21. .el-button--danger.is-link,
  22. .el-button--danger.is-plain,
  23. .el-button--danger.is-text {
  24. --el-button-border-color: transparent;
  25. --el-button-hover-text-color: var(--el-color-danger);
  26. --el-button-hover-bg-color: var(--el-color-danger-light-8);
  27. --el-button-hover-border-color: transparent;
  28. }
  29. //绿色
  30. .el-button--success.is-link,
  31. .el-button--success.is-plain,
  32. .el-button--success.is-text {
  33. --el-button-border-color: transparent;
  34. --el-button-hover-text-color: var(--el-color-success);
  35. --el-button-hover-bg-color: var(--el-color-success-light-8);
  36. --el-button-hover-border-color: transparent;
  37. }
  38. .el-button + .el-button {
  39. margin-left: 20px;
  40. }
  41. .el-button--small + .el-button--small {
  42. margin-left: 5px;
  43. }
  44. //单选框、多选框
  45. .el-checkbox.size-xl .el-checkbox__inner,
  46. .el-radio.size-xl .el-radio__inner {
  47. width: 18px;
  48. height: 18px;
  49. }
  50. .el-checkbox.size-xl .el-checkbox__label,
  51. .el-radio.size-xl .el-radio__label {
  52. font-size: 16px;
  53. font-weight: 400;
  54. }
  55. .el-checkbox.size-xl .el-checkbox__inner::after {
  56. height: 10px;
  57. left: 6px;
  58. top: 1px;
  59. }
  60. .el-radio.size-xl .el-radio__inner::after {
  61. width: 8px;
  62. height: 8px;
  63. }
  64. //消息提示
  65. .el-message {
  66. --el-message-padding: 10px 20px;
  67. border: 0;
  68. box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.012), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
  69. }
  70. //按钮重绘
  71. .el-button[hc-btn] {
  72. border-radius: 6px;
  73. padding: 8px 20px;
  74. font-weight: 400;
  75. height: 40px;
  76. border: 1px solid #f1f5f8;
  77. box-shadow: var(--hc-shadow);
  78. &.el-button--primary {
  79. background: linear-gradient(to right, var(--el-color-primary-light-5), var(--el-color-primary), var(--el-color-primary-dark-2));
  80. background-size: 200%;
  81. transition: background-position .5s;
  82. &:hover {
  83. background-position: 100% 0;
  84. }
  85. }
  86. &.is-loading:not([class*='el-button--']) {
  87. --el-button-bg-color: #f3f3f3;
  88. --el-button-text-color: #8c9099;
  89. }
  90. &.is-disabled:not([class*='el-button--']) {
  91. --el-button-disabled-text-color: #bfbfbf;
  92. --el-button-disabled-bg-color: #f3f3f3;
  93. }
  94. &:not([class*='el-button--']) {
  95. --el-button-bg-color: #f1f5f8;
  96. --el-button-text-color: #838791;
  97. --el-button-hover-text-color: #838791;
  98. --el-button-active-text-color: #838791;
  99. --el-button-hover-bg-color: var(--el-color-primary-light-9);
  100. --el-button-active-bg-color: var(--el-color-primary-light-8);
  101. }
  102. &.el-button--primary.is-plain {
  103. --el-button-text-color: var(--el-color-primary);
  104. --el-button-bg-color: var(--el-color-primary-light-9);
  105. --el-button-hover-text-color: var(--el-color-primary);
  106. --el-button-hover-bg-color: var(--el-color-primary-light-8);
  107. --el-button-active-text-color: var(--el-color-primary);
  108. --el-button-active-bg-color: var(--el-color-primary-light-7);
  109. }
  110. &.is-disabled, &.is-disabled:focus, &.is-disabled:hover {
  111. color: var(--el-button-disabled-text-color);
  112. cursor: not-allowed;
  113. background-image: none;
  114. background-color: var(--el-button-disabled-bg-color);
  115. border-color: var(--el-button-disabled-border-color);
  116. }
  117. }
  118. //表单
  119. .el-form {
  120. position: relative;
  121. overflow: hidden;
  122. .hc-form-item {
  123. position: relative;
  124. display: flex;
  125. .el-form-item {
  126. flex: 1;
  127. margin-right: 12px;
  128. }
  129. .el-form-item + .el-form-item {
  130. margin-right: 0;
  131. margin-left: 12px;
  132. }
  133. }
  134. }
  135. //滚动条
  136. .el-scrollbar {
  137. overflow: initial;
  138. .el-scrollbar__bar.is-vertical {
  139. right: -16px;
  140. }
  141. .el-scrollbar__bar.is-horizontal {
  142. bottom: -20px;
  143. }
  144. }
  145. .el-date-editor.el-input.block,
  146. .el-date-editor.block .el-input__wrapper {
  147. width: 100%;
  148. }
  149. //个人中心项目列表
  150. .hc-project-menu.el-menu {
  151. --el-menu-level: 0;
  152. background-color: initial;
  153. border: initial;
  154. .el-sub-menu {
  155. border: 1px solid #e9e9e9;
  156. border-radius: 3px;
  157. margin-bottom: 20px;
  158. .el-sub-menu__title .hc-menu-icon {
  159. font-size: 20px;
  160. margin-right: 10px;
  161. }
  162. &.is-opened .el-sub-menu__title {
  163. color: var(--el-color-primary);
  164. background-color: var(--el-color-primary-light-8);
  165. }
  166. .el-menu {
  167. background-color: initial;
  168. }
  169. .el-menu-item {
  170. padding-left: 50px;
  171. }
  172. }
  173. .el-menu-item.is-active {
  174. color: var(--el-menu-active-color);
  175. background-color: var(--el-color-primary-light-9);
  176. .hc-menu-icon {
  177. position: absolute;
  178. font-size: 16px;
  179. left: 22px;
  180. }
  181. }
  182. }
  183. //表格
  184. .el-table[hc] {
  185. --el-table-bg-color: initial;
  186. --el-table-header-bg-color: #DAE8F3;
  187. --el-table-header-text-color: #50545E;
  188. --el-table-tr-bg-color: #F1F5F8;
  189. --el-fill-color-lighter: #E7EEF4;
  190. --el-table-text-color: #666666;
  191. --el-table-row-hover-bg-color: var(--el-color-primary-light-9);
  192. th.el-table__cell>.cell {
  193. font-weight: 400;
  194. }
  195. .el-table__cell {
  196. padding: 12px 0;
  197. .el-checkbox {
  198. --el-checkbox-input-height: 18px;
  199. --el-checkbox-input-width: 18px;
  200. --el-checkbox-font-size: 16px;
  201. --el-checkbox-border-radius: 3px;
  202. .el-checkbox__inner::after {
  203. top: 3px;
  204. left: 6px;
  205. }
  206. }
  207. .el-checkbox__input.is-indeterminate .el-checkbox__inner::before {
  208. top: 7px;
  209. }
  210. }
  211. &.el-table--border {
  212. --el-table-border-color: #e9e9e9;
  213. }
  214. }
  215. .el-table[hc]:not([class*='el-table--border']) {
  216. border: 1px solid #e9e9e9;
  217. .el-table__inner-wrapper::before {
  218. background-color: transparent;
  219. }
  220. }
  221. //下拉框
  222. .el-select[block] {
  223. width: 100%;
  224. }
  225. //工单服务的时间轴
  226. .time-line-box .el-timeline.hc-time-line {
  227. padding-left: 5px;
  228. padding-top: 5px;
  229. .el-timeline-item {
  230. padding-bottom: 24px;
  231. .el-timeline-item__tail {
  232. top: 28px;
  233. left: 6px;
  234. height: calc(100% - 36px);
  235. border-width: 1px;
  236. border-color: #838791;
  237. }
  238. .el-timeline-item__node {
  239. display: none;
  240. }
  241. .el-timeline-item__wrapper {
  242. padding-left: 38px;
  243. .el-timeline-item__content {
  244. .timeline-item-icon {
  245. position: absolute;
  246. width: 24px;
  247. height: 24px;
  248. left: -5px;
  249. border: 1px solid #838791;
  250. border-radius: 50px;
  251. display: flex;
  252. justify-content: center;
  253. align-items: center;
  254. color: #838791;
  255. .check-icon {
  256. font-size: 18px;
  257. }
  258. }
  259. .reply-name {
  260. color: #838791;
  261. font-size: 18px;
  262. }
  263. .reply-content {
  264. color: #838791;
  265. margin-top: 5px;
  266. }
  267. }
  268. }
  269. &.success {
  270. .el-timeline-item__tail {
  271. border-color: var(--el-color-primary);
  272. }
  273. .el-timeline-item__wrapper .el-timeline-item__content .timeline-item-icon {
  274. color: var(--el-color-primary);
  275. border: 1px solid var(--el-color-primary);
  276. }
  277. }
  278. &.primary {
  279. .el-timeline-item__wrapper .el-timeline-item__content {
  280. .reply-name {
  281. color: #1A1A1A;
  282. }
  283. .timeline-item-icon {
  284. background-color: var(--el-color-primary);
  285. border: 1px solid var(--el-color-primary);
  286. color: #ffffff;
  287. }
  288. }
  289. }
  290. }
  291. }
  292. //滚动条
  293. .el-scrollbar {
  294. scroll-behavior: smooth;
  295. .el-scrollbar__wrap--hidden-default {
  296. scroll-behavior: smooth;
  297. }
  298. }
  299. //弹窗
  300. .el-overlay-dialog {
  301. .el-dialog.hc-modal-border {
  302. .el-dialog__header {
  303. padding-bottom: var(--el-dialog-padding-primary);
  304. border-bottom: 1px solid #EEEEEE;
  305. margin-right: 0;
  306. }
  307. .el-dialog__footer {
  308. border-top: 1px solid #EEEEEE;
  309. padding-top: var(--el-dialog-padding-primary);
  310. }
  311. }
  312. .el-dialog.hc-modal-nop {
  313. .el-dialog__body {
  314. padding: 0;
  315. }
  316. }
  317. }
  318. //上传
  319. .el-upload-list.el-upload-list--picture-card {
  320. --el-upload-list-picture-card-size: 88px;
  321. .el-upload--picture-card {
  322. --el-upload-picture-card-size: 88px;
  323. .hc-upload-icon {
  324. font-size: 39px;
  325. }
  326. }
  327. }
  328. //头像
  329. .el-avatar {
  330. color: initial !important;
  331. background: initial !important;
  332. }
  333. //表格
  334. .hc-table-ref-box {
  335. position: relative;
  336. display: inline-grid;
  337. width: 100%;
  338. }
  339. //naiveui 鼠标右键菜单的图标
  340. .n-dropdown-menu .n-dropdown-option .n-dropdown-option-body .n-dropdown-option-body__prefix.n-dropdown-option-body__prefix--show-icon {
  341. font-size: 22px;
  342. }
  343. //树
  344. .el-tree.hc-tree-node {
  345. --el-fill-color-blank: transparent;
  346. --el-tree-node-hover-bg-color: var(--el-color-primary-light-9);
  347. --el-tree-text-color: #50545E;
  348. --el-tree-expand-icon-color: #838791;
  349. background: var(--el-fill-color-blank);
  350. color: var(--el-tree-text-color);
  351. .el-tree-node__content {
  352. border-radius: 2px;
  353. }
  354. &.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
  355. background-color: var(--el-color-primary-light-7);
  356. }
  357. .el-tree-node__expand-icon {
  358. font-size: 16px;
  359. }
  360. }
  361. //弹窗提示
  362. .el-dialog .el-dialog__body {
  363. position: relative;
  364. max-height: 60vh;
  365. overflow: auto;
  366. .el-alert {
  367. margin-top: -10px;
  368. margin-bottom: 20px;
  369. }
  370. }
  371. .el-dialog.hc-modal-table .el-dialog__body {
  372. height: 60vh;
  373. }
  374. //上传文件列表
  375. .hc-upload-border {
  376. .hc-upload-loading {
  377. position: relative;
  378. }
  379. .el-upload-list {
  380. border-top: 1px solid #f1f1f1;
  381. margin-top: 24px;
  382. padding-top: 24px;
  383. }
  384. }
  385. //表单上传组件
  386. .hc-upload-table-form {
  387. position: relative;
  388. height: 100%;
  389. display: flex;
  390. justify-content: center;
  391. align-items: center;
  392. .el-upload {
  393. position: relative;
  394. flex: 1;
  395. height: 100%;
  396. color: #ccc;
  397. display: flex;
  398. justify-content: center;
  399. align-items: center;
  400. .hc-table-form-icon {
  401. font-size: 24px;
  402. font-weight: 100;
  403. }
  404. .hc-table-form-img {
  405. width: 100%;
  406. height: 100%;
  407. }
  408. }
  409. }
  410. //伪表单
  411. .el-form-item--large .el-form-item__content {
  412. .form-item-div, .form-item-dashed {
  413. position: relative;
  414. color: #606266;
  415. font-size: 14px;
  416. padding: 0 12px;
  417. height: 40px;
  418. width: 100%;
  419. border-radius: 4px;
  420. display: flex;
  421. align-items: center;
  422. &.hover{
  423. cursor: pointer;
  424. transition: border 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)
  425. }
  426. }
  427. .form-item-div {
  428. border: 1px solid #dddfe6;
  429. }
  430. .form-item-dashed {
  431. border: 1px dashed #dddfe6;
  432. }
  433. .form-item-div.hover, .form-item-dashed.hover {
  434. &:hover {
  435. border-color: var(--el-color-primary);
  436. }
  437. }
  438. }
  439. //无名称
  440. .el-form-item[no-label] .el-form-item__label-wrap {
  441. margin-left: 0 !important;
  442. }
  443. .el-form--large.el-form--label-top .el-form-item .el-form-item__label {
  444. min-height: 22px;
  445. }
  446. //输入框验证问题
  447. .el-input.is-error .el-input__wrapper {
  448. box-shadow: 0 0 0 1px var(--el-color-danger) inset;
  449. }
  450. //表单输入框和按钮组合
  451. .el-form-item.hc-input-button-group .el-form-item__content {
  452. .el-input {
  453. flex: 1;
  454. .el-input__wrapper {
  455. border-radius: 4px 0 0 4px;
  456. }
  457. }
  458. .el-button {
  459. border-radius: 0 4px 4px 0;
  460. }
  461. }
  462. //设置表单的上传
  463. .hc-upload-table-form {
  464. position: relative;
  465. height: 100%;
  466. display: flex;
  467. justify-content: center;
  468. align-items: center;
  469. .el-upload {
  470. position: relative;
  471. flex: 1;
  472. height: inherit;
  473. color: #ccc;
  474. .hc-table-form-icon {
  475. font-size: 24px;
  476. font-weight: 100;
  477. }
  478. .hc-table-form-img {
  479. width: 100%;
  480. height: inherit;
  481. }
  482. .hc-table-form-del {
  483. position: absolute;
  484. right: 0;
  485. top: 0;
  486. }
  487. }
  488. }
  489. //表单提示样式
  490. .el-popper.is-customized {
  491. padding: 6px 12px;
  492. background: linear-gradient(90deg, rgb(159, 229, 151), rgb(204, 229, 129));
  493. }
  494. .el-popper.is-customized .el-popper__arrow::before {
  495. background: linear-gradient(45deg, #b2e68d, #bce689);
  496. right: 0;
  497. }
  498. // 树样式
  499. .hc-tree-node {
  500. .data-custom-tree-node {
  501. position: relative;
  502. display: flex;
  503. align-items: center;
  504. width: 100%;
  505. color: var(--el-text-color-primary);
  506. .label {
  507. flex: auto;
  508. font-size: 16px;
  509. }
  510. .label.level-name {
  511. font-size: 18px;
  512. font-weight: bold;
  513. }
  514. }
  515. .el-tree-node__content {
  516. height: 28px;
  517. }
  518. .el-tree-node__label {
  519. flex: 1;
  520. user-select: none;
  521. }
  522. .el-tree-node.is-expanded.is-current.is-focusable {
  523. background: #cacaca;
  524. border-radius: 4px;
  525. }
  526. }
  527. .ui-drag-modal-box .hc-image-preview-box.ui-drag-modal-dialog .ui-drag-modal-dialog-body {
  528. .hc-image-preview-view {
  529. position: relative;
  530. overflow: hidden;
  531. height: 100%;
  532. width: 100%;
  533. .el-image-viewer__wrapper {
  534. position: relative;
  535. width: 100%;
  536. height: 100%;
  537. .el-image-viewer__mask {
  538. border-radius: 3px;
  539. box-shadow: 0 0 6px 0 rgba(0,0,0,0.10);
  540. }
  541. .el-image-viewer__close {
  542. display: none;
  543. }
  544. .el-image-viewer__actions {
  545. bottom: 10px;
  546. }
  547. }
  548. }
  549. }
  550. //设置表单样式
  551. .hc-excel-table-form-view {
  552. position: relative;
  553. display: flex;
  554. justify-content: center;
  555. td {
  556. padding: 6px;
  557. font-family: "EUDC", 宋体, v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
  558. .el-input {
  559. background-color: #ffffff !important;
  560. border-radius: 3px;
  561. .el-input__wrapper {
  562. background-color: inherit;
  563. }
  564. .el-input__wrapper.is-focus, .el-input__wrapper:hover {
  565. box-shadow: 0 0 0 1.5px var(--el-input-focus-border-color) inset;
  566. background-color: #eddac4;
  567. }
  568. //公式 #dcdcdc
  569. //焦点 #eddac4
  570. }
  571. }
  572. }