|
|
@@ -1,172 +1,163 @@
|
|
|
<template>
|
|
|
- <!-- 敞口报表 -->
|
|
|
- <div class="table-detail-container table-height"
|
|
|
- :loading="loading">
|
|
|
- <Filter @update="search"></Filter>
|
|
|
- <a-table :columns="columns"
|
|
|
- class="topOrderTable"
|
|
|
- :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
|
|
|
- :pagination="false"
|
|
|
- :expandedRowKeys="expandedRowKeys"
|
|
|
- :customRow="Rowclick"
|
|
|
- rowKey="key"
|
|
|
- :data-source="tableList">
|
|
|
- </a-table>
|
|
|
- <!-- 明细 -->
|
|
|
- <Description v-if="visible"
|
|
|
- @close="closeDrawer"
|
|
|
- @changeTab="changeTab"
|
|
|
- :columns="columnsDetail"
|
|
|
- :tabList="tabList"
|
|
|
- :tableList="detailTableList">
|
|
|
- <!-- 合同类型 -->
|
|
|
- <template #contracttype="{ record }">
|
|
|
- <a>{{ getContractTypeName(record.contracttype) }}</a>
|
|
|
- </template>
|
|
|
- </Description>
|
|
|
- </div>
|
|
|
+ <!-- 敞口报表 -->
|
|
|
+ <div class="table-detail-container table-height"
|
|
|
+ :loading="loading">
|
|
|
+ <Filter @update="search"></Filter>
|
|
|
+ <a-table :columns="columns"
|
|
|
+ class="topOrderTable"
|
|
|
+ :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
|
|
|
+ :pagination="false"
|
|
|
+ :expandedRowKeys="expandedRowKeys"
|
|
|
+ :customRow="Rowclick"
|
|
|
+ rowKey="key"
|
|
|
+ :data-source="tableList">
|
|
|
+ </a-table>
|
|
|
+ <!-- 明细 -->
|
|
|
+ <Description v-if="visible"
|
|
|
+ @close="closeDrawer"
|
|
|
+ @changeTab="changeTab"
|
|
|
+ :columns="columnsDetail"
|
|
|
+ :tabList="tabList"
|
|
|
+ :tableList="detailTableList">
|
|
|
+ <!-- 合同类型 -->
|
|
|
+ <template #contracttype="{ record }">
|
|
|
+ <a>{{ getContractTypeName(record.contracttype) }}</a>
|
|
|
+ </template>
|
|
|
+ </Description>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
- import Filter from '../../components/filterTable/index.vue';
|
|
|
- import {defineComponent, queryTableList} from '@/common/export/table';
|
|
|
- import {TypeAndTime} from '@/views/report/interface';
|
|
|
- import {handleInitTypeAndTime} from '@/views/report/setup';
|
|
|
- import {
|
|
|
- AreaExpourseReportReq,
|
|
|
- Ermcp3ExpourseReport,
|
|
|
- QryAreaExpourseHedgeplanDetailReq
|
|
|
- } from '@/services/go/ermcp/report/interface';
|
|
|
- import {
|
|
|
- qryAreaExpourseContractDetail,
|
|
|
- qryAreaExpourseFutuDetail,
|
|
|
- qryAreaExpourseHedgeplanDetail,
|
|
|
- qryAreaExpourseParamChLogDetail,
|
|
|
- qryAreaExpourseReport
|
|
|
- } from '@/services/go/ermcp/report';
|
|
|
- import {ComposeTableDetailParam, handleComposeTable_detail} from '@/common/setup/table/compose';
|
|
|
- import Description from '@/common/components/description/index.vue';
|
|
|
- import {watchEffect} from 'vue';
|
|
|
- import {queryResultLoadingAndInfo} from '@/common/methods/request/resultInfo';
|
|
|
- import {TabList} from '@/common/components/description/interface';
|
|
|
- import {getContractTypeName} from "@/common/constants/enumsName";
|
|
|
+import Filter from '../../components/filterTable/index.vue';
|
|
|
+import { defineComponent, queryTableList } from '@/common/export/table';
|
|
|
+import { TypeAndTime } from '@/views/report/interface';
|
|
|
+import { handleInitTypeAndTime } from '@/views/report/setup';
|
|
|
+import { AreaExpourseReportReq, Ermcp3ExpourseReport, QryAreaExpourseHedgeplanDetailReq } from '@/services/go/ermcp/report/interface';
|
|
|
+import { qryAreaExpourseContractDetail, qryAreaExpourseFutuDetail, qryAreaExpourseHedgeplanDetail, qryAreaExpourseParamChLogDetail, qryAreaExpourseReport } from '@/services/go/ermcp/report';
|
|
|
+import { ComposeTableDetailParam, handleComposeTable_detail } from '@/common/setup/table/compose';
|
|
|
+import Description from '@/common/components/description/index.vue';
|
|
|
+import { watchEffect } from 'vue';
|
|
|
+import { queryResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
|
|
|
+import { TabList } from '@/common/components/description/interface';
|
|
|
+import { getContractTypeName } from '@/common/constants/enumsName';
|
|
|
+import { EnumRouterName } from '@/common/constants/enumRouterName';
|
|
|
|
|
|
- export default defineComponent({
|
|
|
- name: 'exposure-report',
|
|
|
- components: {
|
|
|
- Filter,
|
|
|
- Description,
|
|
|
- },
|
|
|
- setup() {
|
|
|
- let cycletime = '';
|
|
|
- // 表格列表数据
|
|
|
- const {loading, tableList, queryTable} = queryTableList<Ermcp3ExpourseReport>();
|
|
|
- // 获取列表数据
|
|
|
- const queryTableAction = () => {
|
|
|
- const {getInitTime, getInitType} = handleInitTypeAndTime();
|
|
|
- cycletime = getInitTime();
|
|
|
- const param: AreaExpourseReportReq = {
|
|
|
- cycletype: getInitType(),
|
|
|
- cycletime,
|
|
|
- querytype: 1,
|
|
|
- };
|
|
|
- // 获取列表数据
|
|
|
- queryTable(qryAreaExpourseReport, param);
|
|
|
- };
|
|
|
- const param: ComposeTableDetailParam = {
|
|
|
- queryFn: queryTableAction, // 查询表格数据
|
|
|
- tableName: 'table_pcweb_exposure_report', // 表头key
|
|
|
- tableFilterKey: [], // 表格过滤字段
|
|
|
- menuType: 'exposure_report_exposure', // 当前tab页对应的code
|
|
|
+export default defineComponent({
|
|
|
+ name: EnumRouterName.exposure_report_exposure,
|
|
|
+ components: {
|
|
|
+ Filter,
|
|
|
+ Description,
|
|
|
+ },
|
|
|
+ setup() {
|
|
|
+ let cycletime = '';
|
|
|
+ // 表格列表数据
|
|
|
+ const { loading, tableList, queryTable } = queryTableList<Ermcp3ExpourseReport>();
|
|
|
+ // 获取列表数据
|
|
|
+ const queryTableAction = () => {
|
|
|
+ const { getInitTime, getInitType } = handleInitTypeAndTime();
|
|
|
+ cycletime = getInitTime();
|
|
|
+ const param: AreaExpourseReportReq = {
|
|
|
+ cycletype: getInitType(),
|
|
|
+ cycletime,
|
|
|
+ querytype: 1,
|
|
|
};
|
|
|
- const {
|
|
|
- visible,
|
|
|
- closeDrawer, // 控制 drawer 组件是否显示
|
|
|
- columns,
|
|
|
- updateColumn, // 表头数据
|
|
|
- columnsDetail,
|
|
|
- registerColumnDetail,
|
|
|
- detailTableList, // 明细表头数据
|
|
|
- expandedRowKeys,
|
|
|
- selectedRow,
|
|
|
- Rowclick, // 表格事件
|
|
|
- tabList,
|
|
|
- } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
|
|
|
+ // 获取列表数据
|
|
|
+ queryTable(qryAreaExpourseReport, param);
|
|
|
+ };
|
|
|
+ const param: ComposeTableDetailParam = {
|
|
|
+ queryFn: queryTableAction, // 查询表格数据
|
|
|
+ tableName: 'table_pcweb_exposure_report', // 表头key
|
|
|
+ tableFilterKey: [], // 表格过滤字段
|
|
|
+ menuType: EnumRouterName.exposure_report_exposure, // 当前tab页对应的code
|
|
|
+ };
|
|
|
+ const {
|
|
|
+ visible,
|
|
|
+ closeDrawer, // 控制 drawer 组件是否显示
|
|
|
+ columns,
|
|
|
+ updateColumn, // 表头数据
|
|
|
+ columnsDetail,
|
|
|
+ registerColumnDetail,
|
|
|
+ detailTableList, // 明细表头数据
|
|
|
+ expandedRowKeys,
|
|
|
+ selectedRow,
|
|
|
+ Rowclick, // 表格事件
|
|
|
+ tabList,
|
|
|
+ } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
|
|
|
|
|
|
- // 切换明细
|
|
|
- function changeTab(index: number, current: TabList) {
|
|
|
- const {code, lable} = current;
|
|
|
- const data = selectedRow.value as Ermcp3ExpourseReport;
|
|
|
- const {cycletype, middlegoodsid} = data;
|
|
|
- const param: QryAreaExpourseHedgeplanDetailReq = {
|
|
|
- middlegoodsid,
|
|
|
- cycletype,
|
|
|
- cycletime,
|
|
|
- };
|
|
|
- let fn = null;
|
|
|
- if (code === 'exposure_report_exposure_contract_changes') {
|
|
|
- // 现货合同变动量明细
|
|
|
- // 注册表头
|
|
|
- registerColumnDetail('table_pcweb_change_in_spot_contract', []);
|
|
|
- fn = qryAreaExpourseContractDetail;
|
|
|
- } else if (code === 'exposure_report_exposure_hedging_plan') {
|
|
|
- // 套保计划变动量明细
|
|
|
- // 注册表头
|
|
|
- registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
|
|
|
- fn = qryAreaExpourseHedgeplanDetail;
|
|
|
- } else if (code === 'exposure_report_exposure_futures_changes') {
|
|
|
- // 期货变动量明细
|
|
|
- // 注册表头
|
|
|
- registerColumnDetail('table_pcweb_change_in_future', []);
|
|
|
- fn = qryAreaExpourseFutuDetail;
|
|
|
- } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
|
|
|
- // 参数调整变动量明细
|
|
|
- // 注册表头
|
|
|
- registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
|
|
|
- fn = qryAreaExpourseParamChLogDetail;
|
|
|
- } else {
|
|
|
- console.error(`${lable}没有配置对应的code: ${code},`);
|
|
|
- return;
|
|
|
- }
|
|
|
- // 查询明细数据
|
|
|
- queryResultLoadingAndInfo(fn, loading, param).then((res) => {
|
|
|
- detailTableList.value = res;
|
|
|
- });
|
|
|
+ // 切换明细
|
|
|
+ function changeTab(index: number, current: TabList) {
|
|
|
+ const { code, lable } = current;
|
|
|
+ const data = selectedRow.value as Ermcp3ExpourseReport;
|
|
|
+ const { cycletype, middlegoodsid } = data;
|
|
|
+ const param: QryAreaExpourseHedgeplanDetailReq = {
|
|
|
+ middlegoodsid,
|
|
|
+ cycletype,
|
|
|
+ cycletime,
|
|
|
+ };
|
|
|
+ let fn = null;
|
|
|
+ if (code === 'exposure_report_exposure_contract_changes') {
|
|
|
+ // 现货合同变动量明细
|
|
|
+ // 注册表头
|
|
|
+ registerColumnDetail('table_pcweb_change_in_spot_contract', []);
|
|
|
+ fn = qryAreaExpourseContractDetail;
|
|
|
+ } else if (code === 'exposure_report_exposure_hedging_plan') {
|
|
|
+ // 套保计划变动量明细
|
|
|
+ // 注册表头
|
|
|
+ registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
|
|
|
+ fn = qryAreaExpourseHedgeplanDetail;
|
|
|
+ } else if (code === 'exposure_report_exposure_futures_changes') {
|
|
|
+ // 期货变动量明细
|
|
|
+ // 注册表头
|
|
|
+ registerColumnDetail('table_pcweb_change_in_future', []);
|
|
|
+ fn = qryAreaExpourseFutuDetail;
|
|
|
+ } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
|
|
|
+ // 参数调整变动量明细
|
|
|
+ // 注册表头
|
|
|
+ registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
|
|
|
+ fn = qryAreaExpourseParamChLogDetail;
|
|
|
+ } else {
|
|
|
+ console.error(`${lable}没有配置对应的code: ${code},`);
|
|
|
+ return;
|
|
|
}
|
|
|
-
|
|
|
- watchEffect(() => {
|
|
|
- if (visible.value) {
|
|
|
- if (tabList.value.length) {
|
|
|
- changeTab(0, tabList.value[0]);
|
|
|
- }
|
|
|
- }
|
|
|
+ // 查询明细数据
|
|
|
+ queryResultLoadingAndInfo(fn, loading, param).then((res) => {
|
|
|
+ detailTableList.value = res;
|
|
|
});
|
|
|
+ }
|
|
|
|
|
|
- function search(value: TypeAndTime) {
|
|
|
- cycletime = value.cycletime;
|
|
|
- const obj = Object.assign(value, {querytype: 1});
|
|
|
- queryTable(qryAreaExpourseReport, obj);
|
|
|
+ watchEffect(() => {
|
|
|
+ if (visible.value) {
|
|
|
+ if (tabList.value.length) {
|
|
|
+ changeTab(0, tabList.value[0]);
|
|
|
+ }
|
|
|
}
|
|
|
+ });
|
|
|
|
|
|
- return {
|
|
|
- loading,
|
|
|
- tableList,
|
|
|
- visible,
|
|
|
- closeDrawer,
|
|
|
- columns,
|
|
|
- updateColumn,
|
|
|
- search,
|
|
|
- columnsDetail,
|
|
|
- detailTableList,
|
|
|
- expandedRowKeys,
|
|
|
- selectedRow,
|
|
|
- Rowclick,
|
|
|
- tabList,
|
|
|
- changeTab,
|
|
|
- getContractTypeName
|
|
|
- };
|
|
|
- },
|
|
|
- });
|
|
|
+ function search(value: TypeAndTime) {
|
|
|
+ cycletime = value.cycletime;
|
|
|
+ const obj = Object.assign(value, { querytype: 1 });
|
|
|
+ queryTable(qryAreaExpourseReport, obj);
|
|
|
+ }
|
|
|
+
|
|
|
+ return {
|
|
|
+ loading,
|
|
|
+ tableList,
|
|
|
+ visible,
|
|
|
+ closeDrawer,
|
|
|
+ columns,
|
|
|
+ updateColumn,
|
|
|
+ search,
|
|
|
+ columnsDetail,
|
|
|
+ detailTableList,
|
|
|
+ expandedRowKeys,
|
|
|
+ selectedRow,
|
|
|
+ Rowclick,
|
|
|
+ tabList,
|
|
|
+ changeTab,
|
|
|
+ getContractTypeName,
|
|
|
+ };
|
|
|
+ },
|
|
|
+});
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|