order-table.vue 964 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <script setup lang="ts">
  2. import { ref, watchEffect } from "vue";
  3. import { columns } from "../../config/configs";
  4. import { ElTable } from "element-plus";
  5. const props = defineProps<{
  6. paymentList: Array<Record<string, string>>;
  7. }>();
  8. const emit = defineEmits(["change-payment-detail"]);
  9. const list = ref<Array<Record<string, string>>>([]);
  10. const tableRef = ref<InstanceType<typeof ElTable>>(null);
  11. function handleCurrentChange(value) {
  12. value && emit("change-payment-detail", value);
  13. }
  14. //过滤审核成功的对账列表
  15. watchEffect(
  16. () => (list.value = props.paymentList.filter(item => item.status === "3"))
  17. );
  18. </script>
  19. <template>
  20. <el-table
  21. border
  22. ref="tableRef"
  23. row-key="id"
  24. :data="list"
  25. highlight-current-row
  26. size="small"
  27. @current-change="handleCurrentChange"
  28. >
  29. <el-table-column
  30. v-for="(col, index) in columns"
  31. :key="index"
  32. v-bind="col"
  33. show-overflow-tooltip
  34. />
  35. </el-table>
  36. </template>