var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import React, { useState } from 'react'; import { ModalForm, ProDescriptions, ProFormTextArea, FooterToolbar, } from '@ant-design/pro-components'; import { Button, Modal, Space, Upload, message, Divider } from 'antd'; import { getListInfo } from './action'; import { useRequest } from 'ahooks'; import { formatImageUrl, useRoutes, getStorage, dateFormatter, themeMessage, } from '@component/utils'; import themeColor from 'theme.less'; import { expertAudit, insuranceAudit } from './action'; import { CardDetail } from '@component/ui'; import { isEmpty, omitBy, pick } from 'lodash'; import { PreviewFile } from '@component/ui'; import { DescriptionsDetail } from '@component/ui'; const examineStatus = [ { val: 1, text: '待审核' }, { val: 2, text: '提交上级审核' }, { val: 3, text: '审核通过' }, { val: 4, text: '被驳回', color: themeColor.redStatus }, ]; const hiddenDangerStatus = [ { val: 1, text: '未整改', color: themeColor.redStatus }, { val: 2, text: '已整改', color: 'black' }, ]; export default function DangerInfo({ client, serviceUrl, policyUrl }) { var _a, _b, _c, _d, _e, _f; const { paramsParse, historyBack, historyPush } = useRoutes(); const [forkData, setForkData] = useState({}); function trackStatusEnum(data) { switch (data) { case -1: return '未跟踪'; case 1: return '继续跟踪'; case 2: return '结束跟踪'; default: return null; } } const Insurereview = [ { status: '5', title: '退回至下一级', danger: true }, { status: '4', title: '驳回修改', danger: true }, { status: '2', title: '提交上级审核' }, { status: '3', title: '审核通过' }, ]; const Expertreview = [ { status: '4', title: '驳回修改', danger: true }, { status: '3', title: '审核通过' }, ]; useRequest(getListInfo, { defaultParams: { hiddenDangerId: paramsParse.hiddenDangerId, }, onSuccess: (data) => { setForkData(data); }, }); const { runAsync: runExpertAsync } = useRequest(expertAudit, { manual: true, onSuccess(result) { themeMessage(result, historyBack); }, onError(result) { message.error(result.message); }, }); const { runAsync: runInsurAsync } = useRequest(insuranceAudit, { manual: true, onSuccess(result) { themeMessage(result, historyBack); }, onError(result) { message.error(result.message); }, }); function onFinish(values, status) { return __awaiter(this, void 0, void 0, function* () { values.hiddenDangerId = paramsParse.hiddenDangerId; values.auditStatus = status; client === 'expert' ? yield runExpertAsync(Object.assign({}, values)) : yield runInsurAsync(Object.assign({}, values)); }); } const insurceFooterButton = () => (_jsx("div", Object.assign({ style: { width: '100%', display: 'flex', justifyContent: 'center' } }, { children: _jsx(Space, { children: Insurereview.map((item) => { var _a; if (getStorage('isSup') != 1 && item.status == '2') { return; } if (((_a = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _a === void 0 ? void 0 : _a.visibleReturnedBtn) != 2 && item.status == '5') return; return (_jsx(ModalForm, Object.assign({ title: "\u5BA1\u6838\u610F\u89C1", layout: "horizontal", labelCol: { span: 4 }, wrapperCol: { span: 16 }, submitTimeout: 2000, onFinish: (values) => onFinish(values, item.status), trigger: (item === null || item === void 0 ? void 0 : item.danger) ? (_jsx(Button, Object.assign({ danger: true }, { children: item.title }))) : (_jsx(Button, Object.assign({ type: "primary" }, { children: item.title }))) }, { children: _jsx(ProFormTextArea, { name: "auditOpinion", fieldProps: { maxLength: 500, showCount: true, }, label: "\u5BA1\u6838\u610F\u89C1", rules: [{ required: true, message: '请输入审核意见' }], placeholder: "\u8BF7\u8F93\u5165\u5BA1\u6838\u610F\u89C1" }) }))); }) }) }))); const expertFooterButton = () => (_jsx("div", Object.assign({ style: { width: '100%', display: 'flex', justifyContent: 'center' } }, { children: _jsx(Space, { children: Expertreview.map((item) => { if (getStorage('isSup') != 1 && item.status == '2') { return; } return (_jsx(ModalForm, Object.assign({ title: "\u5BA1\u6838\u610F\u89C1", layout: "horizontal", labelCol: { span: 4 }, wrapperCol: { span: 16 }, submitTimeout: 2000, onFinish: (values) => onFinish(values, item.status), trigger: item.danger ? (_jsx(Button, Object.assign({ danger: true }, { children: item.title }))) : (_jsx(Button, Object.assign({ type: "primary" }, { children: item.title }))) }, { children: _jsx(ProFormTextArea, { name: "auditOpinion", fieldProps: { maxLength: 500, showCount: true, }, label: "\u5BA1\u6838\u610F\u89C1", rules: [{ required: true, message: '请输入审核意见' }], placeholder: "\u8BF7\u8F93\u5165\u5BA1\u6838\u610F\u89C1" }) }))); }) }) }))); const trackCase = () => (_jsx(CardDetail, Object.assign({ title: "\u8DDF\u8E2A\u60C5\u51B5" }, { children: _jsxs(DescriptionsDetail, Object.assign({ style: { marginTop: '20px' }, column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u4EBA" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.trackUserName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u4EBA\u6240\u5728\u673A\u6784" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.trackOrganName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u72B6\u6001" }, { children: trackStatusEnum(forkData === null || forkData === void 0 ? void 0 : forkData.trackStatus) })), (forkData === null || forkData === void 0 ? void 0 : forkData.trackStatus) !== 2 ? (_jsx(ProDescriptions.Item, Object.assign({ label: "\u9884\u8BA1\u4E0B\u6B21\u8DDF\u8E2A\u65F6\u95F4" }, { children: dateFormatter(forkData === null || forkData === void 0 ? void 0 : forkData.estimateNextTrackAt) }))) : null, _jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u65F6\u95F4" }, { children: dateFormatter(forkData === null || forkData === void 0 ? void 0 : forkData.trackAt) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u60C5\u51B5" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.trackSituation })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u8DDF\u8E2A\u7167\u7247" }, { children: _jsx(PreviewFile, { disabled: true, listType: "picture-card", fileList: formatImageUrl(forkData === null || forkData === void 0 ? void 0 : forkData.trackAttachments) }) }))] })) }))); return (_jsxs("div", Object.assign({ className: "page-content-detail-tabs" }, { children: [_jsx(CardDetail, Object.assign({ title: "\u670D\u52A1\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ style: { marginTop: '10px' }, column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u670D\u52A1\u540D\u79F0" }, { children: _jsx("a", Object.assign({ onClick: () => { var _a; historyPush(serviceUrl, { serviceId: (_a = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _a === void 0 ? void 0 : _a.serviceId, }); } }, { children: (_a = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _a === void 0 ? void 0 : _a.serviceName })) })), client === 'expert' ? null : (_jsx(ProDescriptions.Item, Object.assign({ label: "\u4FDD\u5355\u53F7" }, { children: policyUrl ? (_jsx("a", Object.assign({ onClick: () => { historyPush(policyUrl, { policyNumber: forkData === null || forkData === void 0 ? void 0 : forkData.policyNumber, }); } }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.policyNumber }))) : null }))), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6807\u51C6\u5206\u7C7B" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.aqServiceName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u670D\u52A1\u673A\u6784" }, { children: (_b = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _b === void 0 ? void 0 : _b.insuranceName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9879\u76EE\u5F00\u59CB\u65F6\u95F4" }, { children: dateFormatter((_c = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _c === void 0 ? void 0 : _c.createdAt) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u670D\u52A1\u4EBA\u5458" }, { children: (_d = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _d === void 0 ? void 0 : _d.userName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9879\u76EE\u7ED3\u675F\u65F6\u95F4" }, { children: dateFormatter((_e = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _e === void 0 ? void 0 : _e.executedAt) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u670D\u52A1\u5730\u5740" }, { children: (_f = forkData === null || forkData === void 0 ? void 0 : forkData.service) === null || _f === void 0 ? void 0 : _f.address }))] })) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardDetail, Object.assign({ title: "\u9690\u60A3\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ style: { marginTop: '20px' }, column: 2 }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u9690\u60A3\u63CF\u8FF0" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.description })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9690\u60A3\u7F16\u53F7" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.hiddenNumber })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u53D1\u73B0\u65F6\u95F4" }, { children: dateFormatter(forkData === null || forkData === void 0 ? void 0 : forkData.discoveredAt) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6392\u67E5\u7ED3\u8BBA" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.finalResult })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9690\u60A3\u7C7B\u578B" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.classifyName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9690\u60A3\u5206\u7C7B" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.dangerTypeName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u9690\u60A3\u7B49\u7EA7" }, { children: (forkData === null || forkData === void 0 ? void 0 : forkData.hiddenTroubleGrade) == 1 ? (_jsx("span", Object.assign({ style: { color: themeColor.greenStatus } }, { children: "\u4E00\u822C\u9690\u60A3" }))) : (forkData === null || forkData === void 0 ? void 0 : forkData.hiddenTroubleGrade) == 2 ? (_jsx("span", Object.assign({ style: { color: themeColor.orangeStatus } }, { children: "\u8F83\u5927\u9690\u60A3" }))) : (_jsx("span", Object.assign({ style: { color: themeColor.redStatus } }, { children: "\u91CD\u5927\u9690\u60A3" }))) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u573A\u6240\u90E8\u4F4D" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.discoveredAddress })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6574\u6539\u72B6\u6001" }, { children: hiddenDangerStatus.map((item, index) => { if (item.val == (forkData === null || forkData === void 0 ? void 0 : forkData.hiddenDangerStatus)) { return _jsx("span", Object.assign({ style: { color: item.color } }, { children: item.text })); } return null; }) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6574\u6539\u5EFA\u8BAE" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.rectifyRemark })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u73B0\u573A\u7167\u7247" }, { children: _jsx(PreviewFile, { disabled: true, listType: "picture-card", fileList: formatImageUrl(forkData === null || forkData === void 0 ? void 0 : forkData.attachments) }) }))] })) })), _jsx(Divider, { className: "self-pro-divider" }), !isEmpty(omitBy(pick(forkData, [ 'rectifyUserName', 'rectifyOrganName', 'rectifyContent', 'rectifyAt', 'rectifyAttachments', ]), isEmpty)) && (_jsx(CardDetail, Object.assign({ title: "\u6574\u6539\u4FE1\u606F" }, { children: _jsxs(DescriptionsDetail, Object.assign({ column: 1, style: { marginTop: '20px' } }, { children: [_jsx(ProDescriptions.Item, Object.assign({ label: "\u63D0\u4EA4\u4EBA" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.rectifyUserName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u63D0\u4EA4\u4EBA\u6240\u5728\u673A\u6784" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.rectifyOrganName })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6574\u6539\u5185\u5BB9" }, { children: forkData === null || forkData === void 0 ? void 0 : forkData.rectifyContent })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u63D0\u4EA4\u65F6\u95F4" }, { children: dateFormatter(forkData === null || forkData === void 0 ? void 0 : forkData.rectifyAt) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u6574\u6539\u7167\u7247" }, { children: _jsx(PreviewFile, { disabled: true, listType: "picture-card", fileList: formatImageUrl(forkData === null || forkData === void 0 ? void 0 : forkData.rectifyAttachments) }) })), _jsx(ProDescriptions.Item, Object.assign({ label: "\u5BA1\u6838\u7ED3\u8BBA" }, { children: examineStatus.map((item, index) => { if (item.val == (forkData === null || forkData === void 0 ? void 0 : forkData.examineStatus)) { return (_jsx("span", Object.assign({ style: { color: item.color || themeColor.blackStatus } }, { children: item.text }), index)); } return null; }) }))] })) }))), (forkData === null || forkData === void 0 ? void 0 : forkData.trackStatus) !== -1 && trackCase(), (paramsParse === null || paramsParse === void 0 ? void 0 : paramsParse.show) ? (_jsx(FooterToolbar, { children: client === 'expert' ? expertFooterButton() : insurceFooterButton() })) : null] }))); }