App.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <template>
  2. <router-view v-slot="{ Component }">
  3. <keep-alive>
  4. <component :is="Component"/>
  5. </keep-alive>
  6. </router-view>
  7. </template>
  8. <script>
  9. import {defineComponent} from 'vue'
  10. import locale from 'element-plus/lib/locale/lang/zh-cn'
  11. import {useStore} from 'vuex'
  12. export default defineComponent({
  13. name: 'App',
  14. setup() {
  15. const store = useStore()
  16. let windowSize = getWindowSize()
  17. store.commit('app/setWindowSize', windowSize)
  18. store.commit('app/setJdt', {
  19. title: '数据上传',
  20. isOpen: false,
  21. abnormalClosing: false,
  22. })
  23. window.onresize = () => {
  24. store.commit('app/setWindowSize', getWindowSize())
  25. }
  26. return {
  27. locale,
  28. }
  29. },
  30. })
  31. function getWindowSize() {
  32. const w = window.innerWidth
  33. const h = window.innerHeight - 96
  34. return {w, h}
  35. }
  36. </script>
  37. <style>
  38. #app {
  39. font-family: Avenir, Helvetica, Arial, sans-serif;
  40. -webkit-font-smoothing: antialiased;
  41. -moz-osx-font-smoothing: grayscale;
  42. color: #2c3e50;
  43. width: 100%;
  44. height: 100vh;
  45. font-size: 13px;
  46. }
  47. .ellipsis-text {
  48. text-overflow: ellipsis;
  49. white-space: nowrap;
  50. overflow: hidden;
  51. }
  52. .sex-icon {
  53. width: 15px;
  54. height: 15px;
  55. }
  56. .el-table .cell {
  57. padding-left: 4px;
  58. padding-right: 4px;
  59. }
  60. .el-header {
  61. padding: 0 14px;
  62. }
  63. .el-main {
  64. padding: 0 14px;
  65. }
  66. .el-table__body tr.current-row > td,
  67. .el-table--striped .el-table__body tr.el-table__row--striped.current-row td {
  68. background-color: #a7d3ff !important;
  69. }
  70. .el-input.is-disabled .el-input__inner {
  71. color: blue;
  72. }
  73. .icon-shangxiatuodong {
  74. cursor: move;
  75. font-size: 12px;
  76. }
  77. .shangxiatuodong {
  78. cursor: move;
  79. }
  80. .el-checkbox__inner {
  81. width: 16px;
  82. height: 16px;
  83. border: 1px solid #000;
  84. border-radius: 4px;
  85. }
  86. .axios-loading2 {
  87. animation: axiosloading 1s;
  88. background-image: url('/src/assets/images/loading.gif');
  89. -webkit-background-image: url('/src/assets/images/loading.gif');
  90. background-repeat: no-repeat;
  91. background-position: center;
  92. }
  93. .el-dialog__header {
  94. border-bottom: 1px solid #ebeef5;
  95. background-color: #f8f8f8;
  96. border-radius: 4px;
  97. }
  98. .el-dialog {
  99. border-radius: 4px;
  100. }
  101. @keyframes axiosloading {
  102. 0% {
  103. opacity: 0;
  104. }
  105. 99% {
  106. opacity: 0;
  107. }
  108. 100% {
  109. opacity: 1;
  110. }
  111. }
  112. .component-box-wrapper__fullscreen {
  113. position: fixed;
  114. top: 0;
  115. left: 0;
  116. bottom: 0;
  117. right: 0;
  118. background: white;
  119. padding: 20px;
  120. z-index: 10000;
  121. height: 100%;
  122. overflow: auto;
  123. }
  124. .component-box-wrapper__half-transparent {
  125. position: fixed;
  126. top: 0;
  127. left: 0;
  128. bottom: 0;
  129. right: 0;
  130. background: rgba(0, 0, 0, 0.7);
  131. padding: 20px;
  132. z-index: 1000;
  133. height: 100%;
  134. overflow: auto;
  135. display: flex;
  136. align-items: flex-start;
  137. justify-content: center;
  138. }
  139. .component-content-box__dialog-like {
  140. width: 60%;
  141. padding: 20px;
  142. background: white;
  143. margin-top: 15vh;
  144. }
  145. .component-header-box {
  146. position: relative;
  147. width: 100%;
  148. display: flex;
  149. padding: 0 0 12px 0;
  150. }
  151. .component-header__title {
  152. width: 70%;
  153. font-size: 16px;
  154. display: flex;
  155. align-items: center;
  156. }
  157. .component-header__close-button {
  158. width: 30%;
  159. text-align: right;
  160. }
  161. table th.star div::before {
  162. content: '*';
  163. color: #f56c6cff;
  164. margin-right: 4px;
  165. }
  166. .bi_tian .el-form-item__label::before {
  167. content: '*';
  168. color: #f56c6cff;
  169. margin-right: 4px;
  170. }
  171. .el-select-dropdown__item.selected {
  172. background-color: #71abed66;
  173. }
  174. .el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
  175. background-color: #fac44d;
  176. color: white;
  177. }
  178. </style>