123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import React, { useEffect, useMemo } from 'react';
- import { Form } from '@ant-design/compatible';
- import '@ant-design/compatible/assets/index.css';
- import { Modal, Input } from 'antd';
- // 审批意见
- function AuditModal(props) {
- const { flow, version, flowDetail, visible, onClose, onOk, form, sheetRef, loading } = props;
- const handleOk = () => {
- form.validateFields((err, fieldsValue) => {
- if (err) return;
- onOk({
- ...fieldsValue,
- // 3 通过审批 2 拒绝审批
- audit_status: visible == 1 ? 3 : 2,
- });
- });
- };
- const content = useMemo(() => {
- let content = '';
- if (visible == 1) {
- let isSingle = false;
- let serviceNode;
- const flowNode = flow.currentNode;
- const getLastTemplateNodeId = data => {
- let result;
- const getFun = item => {
- if (item.flow_path?.length > 0) {
- getFun(item.flow_path[0]);
- } else {
- result = item.template_node_id;
- }
- };
- if (!data) return version.template_node_id;
- getFun(data[0]);
- return result;
- };
- let lastTemplateNodeId = version.template_node_id;
- if (version.flow_path) {
- //如果多节点审批 获取当前是否审批流程的最后一个审批节点
- let flowPathList = JSON.parse(version.flow_path);
- lastTemplateNodeId = getLastTemplateNodeId(flowPathList);
- }
- // 判断是否为最后一个审批节点
- if (
- lastTemplateNodeId == version.template_node_id &&
- flow.current == flow.list.FlowNodes.length - 1
- ) {
- serviceNode = flowDetail.nodes.find?.(item => item.Id == version.next_template_node_id);
- if (!serviceNode.muti_version) {
- //audit_status=4 表示为清单推进后留存的副本.不计入多清单计算
- isSingle = versionList.find(
- item => item.audit_status != 4 && item.template_node_id == serviceNode.Id
- );
- }
- }
- if (isSingle) {
- return `节点【${serviceNode.label}】只能拥有一个清单,是否覆盖?`;
- }
- }
- return '';
- }, [visible]);
- useEffect(() => {
- if (visible) {
- try {
- const comment = sheetRef.current.getComment();
- console.log(comment);
- let str = '';
- comment.forEach(item => {
- let col = String.fromCharCode(item.c + 65);
- str += `单元格${col}${item.r}:${item.value}\n`;
- });
- form.setFieldsValue({ audit_comment: str });
- } catch (error) {}
- }
- }, [visible]);
- return (
- <Modal
- confirmLoading={loading}
- destroyOnClose
- title={visible == 1 ? '是否确认通过审批?' : '是否确认拒绝审批?'}
- visible={visible}
- onCancel={onClose}
- onOk={handleOk}
- >
- <p>{content}</p>
- <Form.Item labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} label="审批意见">
- {form.getFieldDecorator('audit_comment')(<Input.TextArea />)}
- </Form.Item>
- </Modal>
- );
- }
- export default Form.create()(AuditModal);
|