layout.scss 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. @import './theme.scss';
  2. $pageHeaderHeight: 50px;
  3. $pageSidebarWidth: 235px;
  4. $pageSidebarClosedWidth: 64px;
  5. $pageSidebarItemHeight: 40px;
  6. $pageFooterHeight: 40px;
  7. html,
  8. body {
  9. padding: 0 !important;
  10. margin: 0 !important;
  11. font-size: 14px;
  12. width: 100%;
  13. height: 100%;
  14. }
  15. #app {
  16. width: 100%;
  17. height: 100%;
  18. }
  19. #page-main {
  20. width: 100%;
  21. height: 100%;
  22. display: flex;
  23. flex-direction: column;
  24. /* 垂直 从上到下 */
  25. justify-content: flex-start;
  26. /* 垂直 左对齐 */
  27. align-items: stretch;
  28. .page-header {
  29. order: 0;
  30. flex-grow: 0;
  31. flex-shrink: 0;
  32. height: $pageHeaderHeight;
  33. }
  34. .page-container {
  35. order: 1;
  36. flex-grow: 1;
  37. flex-shrink: 1;
  38. display: flex;
  39. flex-direction: row;
  40. /* 水平,从左到右 */
  41. justify-content: flex-start;
  42. /* 水平上对齐 */
  43. .page-sidebar-wrapper {
  44. width: $pageSidebarWidth;
  45. // overflow: auto;
  46. flex-grow: 0;
  47. flex-shrink: 0;
  48. }
  49. .page-content-wrapper {
  50. flex-grow: 1;
  51. flex-shrink: 1;
  52. }
  53. }
  54. .page-footer {
  55. order: 2;
  56. flex-grow: 0;
  57. flex-shrink: 0;
  58. height: $pageFooterHeight;
  59. line-height: $pageFooterHeight;
  60. text-align: center;
  61. color: #6d6d6d;
  62. }
  63. }
  64. #page-main .page-header {
  65. display: flex;
  66. flex-direction: row;
  67. /* 水平, 从左向右 */
  68. justify-content: flex-start;
  69. /* 垂直 左对齐 */
  70. .page-logo {
  71. flex-grow: 0;
  72. flex-shrink: 0;
  73. padding-left: 20px;
  74. padding-right: 20px;
  75. width: 195px;
  76. display: inline-flex;
  77. flex-direction: row;
  78. justify-content: space-between;
  79. >a {
  80. display: inline-block;
  81. .logo-default {
  82. margin: 18px 0 0;
  83. height: 18px;
  84. }
  85. }
  86. .menu-toggler.sidebar-toggler {
  87. margin-top: 10.5px;
  88. }
  89. }
  90. .data-menu {
  91. flex-grow: 0;
  92. flex-shrink: 1;
  93. width: 240px;
  94. height: 100%;
  95. line-height: $pageHeaderHeight;
  96. .data-menu-dropdown {
  97. height: 100%;
  98. line-height: $pageHeaderHeight;
  99. font-size: 18px;
  100. }
  101. .el-select .el-input--suffix .el-input__inner {
  102. height: 30px;
  103. line-height: 30px;
  104. }
  105. }
  106. .user-menu {
  107. flex-grow: 1;
  108. flex-shrink: 1;
  109. margin: 0 20px 0 0;
  110. padding: 0;
  111. height: 100%;
  112. display: inline-flex;
  113. flex-direction: row-reverse;
  114. .header-nav{
  115. margin-right: 10px;
  116. >li{
  117. float: left;
  118. width: 50px;
  119. height: 50px;
  120. padding: 0 4px;
  121. box-sizing: border-box;
  122. }
  123. }
  124. .user-menu-dropdown {
  125. height: 100%;
  126. line-height: $pageHeaderHeight;
  127. font-size: 18px;
  128. margin-left: 20px;
  129. }
  130. }
  131. }
  132. #page-main .page-container {
  133. .page-sidebar-wrapper {
  134. .el-menu {}
  135. }
  136. }
  137. #page-main .page-container #page-sidebar-wrapper {
  138. .sidebar-menu.el-menu {
  139. border-right: none;
  140. padding-bottom: 10px;
  141. .el-submenu {
  142. .el-menu-item {
  143. height: $pageSidebarItemHeight;
  144. line-height: $pageSidebarItemHeight;
  145. }
  146. }
  147. }
  148. }
  149. /** sidebar 弹框 */
  150. .el-menu--vertical {
  151. .el-menu.el-menu--popup.el-menu--popup-right-start {
  152. .el-menu-item.sidebar-menu-item {
  153. height: $pageSidebarItemHeight;
  154. line-height: $pageSidebarItemHeight;
  155. }
  156. }
  157. }
  158. #page-main .page-container .page-content-wrapper {
  159. margin: 0px 10px 10px 10px;
  160. display: flex;
  161. flex-direction: column;
  162. justify-content: flex-start;
  163. overflow: hidden;
  164. .page-bar {
  165. flex-grow: 0;
  166. flex-shrink: 0;
  167. height: 30px;
  168. padding: 0 10px;
  169. margin-bottom: 10px;
  170. border-bottom: 1px solid #333;
  171. .el-breadcrumb {
  172. font-size: 14px;
  173. line-height: 30px;
  174. }
  175. }
  176. .page-content {
  177. flex-grow: 1;
  178. flex-shrink: 1;
  179. overflow-y: auto;
  180. }
  181. }
  182. // #page-main #page-container #page-content-wrapper .page-content.page-table-template {
  183. #page-main #page-container #page-content-wrapper .page-table-template {
  184. // display: flex;
  185. // flex-direction: column;
  186. // justify-content: flex-start;
  187. // align-items: stretch;
  188. // flex-grow: 1;
  189. // flex-shrink: 1;
  190. height: 100%;
  191. >.query-form {
  192. flex-grow: 0;
  193. flex-shrink: 0;
  194. }
  195. >.data-table {
  196. // flex-grow: 1;
  197. // flex-shrink: 1;
  198. height: calc(100% - 54px);
  199. // overflow-x: auto;
  200. // overflow-y: auto;
  201. background: #fff;
  202. // margin-top: 10px;
  203. }
  204. >.data-table-pagination {
  205. // z-index: 99999;
  206. margin-top: 10px;
  207. // flex-grow: 0;
  208. // flex-shrink: 0;
  209. // display: flex;
  210. // justify-content: flex-end;
  211. text-align: right;
  212. // position: fixed;
  213. // bottom: 0;
  214. // background: #f2f2f2;
  215. // left: 242px;
  216. // right: 0;
  217. // padding-top: 10px;
  218. // padding-bottom: 10px;
  219. }
  220. }
  221. #page-main #page-container #page-content-wrapper .page-content>.query-form {
  222. padding: 5px 10px 0px 10px;
  223. margin-bottom: 10px;
  224. .el-form {
  225. .el-form-item {
  226. margin-bottom: 5px;
  227. vertical-align: middle;
  228. .el-form-item__label {
  229. //min-width: 72px;
  230. }
  231. .el-form-item__content {
  232. margin-left: 0px;
  233. }
  234. }
  235. .halving_line {
  236. width: 100%;
  237. border-top: 1px solid #dfe6ec;
  238. }
  239. }
  240. }
  241. #page-main #page-container #page-content-wrapper .page-content .data-table {}
  242. // #page-main #page-container #page-content-wrapper .page-content .data-table {
  243. .data-table {
  244. position: relative;
  245. >.el-table {
  246. position: absolute;
  247. .el-table__header-wrapper {
  248. .el-table__header {
  249. thead tr th {}
  250. }
  251. }
  252. .el-table__body-wrapper {
  253. .el-table__body {
  254. tr td {
  255. padding: 6px 0;
  256. .cell {
  257. line-height: 20px;
  258. }
  259. &.btn {
  260. padding: 2px 0;
  261. }
  262. }
  263. }
  264. }
  265. }
  266. }
  267. #page-main #page-container #page-content-wrapper .page-content.input-form {
  268. form {
  269. max-width: 800px;
  270. margin: 50px auto;
  271. >.el-form-item {
  272. margin-bottom: 18px;
  273. >.el-form-item__label {
  274. width: 180px;
  275. }
  276. >.el-form-item__content {
  277. max-width: 600px;
  278. margin-left: 180px;
  279. }
  280. }
  281. }
  282. }
  283. #page-main.page-sidebar-closed {
  284. .page-header {
  285. .page-logo {
  286. padding-left: 20px;
  287. padding-right: 20px;
  288. width: 20px;
  289. >a {
  290. display: none;
  291. }
  292. }
  293. }
  294. .page-container {
  295. .page-sidebar-wrapper {
  296. width: $pageSidebarClosedWidth;
  297. }
  298. }
  299. }
  300. // @media screen and (max-width: 1000px) {
  301. // #page-main {
  302. // .page-header {
  303. // .page-logo {
  304. // padding-left: 20px;
  305. // padding-right: 20px;
  306. // width: 20px;
  307. // > a {
  308. // display: none;
  309. // }
  310. // }
  311. // }
  312. // .page-container {
  313. // .page-sidebar-wrapper {
  314. // width: $pageSidebarClosedWidth;
  315. // }
  316. // }
  317. // }
  318. // }
  319. // @media screen and (max-width: 800px) {
  320. // #page-main {
  321. // .page-header {
  322. // .page-logo {
  323. // display: none;
  324. // }
  325. // }
  326. // .page-container {
  327. // display: flex;
  328. // flex-direction: column;
  329. // justify-content: flex-start;
  330. // .page-sidebar-wrapper {
  331. // width: 100%;
  332. // }
  333. // }
  334. // }
  335. // }
  336. // @media screen and (max-height: 700px) {
  337. // #page-main {
  338. // .page-footer {
  339. // display: none;
  340. // }
  341. // }
  342. // }
  343. .content-scrollbar {
  344. height: calc(100vh - 33px);
  345. background: #364150;
  346. .el-scrollbar__bar {
  347. &.is-vertical {
  348. display: none;
  349. }
  350. }
  351. }
  352. #page-main #page-container #page-content-wrapper .box {
  353. display: flex;
  354. flex-direction: column;
  355. .el-tabs {
  356. flex-grow: 1;
  357. flex-shrink: 1;
  358. display: flex;
  359. flex-direction: column;
  360. .el-tabs__header {
  361. flex-grow: 0;
  362. flex-shrink: 0;
  363. }
  364. .el-tabs__content {
  365. flex-grow: 1;
  366. flex-shrink: 1;
  367. display: flex;
  368. flex-direction: column;
  369. .el-tab-pane {
  370. height: 100%;
  371. // flex-grow: 1;
  372. // flex-shrink: 1;
  373. display: flex;
  374. flex-direction: column;
  375. // // > div {
  376. // // flex-grow: 1;
  377. // // flex-shrink: 1;
  378. // // }
  379. }
  380. }
  381. }
  382. }