App.vue 3.1 KB

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