You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
21 KiB
190 lines
21 KiB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; |
|
import React from 'react'; |
|
import { ProDescriptions, PageContainer, ProTable, } from '@ant-design/pro-components'; |
|
import { Button, Divider } from 'antd'; |
|
import moment from 'moment'; |
|
import { dateFormatter, urlEncodeParams, useRoutes, toFixed, } from '@component/utils'; |
|
import { DescriptionsDetail, CardDetail } from '@component/ui'; |
|
import { getDetail, getPolicyComprehensiveStatistics, getDictValList, } from './action'; |
|
import { useRequest } from 'ahooks'; |
|
import { Link } from 'react-router-dom'; |
|
import { compact, isEmpty } from 'lodash'; |
|
export default function Detail({ customerUrl }) { |
|
var _a, _b, _c, _d, _e, _f, _g; |
|
const { paramsParse } = useRoutes(); |
|
const { policyNumber } = paramsParse; |
|
const { data, loading } = useRequest(() => getDetail({ policyNumber })); |
|
const { data: statisticsData } = useRequest(() => getPolicyComprehensiveStatistics({ policyNumber })); |
|
// 责任条款 |
|
const dutyColumns = [ |
|
{ |
|
title: '条款代码', |
|
dataIndex: 'clausecode', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '条款类型', |
|
dataIndex: 'coverageType', |
|
ellipsis: true, |
|
search: false, |
|
valueEnum: { |
|
1: '条款', |
|
2: '责任', |
|
}, |
|
}, |
|
{ |
|
title: '条款名称', |
|
dataIndex: 'productElementName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '责任限额(元)', |
|
dataIndex: 'sumInsured', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
]; |
|
// 共保信息 |
|
const coinsuranceColumns = [ |
|
{ |
|
title: '共保人名称', |
|
dataIndex: 'coInsurerBranchName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '共保份额', |
|
dataIndex: 'shareRate', |
|
ellipsis: true, |
|
search: false, |
|
render: (_, { shareRate }) => `${shareRate}%`, |
|
}, |
|
]; |
|
// 联保信息 |
|
const guaranteeColumns = [ |
|
{ |
|
title: '联保机构', |
|
dataIndex: 'insuranceName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '联保份额', |
|
dataIndex: 'shareRate', |
|
ellipsis: true, |
|
search: false, |
|
render: (_, { shareRate }) => `${shareRate}%`, |
|
}, |
|
]; |
|
// 地址信息 |
|
const locationColumns = [ |
|
{ |
|
title: '行政区划', |
|
dataIndex: 'regionName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '邮编', |
|
dataIndex: 'postCode', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '场所名称', |
|
dataIndex: 'insuredName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '详细地址', |
|
dataIndex: 'address', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
]; |
|
// 被保人信息 |
|
const guarantorColumns = [ |
|
{ |
|
title: '客户编号', |
|
dataIndex: 'customerNo', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '被保人', |
|
dataIndex: 'customerName', |
|
ellipsis: true, |
|
search: false, |
|
render: (_, record) => (_jsx(Link, Object.assign({ to: `${customerUrl}${urlEncodeParams({ |
|
organId: record === null || record === void 0 ? void 0 : record.customerNo, |
|
insuranceId: data === null || data === void 0 ? void 0 : data.insuranceId, |
|
})}` }, { children: record === null || record === void 0 ? void 0 : record.customerName }))), |
|
}, |
|
{ |
|
title: '管理分类', |
|
dataIndex: 'typePname', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '企业联系人', |
|
dataIndex: 'contacts', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '企业联系电话', |
|
dataIndex: 'contactsPhone', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
]; |
|
return (_jsx(PageContainer, Object.assign({ header: { |
|
title: null, |
|
} }, { children: _jsxs("div", Object.assign({ className: "page-content-detail" }, { children: [_jsx(CardDetail, Object.assign({ title: "\u57FA\u7840\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u4FDD\u5355\u53F7" }, { children: data === null || data === void 0 ? void 0 : data.policyNumber })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5F52\u5C5E\u673A\u6784" }, { children: data === null || data === void 0 ? void 0 : data.insuranceName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4EA7\u54C1\u4EE3\u7801" }, { children: data === null || data === void 0 ? void 0 : data.productCode })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4EA7\u54C1\u540D\u79F0" }, { children: data === null || data === void 0 ? void 0 : data.productName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5F52\u5C5E\u7ECF\u529E\u4EBA", valueType: "text" }, { children: compact([ |
|
data === null || data === void 0 ? void 0 : data.belongToHandlerUserName, |
|
data === null || data === void 0 ? void 0 : data.belongToHandlerCode, |
|
]).join(',') })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4FDD\u5355\u72B6\u6001", valueEnum: { |
|
2: { text: '已生效' }, |
|
3: { text: '已退保' }, |
|
4: { text: '核保通过' }, |
|
275: { text: '已注销' }, |
|
} }, { children: data === null || data === void 0 ? void 0 : data.policyStatus })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8D77\u4FDD\u65E5\u671F" }, { children: dateFormatter(data === null || data === void 0 ? void 0 : data.startDate) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7EC8\u4FDD\u65E5\u671F" }, { children: dateFormatter(data === null || data === void 0 ? void 0 : data.doneDate) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6838\u4FDD\u901A\u8FC7\u65E5\u671F" }, { children: dateFormatter(data === null || data === void 0 ? void 0 : data.underwritingDate) })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u4FDD\u5355\u603B\u4FDD\u8D39" }, { children: [toFixed(data === null || data === void 0 ? void 0 : data.duePremium), "\u5143"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7BA1\u7406\u5206\u7C7B" }, { children: data === null || data === void 0 ? void 0 : data.typePname })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u7D2F\u8BA1\u8D23\u4EFB\u9650\u989D" }, { children: [toFixed(data === null || data === void 0 ? void 0 : data.sumInsured), "\u5143"] })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u6211\u53F8\u4EFD\u989D\u4FDD\u8D39" }, { children: [toFixed(data === null || data === void 0 ? void 0 : data.beforeVatPremium), "\u5143"] })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u4FDD\u5355\u8D39\u7387" }, { children: [(_a = data === null || data === void 0 ? void 0 : data.premiumRate) !== null && _a !== void 0 ? _a : 0, "\u2030"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5171\u4FDD\u6807\u8BC6" }, { children: data === null || data === void 0 ? void 0 : data.coInsuranceTypeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8054\u4FDD\u6807\u8BC6" }, { children: data === null || data === void 0 ? void 0 : data.internalCoTypeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u884C\u4E1A\u5927\u7C7B\u578B" }, { children: data === null || data === void 0 ? void 0 : data.industryTypeLargeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u884C\u4E1A\u4E2D\u7C7B" }, { children: data === null || data === void 0 ? void 0 : data.industryTypeMiddleName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u884C\u4E1A\u7EC6\u5206" }, { children: data === null || data === void 0 ? void 0 : data.industryTypeDetailName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u884C\u4E1A\u56DB\u7C7B" }, { children: data === null || data === void 0 ? void 0 : data.industryTypeFourName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u751F\u4EA7\u8BB8\u53EF\u8BC1" }, { children: data === null || data === void 0 ? void 0 : data.licenseNo })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7EED\u4FDD\u6807\u8BC6" }, { children: data === null || data === void 0 ? void 0 : data.renewalTypeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u51FA\u5355\u673A\u6784\u4EE3\u7801" }, { children: data === null || data === void 0 ? void 0 : data.issueOrgCode })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8BB8\u53EF\u8303\u56F4" }, { children: data === null || data === void 0 ? void 0 : data.insuranceArea })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7CFB\u7EDF\u6765\u6E90" }, { children: data === null || data === void 0 ? void 0 : data.businessAttributeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4E0A\u5E74\u4FDD\u5355\u53F7" }, { children: data === null || data === void 0 ? void 0 : data.historyPolicyNumber })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4E1A\u52A1\u6765\u6E90" }, { children: data === null || data === void 0 ? void 0 : data.businessSourceCodeName })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u5B9E\u6536\u4FDD\u8D39" }, { children: [toFixed(data === null || data === void 0 ? void 0 : data.suePremium), "\u5143"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4EE3\u7406\u4EBA\u4EE3\u7801" }, { children: data === null || data === void 0 ? void 0 : data.agentCode })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4EE3\u7406\u4EBA\u540D\u79F0" }, { children: data === null || data === void 0 ? void 0 : data.agentName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u53F8\u6CD5\u7BA1\u8F96" }, { children: data === null || data === void 0 ? void 0 : data.judicalScopeCodeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u627F\u4FDD\u4EBA\u6570" }, { children: data === null || data === void 0 ? void 0 : data.guaranteePopulation })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5B89\u5168\u751F\u4EA7\u6807\u51C6\u5316\u9A8C\u6536\u60C5\u51B5" }, { children: data === null || data === void 0 ? void 0 : data.safeStandardSituation })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u89E3\u51B3\u4E89\u8BAE\u65B9\u5F0F" }, { children: data === null || data === void 0 ? void 0 : data.argueSolutionTypeName }))] })) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardDetail, Object.assign({ title: "\u8D23\u4EFB\u6761\u6B3E" }, { children: _jsx(ProTable, { cardProps: { |
|
bodyStyle: { |
|
padding: 0, |
|
}, |
|
}, size: "small", rowKey: "policyCoverageId", columns: dutyColumns, search: false, dataSource: data === null || data === void 0 ? void 0 : data.hivePolicyCoverageList, options: false, pagination: false }) })), _jsx(Divider, { className: "self-pro-divider" }), (data === null || data === void 0 ? void 0 : data.coInsuranceType) != '01' && (_jsxs(_Fragment, { children: [_jsx(CardDetail, Object.assign({ title: "\u5171\u4FDD\u4FE1\u606F" }, { children: _jsx(ProTable, { cardProps: { |
|
bodyStyle: { |
|
padding: 0, |
|
}, |
|
}, size: "small", |
|
// rowKey="serviceRelationId" |
|
columns: coinsuranceColumns, search: false, dataSource: data === null || data === void 0 ? void 0 : data.hivePolicyCoInsurerList, options: false, pagination: false }) })), _jsx(Divider, { className: "self-pro-divider" })] })), (data === null || data === void 0 ? void 0 : data.internalCoInsuranceType) != '01' && (_jsxs(_Fragment, { children: [_jsx(CardDetail, Object.assign({ title: "\u8054\u4FDD\u4FE1\u606F" }, { children: _jsx(ProTable, { cardProps: { |
|
bodyStyle: { |
|
padding: 0, |
|
}, |
|
}, size: "small", |
|
// rowKey="serviceRelationId" |
|
columns: guaranteeColumns, search: false, dataSource: data === null || data === void 0 ? void 0 : data.hivePolicyInnerCoInsurerList, options: false, pagination: false }) })), _jsx(Divider, { className: "self-pro-divider" })] })), _jsx(CardDetail, Object.assign({ title: "\u5730\u5740\u4FE1\u606F" }, { children: _jsx(ProTable, { cardProps: { |
|
bodyStyle: { |
|
padding: 0, |
|
}, |
|
}, size: "small", |
|
// rowKey="serviceRelationId" |
|
columns: locationColumns, search: false, dataSource: data === null || data === void 0 ? void 0 : data.policyAddressDtlList, options: false, pagination: false }) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardDetail, Object.assign({ title: "\u5DE5\u7A0B\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u540D\u79F0" }, { children: data === null || data === void 0 ? void 0 : data.projectName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u72B6\u6001" }, { children: data === null || data === void 0 ? void 0 : data.projectStatusName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u8D77\u671F" }, { children: data === null || data === void 0 ? void 0 : data.projectStartDate })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u6B62\u671F" }, { children: data === null || data === void 0 ? void 0 : data.projectDoneDate })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u603B\u9020\u4EF7" }, { children: data === null || data === void 0 ? void 0 : data.projectCost })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DE5\u7A0B\u7C7B\u578B" }, { children: data === null || data === void 0 ? void 0 : data.projectTypeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u662F\u5426\u5206\u5305", valueEnum: { |
|
Y: '是', |
|
N: '否', |
|
} }, { children: data === null || data === void 0 ? void 0 : data.isSubContract })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4F01\u4E1A\u8D44\u8D28\u7B49\u7EA7" }, { children: data === null || data === void 0 ? void 0 : data.qualificationCodeName }))] })) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardDetail, Object.assign({ title: "\u6295\u4FDD\u4EBA\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u540D\u79F0" }, { children: !isEmpty(data === null || data === void 0 ? void 0 : data.insurCustomerList) && |
|
((_b = data === null || data === void 0 ? void 0 : data.insurCustomerList[0]) === null || _b === void 0 ? void 0 : _b.customerName) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8BC1\u4EF6\u7C7B\u578B" }, { children: !isEmpty(data === null || data === void 0 ? void 0 : data.insurCustomerList) && |
|
((_c = data === null || data === void 0 ? void 0 : data.insurCustomerList[0]) === null || _c === void 0 ? void 0 : _c.idTypeName) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8BC1\u4EF6\u53F7\u7801" }, { children: !isEmpty(data === null || data === void 0 ? void 0 : data.insurCustomerList) && |
|
((_d = data === null || data === void 0 ? void 0 : data.insurCustomerList[0]) === null || _d === void 0 ? void 0 : _d.idNo) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8054\u7CFB\u4EBA" }, { children: !isEmpty(data === null || data === void 0 ? void 0 : data.insurCustomerList) && |
|
((_e = data === null || data === void 0 ? void 0 : data.insurCustomerList[0]) === null || _e === void 0 ? void 0 : _e.contacts) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8054\u7CFB\u4EBA\u7535\u8BDD" }, { children: !isEmpty(data === null || data === void 0 ? void 0 : data.insurCustomerList) && |
|
((_f = data === null || data === void 0 ? void 0 : data.insurCustomerList[0]) === null || _f === void 0 ? void 0 : _f.contactsPhone) }))] })) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardDetail, Object.assign({ title: "\u88AB\u4FDD\u4EBA\u4FE1\u606F" }, { children: _jsx(ProTable, { cardProps: { |
|
bodyStyle: { |
|
padding: 0, |
|
}, |
|
}, size: "small", rowKey: "customerId", columns: guarantorColumns, search: false, dataSource: data === null || data === void 0 ? void 0 : data.customerList, options: false, pagination: false }) })), _jsx(Divider, { className: "self-pro-divider" }), (paramsParse === null || paramsParse === void 0 ? void 0 : paramsParse.show) && (_jsx(CardDetail, Object.assign({ title: "\u4FDD\u5355\u4E1A\u52A1\u7EDF\u8BA1" }, { children: _jsxs(DescriptionsDetail, Object.assign({ column: 2, bordered: true }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u7ACB\u6848\u4EF6\u6570\uFF08\u4EF6\uFF09" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.casesNum })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u5B9A\u635F\u603B\u91D1\u989D\uFF08\u5143\uFF09" }, { children: [toFixed(statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.lossMoney), "\u5143"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7EA6\u5B9A\u9884\u9632\u670D\u52A1\u8D39\u6BD4\u4F8B" }, { children: (_g = statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.serviceExpenseRatio) !== null && _g !== void 0 ? _g : '0%' })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u4F30\u635F\u91D1\u989D\uFF08\u5143\uFF09" }, { children: [toFixed(statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.estimatedLossMoney), "\u5143"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u4E8B\u6545\u9884\u9632\u670D\u52A1\u5DF2\u5F00\u5C55\u6B21\u6570" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.serviceNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5BA2\u6237\u5DF2\u7533\u8BF7\u670D\u52A1\u6B21\u6570" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.serviceApplyNum })), _jsxs(ProDescriptions.Item, Object.assign({ label: "\u5DF2\u4EA7\u751F\u9884\u9632\u670D\u52A1\u8D39\u91D1\u989D\uFF08\u5143\uFF09" }, { children: [toFixed(statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.servicePrice), "\u5143"] })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DF2\u5F00\u5C55\u98CE\u9669\u8FA8\u8BC6\u6B21\u6570" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.fxbsServiceNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u53D1\u73B0\u5B89\u5168\u98CE\u9669\u6570\u91CF" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.riskNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DF2\u5F00\u5C55\u9690\u60A3\u6392\u67E5\u6B21\u6570" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.yhpcServiceNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DF2\u7BA1\u63A7\u98CE\u9669\u6570\u91CF" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.controlRiskNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u53D1\u73B0\u4E8B\u6545\u9690\u60A3\u6570\u91CF" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.hiddenDangerNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7EA6\u5B9A\u9884\u9632\u670D\u52A1\u9891\u6B21" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.conventionServiceFrequency })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5DF2\u6574\u6539\u9690\u60A3\u6570\u91CF" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.rectificationHiddenDangerNum })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u7EA6\u5B9A\u9884\u9632\u670D\u52A1\u9879\u76EE" }, { children: statisticsData === null || statisticsData === void 0 ? void 0 : statisticsData.conventionServiceProject }))] })) })))] })) }))); |
|
}
|
|
|