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.
115 lines
5.4 KiB
115 lines
5.4 KiB
import { jsx as _jsx } from "react/jsx-runtime"; |
|
import { ModalForm, ProTable } from "@ant-design/pro-components"; |
|
import { Button } from "antd"; |
|
import React, { useRef, useState } from "react"; |
|
import { getList } from "actions/service.apply.action"; |
|
import { getDetail } from 'actions/service.apply.action'; |
|
import { dateFormatter, jsonString, truncateText } from "@component/utils"; |
|
import moment from "moment/moment"; |
|
import { compact, isEmpty } from "lodash"; |
|
import { getAqServiceStandard, getServiceType, } from "actions/service.action"; |
|
export default function ({ form }) { |
|
const [visible, setVisible] = useState(false); |
|
const [aqCategoryId, setAqCategoryId] = useState(''); |
|
const formRef = useRef(); |
|
const columns = [ |
|
{ |
|
title: "保单号", |
|
dataIndex: "policyNumber", |
|
ellipsis: true, |
|
fieldProps: { placeholder: '' }, |
|
}, |
|
{ |
|
title: "标准分类", |
|
dataIndex: "aqServiceName", |
|
ellipsis: true, |
|
valueType: 'select', |
|
fieldProps: { placeholder: '', onChange: getAqCategoryId }, |
|
formItemProps: { |
|
name: 'aqServiceId', |
|
}, |
|
request: getAqServiceStandard, |
|
}, |
|
{ |
|
title: '服务活动', |
|
dataIndex: 'serviceTypeName', |
|
ellipsis: true, |
|
valueType: 'select', |
|
fieldProps: { placeholder: '' }, |
|
params: { aqServiceId: aqCategoryId }, |
|
request: getServiceType, |
|
formItemProps: { name: 'serviceTypeId' }, |
|
}, |
|
{ |
|
title: '服务名称', |
|
dataIndex: 'serviceProjectName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '期望服务时间', |
|
dataIndex: 'estimatedServiceAt', |
|
renderText: dateFormatter, |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: "操作", |
|
search: false, |
|
render: (_, { serviceApplyId }) => (_jsx(Button, Object.assign({ type: "link", onClick: () => onClick(serviceApplyId) }, { children: "\u590D\u7528" }))) |
|
} |
|
]; |
|
function getAqCategoryId(value) { |
|
setAqCategoryId(value); |
|
} |
|
function onClick(id) { |
|
getDetail({ id }).then(res => { |
|
var _a; |
|
(_a = form === null || form === void 0 ? void 0 : form.current) === null || _a === void 0 ? void 0 : _a.setFieldsValue({ |
|
executedAt: res.estimatedServiceAt |
|
? moment(res.estimatedServiceAt) |
|
: undefined, |
|
servicePrice: res.servicePrice, |
|
form: res.form ? String(res.form) : '2', |
|
aqServiceStandardCategory: (res === null || res === void 0 ? void 0 : res.aqServiceId) ? { |
|
value: res.aqServiceId, |
|
label: res.aqServiceName, |
|
} : null, |
|
serviceTypeId: !isEmpty(compact([ |
|
res === null || res === void 0 ? void 0 : res.serviceTypeId, |
|
res === null || res === void 0 ? void 0 : res.serviceTypeName, |
|
res === null || res === void 0 ? void 0 : res.serviceClassifyType, |
|
])) |
|
? { |
|
value: res === null || res === void 0 ? void 0 : res.serviceTypeId, |
|
label: res === null || res === void 0 ? void 0 : res.serviceTypeName, |
|
serviceClassifyType: res === null || res === void 0 ? void 0 : res.serviceClassifyType, |
|
} |
|
: null, |
|
serviceSchemeId: !isEmpty(compact([res === null || res === void 0 ? void 0 : res.serviceSchemeId, res === null || res === void 0 ? void 0 : res.serviceSchemeName])) |
|
? { |
|
value: res === null || res === void 0 ? void 0 : res.serviceSchemeId, |
|
label: res === null || res === void 0 ? void 0 : res.serviceSchemeName, |
|
} |
|
: null, |
|
address: !isEmpty(res === null || res === void 0 ? void 0 : res.address) || !isEmpty(res === null || res === void 0 ? void 0 : res.serviceAddress) |
|
? { |
|
value: res === null || res === void 0 ? void 0 : res.serviceAddress, |
|
label: res === null || res === void 0 ? void 0 : res.serviceAddress, |
|
address: res === null || res === void 0 ? void 0 : res.address, |
|
geoLat: res === null || res === void 0 ? void 0 : res.serviceAddressLat, |
|
geoLng: res === null || res === void 0 ? void 0 : res.serviceAddressLng, |
|
} |
|
: null, |
|
}); |
|
}); |
|
setVisible(false); |
|
} |
|
return (_jsx(ModalForm, Object.assign({ title: "\u590D\u7528\u7533\u8BF7\u8BB0\u5F55", layout: "horizontal", open: visible, formRef: formRef, trigger: _jsx(Button, Object.assign({ type: "primary", onClick: () => setVisible(true) }, { children: "\u590D\u7528\u7533\u8BF7\u8BB0\u5F55" })), submitter: false, modalProps: { |
|
closable: false, |
|
onCancel: () => setVisible(false) |
|
} }, { children: _jsx(ProTable, { rowKey: "serviceApplyId", request: getList, columns: columns, pagination: { |
|
pageSize: 5, |
|
showSizeChanger: false |
|
}, toolBarRender: false }) }))); |
|
}
|
|
|