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.
76 lines
6.0 KiB
76 lines
6.0 KiB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; |
|
import { ProFormRadio, ProFormRate, ProFormList, ModalForm, ProCard, ProFormSelect, ProFormDependency, ProFormTextArea, } from '@ant-design/pro-components'; |
|
import { Col, message, Divider, Empty, Modal, Button, Row } from 'antd'; |
|
import { useRequest } from 'ahooks'; |
|
import { PlusOutlined } from '@ant-design/icons'; |
|
import { useRoutes, getStorage, themeMessage } from '@component/utils'; |
|
import { CardForm } from '@component/ui'; |
|
import { onSubmit, getTemplateList } from './action'; |
|
import { ExclamationCircleOutlined } from '@ant-design/icons'; |
|
import Template from './template'; |
|
import React, { useState } from 'react'; |
|
import { clone, map } from 'lodash'; |
|
import moment from 'moment'; |
|
export default function () { |
|
const { paramsParse, historyBack, historyPush } = useRoutes(); |
|
const { runAsync } = useRequest(onSubmit, { |
|
manual: true, |
|
onSuccess(result) { |
|
themeMessage(result, historyBack); |
|
}, |
|
onError(result) { |
|
message.error(result.message); |
|
}, |
|
}); |
|
function onFinish(values) { |
|
if (!values.item) { |
|
message.warning('考评表单不能为空!'); |
|
} |
|
let params = clone(values); |
|
params.item = JSON.stringify(map(values === null || values === void 0 ? void 0 : values.item, (item) => { |
|
const item_val_name = (item === null || item === void 0 ? void 0 : item.tag) ? { item_val_name: item === null || item === void 0 ? void 0 : item.tag } : {}; |
|
return Object.assign({ question: item === null || item === void 0 ? void 0 : item.itemName, method: item === null || item === void 0 ? void 0 : item.itemType, itemValCode: item === null || item === void 0 ? void 0 : item.item_val_code }, item_val_name); |
|
})); |
|
params.reviewName = getStorage('userName'); |
|
params.reviewDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss'); |
|
params.organId = paramsParse === null || paramsParse === void 0 ? void 0 : paramsParse.organId; |
|
Modal.confirm({ |
|
title: '确认提交', |
|
icon: _jsx(ExclamationCircleOutlined, {}), |
|
content: '服务考评是对第三方服务机构的重要评价,您确认提交吗', |
|
okText: '确认', |
|
cancelText: '取消', |
|
onOk() { |
|
return runAsync(params); |
|
}, |
|
onCancel() { }, |
|
}); |
|
} |
|
return (_jsx(_Fragment, { children: _jsxs(ModalForm, Object.assign({ title: "\u6DFB\u52A0\u8003\u8BC4", trigger: _jsxs(Button, Object.assign({ type: "primary" }, { children: [_jsx(PlusOutlined, {}), "\u6DFB\u52A0\u8003\u8BC4"] })), labelAlign: "left", width: '60%', autoFocusFirstInput: true, modalProps: { |
|
destroyOnClose: true, |
|
onCancel: () => console.log('run'), |
|
}, submitTimeout: 2000, onFinish: onFinish, layout: "horizontal", request: () => ({ reviewForm: list === null || list === void 0 ? void 0 : list.checkItem }) }, { children: [_jsx(ProFormSelect, { name: "template", label: "\u8003\u8BC4\u6A21\u677F", request: () => getTemplateList(paramsParse === null || paramsParse === void 0 ? void 0 : paramsParse.organId), placeholder: "\u8BF7\u5148\u9009\u62E9\u8003\u8BC4\u6A21\u677F", rules: [{ required: true, message: '请选择考评模板!' }] }), _jsx(CardForm, Object.assign({ title: "\u670D\u52A1\u8003\u8BC4\u6A21\u677F", gutter: [10, 10], noGutter: false }, { children: _jsx(ProFormDependency, Object.assign({ name: ['template'] }, { children: ({ template }) => { |
|
return _jsx(Template, { templateId: template }); |
|
} })) })), _jsx(Divider, { className: "self-pro-divider" }), _jsx(CardForm, Object.assign({ title: "\u670D\u52A1\u8003\u8BC4\u603B\u7ED3", gutter: [10, 10], noGutter: false }, { children: _jsxs(ProCard, Object.assign({ ghost: true }, { children: [_jsxs(ProCard, Object.assign({ ghost: true, colSpan: 12 }, { children: [_jsx(ProFormRate, { labelCol: { |
|
span: 10, |
|
}, colProps: { |
|
span: 24, |
|
}, label: "\u63D0\u4F9B\u9884\u9632\u670D\u52A1\u53CA\u65F6\u6709\u6548", name: "yffwJsyx", fieldProps: { allowHalf: false }, rules: [{ required: true, message: '请选择对本项的评分!' }] }), _jsx(ProFormRate, { labelCol: { |
|
span: 10, |
|
}, colProps: { |
|
span: 24, |
|
}, label: "\u670D\u52A1\u6210\u679C\u670D\u52A1\u62A5\u544A\u8D28\u91CF", name: "ffcgBgzl", fieldProps: { allowHalf: false }, rules: [{ required: true, message: '请选择对本项的评分!' }] }), _jsx(ProFormRate, { labelCol: { |
|
span: 10, |
|
}, colProps: { |
|
span: 24, |
|
}, label: "\u4F01\u4E1A\u5BF9\u670D\u52A1\u6574\u4F53\u6EE1\u610F\u5EA6", name: "fwztmyd", fieldProps: { allowHalf: false }, rules: [{ required: true, message: '请选择对本项的评分!' }] })] })), _jsx(ProCard, Object.assign({ ghost: true, colSpan: 12 }, { children: _jsx(ProFormRadio.Group, { name: "result", label: null, rules: [{ required: true, message: '请填写您的考评结论!' }], options: [ |
|
{ |
|
label: '合格', |
|
value: '1', |
|
}, |
|
{ |
|
label: '不合格', |
|
value: '2', |
|
}, |
|
] }) }))] })) })), _jsx(ProFormTextArea, { name: "reviewRemarks", label: "\u5907\u6CE8", placeholder: "\u8BF7\u8F93\u5165\u5907\u6CE8", fieldProps: { showCount: true, maxLength: 500 } })] })) })); |
|
}
|
|
|