index.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <el-row class="vab-query-form" :gutter="0">
  3. <slot></slot>
  4. </el-row>
  5. </template>
  6. <script lang="ts" setup>
  7. defineOptions({
  8. name: 'VabQueryForm',
  9. })
  10. </script>
  11. <style lang="scss" scoped>
  12. @mixin panel {
  13. display: flex;
  14. flex-wrap: wrap;
  15. align-content: center;
  16. align-items: center;
  17. justify-content: flex-start;
  18. min-height: var(-el-input-height);
  19. margin: 0 0 calc(var(--el-margin) / 2) 0;
  20. .el-form-item__content {
  21. display: flex;
  22. align-items: center;
  23. }
  24. > .el-button {
  25. margin: 0 10px calc(var(--el-margin) / 2) 0 !important;
  26. }
  27. }
  28. .vab-query-form {
  29. :deep() {
  30. .el-input {
  31. width: 175px;
  32. }
  33. .el-form-item:first-child {
  34. margin: 0 0 calc(var(--el-margin) / 2) 0 !important;
  35. }
  36. .el-form-item + .el-form-item {
  37. margin: 0 0 calc(var(--el-margin) / 2) 0 !important;
  38. .el-button {
  39. margin: 0 0 0 10px !important;
  40. }
  41. }
  42. .top-panel {
  43. @include panel;
  44. }
  45. .bottom-panel {
  46. @include panel;
  47. border-top: 1px solid #dcdfe6;
  48. }
  49. .left-panel {
  50. @include panel;
  51. }
  52. .right-panel {
  53. @include panel;
  54. justify-content: flex-end;
  55. }
  56. }
  57. }
  58. </style>