App.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <div id="app">
  3. <router-view />
  4. </div>
  5. </template>
  6. <script setup lang="ts">
  7. import useSettingsStore from '@/store/modules/settings';
  8. import { handleThemeStyle } from '@/utils/theme';
  9. import { nextTick, onMounted } from 'vue';
  10. onMounted(() => {
  11. nextTick(() => {
  12. // 初始化主题样式
  13. handleThemeStyle(useSettingsStore().theme);
  14. });
  15. });
  16. </script>
  17. <style lang="scss">
  18. .app-main {
  19. background-color: #f8f8f9;
  20. }
  21. .el-form-item__label {
  22. font-weight: 400 !important;
  23. font-size: 14px !important;
  24. }
  25. /* red颜色 */
  26. .red {
  27. color: #c00000;
  28. }
  29. .yellow {
  30. color: #f2941e;
  31. }
  32. .green {
  33. color: #46a70c;
  34. }
  35. .blue {
  36. color: #004095;
  37. }
  38. .orange {
  39. color: #ff6600;
  40. }
  41. .fw700 {
  42. font-weight: 700;
  43. }
  44. /* 超出省略 */
  45. .omg {
  46. overflow: hidden;
  47. text-overflow: ellipsis;
  48. white-space: nowrap;
  49. }
  50. /* flex布局 */
  51. .flex {
  52. display: flex !important;
  53. }
  54. .flex-c {
  55. display: flex !important;
  56. align-items: center;
  57. }
  58. .flex-b {
  59. display: flex !important;
  60. justify-content: space-between;
  61. }
  62. .flex-bc {
  63. display: flex !important;
  64. justify-content: space-between;
  65. align-items: center;
  66. }
  67. .flex-ac {
  68. display: flex !important;
  69. justify-content: space-around;
  70. align-items: center;
  71. }
  72. .flex-cc {
  73. display: flex !important;
  74. justify-content: center;
  75. align-items: center;
  76. }
  77. .flex-left {
  78. display: flex;
  79. flex-wrap: wrap;
  80. justify-content: flex-start; // 让元素尽量向左靠齐
  81. align-items: center;
  82. }
  83. .flex-jend {
  84. display: flex !important;
  85. justify-content: flex-end !important;
  86. }
  87. .flex-d {
  88. display: flex !important;
  89. flex-direction: column;
  90. justify-content: space-around;
  91. align-items: center;
  92. }
  93. /* 小手 */
  94. .pointer {
  95. cursor: pointer;
  96. }
  97. // 超出一行省略
  98. .nowarp {
  99. /* 块级元素; 也可以是 inline-block */
  100. display: block;
  101. /* 设置超出内容隐藏 */
  102. overflow: hidden;
  103. /* 设置文本超出内容隐藏 */
  104. text-overflow: ellipsis;
  105. /* 溢出不换行 */
  106. white-space: nowrap;
  107. }
  108. // 超出2行省略
  109. .nowarp2 {
  110. display: block;
  111. overflow: hidden;
  112. text-overflow: ellipsis;
  113. /* 作为弹性伸缩盒子模型显示 */
  114. display: -webkit-box;
  115. /* 设置伸缩盒子的子元素排列方式--从上到下垂直排列 */
  116. -webkit-box-orient: vertical;
  117. /* 显示的行 */
  118. -webkit-line-clamp: 2;
  119. }
  120. // 对话框按钮间隔
  121. .mr20 {
  122. margin-right: 20px;
  123. }
  124. .mb10 {
  125. margin-bottom: 10px;
  126. }
  127. .mb20 {
  128. margin-bottom: 20px;
  129. }
  130. .mt10 {
  131. margin-top: 10px;
  132. }
  133. .mt20 {
  134. margin-top: 20px;
  135. }
  136. .mt15 {
  137. margin-top: 15px;
  138. }
  139. // 总计样式
  140. .footSlotStyle {
  141. margin-top: 20px;
  142. font-size: 13px;
  143. color: #606266;
  144. }
  145. // 隐藏按钮
  146. .hid_input {
  147. position: absolute;
  148. left: 100000px;
  149. }
  150. /* 详情页面 */
  151. #app {
  152. height: 100vh;
  153. }
  154. .details_home {
  155. margin: 20px 15px;
  156. height: calc(100vh - 134px);
  157. border: 1px solid #eaeaea;
  158. background-color: #fff;
  159. .info_form {
  160. padding: 25px 45px 0 5px;
  161. .multiselect {
  162. width: 20rem;
  163. }
  164. }
  165. .btns {
  166. position: absolute;
  167. bottom: 100px;
  168. left: 50%;
  169. -webkit-transform: translate(-50%, -50%);
  170. transform: translate(-50%, -50%);
  171. }
  172. }
  173. .el-select.el-select--default {
  174. width: 100%;
  175. }
  176. </style>