sa-global.scss 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. #nprogress {
  2. pointer-events: none;
  3. .bar {
  4. position: fixed;
  5. top: 0;
  6. left: 0;
  7. z-index: 99999;
  8. width: 100%;
  9. height: 2px;
  10. background-color: var(--sa-card-background);
  11. opacity: 0.75;
  12. }
  13. }
  14. .sa-reset-button {
  15. white-space: nowrap;
  16. cursor: pointer;
  17. border: none;
  18. -webkit-appearance: none;
  19. text-align: center;
  20. box-sizing: border-box;
  21. outline: none;
  22. -moz-user-select: none;
  23. -webkit-user-select: none;
  24. -ms-user-select: none;
  25. padding: 0;
  26. margin: 0;
  27. font-size: inherit;
  28. line-height: inherit;
  29. background-color: transparent;
  30. color: inherit;
  31. transform: translate(0, 0);
  32. &:active {
  33. transform: translate(1px, 1px);
  34. }
  35. }
  36. button {
  37. color: var(--sa-font);
  38. cursor: pointer;
  39. }
  40. // 刷新按钮
  41. .sa-button-refresh {
  42. padding: 9px 8px !important;
  43. }
  44. .cursor-pointer {
  45. cursor: pointer;
  46. }
  47. .panel-block {
  48. background: var(--sa-background-assist);
  49. border-radius: 8px;
  50. &--top {
  51. border-radius: 8px 8px 0 0 !important;
  52. margin-bottom: 8px;
  53. }
  54. &--bottom {
  55. border-radius: 0 0 8px 8px;
  56. }
  57. }
  58. // 标题
  59. .sa-title {
  60. line-height: 56px;
  61. color: var(--sa-title);
  62. font-size: 16px;
  63. flex-wrap: wrap;
  64. &--line {
  65. font-size: 14px;
  66. width: fit-content;
  67. position: relative;
  68. color: var(--sa-font);
  69. z-index: 2;
  70. line-height: 1;
  71. padding: 0 2px;
  72. margin-top: 0;
  73. &:after {
  74. pointer-events: none;
  75. content: '';
  76. position: absolute;
  77. height: 8px;
  78. background: var(--t-bg-active);
  79. bottom: 0;
  80. right: 0;
  81. left: 0;
  82. z-index: -1;
  83. }
  84. }
  85. .label {
  86. // flex: 1;
  87. }
  88. .left {
  89. flex-shrink: 0;
  90. }
  91. }
  92. .sa-space {
  93. height: 1px;
  94. background-color: var(--sa-page-background);
  95. margin-left: -20px;
  96. margin-right: -20px;
  97. }
  98. .sa-template-content {
  99. .item,
  100. .oper {
  101. padding: 0 12px;
  102. }
  103. .item {
  104. flex: 1;
  105. }
  106. .oper {
  107. width: 56px;
  108. display: flex;
  109. align-items: center;
  110. .sa-svg {
  111. font-size: 24px;
  112. color: var(--sa-subfont);
  113. }
  114. }
  115. .header {
  116. font-size: 12px;
  117. color: var(--sa-subtitle);
  118. background: var(--sa-table-header-bg);
  119. }
  120. .remove {
  121. line-height: 12px;
  122. font-size: 12px;
  123. font-weight: 500;
  124. color: #ff4d4f;
  125. cursor: pointer;
  126. }
  127. &.sa-template-goods {
  128. width: 100%;
  129. max-width: 360px;
  130. .header {
  131. line-height: 40px;
  132. }
  133. .list {
  134. padding: 8px 0;
  135. border-bottom: 1px solid var(--sa-space);
  136. }
  137. .title {
  138. line-height: 16px;
  139. font-size: 12px;
  140. font-weight: 500;
  141. color: var(--sa-font);
  142. margin-bottom: 6px;
  143. }
  144. .price {
  145. line-height: 16px;
  146. font-size: 12px;
  147. font-weight: 400;
  148. color: #ff4d4f;
  149. }
  150. }
  151. &.sa-template-form {
  152. .oper {
  153. width: 88px;
  154. }
  155. .header {
  156. line-height: 32px;
  157. margin-bottom: 8px;
  158. }
  159. .list {
  160. margin-bottom: 24px;
  161. &:last-of-type {
  162. margin-bottom: 0;
  163. }
  164. }
  165. }
  166. }
  167. // table 分页
  168. .sa-footer-pagination {
  169. height: auto !important;
  170. padding: 12px var(--sa-padding) 0 !important;
  171. background: var(--sa-background-assist);
  172. border-radius: 0 0 8px 8px;
  173. box-shadow:
  174. 0 0 4px rgba(0, 0, 0, 0.08),
  175. 0 -2px 6px rgba(0, 0, 0, 0.06);
  176. display: flex;
  177. align-items: center;
  178. justify-content: space-between;
  179. flex-wrap: wrap;
  180. position: relative;
  181. z-index: 10;
  182. .tools-wrap,
  183. .el-pagination {
  184. margin-bottom: 12px;
  185. }
  186. .tools-wrap {
  187. display: flex;
  188. align-items: center;
  189. .tip {
  190. font-size: 12px;
  191. color: var(--sa-font);
  192. margin-right: 12px;
  193. }
  194. }
  195. .tools-pc,
  196. .tools-mobile {
  197. display: none;
  198. }
  199. @media only screen and (min-width: 768px) {
  200. .tools-pc {
  201. display: flex;
  202. }
  203. }
  204. @media only screen and (max-width: 768px) {
  205. .tools-mobile {
  206. display: flex;
  207. }
  208. }
  209. }
  210. // el-tree 统一树状图
  211. .sa-tree-table {
  212. width: 100%;
  213. display: flex;
  214. flex-direction: column;
  215. position: relative;
  216. .sa-tree-table-wrap {
  217. flex: 1;
  218. overflow: hidden;
  219. overflow-x: auto;
  220. .item {
  221. height: 48px;
  222. line-height: 48px;
  223. padding: 0 10px;
  224. flex: 1;
  225. }
  226. .sa-tree-table-header {
  227. width: 100%;
  228. font-size: 14px;
  229. color: var(--sa-font);
  230. background: var(--sa-table-header-bg);
  231. .item {
  232. background: var(--sa-table-header-bg);
  233. height: 40px;
  234. line-height: 40px;
  235. }
  236. }
  237. .sa-tree-table-content {
  238. width: 100%;
  239. .el-tree {
  240. flex: 1;
  241. position: unset;
  242. .is-striped > .el-tree-node__content {
  243. background: var(--sa-table-striped);
  244. }
  245. .el-tree-node__content {
  246. height: 48px;
  247. padding: 0 !important;
  248. background: transparent;
  249. .el-tree-node__expand-icon {
  250. display: none;
  251. }
  252. .el-tree-node__label {
  253. width: 100%;
  254. }
  255. .custom-tree-node {
  256. flex: 1;
  257. display: flex;
  258. align-items: center;
  259. justify-content: space-between;
  260. font-size: 14px;
  261. .item-text {
  262. min-width: 80px;
  263. }
  264. }
  265. &:hover {
  266. background: var(--t-bg-hover) !important;
  267. + .el-tree-node__children {
  268. background: var(--t-bg-hover) !important;
  269. .is-striped > .el-tree-node__content {
  270. background: transparent;
  271. }
  272. }
  273. }
  274. }
  275. }
  276. .tree-arrow {
  277. width: 14px;
  278. display: inline-block;
  279. margin-right: 4px;
  280. i {
  281. font-size: 14px;
  282. }
  283. .arrow-open {
  284. transform: rotateZ(90deg);
  285. transition: transform 0.25s linear;
  286. }
  287. .arrow-close {
  288. transform: rotateZ(0deg);
  289. transition: transform 0.25s linear;
  290. }
  291. }
  292. .el-button,
  293. .sa-button {
  294. height: auto !important;
  295. min-height: unset;
  296. padding: 0;
  297. }
  298. }
  299. }
  300. }
  301. // 回收站
  302. .recyclebin-view {
  303. flex-direction: column !important;
  304. .sa-table {
  305. border-radius: 8px;
  306. }
  307. .sa-footer-pagination {
  308. box-shadow: none;
  309. border-top: 1px solid var(--sa-space);
  310. }
  311. .el-pagination {
  312. .el-pagination__sizes,
  313. .el-pagination__jump {
  314. display: none;
  315. }
  316. }
  317. }
  318. // 展开icon 动效
  319. .expand-arrow {
  320. transition: all 0.3s linear;
  321. cursor: pointer;
  322. }
  323. .expand-arrow-up {
  324. transform: rotateZ(180deg);
  325. -webkit-transform: rotateZ(180deg);
  326. }
  327. .expand-arrow-down {
  328. transform: rotateZ(0deg);
  329. -webkit-transform: rotateZ(0deg);
  330. }
  331. // 点样式
  332. .sa-dot-wrap {
  333. display: flex;
  334. align-items: center;
  335. height: 100%;
  336. .sa-dot {
  337. width: 8px;
  338. height: 8px;
  339. border-radius: 50%;
  340. margin-right: 8px;
  341. }
  342. &.sa-dot-normal {
  343. color: var(--el-color-success);
  344. .sa-dot {
  345. background: var(--el-color-success);
  346. }
  347. }
  348. &.sa-dot-error {
  349. color: var(--el-color-error);
  350. .sa-dot {
  351. background: var(--el-color-error);
  352. }
  353. }
  354. &.sa-dot-info {
  355. color: var(--sa-subtitle);
  356. .sa-dot {
  357. background: var(--sa-subtitle);
  358. }
  359. }
  360. }
  361. /* ==================
  362. 模板块部分
  363. ==================== */
  364. .sa-template-wrap {
  365. width: 100%;
  366. color: var(--sa-font);
  367. .title {
  368. width: inherit;
  369. background: var(--sa-table-header-bg);
  370. margin: 0 0 12px;
  371. font-size: 12px;
  372. }
  373. .key,
  374. .value,
  375. .oper {
  376. padding: 0 16px;
  377. flex: 1;
  378. }
  379. .oper {
  380. flex: none;
  381. width: 120px;
  382. }
  383. .item {
  384. display: flex;
  385. > .el-form-item {
  386. flex: 1;
  387. margin-right: 0;
  388. margin-bottom: var(--sa-padding);
  389. padding: 0 16px;
  390. &.oper {
  391. flex: none;
  392. width: 120px;
  393. }
  394. }
  395. }
  396. .el-form-item__content {
  397. display: flex;
  398. align-items: center;
  399. }
  400. }
  401. .sa-color--success {
  402. color: var(--el-color-success);
  403. }
  404. .sa-color--warning {
  405. color: var(--el-color-warning);
  406. }
  407. .sa-color--danger {
  408. color: var(--el-color-danger) !important;
  409. }
  410. .sa-color--info {
  411. color: var(--el-color-info);
  412. }
  413. .el-link.is-underline:after {
  414. content: '';
  415. position: absolute;
  416. left: 0;
  417. right: 0;
  418. height: 0;
  419. bottom: 0;
  420. border-bottom: 1px solid var(--el-link-text-color);
  421. }