105 lines
3.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
}
/>
);
}