App.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. <template>
  2. <div v-if="store.state.isLogin" class="main-container">
  3. <HeaderVue class="header"></HeaderVue>
  4. <div class="main-app">
  5. <div class="aside"><AsideVue></AsideVue></div>
  6. <div class="section">
  7. <div class="first-title" v-if="store.state.firstTitle != '主页'">
  8. {{ store.state.firstTitle }}
  9. </div>
  10. <div
  11. class="main-section"
  12. :style="{
  13. margin: store.state.firstTitle == '主页' ? 0 : '24px 0 0 24px',
  14. height:
  15. store.state.firstTitle == '主页'
  16. ? 'calc(100vh - 60px)'
  17. : 'calc(100vh - 136px)',
  18. }"
  19. >
  20. <router-view></router-view>
  21. </div>
  22. </div>
  23. </div>
  24. <!-- <FooterVue></FooterVue> -->
  25. </div>
  26. <router-view v-else></router-view>
  27. </template>
  28. <script>
  29. import HeaderVue from "./components/Header.vue";
  30. import AsideVue from "./components/Aside.vue";
  31. import FooterVue from "./components/Footer.vue";
  32. import * as echarts from "echarts";
  33. import { provide } from "vue";
  34. import store from "./store";
  35. export default {
  36. components: {
  37. HeaderVue,
  38. AsideVue,
  39. FooterVue,
  40. },
  41. data() {
  42. return {};
  43. },
  44. setup() {
  45. provide("ec", echarts);
  46. return {
  47. store,
  48. };
  49. },
  50. };
  51. </script>
  52. <style>
  53. .main-container {
  54. height: 100%;
  55. width: 100%;
  56. min-height: 800px;
  57. min-width: 1200px;
  58. }
  59. .footer {
  60. text-align: center;
  61. }
  62. .main-app {
  63. width: 100%;
  64. height: calc(100% - 60px);
  65. display: flex;
  66. }
  67. .section {
  68. width: 100%;
  69. background: #f4f5f6;
  70. overflow: auto;
  71. }
  72. .first-title {
  73. height: 52px;
  74. line-height: 52px;
  75. width: 100%;
  76. box-sizing: border-box;
  77. background: #fff;
  78. font-size: 18px;
  79. font-family: PingFangSC-Medium, PingFang SC;
  80. font-weight: 500;
  81. color: #333d43;
  82. padding-left: 20px;
  83. }
  84. .main-section {
  85. margin: 24px 0 0 24px;
  86. height: calc(100vh - 136px);
  87. overflow-y: auto;
  88. background: #fff;
  89. }
  90. .line-container-p18 {
  91. padding: 18px;
  92. background: #fff;
  93. }
  94. .line-container-p24 {
  95. padding: 24px;
  96. background: #fff;
  97. }
  98. .full-container-p24 {
  99. padding: 24px;
  100. min-height: calc(100% - 48px);
  101. background: #fff;
  102. }
  103. .df {
  104. display: flex;
  105. }
  106. .ffw {
  107. flex-flow: wrap;
  108. }
  109. .jcsa {
  110. justify-content: space-around;
  111. }
  112. .jcsb {
  113. justify-content: space-between;
  114. }
  115. .aic {
  116. align-items: center;
  117. }
  118. .dib {
  119. display: inline-block;
  120. }
  121. .ml8 {
  122. margin-left: 8px;
  123. }
  124. .jcfe {
  125. justify-content: flex-end;
  126. }
  127. .mt20 {
  128. margin-top: 20px;
  129. }
  130. .mb20 {
  131. margin-bottom: 20px;
  132. }
  133. .mt30 {
  134. margin-top: 30px;
  135. }
  136. .mt50 {
  137. margin-top: 50px;
  138. }
  139. .container-title {
  140. font-size: 18px;
  141. font-family: PingFangSC-Medium, PingFang SC;
  142. font-weight: 500;
  143. color: #0094fe;
  144. margin: 15px 0 15px 15px;
  145. }
  146. .container-second-title {
  147. font-size: 16px;
  148. font-family: PingFangSC-Medium, PingFang SC;
  149. font-weight: 500;
  150. color: #0094fe;
  151. margin: 15px 0 15px 0;
  152. }
  153. .line {
  154. display: flex;
  155. align-items: center;
  156. align-content: flex-start;
  157. margin: 20px;
  158. }
  159. .info-line {
  160. display: flex;
  161. align-items: center;
  162. align-content: flex-start;
  163. margin-right: 20px;
  164. }
  165. .info-line-title {
  166. width: 120px;
  167. height: 100%;
  168. font-size: 14px;
  169. font-family: PingFangSC-Regular, PingFang SC;
  170. font-weight: 400;
  171. color: #353a42;
  172. line-height: 100%;
  173. text-align: right;
  174. padding-right: 20px;
  175. }
  176. .info-line-text {
  177. width: 240px !important;
  178. height: 100%;
  179. line-height: 100%;
  180. }
  181. .info-line-textarea {
  182. width: 640px;
  183. height: 100%;
  184. line-height: 100%;
  185. }
  186. .pointer {
  187. cursor: pointer;
  188. }
  189. .el-upload-list__item-thumbnail {
  190. object-fit: contain !important;
  191. }
  192. .el-input__inner {
  193. text-align: center;
  194. color: #777 !important;
  195. }
  196. .el-upload--picture-card {
  197. border: none;
  198. }
  199. .amap-logo {
  200. display: none !important;
  201. opacity: 0 !important;
  202. }
  203. .amap-copyright {
  204. opacity: 0 !important;
  205. }
  206. .ml20 {
  207. margin-left: 20px;
  208. }
  209. .hr {
  210. border-bottom: 2px solid #3b91fa;
  211. opacity: 0.2;
  212. }
  213. .m10-0 {
  214. margin: 10px 0;
  215. }
  216. .m30-0 {
  217. margin: 30px 0;
  218. }
  219. .fww {
  220. flex-wrap: wrap;
  221. }
  222. .tar {
  223. text-align: right;
  224. }
  225. .mr20 {
  226. margin-right: 20px;
  227. }
  228. </style>