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.
 
 
 
 

116 lines
7.1 KiB

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 { PlusOutlined } from '@ant-design/icons';
import { ModalForm, ProForm, ProFormDependency, ProFormItem, ProFormSelect, ProFormText, ProFormTextArea, ProFormUploadButton, } from '@ant-design/pro-components';
import { Form, message } from 'antd';
import { FormUpload } from '@component/ui';
import { useRequest } from 'ahooks';
import { getDictValList } from 'actions/base.action';
import { omit } from 'lodash';
import { hiddenTroubleGrade } from '../CONST';
import { getUploadList, jsonString, themeMessage } from '@component/utils';
import React, { useCallback } from 'react';
import { getFormTypeList } from 'insure/src/actions/industry.checklist.action';
export default ({ title, onCancel, init, item, service, serviceId }) => {
// 专家端使用serviceId 使用props中的
const [form] = Form.useForm();
const { runAsync, loading } = useRequest(service, {
manual: true,
onSuccess(result) {
themeMessage(result);
if (result.type === 'success') {
init && init(result.data);
onCancel();
}
},
onError(result) {
message.error(result.message);
},
});
function onFinish(values) {
return __awaiter(this, void 0, void 0, function* () {
const classify = values.classify;
values.formTypePid = values === null || values === void 0 ? void 0 : values.formTypeP.value;
values.formTypePname = values === null || values === void 0 ? void 0 : values.formTypeP.label;
values.formTypeId = values === null || values === void 0 ? void 0 : values.formType.value;
values.formTypeName = values === null || values === void 0 ? void 0 : values.formType.label;
return runAsync(Object.assign({}, omit(values, [
'classify',
'attachments',
'dangerTypeName',
'formTypeP',
'formType',
]), {
classifyId: classify.value,
classifyName: classify.label,
dangerTypeId: values.dangerTypeName.value,
dangerTypeName: values.dangerTypeName.label,
attachments: JSON.stringify(getUploadList(values.attachments)),
serviceId,
}));
});
}
const request = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
return Object.assign(Object.assign({}, item), { classify: {
value: item.classifyId,
label: item.classifyName,
}, dangerTypeName: {
value: item.dangerTypeId,
label: item.classifyName,
}, formTypeP: {
value: item === null || item === void 0 ? void 0 : item.formTypeId,
label: item === null || item === void 0 ? void 0 : item.formTypePname,
}, formType: {
value: item === null || item === void 0 ? void 0 : item.formTypePid,
label: item === null || item === void 0 ? void 0 : item.formTypeName,
}, attachments: yield jsonString(item.attachments) });
}), [item]);
return (_jsxs(ModalForm, Object.assign({ visible: true, title: title, form: form, request: request, autoFocusFirstInput: true, modalProps: {
destroyOnClose: true,
confirmLoading: loading,
maskClosable: false,
onCancel: onCancel,
bodyStyle: {
height: 600,
overflow: 'auto',
},
}, submitTimeout: 2000, onFinish: onFinish }, { children: [_jsx(ProFormItem, { name: "hiddenDangerId", hidden: true }), _jsx(ProFormText, { rules: [{ required: true }], name: "description", label: "\u9690\u60A3\u63CF\u8FF0", fieldProps: {
showCount: true,
maxLength: 1200,
} }), _jsx(ProForm.Item, Object.assign({ noStyle: true, shouldUpdate: true }, { children: ({ setFieldValue }) => {
return (_jsx(ProFormSelect, { name: "formTypeP", label: "\u4E00\u7EA7\u7C7B\u522B", placeholder: "\u8BF7\u9009\u62E9\u4E00\u7EA7\u7C7B\u522B", request: getFormTypeList, fieldProps: {
labelInValue: true,
onChange() {
setFieldValue('formType', null);
},
}, rules: [{ required: true, message: '请选择一级类别' }] }));
} })), _jsx(ProFormDependency, Object.assign({ name: ['formTypeP'] }, { children: ({ formTypeP }) => {
var _a;
return (_jsx(ProFormSelect, { name: "formType", label: "\u4E8C\u7EA7\u7C7B\u522B", placeholder: "\u8BF7\u9009\u62E9\u4E8C\u7EA7\u7C7B\u522B", params: { parentId: (_a = formTypeP === null || formTypeP === void 0 ? void 0 : formTypeP.value) !== null && _a !== void 0 ? _a : null }, request: (params) => (formTypeP ? getFormTypeList(params) : []), fieldProps: {
labelInValue: true,
}, rules: [{ required: true, message: '请选择二级类别' }] }));
} })), _jsx(ProFormSelect, { rules: [{ required: true }], label: "\u9690\u60A3\u7C7B\u578B", name: "classify", request: getDictValList, params: { dictId: '20' }, fieldProps: {
labelInValue: true,
} }), _jsx(ProFormSelect, { rules: [{ required: true }], label: "\u9690\u60A3\u7B49\u7EA7", name: "hiddenTroubleGrade", options: hiddenTroubleGrade }), _jsx(ProFormSelect, { rules: [{ required: true }], label: "\u9690\u60A3\u5206\u7C7B", name: "dangerTypeName", request: getDictValList, params: { dictId: '24' }, fieldProps: {
labelInValue: true,
} }), _jsx(ProFormText, { rules: [{ required: true }], name: "discoveredAddress", label: "\u9690\u60A3\u6240\u5728\u573A\u6240\u90E8\u4F4D", fieldProps: {
showCount: true,
maxLength: 40,
} }), _jsx(ProFormTextArea, { label: "\u6574\u6539\u5EFA\u8BAE", name: "rectifyRemark", fieldProps: {
showCount: true,
maxLength: 4000,
} }), _jsx(FormUpload, { name: "attachments", label: "\u73B0\u573A\u7167\u7247", max: 20, fieldProps: {
accept: 'image/*',
}, params: {
bizNo: (item === null || item === void 0 ? void 0 : item.hiddenDangerId) || '',
type: '8',
} })] })));
};