index-avue.scss 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. // Survey模块avue-crud样式定制
  2. .survey-management-avue {
  3. // 搜索区域样式
  4. .avue-crud__search {
  5. background: #fff;
  6. padding: 20px;
  7. border-radius: 4px;
  8. margin-bottom: 16px;
  9. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  10. .avue-form {
  11. .el-form-item {
  12. margin-bottom: 18px;
  13. .el-form-item__label {
  14. font-weight: 500;
  15. color: #303133;
  16. }
  17. .el-input,
  18. .el-select,
  19. .el-date-editor {
  20. width: 100%;
  21. }
  22. }
  23. }
  24. }
  25. // 表格区域样式
  26. .avue-crud__menu {
  27. margin-bottom: 16px;
  28. padding: 16px 20px;
  29. background: #fff;
  30. border-radius: 4px;
  31. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  32. .el-button {
  33. margin-right: 8px;
  34. &:last-child {
  35. margin-right: 0;
  36. }
  37. }
  38. }
  39. // 表格样式
  40. .avue-crud {
  41. background: #fff;
  42. border-radius: 4px;
  43. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  44. .el-table {
  45. .el-table__header {
  46. background-color: #f5f7fa;
  47. th {
  48. background-color: #f5f7fa;
  49. color: #606266;
  50. font-weight: 600;
  51. }
  52. }
  53. .el-table__row {
  54. &:hover {
  55. background-color: #f5f7fa;
  56. }
  57. }
  58. }
  59. // 状态标签样式
  60. .el-tag {
  61. font-weight: 500;
  62. border-radius: 4px;
  63. &.el-tag--success {
  64. background-color: #f0f9ff;
  65. border-color: #67c23a;
  66. color: #67c23a;
  67. }
  68. &.el-tag--warning {
  69. background-color: #fdf6ec;
  70. border-color: #e6a23c;
  71. color: #e6a23c;
  72. }
  73. &.el-tag--info {
  74. background-color: #f4f4f5;
  75. border-color: #909399;
  76. color: #909399;
  77. }
  78. }
  79. // 操作按钮样式
  80. .el-button--text {
  81. padding: 2px 8px;
  82. font-size: 12px;
  83. &:hover {
  84. background-color: #f0f9ff;
  85. color: #409eff;
  86. }
  87. }
  88. }
  89. // 分页样式
  90. .avue-crud__pagination {
  91. padding: 20px 0;
  92. text-align: right;
  93. background: #fff;
  94. border-radius: 4px;
  95. margin-top: 16px;
  96. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  97. .el-pagination {
  98. .el-pagination__total,
  99. .el-pagination__sizes,
  100. .el-pagination__jump {
  101. color: #606266;
  102. }
  103. }
  104. }
  105. }
  106. // 题目编辑弹窗样式
  107. .question-editor-dialog {
  108. .el-dialog__header {
  109. background-color: #f5f7fa;
  110. padding: 16px 20px;
  111. border-bottom: 1px solid #e4e7ed;
  112. .el-dialog__title {
  113. font-size: 16px;
  114. font-weight: 600;
  115. color: #303133;
  116. }
  117. }
  118. .el-dialog__body {
  119. padding: 10px 20px;
  120. max-height: 70vh;
  121. overflow-y: auto;
  122. &::-webkit-scrollbar {
  123. width: 6px;
  124. }
  125. &::-webkit-scrollbar-thumb {
  126. background-color: #c0c4cc;
  127. border-radius: 3px;
  128. }
  129. &::-webkit-scrollbar-track {
  130. background-color: #f5f7fa;
  131. border-radius: 3px;
  132. }
  133. }
  134. .el-dialog__footer {
  135. padding: 16px 20px;
  136. background-color: #f5f7fa;
  137. border-top: 1px solid #e4e7ed;
  138. text-align: center;
  139. .el-button {
  140. margin: 0 8px;
  141. min-width: 80px;
  142. }
  143. }
  144. }
  145. // 响应式设计
  146. @media (max-width: 1200px) {
  147. .survey-management-avue {
  148. .avue-crud__search {
  149. padding: 15px;
  150. }
  151. .avue-crud__menu {
  152. padding: 12px 15px;
  153. .el-button {
  154. margin-bottom: 8px;
  155. font-size: 12px;
  156. }
  157. }
  158. }
  159. }
  160. @media (max-width: 768px) {
  161. .survey-management-avue {
  162. .avue-crud__search {
  163. padding: 10px;
  164. .avue-form {
  165. .el-form-item {
  166. margin-bottom: 12px;
  167. }
  168. }
  169. }
  170. .avue-crud__menu {
  171. padding: 10px;
  172. .el-button {
  173. width: 100%;
  174. margin-bottom: 8px;
  175. margin-right: 0;
  176. }
  177. }
  178. .avue-crud {
  179. .el-table {
  180. font-size: 12px;
  181. .el-table__header th {
  182. padding: 8px 4px;
  183. }
  184. .el-table__row td {
  185. padding: 8px 4px;
  186. }
  187. }
  188. .el-button--text {
  189. padding: 4px 6px;
  190. font-size: 11px;
  191. }
  192. }
  193. .avue-crud__pagination {
  194. padding: 15px 0;
  195. text-align: center;
  196. .el-pagination {
  197. justify-content: center;
  198. .el-pagination__sizes,
  199. .el-pagination__jump {
  200. display: none;
  201. }
  202. }
  203. }
  204. }
  205. .question-editor-dialog {
  206. width: 95% !important;
  207. margin-top: 5vh !important;
  208. .el-dialog__body {
  209. padding: 8px 15px;
  210. }
  211. }
  212. }
  213. @media (max-width: 480px) {
  214. .survey-management-avue {
  215. .avue-crud__search {
  216. .avue-form {
  217. .el-form-item {
  218. .el-form-item__content {
  219. .el-input,
  220. .el-select,
  221. .el-date-editor {
  222. font-size: 14px;
  223. }
  224. }
  225. }
  226. }
  227. }
  228. .avue-crud {
  229. .el-table {
  230. .el-table__header th,
  231. .el-table__row td {
  232. padding: 6px 2px;
  233. font-size: 11px;
  234. }
  235. .cell {
  236. padding: 0 2px;
  237. }
  238. }
  239. }
  240. }
  241. }
  242. // 动画效果
  243. .fade-enter-active,
  244. .fade-leave-active {
  245. transition: opacity 0.3s ease;
  246. }
  247. .fade-enter,
  248. .fade-leave-to {
  249. opacity: 0;
  250. }
  251. .slide-fade-enter-active {
  252. transition: all 0.3s ease;
  253. }
  254. .slide-fade-leave-active {
  255. transition: all 0.2s cubic-bezier(1, 0.5, 0.8, 1);
  256. }
  257. .slide-fade-enter,
  258. .slide-fade-leave-to {
  259. transform: translateX(10px);
  260. opacity: 0;
  261. }
  262. // 加载状态样式
  263. .avue-crud {
  264. .el-loading-mask {
  265. background-color: rgba(255, 255, 255, 0.8);
  266. .el-loading-spinner {
  267. .path {
  268. stroke: #409eff;
  269. }
  270. }
  271. }
  272. }
  273. // 工具提示样式
  274. .el-tooltip__popper {
  275. max-width: 300px;
  276. line-height: 1.5;
  277. }