|
@@ -1,15 +1,25 @@
|
|
|
import {
|
|
|
getReportFileHtml,
|
|
|
ReportFileExportModel,
|
|
|
+ getLoanReferenceNo,
|
|
|
} from '@/services/rwa/product/report_form_config_reportcreater/reportFile';
|
|
|
-import { SDPage } from '@sundata/ui-frame';
|
|
|
import { Layout } from 'antd';
|
|
|
import { Content } from 'antd/lib/layout/layout';
|
|
|
-import { useEffect, useState } from 'react';
|
|
|
-
|
|
|
+import React, { useEffect, useRef, useState } from "react";
|
|
|
+import { type ProColumns, type ActionType, type ProFormInstance, ProTable, EditableProTable } from '@ant-design/pro-components';
|
|
|
+import type {FormInstance} from 'antd'
|
|
|
+import {Table, Upload} from 'antd'
|
|
|
+import { SDPage,SDFormText,SDModalForm,SDTable,SDFormItem,SDButton,SDSubmitButton,EditType,
|
|
|
+ SDAreaTtile, SDOperate, baseFun,SDModal, validateFun, SDLayout, } from "@sundata/ui-frame";
|
|
|
+import { PlusSquareTwoTone, WomanOutlined } from "@ant-design/icons";
|
|
|
+import { ProductProps } from "@/sundataImport";
|
|
|
+import { useModel } from '@umijs/max';
|
|
|
+import { exportExcelModel, getDataList, getselect, MultiDimensionalCreditRiskModel, selectname, update } from "@/services/rwa/product/internal/multidimensionalcreditrisk";
|
|
|
const ReportFileShow = (model: ReportFileExportModel) => {
|
|
|
- const [htmlStr, setHtmlStr] = useState();
|
|
|
|
|
|
+ const [htmlStr, setHtmlStr] = useState();
|
|
|
+ const [lrfno,setLrfno] = useState<string>();
|
|
|
+ const [term1,setTerm1] = useState<string>();
|
|
|
useEffect(() => {
|
|
|
getReportFileHtml(model).then((body) => {
|
|
|
console.log(body);
|
|
@@ -17,14 +27,629 @@ const ReportFileShow = (model: ReportFileExportModel) => {
|
|
|
return;
|
|
|
}
|
|
|
setHtmlStr(body.htmlString);
|
|
|
+ setTerm1(model.term);
|
|
|
});
|
|
|
- }, []);
|
|
|
+ }, [model.term]);
|
|
|
|
|
|
const showHtml = (htmlContent: String) => {
|
|
|
return <div dangerouslySetInnerHTML={{ __html: htmlContent }} />;
|
|
|
};
|
|
|
-
|
|
|
-
|
|
|
+ const handleClick = (e: React.MouseEvent<HTMLElement>) => {
|
|
|
+ const target = e.target as HTMLElement; // 添加类型断言
|
|
|
+ if (target.dataset.action === 'showview') {
|
|
|
+ console.log("报表编号============"+target.dataset.reportno);
|
|
|
+ console.log("行号============"+target.dataset.rownum);
|
|
|
+ const reportNo = target.dataset.reportno;
|
|
|
+ const rowNum = target.dataset.rownum;
|
|
|
+ if (!reportNo || !rowNum) return; // 防止 undefined 传入
|
|
|
+ getLoanReferenceNo(reportNo, rowNum, '3').then((body) => {
|
|
|
+ console.log(body);
|
|
|
+ setLrfno(body);
|
|
|
+ setZxmx(true);
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ };
|
|
|
+ const fillInActionRef = useRef<ActionType>();
|
|
|
+ const [fieldRelationData, setFieldRelationData] = useState<MultiDimensionalCreditRiskModel[]>([]);
|
|
|
+ const [formDetailData, setFormDetailData] = useState<MultiDimensionalCreditRiskModel>();
|
|
|
+ var paramIndex = 0;
|
|
|
+ const editorFormRef = useRef<any>();
|
|
|
+ const { fetchDict } = useModel('dict');
|
|
|
+ const [oldRowKeys, setOldRowKeys] = useState<React.Key[]>();
|
|
|
+ const [selectRowData,setSelectRowData] = useState<any>();
|
|
|
+ const [sjhs,setSjhs] = useState<any>();
|
|
|
+ const [sjhs1,setSjhs1] = useState<any>();
|
|
|
+ const [zxmx,setZxmx] = useState<any>();
|
|
|
+
|
|
|
+ var formDataList = new Array<MultiDimensionalCreditRiskModel>;
|
|
|
+ const actionRef = useRef<ActionType>();
|
|
|
+ const formRef = useRef<FormInstance<any>>();
|
|
|
+ var formDataList1 = new Array<MultiDimensionalCreditRiskModel>;
|
|
|
+
|
|
|
+ const select = async(formdata : MultiDimensionalCreditRiskModel)=>{
|
|
|
+ if (lrfno !== undefined) {
|
|
|
+ console.log(lrfno);
|
|
|
+ console.log(model.term);
|
|
|
+ formdata.riskExposeClassRecognizedResult = lrfno;
|
|
|
+ formdata.term = term1;
|
|
|
+ } else {
|
|
|
+ // 可以设置一个默认值,或者跳过赋值
|
|
|
+ formdata.loanReferenceNo = ''; // 默认空字符串
|
|
|
+ }
|
|
|
+ console.log("formdata.loanReferenceNo===="+formdata.loanReferenceNo)
|
|
|
+ const data = await getDataList(formdata);
|
|
|
+ // 解构数组(导出用)
|
|
|
+ setFieldRelationData(data);
|
|
|
+ formDataList=[...data];
|
|
|
+ return {data :data}
|
|
|
+ ;
|
|
|
+
|
|
|
+ }
|
|
|
+ // 页面展示元素
|
|
|
+ const columns: ProColumns<MultiDimensionalCreditRiskModel>[] = [
|
|
|
+
|
|
|
+ {
|
|
|
+ title: '报表日期 ',
|
|
|
+ dataIndex: 'term',
|
|
|
+ order:-1,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ ellipsis:true
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ {
|
|
|
+ title: '债项编号',
|
|
|
+ dataIndex: 'loanReferenceNo',
|
|
|
+ order:-9,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '合同编号',
|
|
|
+ dataIndex: 'contractNo',
|
|
|
+ search: false,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '经营机构',
|
|
|
+ dataIndex: 'manageOrgnNo',
|
|
|
+ order:-2,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '客户编号',
|
|
|
+ dataIndex: 'clientNo',
|
|
|
+ order:-8,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '客户名称',
|
|
|
+ dataIndex: 'clientName',
|
|
|
+ search: false,
|
|
|
+ width:200,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '交易对手大类',
|
|
|
+ dataIndex: 'tradeCntrptyDivision',
|
|
|
+ order:-4,
|
|
|
+ valueType: 'treeSelect',
|
|
|
+ width:150,
|
|
|
+ request: () => fetchDict('CUST_TYPE_LV02'),
|
|
|
+ fieldProps: {
|
|
|
+ treeDefaultExpandAll: true,
|
|
|
+ },
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '是否小微企业',
|
|
|
+ dataIndex: 'smallandmicro',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '是否中小企业',
|
|
|
+ dataIndex: 'smallandmedium',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '是否监管零售',
|
|
|
+ dataIndex: 'regulatedretail',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '产品大类',
|
|
|
+ dataIndex: 'prodType',
|
|
|
+ order:-6,
|
|
|
+ valueType: 'treeSelect',
|
|
|
+ width:100,
|
|
|
+ request: () => fetchDict('PRODUCT_TYPE'),
|
|
|
+ fieldProps: {
|
|
|
+ treeDefaultExpandAll: true,
|
|
|
+ },
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '产品名称',
|
|
|
+ dataIndex: 'prodName',
|
|
|
+ order:-7,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '表内外标识',
|
|
|
+ dataIndex: 'onbalshOffbalshFlag',
|
|
|
+ order:-5,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '贴现类型',
|
|
|
+ dataIndex: 'discountingType',
|
|
|
+ search: false,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '票据类型',
|
|
|
+ dataIndex: 'billType',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '是否我行承兑',
|
|
|
+ dataIndex: 'ifSelfbankAcceptance',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '承兑人',
|
|
|
+ dataIndex: 'acceptorClientNo',
|
|
|
+ search: false,
|
|
|
+ width:200,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '承兑人客户名',
|
|
|
+ dataIndex: 'acceptorClientName',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '证券类型',
|
|
|
+ dataIndex: 'securityType',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '一般专项标志',
|
|
|
+ dataIndex: 'generalSpecialFlag',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '币种',
|
|
|
+ dataIndex: 'ccy',
|
|
|
+ search: false,
|
|
|
+ width:50,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '生效日',
|
|
|
+ dataIndex: 'effectDate',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '到期日',
|
|
|
+ dataIndex: 'expiryDate',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '原始期限(月)',
|
|
|
+ dataIndex: 'origTerm',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '剩余期限(月)',
|
|
|
+ dataIndex: 'residualTerm',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '五级分类',
|
|
|
+ dataIndex: 'fiveClass',
|
|
|
+ search: false,
|
|
|
+ width:200,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '逾期天数(天)',
|
|
|
+ dataIndex: 'overdueDays',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '投向行业',
|
|
|
+ dataIndex: 'industryInvestClass',
|
|
|
+ search: false,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '质押买断类型',
|
|
|
+ dataIndex: 'pledgeBuyoutType',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '回购类型',
|
|
|
+ dataIndex: 'repoType',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '回购期限(天)',
|
|
|
+ dataIndex: 'repoTerm',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '债券代码',
|
|
|
+ dataIndex: 'bondCode',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '核心市场参与者标识',
|
|
|
+ dataIndex: 'coreMarketParticipantFlag',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '资产余额',
|
|
|
+ dataIndex: 'assetBal',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '本金科目号',
|
|
|
+ dataIndex: 'prinAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应收利息',
|
|
|
+ dataIndex: 'receivableInt',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应收利息科目号',
|
|
|
+ dataIndex: 'receivableIntAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应计利息',
|
|
|
+ dataIndex: 'accrInt',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应计利息科目号',
|
|
|
+ dataIndex: 'accrIntAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '利息调整',
|
|
|
+ dataIndex: 'intAdj',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '利息调整科目号',
|
|
|
+ dataIndex: 'intAdjAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '公允价值变动',
|
|
|
+ dataIndex: 'fairValueChange',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '公允价值变动科目号',
|
|
|
+ dataIndex: 'fairValueChangeAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '手续费',
|
|
|
+ dataIndex: 'charge',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '手续费科目号',
|
|
|
+ dataIndex: 'chargeAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '所属条线',
|
|
|
+ dataIndex: 'belongLine',
|
|
|
+ order:-3,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '承诺类型',
|
|
|
+ dataIndex: 'commitmentType',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // title: '未使用额度',
|
|
|
+ // dataIndex: '',
|
|
|
+ // search: false,
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // title: '表外承诺科目号',
|
|
|
+ // dataIndex: '',
|
|
|
+ // search: false,
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ title: '计提准备金',
|
|
|
+ dataIndex: 'provisionReserve',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '准备金科目号',
|
|
|
+ dataIndex: 'reserveAccountNo',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '本期余额',
|
|
|
+ dataIndex: 'thisBalance',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-现金类资产(0%)',
|
|
|
+ dataIndex: 'coverageRisk0',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-我国中央政府(0%)',
|
|
|
+ dataIndex: 'coverageRisk1',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-我国开发性金融机构和政策性银行(0%)',
|
|
|
+ dataIndex: 'coverageRisk2',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-境内外商业银行(短期)(20%)',
|
|
|
+ dataIndex: 'coverageRisk3',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-境内商业银行(0%)',
|
|
|
+ dataIndex: 'coverageRisk4',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露-其他缓释类型',
|
|
|
+ dataIndex: 'coverageRisk5',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '未缓释风险暴露',
|
|
|
+ dataIndex: 'unfinishEad',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '表外项目分类',
|
|
|
+ dataIndex: 'offbalshProjectName',
|
|
|
+ search: false,
|
|
|
+ width:150,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '信用转换系数%',
|
|
|
+ dataIndex: 'ccf',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '风险暴露分类(系统认定)',
|
|
|
+ dataIndex: 'riskExposeClassRecognizedResult',
|
|
|
+ search: false,
|
|
|
+ width:300,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '风险权重%(系统认定)',
|
|
|
+ dataIndex: 'debtitemRiskWeight',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '风险暴露分类(人工认定)',
|
|
|
+ dataIndex: 'riskExposureCodeArtificial',
|
|
|
+ search: false,
|
|
|
+ width:300,
|
|
|
+ valueType:'treeSelect',
|
|
|
+ request:()=>fetchDict('@positiveRiskType'),
|
|
|
+
|
|
|
+ fieldProps: {
|
|
|
+ treeDefaultExpandAll: true,
|
|
|
+ popupMatchSelectWidth:300,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '风险权重%(人工认定)',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '风险加权资产',
|
|
|
+ dataIndex: 'rwa',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ editable:false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'operate',
|
|
|
+ valueType: 'option',
|
|
|
+ render: (_, record) => [
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={
|
|
|
+ ()=>{
|
|
|
+ fillInActionRef.current?.startEditable(record.loanReferenceNo);
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 编辑
|
|
|
+ </SDOperate>,
|
|
|
+ ] },
|
|
|
+
|
|
|
+ ]
|
|
|
+
|
|
|
+
|
|
|
+ const columns1: ProColumns<MultiDimensionalCreditRiskModel>[] = [
|
|
|
+ {
|
|
|
+ title: '缓释覆盖的风险加权资产',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '未缓释的风险加权资产',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '缓释覆盖部分的风险暴露',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '豁免后缓释权重',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '未缓释风险暴露',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '债项风险权重',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '信用转换系数CCF',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '本期余额',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '计提准备金',
|
|
|
+ dataIndex: 'loanWeightArtificial',
|
|
|
+ search: false,
|
|
|
+ width:100,
|
|
|
+ },
|
|
|
+
|
|
|
+ ]
|
|
|
+ const selectlist =async(selectRowData:MultiDimensionalCreditRiskModel)=>{
|
|
|
+ console.log(selectRowData);
|
|
|
+ const select1 = await getselect(selectRowData.loanReferenceNo,selectRowData.term);
|
|
|
+ setSjhs1(select1);
|
|
|
+ return {data :sjhs1};
|
|
|
+
|
|
|
+ }
|
|
|
// @ts-ignore
|
|
|
return (
|
|
|
<SDPage>
|
|
@@ -40,10 +665,131 @@ const ReportFileShow = (model: ReportFileExportModel) => {
|
|
|
minHeight: '200px', // 保证纵向有固定高度
|
|
|
overflowY: 'auto',
|
|
|
}}
|
|
|
+ onClick={handleClick}
|
|
|
dangerouslySetInnerHTML={{ __html: htmlStr }}
|
|
|
/>
|
|
|
</Content>
|
|
|
+
|
|
|
</Layout>
|
|
|
+ <SDModal title={"债项明细"} visible={zxmx}
|
|
|
+ onCancel={() => {
|
|
|
+ setZxmx(false);
|
|
|
+ }}>
|
|
|
+ <EditableProTable
|
|
|
+ rowKey="loanReferenceNo"
|
|
|
+ columns={columns}
|
|
|
+ recordCreatorProps={false}
|
|
|
+ actionRef={fillInActionRef}
|
|
|
+ value={fieldRelationData}
|
|
|
+ dataSource={fieldRelationData}
|
|
|
+ request={select}
|
|
|
+ scroll={{ x: 1500 }}
|
|
|
+ editableFormRef={editorFormRef}
|
|
|
+ editable={{
|
|
|
+ actionRender: (_row,_config,defaultDoms)=>{
|
|
|
+ return [defaultDoms.save,defaultDoms.cancel]
|
|
|
+ },
|
|
|
+ onValuesChange:async (changedValues, Values) => {
|
|
|
+ if(changedValues!=undefined && changedValues.riskExposureCodeArtificial !=undefined){
|
|
|
+ const name= await selectname(changedValues.riskExposureCodeArtificial)
|
|
|
+ const {loanReferenceNo,...res} = changedValues
|
|
|
+ if ('loanWeightArtificial' in res){
|
|
|
+ editorFormRef.current.setRowData(selectRowData.loanReferenceNo,{loanWeightArtificial:name})
|
|
|
+ selectRowData.loanWeightArtificial = name;
|
|
|
+ selectRowData.riskExposureCodeArtificial =changedValues.riskExposureCodeArtificial;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ onSave:async (key,record)=>{ console.log(record); await update(record)
|
|
|
+ }
|
|
|
+
|
|
|
+ }}
|
|
|
+ rowSelection={{
|
|
|
+ type:'radio',
|
|
|
+ selectedRowKeys:oldRowKeys,
|
|
|
+ onSelect:(selectedRowKeys, _selectedRows) => {
|
|
|
+ setSelectRowData(selectedRowKeys);
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ toolBarRender={(_, { selectedRowKeys,selectedRows }) => [
|
|
|
+ <SDButton
|
|
|
+ key="export"
|
|
|
+ icon={<PlusSquareTwoTone/>}
|
|
|
+ successMessage=''
|
|
|
+ onClick={() => {
|
|
|
+ baseFun.confirm('确认导出数据?',async() => { exportExcelModel(fieldRelationData,"multidimensionalcredit")});
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 导出文件
|
|
|
+ </SDButton>,
|
|
|
+ <SDButton
|
|
|
+ key="export"
|
|
|
+ successMessage=''
|
|
|
+ onClick={() => {
|
|
|
+ setSjhs(true);
|
|
|
+ console.log(fieldRelationData);
|
|
|
+ selectlist(selectRowData);
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 审计回溯
|
|
|
+ </SDButton>,
|
|
|
+ <SDButton
|
|
|
+ key="loanReferenceNo"
|
|
|
+ successMessage=''
|
|
|
+ onClick={() => {
|
|
|
+ fillInActionRef.current?.startEditable(selectRowData.loanReferenceNo);
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 风险暴露分类人工认定
|
|
|
+ </SDButton>,
|
|
|
+ <SDButton
|
|
|
+ key="l"
|
|
|
+ successMessage=''
|
|
|
+ onClick={() => {
|
|
|
+
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 确定
|
|
|
+ </SDButton>,
|
|
|
+ ]}
|
|
|
+ onChange={ (value: readonly MultiDimensionalCreditRiskModel[]) => {
|
|
|
+ setFieldRelationData([...value]);
|
|
|
+ } }
|
|
|
+ />
|
|
|
+ {sjhs&&(
|
|
|
+ <SDModal title={"RWA回溯页面"} visible={sjhs}
|
|
|
+ onCancel={() => {
|
|
|
+ setSjhs(false);
|
|
|
+ }}>
|
|
|
+ <ProTable
|
|
|
+ rowKey="orgCode"
|
|
|
+ // request={selectlist}
|
|
|
+ columns={columns1}
|
|
|
+ dataSource={sjhs1}
|
|
|
+ pagination={false}
|
|
|
+ // toolBarRender={(_, { selectedRows }) => [
|
|
|
+ // <SDButton
|
|
|
+ // key="export"
|
|
|
+ // icon={<PlusSquareTwoTone/>}
|
|
|
+ // successMessage=''
|
|
|
+ // onClick={() => {
|
|
|
+ // baseFun.confirm('确认导出数据?',async() => { exportExcelModel(formDetailData2,"capitaloccupymonitor")});
|
|
|
+ // }}
|
|
|
+ // >
|
|
|
+ // 导出
|
|
|
+ // </SDButton>,
|
|
|
+ // ]}
|
|
|
+ actionRef={actionRef}
|
|
|
+ formRef={formRef}
|
|
|
+ />
|
|
|
+ </SDModal>
|
|
|
+ )
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ </SDModal>
|
|
|
</SDPage>
|
|
|
);
|
|
|
};
|