index.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <!-- 套期交易-期货计划明细 -->
  3. <mtp-table-scroll>
  4. <template #default="{ scroll }">
  5. <a-table :columns="columns" class="srcollYTable" :pagination="false" :rowKey="(record, index) => index"
  6. :data-source="tableList" :scroll="scroll">
  7. <!-- 计划类型 -->
  8. <template #hedgedtype="{ text }">
  9. <span>{{ getHedgedTypeName(text) }}</span>
  10. </template>
  11. </a-table>
  12. </template>
  13. </mtp-table-scroll>
  14. </template>
  15. <script lang="ts">
  16. import { PropType, watch } from 'vue'
  17. import { queryTableList, defineComponent, handleComposeTable } from '@/common/export/commonTable';
  18. import { Ermcp2HedgedItemRsp, ERMCP2HedgedItemspotRsp } from '@/services/go/ermcp/hedgedItem/interface'
  19. import { queryERMCP2HedgedItemspot } from '@/services/go/ermcp/hedgedItem'
  20. import { getHedgedTypeName } from '@/@next/constants/enum/hedgedType'
  21. import MtpTableScroll from '@/common/components/tableScroll/index.vue';
  22. export default defineComponent({
  23. components: {
  24. MtpTableScroll,
  25. },
  26. props: {
  27. name: String,
  28. selectedRow: {
  29. type: Object as PropType<Ermcp2HedgedItemRsp>,
  30. default: () => ({}),
  31. },
  32. },
  33. setup(props) {
  34. const { loading, tableList, queryTable } = queryTableList<ERMCP2HedgedItemspotRsp>(true, 2); // 表格列表数据
  35. const queryFn = () => {
  36. const { hedgeditemid } = props.selectedRow;
  37. if (hedgeditemid) {
  38. queryTable(queryERMCP2HedgedItemspot, { hedgeditemid });
  39. }
  40. }
  41. // 表格通用逻辑
  42. const composeTable = handleComposeTable<ERMCP2HedgedItemspotRsp>({
  43. queryFn,
  44. tableName: 'table_pcweb_hedgeditem_trade_plan_details',
  45. })
  46. watch(() => props.selectedRow, () => queryFn());
  47. return {
  48. ...composeTable,
  49. loading,
  50. tableList,
  51. getHedgedTypeName,
  52. }
  53. }
  54. })
  55. </script>