|
@@ -1,16 +1,19 @@
|
|
|
-import React, { useState, useEffect } from 'react';
|
|
|
-import { Button, Table } from 'antd';
|
|
|
+import React, { useState, useEffect, useRef } from 'react';
|
|
|
+import { Button, Space, Table, message } from 'antd';
|
|
|
import { connect, useNavigate } from 'umi';
|
|
|
import AuditModal from './AuditModal';
|
|
|
import PageContent from '@/components/PageContent';
|
|
|
+import { queryProcessFlows, saveAuditFlowInfo } from '@/services/boom';
|
|
|
|
|
|
function Audit(props) {
|
|
|
const { list = [], classify = [], dispatch, loading } = props;
|
|
|
let navigate = useNavigate();
|
|
|
+ const [data, setData] = useState();
|
|
|
const [visible, setVisible] = useState({
|
|
|
audit: false,
|
|
|
auditNode: false,
|
|
|
});
|
|
|
+ const detailRef = useRef();
|
|
|
const columns = [
|
|
|
{
|
|
|
title: '审批流名称',
|
|
@@ -24,7 +27,7 @@ function Audit(props) {
|
|
|
{
|
|
|
title: '操作',
|
|
|
render: (item, index) => (
|
|
|
- <>
|
|
|
+ <Space>
|
|
|
<a
|
|
|
onClick={() => {
|
|
|
setCurrentNode(item);
|
|
@@ -32,10 +35,48 @@ function Audit(props) {
|
|
|
>
|
|
|
编辑
|
|
|
</a>
|
|
|
- </>
|
|
|
+ <a
|
|
|
+ onClick={() => {
|
|
|
+ setData(item);
|
|
|
+ changeVisible('audit', true);
|
|
|
+ queryDetail(item);
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 复制
|
|
|
+ </a>
|
|
|
+ </Space>
|
|
|
),
|
|
|
},
|
|
|
];
|
|
|
+ const queryDetail = async (item) => {
|
|
|
+ const res = await queryProcessFlows({ ids: Number(item.id) });
|
|
|
+ if (res?.data) {
|
|
|
+ detailRef.current = res.data;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ const handleCopy = async (values) => {
|
|
|
+ dispatch({
|
|
|
+ type: 'flow/addAudit',
|
|
|
+ payload: {
|
|
|
+ ...values,
|
|
|
+ flow_type: 1,
|
|
|
+ },
|
|
|
+ callback: async (res) => {
|
|
|
+ if (res?.data && detailRef.current) {
|
|
|
+ let param = {
|
|
|
+ id: Number(res.data?.id),
|
|
|
+ form_json: detailRef.current.form_json,
|
|
|
+ process_json: detailRef.current.process_json,
|
|
|
+ process_simple_json: detailRef.current.process_simple_json,
|
|
|
+ };
|
|
|
+ saveAuditFlowInfo(param).then((res) => message.success('添加成功'));
|
|
|
+ // dispatch({ type: 'flow/saveAuditFlowInfo', payload: param });
|
|
|
+ }
|
|
|
+ changeVisible('audit', false);
|
|
|
+ },
|
|
|
+ });
|
|
|
+ };
|
|
|
const handleAuditOk = (values) => {
|
|
|
dispatch({
|
|
|
type: 'flow/addAudit',
|
|
@@ -44,6 +85,7 @@ function Audit(props) {
|
|
|
flow_type: 1,
|
|
|
},
|
|
|
callback: () => {
|
|
|
+ message.success('新增成功');
|
|
|
changeVisible('audit', false);
|
|
|
},
|
|
|
});
|
|
@@ -84,7 +126,10 @@ function Audit(props) {
|
|
|
<PageContent>
|
|
|
<Button
|
|
|
key={1}
|
|
|
- onClick={() => changeVisible('audit', true)}
|
|
|
+ onClick={() => {
|
|
|
+ setData(null);
|
|
|
+ changeVisible('audit', true);
|
|
|
+ }}
|
|
|
type="primary"
|
|
|
>
|
|
|
新建流程
|
|
@@ -98,9 +143,10 @@ function Audit(props) {
|
|
|
/>
|
|
|
|
|
|
<AuditModal
|
|
|
+ data={data}
|
|
|
loading={loading['flow/addAudit']}
|
|
|
visible={visible.audit}
|
|
|
- onOk={handleAuditOk}
|
|
|
+ onOk={data ? handleCopy : handleAuditOk}
|
|
|
onCancel={() => changeVisible('audit', false)}
|
|
|
classify={classify}
|
|
|
/>
|