statistical.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <el-dialog
  3. :title="'统计'"
  4. width="80%"
  5. v-model="visible"
  6. :destroy-on-close="true"
  7. :close-on-click-modal="false"
  8. draggable>
  9. <div class="statistics-table-wrapper">
  10. <StatisticsIndex :row="row" />
  11. </div>
  12. </el-dialog>
  13. </template>
  14. <script setup lang="ts">
  15. import { ref } from 'vue';
  16. const StatisticsIndex = defineAsyncComponent(() => import('/@/views/marketing/statistics/index.vue'));
  17. const visible = ref(false);
  18. const row = ref({});
  19. // 打开弹窗
  20. const openDialog = async (_row: any) => {
  21. visible.value = true;
  22. row.value = _row;
  23. };
  24. // 暴露变量 只有暴漏出来的变量 父组件才能使用
  25. defineExpose({
  26. openDialog,
  27. });
  28. </script>
  29. <style>
  30. .config-container {
  31. display: flex;
  32. align-items: center;
  33. margin-bottom: 10px;
  34. font-size: 14px;
  35. font-weight: 400;
  36. width: 100%;
  37. justify-content: start;
  38. }
  39. .config-actions {
  40. width: 50px;
  41. display: flex;
  42. align-items: center;
  43. justify-content: space-between;
  44. }
  45. .apps-loadmore.el-select-dropdown .el-scrollbar__wrap {
  46. height: 330px !important;
  47. }
  48. .statistics-table-wrapper {
  49. height: 70vh;
  50. position: relative;
  51. }
  52. </style>