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 }))] })) })))] })) }))); }