import { useRef, useEffect, useState } from 'react';
import PageContent from '@/components/PageContent';
import {
queryCadDirList,
queryCadList,
queryCreateCad,
queryProject,
} from '@/services/cad';
import { useRequest, useNavigate } from '@umijs/max';
import { Table, Button, message, Space, Select, Input } from 'antd';
import CreateModal from './components/CreateModal';
import { createAduit } from '@/services/boom';
import CreateChildrenModal from './components/CreateChildrenModal';
import { queryCreateCadVer } from '../../services/cad';
import { queryApprovalProject } from '@/services/contract';
const CadDemo = () => {
let navigate = useNavigate();
const [createLoading, setCreateLoading] = useState(false);
const [visible, setVisible] = useState(false);
const [childrenVisible, setChildrenVisible] = useState(false);
const [parentId, setParentId] = useState();
const [params, setParams] = useState({
// project_name: '',
// name: '',
page: 1,
page_size: 20,
});
const auditListRef = useRef();
const columns = [
{
title: '名称',
dataIndex: 'name',
key: 'name',
width: 160,
},
{
title: '所属项目',
dataIndex: 'project_name',
key: 'project_name',
width: 120,
},
{
title: '状态',
// dataIndex: 'cad_status',
// key: 'cad_status',
width: 100,
render: (record) => {
let str = '';
let color = 'black';
switch (record.cad_status) {
case 1:
str = '已归档';
color = 'green';
break;
case 2:
str = '审核拒绝';
color = 'red';
break;
case 0:
str = '待审核';
color = 'blue';
}
return record.parent_id ?
{str}
: '';
},
},
{
title: '操作',
width: '10%',
render: (record) => {
return (
{record.canShow && (
navigate('/cad/detail', {
state: {
path: record.path,
},
})
}
>
查看
)}
{record.showCreate && (
{
setParentId(record.id);
setChildrenVisible(true);
}}
>
新建
)}
);
},
},
];
const { data: projectList } = useRequest(queryApprovalProject, {
formatResult: (res) => {
return res?.data?.map((item) => {
return {
label: `${item.project_name}(${item.project_full_code})`,
value: item.id,
};
});
},
});
//请求归档目录
const { data: dirList } = useRequest(queryCadDirList, {
formatResult: (res) => {
return res.data;
},
});
//请求列表
const { data, run, loading } = useRequest(queryCadList, {
defaultParams: [params],
formatResult: (res) => {
res.data?.list?.forEach((item) => {
item.children?.forEach((cur) => {
cur.name = item.name + cur.version;
item.showCreate = cur.cad_status == 2 ? true : false;
if (cur.cad_path) {
const pathList = cur.cad_path.split(',');
cur.children = pathList.map((item) => {
const names = item.split('/');
const name = names?.length > 1 ? names[1] : names[0];
return {
name: name,
path: item,
canShow: true,
parent_id: cur.parent_id,
};
});
}
});
});
return res.data?.list;
},
});
//创建审批
const { run: runCreate } = useRequest(queryCreateCad, {
manual: true,
onSuccess: (data) => {
createOARun({
...auditListRef.current,
extend_code: data.cad_id + '',
extend_type: 2, //2图纸
});
},
});
//创建子审批
const { run: runCreateVer, loading: loadingCreateVer } = useRequest(
queryCreateCadVer,
{
manual: true,
onSuccess: (data) => {
message.success('新建成功');
setChildrenVisible(false);
// createOARun({
// ...auditListRef.current,
// extend_code: data.cad_id + '',
// extend_type: 2, //2图纸
// });
},
},
);
//发起OA审批
const { run: createOARun } = useRequest(
(data) => createAduit({ ...data, flow_id: 67, files: '' }),
{
manual: true,
onSuccess: () => {
run();
message.success('新建成功');
setVisible(false);
setCreateLoading(false);
},
},
);
useEffect(() => {
ZwCloud2D.ZwDataProcessor.ZwSetConnectUrl(
'https://cad.greentech.com.cn', //47.111.24.13
'https://cad.greentech.com.cn:5121',
'https://cad.greentech.com.cn',
);
}, []);
const handleCreate = (values, audit_list) => {
setCreateLoading(true);
auditListRef.current = audit_list;
runCreate(values);
};
return (
项目名称:
图纸名称:
{
setParams({ ...params, name: e.target.value });
}}
/>
setVisible(false)}
/>
setChildrenVisible(false)}
/>
);
};
export default CadDemo;