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