105 lines
3.5 KiB
TypeScript
105 lines
3.5 KiB
TypeScript
|
|
import { MyBetaModalFormProps, renderTextHelper } from '@/common';
|
|||
|
|
import { MyModal } from '@/components/MyModal';
|
|||
|
|
import { Apis } from '@/gen/Apis';
|
|||
|
|
import {
|
|||
|
|
ApprovalTemplateNodesNodeTypeEnum,
|
|||
|
|
ApprovalTemplatesTypeEnum,
|
|||
|
|
} from '@/gen/Enums';
|
|||
|
|
import { ProCard, ProDescriptions, ProTable } from '@ant-design/pro-components';
|
|||
|
|
import { Space, Spin } from 'antd';
|
|||
|
|
import { useState } from 'react';
|
|||
|
|
|
|||
|
|
export default function Show(props: MyBetaModalFormProps) {
|
|||
|
|
const [loading, setLoading] = useState(true);
|
|||
|
|
const [data, setData] = useState<any>({});
|
|||
|
|
|
|||
|
|
return (
|
|||
|
|
<MyModal
|
|||
|
|
title={props.title || '查看'}
|
|||
|
|
type={'primary'}
|
|||
|
|
width="800px"
|
|||
|
|
onOpen={() => {
|
|||
|
|
if (props?.item?.id) {
|
|||
|
|
setLoading(true);
|
|||
|
|
Apis.Approval.ApprovalTemplates.Show({ id: props.item.id })
|
|||
|
|
.then((res) => {
|
|||
|
|
setData(res?.data || {});
|
|||
|
|
})
|
|||
|
|
.finally(() => {
|
|||
|
|
setLoading(false);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}}
|
|||
|
|
node={
|
|||
|
|
<Space direction="vertical" style={{ width: '100%' }}>
|
|||
|
|
<ProCard extra={props.extra} title="基础信息">
|
|||
|
|
<Spin spinning={loading}>
|
|||
|
|
<ProDescriptions column={2}>
|
|||
|
|
<ProDescriptions.Item label="业务类型">
|
|||
|
|
<renderTextHelper.Tag
|
|||
|
|
Enums={ApprovalTemplatesTypeEnum}
|
|||
|
|
value={data?.type}
|
|||
|
|
/>
|
|||
|
|
</ProDescriptions.Item>
|
|||
|
|
<ProDescriptions.Item label="模板名称">
|
|||
|
|
{data?.name}
|
|||
|
|
</ProDescriptions.Item>
|
|||
|
|
<ProDescriptions.Item label="模板编码">
|
|||
|
|
{data?.code}
|
|||
|
|
</ProDescriptions.Item>
|
|||
|
|
<ProDescriptions.Item label="备注" span={2}>
|
|||
|
|
{data?.description || '-'}
|
|||
|
|
</ProDescriptions.Item>
|
|||
|
|
</ProDescriptions>
|
|||
|
|
</Spin>
|
|||
|
|
</ProCard>
|
|||
|
|
<ProCard title="审批节点">
|
|||
|
|
<Spin spinning={loading}>
|
|||
|
|
<ProTable
|
|||
|
|
search={false}
|
|||
|
|
toolBarRender={false}
|
|||
|
|
pagination={false}
|
|||
|
|
dataSource={data?.approval_template_nodes || []}
|
|||
|
|
rowKey="id"
|
|||
|
|
columns={[
|
|||
|
|
{
|
|||
|
|
title: '类型',
|
|||
|
|
dataIndex: 'node_type',
|
|||
|
|
render: (_, record) => (
|
|||
|
|
<renderTextHelper.Tag
|
|||
|
|
Enums={ApprovalTemplateNodesNodeTypeEnum}
|
|||
|
|
value={record?.node_type}
|
|||
|
|
/>
|
|||
|
|
),
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '节点名称',
|
|||
|
|
dataIndex: 'name',
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '审批人员',
|
|||
|
|
dataIndex: 'members',
|
|||
|
|
render: (_, record) => {
|
|||
|
|
if (
|
|||
|
|
record?.approval_template_node_members &&
|
|||
|
|
record?.approval_template_node_members.length > 0
|
|||
|
|
) {
|
|||
|
|
return record.approval_template_node_members
|
|||
|
|
.map(
|
|||
|
|
(m: any) => m?.company_employee?.name || '未知人员',
|
|||
|
|
)
|
|||
|
|
.join(',');
|
|||
|
|
}
|
|||
|
|
return '-';
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
]}
|
|||
|
|
/>
|
|||
|
|
</Spin>
|
|||
|
|
</ProCard>
|
|||
|
|
</Space>
|
|||
|
|
}
|
|||
|
|
/>
|
|||
|
|
);
|
|||
|
|
}
|