This commit is contained in:
parent
41755cdd24
commit
4d3b6b3b19
@ -247,7 +247,6 @@ export const Selects = {
|
||||
keywords:
|
||||
params?.keyWords === undefined ? params?.name : params?.keyWords,
|
||||
};
|
||||
console.log(params, 'Employees');
|
||||
return (
|
||||
await Apis.Company.CompanyEmployees.Select({
|
||||
...params,
|
||||
|
||||
@ -52,17 +52,25 @@ export default function Index({ title = '合同借用' }) {
|
||||
title: '借用信息',
|
||||
search: false,
|
||||
render: (_, item: any) => {
|
||||
if (!item?.borrow_files || item.borrow_files.length === 0) {
|
||||
if (!item?.contract_archive_borrow_files) {
|
||||
return '-';
|
||||
}
|
||||
return (
|
||||
<div>
|
||||
{item.borrow_files.map((res: any, index: number) => (
|
||||
<div key={index} style={{ marginBottom: 4 }}>
|
||||
文件: {res?.file?.name},借用: {res?.borrow_number},遗失:{' '}
|
||||
{res?.lost_number},损坏: {res?.damaged_number}
|
||||
</div>
|
||||
))}
|
||||
{item.contract_archive_borrow_files.map(
|
||||
(res: any, index: number) => (
|
||||
<div key={index} style={{ marginBottom: 4 }}>
|
||||
文件: {res?.contract_archive_file?.name},借用:
|
||||
{res?.contract_archive_file?.borrow_number},遗失:
|
||||
{res?.contract_archive_file?.lost_number},损坏:
|
||||
{
|
||||
res?.contract_archive_file?.contract_archive_file
|
||||
?.lost_number
|
||||
}
|
||||
,损坏: {res?.contract_archive_file?.damaged_number}
|
||||
</div>
|
||||
),
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
|
||||
@ -14,12 +14,12 @@ import {
|
||||
} from '@/gen/Enums';
|
||||
import { BetaSchemaForm, ProCard } from '@ant-design/pro-components';
|
||||
import { Button, Form, message, Space } from 'antd';
|
||||
import { useState } from 'react';
|
||||
|
||||
export default function Create(props: MyBetaModalFormProps) {
|
||||
const [form] = Form.useForm();
|
||||
const [ApprovalTemplates, setApprovalTemplates] = useState<any>([]);
|
||||
|
||||
// const [ApprovalTemplates, setApprovalTemplates] = useState<any>([]);
|
||||
let approval_templates_id_store = 0;
|
||||
let ApprovalTemplates: any = [];
|
||||
return (
|
||||
<BetaSchemaForm<ApiTypes.Contract.ContractArchiveBorrows.Store>
|
||||
{...MyModalFormProps.props}
|
||||
@ -35,9 +35,8 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
}}
|
||||
trigger={<MyButtons.Create title={`${props.title}`} />}
|
||||
onFinish={async (values: any) => {
|
||||
console.log(values, 'values');
|
||||
|
||||
const { node_approvers } = values;
|
||||
|
||||
if (ApprovalTemplates?.length > 0 && node_approvers?.length > 0) {
|
||||
// 遍历模板节点,通过名称找到对应的提交节点进行校验
|
||||
for (const templateNode of ApprovalTemplates) {
|
||||
@ -317,17 +316,20 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
},
|
||||
colProps: { span: 24 },
|
||||
formItemProps: { ...rulesHelper.number },
|
||||
fieldProps: {
|
||||
onChange: (e: any) => {
|
||||
// 确保e是有效值,并且使用正确的value字段
|
||||
if (e) {
|
||||
const templateId = typeof e === 'object' ? e.value : e;
|
||||
}),
|
||||
{
|
||||
valueType: 'dependency',
|
||||
name: ['approval_templates_id'],
|
||||
columns: ({ approval_templates_id }) => {
|
||||
if (approval_templates_id) {
|
||||
if (approval_templates_id_store !== approval_templates_id) {
|
||||
approval_templates_id_store = approval_templates_id;
|
||||
Apis.Approval.ApprovalTemplates.Show({
|
||||
id: templateId,
|
||||
id: approval_templates_id,
|
||||
}).then((res) => {
|
||||
// setApprovalTemplates(res?.data?.approval_template_nodes);
|
||||
ApprovalTemplates = res?.data?.approval_template_nodes;
|
||||
form.setFieldsValue({
|
||||
approval_templates_id: templateId,
|
||||
node_approvers: res?.data?.approval_template_nodes?.map(
|
||||
(item: any) => ({
|
||||
...item,
|
||||
@ -339,164 +341,304 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
});
|
||||
});
|
||||
}
|
||||
// 不返回任何值,防止默认行为
|
||||
},
|
||||
},
|
||||
}),
|
||||
{
|
||||
valueType: 'dependency',
|
||||
name: ['approval_templates_id'],
|
||||
columns: ({ approval_templates_id }) => {
|
||||
return approval_templates_id
|
||||
? [
|
||||
}
|
||||
return [
|
||||
{
|
||||
valueType: 'formList',
|
||||
dataIndex: 'node_approvers',
|
||||
// title: '审批节点',
|
||||
fieldProps: {
|
||||
copyIconProps: false,
|
||||
deleteIconProps: false,
|
||||
creatorButtonProps: false,
|
||||
actionRender: (field: any, action: any) => [
|
||||
<Button
|
||||
key="add"
|
||||
type="link"
|
||||
size="small"
|
||||
onClick={() => {
|
||||
const currentNodeType = form.getFieldValue([
|
||||
'node_approvers',
|
||||
field.name,
|
||||
'node_type',
|
||||
]);
|
||||
if (
|
||||
currentNodeType ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.CC.value
|
||||
) {
|
||||
message.warning('抄送节点不允许添加');
|
||||
return;
|
||||
}
|
||||
action.add(
|
||||
{
|
||||
node_type:
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver.value,
|
||||
name: '审批人',
|
||||
},
|
||||
field.name + 1,
|
||||
);
|
||||
}}
|
||||
>
|
||||
添加
|
||||
</Button>,
|
||||
<Button
|
||||
key="delete"
|
||||
type="link"
|
||||
size="small"
|
||||
danger
|
||||
disabled={!field.name}
|
||||
onClick={() => {
|
||||
action.remove(field.name);
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</Button>,
|
||||
],
|
||||
},
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
wrapperCol: { span: 24 },
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
valueType: 'formList',
|
||||
dataIndex: 'node_approvers',
|
||||
// title: '审批节点',
|
||||
fieldProps: {
|
||||
copyIconProps: false,
|
||||
deleteIconProps: false,
|
||||
creatorButtonProps: false,
|
||||
actionRender: (field: any, action: any) => [
|
||||
<Button
|
||||
key="add"
|
||||
type="link"
|
||||
size="small"
|
||||
onClick={() => {
|
||||
const currentNodeType = form.getFieldValue([
|
||||
'node_approvers',
|
||||
field.name,
|
||||
'node_type',
|
||||
]);
|
||||
if (
|
||||
currentNodeType ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.CC.value
|
||||
) {
|
||||
message.warning('抄送节点不允许添加');
|
||||
return;
|
||||
}
|
||||
action.add(
|
||||
{
|
||||
node_type:
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
.value,
|
||||
},
|
||||
field.name + 1,
|
||||
);
|
||||
}}
|
||||
>
|
||||
添加
|
||||
</Button>,
|
||||
<Button
|
||||
key="delete"
|
||||
type="link"
|
||||
size="small"
|
||||
danger
|
||||
onClick={() => {
|
||||
action.remove(field.name);
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</Button>,
|
||||
],
|
||||
},
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
wrapperCol: { span: 24 },
|
||||
},
|
||||
valueType: 'group',
|
||||
colProps: { span: 24 },
|
||||
columns: [
|
||||
MyFormItems.EnumSelect({
|
||||
key: 'node_type',
|
||||
// title: `类型`,
|
||||
valueEnum: ApprovalTemplateNodesNodeTypeEnum,
|
||||
colProps: { span: 5 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
}),
|
||||
{
|
||||
valueType: 'group',
|
||||
colProps: { span: 24 },
|
||||
columns: [
|
||||
MyFormItems.EnumSelect({
|
||||
key: 'node_type',
|
||||
// title: `类型`,
|
||||
valueEnum: ApprovalTemplateNodesNodeTypeEnum,
|
||||
colProps: { span: 5 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
fieldProps: {
|
||||
disabled: true,
|
||||
},
|
||||
}),
|
||||
{
|
||||
// title: '节点名称',
|
||||
key: 'name',
|
||||
colProps: { span: 6 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
fieldProps: {
|
||||
disabled: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
valueType: 'dependency',
|
||||
name: ['node_type'],
|
||||
columns: ({ node_type }) => {
|
||||
return [
|
||||
Selects.Employees({
|
||||
key: 'members',
|
||||
title: ``,
|
||||
colProps: { span: 13 },
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
},
|
||||
fieldProps: {
|
||||
mode: 'multiple',
|
||||
showSearch: true,
|
||||
maxCount:
|
||||
node_type ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
.value
|
||||
? 1
|
||||
: 9,
|
||||
maxTagTextLength: 3,
|
||||
labelRender: (res: any) => {
|
||||
if (res?.label) {
|
||||
return res?.label;
|
||||
} else {
|
||||
return ApprovalTemplates?.map(
|
||||
(item: any) => {
|
||||
if (
|
||||
item?.node_type === node_type &&
|
||||
item
|
||||
?.approval_template_node_members
|
||||
?.length
|
||||
) {
|
||||
return item?.approval_template_node_members?.map(
|
||||
(i: any) => {
|
||||
if (
|
||||
i?.company_employees_id ===
|
||||
res?.value
|
||||
) {
|
||||
return (
|
||||
i?.company_employee
|
||||
?.name || ''
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
];
|
||||
},
|
||||
},
|
||||
],
|
||||
// title: '节点名称',
|
||||
key: 'name',
|
||||
colProps: { span: 6 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
},
|
||||
{
|
||||
valueType: 'dependency',
|
||||
name: ['node_type'],
|
||||
columns: ({ node_type }) => {
|
||||
return [
|
||||
Selects.Employees({
|
||||
key: 'members',
|
||||
title: ``,
|
||||
colProps: { span: 13 },
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
},
|
||||
fieldProps: {
|
||||
mode: 'multiple',
|
||||
showSearch: true,
|
||||
maxCount:
|
||||
node_type ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
.value
|
||||
? 1
|
||||
: 9,
|
||||
maxTagTextLength: 3,
|
||||
labelRender: (res: any) => {
|
||||
if (res?.label) {
|
||||
return res?.label;
|
||||
} else {
|
||||
return ApprovalTemplates?.map(
|
||||
(item: any) => {
|
||||
if (
|
||||
item?.node_type === node_type &&
|
||||
item?.approval_template_node_members
|
||||
?.length
|
||||
) {
|
||||
return item?.approval_template_node_members?.map(
|
||||
(i: any) => {
|
||||
if (
|
||||
i?.company_employees_id ===
|
||||
res?.value
|
||||
) {
|
||||
return (
|
||||
i?.company_employee?.name ||
|
||||
''
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
];
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
: [];
|
||||
],
|
||||
},
|
||||
];
|
||||
},
|
||||
},
|
||||
|
||||
// {
|
||||
// valueType: 'dependency',
|
||||
// name: ['approval_templates_id'],
|
||||
// columns: ({ approval_templates_id }) => {
|
||||
// return approval_templates_id
|
||||
// ? [
|
||||
// {
|
||||
// valueType: 'formList',
|
||||
// dataIndex: 'node_approvers',
|
||||
// // title: '审批节点',
|
||||
// fieldProps: {
|
||||
// copyIconProps: false,
|
||||
// deleteIconProps: false,
|
||||
// creatorButtonProps: false,
|
||||
// actionRender: (field: any, action: any) => [
|
||||
// <Button
|
||||
// key="add"
|
||||
// type="link"
|
||||
// size="small"
|
||||
// onClick={() => {
|
||||
// const currentNodeType = form.getFieldValue([
|
||||
// 'node_approvers',
|
||||
// field.name,
|
||||
// 'node_type',
|
||||
// ]);
|
||||
// if (
|
||||
// currentNodeType ===
|
||||
// ApprovalTemplateNodesNodeTypeEnum.CC.value
|
||||
// ) {
|
||||
// message.warning('抄送节点不允许添加');
|
||||
// return;
|
||||
// }
|
||||
// action.add(
|
||||
// {
|
||||
// node_type:
|
||||
// ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
// .value,
|
||||
// },
|
||||
// field.name + 1,
|
||||
// );
|
||||
// }}
|
||||
// >
|
||||
// 添加
|
||||
// </Button>,
|
||||
// <Button
|
||||
// key="delete"
|
||||
// type="link"
|
||||
// size="small"
|
||||
// danger
|
||||
// onClick={() => {
|
||||
// action.remove(field.name);
|
||||
// }}
|
||||
// >
|
||||
// 删除
|
||||
// </Button>,
|
||||
// ],
|
||||
// },
|
||||
// formItemProps: {
|
||||
// ...rulesHelper.array,
|
||||
// wrapperCol: { span: 24 },
|
||||
// },
|
||||
// columns: [
|
||||
// {
|
||||
// valueType: 'group',
|
||||
// colProps: { span: 24 },
|
||||
// columns: [
|
||||
// MyFormItems.EnumSelect({
|
||||
// key: 'node_type',
|
||||
// // title: `类型`,
|
||||
// valueEnum: ApprovalTemplateNodesNodeTypeEnum,
|
||||
// colProps: { span: 5 },
|
||||
// formItemProps: {
|
||||
// ...rulesHelper.text,
|
||||
// },
|
||||
// fieldProps: {
|
||||
// disabled: true,
|
||||
// },
|
||||
// }),
|
||||
// {
|
||||
// // title: '节点名称',
|
||||
// key: 'name',
|
||||
// colProps: { span: 6 },
|
||||
// formItemProps: {
|
||||
// ...rulesHelper.text,
|
||||
// },
|
||||
// fieldProps: {
|
||||
// disabled: true,
|
||||
// },
|
||||
// },
|
||||
// {
|
||||
// valueType: 'dependency',
|
||||
// name: ['node_type'],
|
||||
// columns: ({ node_type }) => {
|
||||
// return [
|
||||
// Selects.Employees({
|
||||
// key: 'members',
|
||||
// title: ``,
|
||||
// colProps: { span: 13 },
|
||||
// formItemProps: {
|
||||
// ...rulesHelper.array,
|
||||
// },
|
||||
// fieldProps: {
|
||||
// mode: 'multiple',
|
||||
// showSearch: true,
|
||||
// maxCount:
|
||||
// node_type ===
|
||||
// ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
// .value
|
||||
// ? 1
|
||||
// : 9,
|
||||
// maxTagTextLength: 3,
|
||||
// labelRender: (res: any) => {
|
||||
// if (res?.label) {
|
||||
// return res?.label;
|
||||
// } else {
|
||||
// return ApprovalTemplates?.map(
|
||||
// (item: any) => {
|
||||
// if (
|
||||
// item?.node_type === node_type &&
|
||||
// item
|
||||
// ?.approval_template_node_members
|
||||
// ?.length
|
||||
// ) {
|
||||
// return item?.approval_template_node_members?.map(
|
||||
// (i: any) => {
|
||||
// if (
|
||||
// i?.company_employees_id ===
|
||||
// res?.value
|
||||
// ) {
|
||||
// return (
|
||||
// i?.company_employee
|
||||
// ?.name || ''
|
||||
// );
|
||||
// }
|
||||
// },
|
||||
// );
|
||||
// }
|
||||
// },
|
||||
// );
|
||||
// }
|
||||
// },
|
||||
// },
|
||||
// }),
|
||||
// ];
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// ]
|
||||
// : [];
|
||||
// },
|
||||
// },
|
||||
]}
|
||||
/>
|
||||
);
|
||||
|
||||
@ -41,16 +41,21 @@ export default function Index({ title = '合同借阅' }) {
|
||||
title: '借阅信息',
|
||||
search: false,
|
||||
render: (_, item: any) => {
|
||||
if (!item?.read_files || item.read_files.length === 0) {
|
||||
if (
|
||||
!item?.contract_archive_read_files ||
|
||||
item.contract_archive_read_files.length === 0
|
||||
) {
|
||||
return '-';
|
||||
}
|
||||
return (
|
||||
<div>
|
||||
{item.read_files.map((res: any, index: number) => (
|
||||
<div key={index} style={{ marginBottom: 4 }}>
|
||||
文件: {res?.file?.name}
|
||||
</div>
|
||||
))}
|
||||
{item.contract_archive_read_files.map(
|
||||
(res: any, index: number) => (
|
||||
<div key={`item_${index}`} style={{ marginBottom: 4 }}>
|
||||
文件: {res?.contract_archive_file?.name}
|
||||
</div>
|
||||
),
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
|
||||
@ -3,7 +3,6 @@ import {
|
||||
MyColumns,
|
||||
MyPageContainer,
|
||||
MyProTableProps,
|
||||
useCurrentPermissions,
|
||||
} from '@/common';
|
||||
import { Selects } from '@/components/Select';
|
||||
import { Apis } from '@/gen/Apis';
|
||||
@ -25,79 +24,61 @@ import Voided from './modals/Voided';
|
||||
export default function Index({ title = '补充协议' }) {
|
||||
const navigate = useNavigate();
|
||||
const [searchParams, setSearchParams]: any = useSearchParams();
|
||||
const getCurrentPermissions = useCurrentPermissions();
|
||||
|
||||
let tableRender = (item: any, action: any) => {
|
||||
console.log(item, 'item');
|
||||
let permissions = getCurrentPermissions({
|
||||
update: (
|
||||
<MyButtons.Default
|
||||
key="Update"
|
||||
size="small"
|
||||
type="primary"
|
||||
disabled={
|
||||
item.status !== 'TemporaryStorage' && item.status !== 'Rejected'
|
||||
}
|
||||
onClick={() => {
|
||||
navigate(
|
||||
`/contract/contracts/pages/contract_add_update?id=${item.id}`,
|
||||
);
|
||||
}}
|
||||
title="编辑"
|
||||
/>
|
||||
),
|
||||
});
|
||||
let permissions = [
|
||||
<MyButtons.Default
|
||||
key="Update"
|
||||
size="small"
|
||||
type="primary"
|
||||
disabled={
|
||||
item.status !== 'TemporaryStorage' && item.status !== 'Rejected'
|
||||
}
|
||||
onClick={() => {
|
||||
navigate(
|
||||
`/contract/contracts/pages/contract_add_update?id=${item.id}`,
|
||||
);
|
||||
}}
|
||||
title="编辑"
|
||||
/>,
|
||||
];
|
||||
|
||||
let permissionsSpace = getCurrentPermissions({
|
||||
useseal: {
|
||||
key: '1',
|
||||
label: (
|
||||
<UseSeal
|
||||
item={{ ...item, disabled: true }}
|
||||
reload={action?.reload}
|
||||
title="申请用印"
|
||||
/>
|
||||
),
|
||||
},
|
||||
|
||||
archives: {
|
||||
key: '3',
|
||||
label: (
|
||||
<Archives
|
||||
item={{ ...item, disabled: true }}
|
||||
reload={action?.reload}
|
||||
title="归档"
|
||||
/>
|
||||
),
|
||||
},
|
||||
|
||||
terminated: {
|
||||
key: '5',
|
||||
label: <Terminated item={item} reload={action?.reload} title="解除" />,
|
||||
},
|
||||
voided: {
|
||||
key: '6',
|
||||
label: <Voided item={item} reload={action?.reload} title="撤销" />,
|
||||
},
|
||||
delete: {
|
||||
key: '8',
|
||||
label: (
|
||||
<MyButtons.Default
|
||||
title="取消"
|
||||
disabled={
|
||||
item?.status !== 'TemporaryStorage' && item?.status !== 'Voided'
|
||||
}
|
||||
isConfirm={true}
|
||||
description={`您正在操作取消「${item.name}」,取消后,合同不能做任何操作,是否继续?`}
|
||||
onConfirm={() =>
|
||||
Apis.Contract.Contracts.SoftDelete({
|
||||
id: item.id,
|
||||
}).then(() => action?.reload())
|
||||
}
|
||||
/>
|
||||
),
|
||||
},
|
||||
});
|
||||
let permissionsSpace = [
|
||||
<UseSeal
|
||||
key="UseSeal"
|
||||
item={{ ...item, disabled: true }}
|
||||
reload={action?.reload}
|
||||
title="申请用印"
|
||||
/>,
|
||||
<Archives
|
||||
key="Archives"
|
||||
item={{ ...item, disabled: true }}
|
||||
reload={action?.reload}
|
||||
title="归档"
|
||||
/>,
|
||||
<Terminated
|
||||
item={item}
|
||||
reload={action?.reload}
|
||||
title="解除"
|
||||
key="Terminated"
|
||||
/>,
|
||||
<Voided item={item} reload={action?.reload} title="撤销" key="Voided" />,
|
||||
<MyButtons.Default
|
||||
key="Delete"
|
||||
title="取消"
|
||||
disabled={
|
||||
item?.status !== 'TemporaryStorage' && item?.status !== 'Voided'
|
||||
}
|
||||
isConfirm={true}
|
||||
description={`您正在操作取消「${item.name}」,取消后,合同不能做任何操作,是否继续?`}
|
||||
onConfirm={() =>
|
||||
Apis.Contract.Contracts.SoftDelete({
|
||||
id: item.id,
|
||||
}).then(() => action?.reload())
|
||||
}
|
||||
/>,
|
||||
];
|
||||
|
||||
let Others = (
|
||||
<Dropdown menu={{ items: permissionsSpace }} trigger={['click']}>
|
||||
|
||||
@ -80,12 +80,6 @@ export default function Index({ title = '其他用印' }) {
|
||||
title: '是否用印',
|
||||
dataIndex: 'is_sealed',
|
||||
}),
|
||||
{
|
||||
title: '用印日期',
|
||||
dataIndex: 'use_sealed_date',
|
||||
valueType: 'date',
|
||||
search: false,
|
||||
},
|
||||
//company_employee
|
||||
{
|
||||
title: '申请人',
|
||||
@ -97,16 +91,6 @@ export default function Index({ title = '其他用印' }) {
|
||||
},
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '用印人',
|
||||
dataIndex: 'use_sealed_by_name',
|
||||
render: (_, item: any) => {
|
||||
return `${item.use_sealed_by_name || '-'}${
|
||||
item.use_sealed_by_phone || ''
|
||||
}`;
|
||||
},
|
||||
search: false,
|
||||
},
|
||||
MyColumns.UpdatedAt(),
|
||||
MyColumns.Option({
|
||||
render: (_, item: any, index, action) => (
|
||||
|
||||
@ -10,13 +10,12 @@ import { SelectContract } from '@/components/SelectContract';
|
||||
import { Apis } from '@/gen/Apis';
|
||||
import { ApprovalTemplateNodesNodeTypeEnum } from '@/gen/Enums';
|
||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||
import { Button, Form, message } from 'antd';
|
||||
import { useState } from 'react';
|
||||
import { Button, Form, message, Space } from 'antd';
|
||||
|
||||
export default function Create(props: MyBetaModalFormProps) {
|
||||
const [form] = Form.useForm();
|
||||
const [ApprovalTemplates, setApprovalTemplates] = useState<any[]>([]);
|
||||
|
||||
// const [ApprovalTemplates, setApprovalTemplates] = useState<any[]>([]);
|
||||
let ApprovalTemplates: any = [];
|
||||
return (
|
||||
<BetaSchemaForm<ApiTypes.Contract.ContractOthers.Store>
|
||||
{...MyModalFormProps.props}
|
||||
@ -26,9 +25,9 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
labelCol={{ span: 4 }}
|
||||
wrapperCol={{ span: 20 }}
|
||||
labelAlign="left"
|
||||
width="600px"
|
||||
width="680px"
|
||||
form={form}
|
||||
key={new Date().getDate()}
|
||||
key={new Date().getTime()}
|
||||
onOpenChange={(open: any) => {
|
||||
if (open && props.item) {
|
||||
form.resetFields();
|
||||
@ -39,7 +38,6 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
}}
|
||||
onFinish={async (values: any) => {
|
||||
const { node_approvers } = values;
|
||||
|
||||
if (ApprovalTemplates?.length > 0 && node_approvers?.length > 0) {
|
||||
// 遍历模板节点,通过名称找到对应的提交节点进行校验
|
||||
for (const templateNode of ApprovalTemplates) {
|
||||
@ -166,7 +164,10 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
Apis.Approval.ApprovalTemplates.Show({
|
||||
id: templateId,
|
||||
}).then((res) => {
|
||||
setApprovalTemplates(res?.data?.approval_template_nodes || []);
|
||||
ApprovalTemplates = res?.data?.approval_template_nodes || [];
|
||||
// setApprovalTemplates(
|
||||
// res?.data?.approval_template_nodes || [],
|
||||
// );
|
||||
form.setFieldsValue({
|
||||
approval_templates_id: templateId,
|
||||
node_approvers: res?.data?.approval_template_nodes?.map(
|
||||
@ -199,46 +200,48 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
deleteIconProps: false,
|
||||
creatorButtonProps: false,
|
||||
actionRender: (field: any, action: any) => [
|
||||
<Button
|
||||
key="add"
|
||||
type="link"
|
||||
size="small"
|
||||
onClick={() => {
|
||||
const currentNodeType = form.getFieldValue([
|
||||
'node_approvers',
|
||||
field.name,
|
||||
'node_type',
|
||||
]);
|
||||
if (
|
||||
currentNodeType ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.CC.value
|
||||
) {
|
||||
message.warning('抄送节点不允许添加');
|
||||
return;
|
||||
}
|
||||
action.add(
|
||||
{
|
||||
node_type:
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
.value,
|
||||
},
|
||||
field.name + 1,
|
||||
);
|
||||
}}
|
||||
>
|
||||
添加
|
||||
</Button>,
|
||||
<Button
|
||||
key="delete"
|
||||
type="link"
|
||||
size="small"
|
||||
danger
|
||||
onClick={() => {
|
||||
action.remove(field.name);
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</Button>,
|
||||
<Space key={`items_${field.name}`}>
|
||||
<Button
|
||||
key="add"
|
||||
type="link"
|
||||
size="small"
|
||||
onClick={() => {
|
||||
const currentNodeType = form.getFieldValue([
|
||||
'node_approvers',
|
||||
field.name,
|
||||
'node_type',
|
||||
]);
|
||||
if (
|
||||
currentNodeType ===
|
||||
ApprovalTemplateNodesNodeTypeEnum.CC.value
|
||||
) {
|
||||
message.warning('抄送节点不允许添加');
|
||||
return;
|
||||
}
|
||||
action.add(
|
||||
{
|
||||
node_type:
|
||||
ApprovalTemplateNodesNodeTypeEnum.Approver
|
||||
.value,
|
||||
},
|
||||
field.name + 1,
|
||||
);
|
||||
}}
|
||||
>
|
||||
添加
|
||||
</Button>
|
||||
<Button
|
||||
key="delete"
|
||||
type="link"
|
||||
size="small"
|
||||
danger
|
||||
onClick={() => {
|
||||
action.remove(field.name);
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</Button>
|
||||
</Space>,
|
||||
],
|
||||
},
|
||||
formItemProps: {
|
||||
@ -254,7 +257,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
key: 'node_type',
|
||||
// title: `类型`,
|
||||
valueEnum: ApprovalTemplateNodesNodeTypeEnum,
|
||||
colProps: { span: 5 },
|
||||
colProps: { span: 6 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
@ -281,7 +284,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
Selects.Employees({
|
||||
key: 'members',
|
||||
title: ``,
|
||||
colProps: { span: 13 },
|
||||
colProps: { span: 12 },
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
},
|
||||
|
||||
@ -8,25 +8,34 @@ import {
|
||||
import { Selects } from '@/components/Select';
|
||||
import { SelectContract } from '@/components/SelectContract';
|
||||
import { Apis } from '@/gen/Apis';
|
||||
import { ApprovalTemplateNodesNodeTypeEnum } from '@/gen/Enums';
|
||||
import {
|
||||
ApprovalTemplateNodesNodeTypeEnum,
|
||||
CompanySealsTypeEnum,
|
||||
} from '@/gen/Enums';
|
||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||
import { Button, Form, message } from 'antd';
|
||||
import { useState } from 'react';
|
||||
|
||||
export default function Create(props: MyBetaModalFormProps) {
|
||||
const [form] = Form.useForm();
|
||||
const [ApprovalTemplates, setApprovalTemplates] = useState<any[]>([]);
|
||||
|
||||
let ApprovalTemplates: any[] = [];
|
||||
return (
|
||||
<BetaSchemaForm<ApiTypes.Contract.ContractOthers.Update>
|
||||
{...MyModalFormProps.props}
|
||||
title={`其他用印申请`}
|
||||
trigger={<MyButtons.Default title="重新申请" />}
|
||||
trigger={
|
||||
<MyButtons.Default
|
||||
disabled={
|
||||
props?.item?.status === 'Pending' ||
|
||||
props?.item?.status === 'Approved'
|
||||
}
|
||||
title="重新申请"
|
||||
/>
|
||||
}
|
||||
layout="horizontal"
|
||||
labelCol={{ span: 4 }}
|
||||
wrapperCol={{ span: 20 }}
|
||||
labelAlign="left"
|
||||
width="600px"
|
||||
width="680px"
|
||||
form={form}
|
||||
key={new Date().getTime()}
|
||||
onOpenChange={(open: any) => {
|
||||
@ -34,6 +43,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
form.resetFields();
|
||||
form.setFieldsValue({
|
||||
...props.item,
|
||||
seals: props.item?.seals?.map((i: any) => i?.id) || [],
|
||||
});
|
||||
}
|
||||
}}
|
||||
@ -137,6 +147,22 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
fieldProps: {
|
||||
showSearch: true,
|
||||
mode: 'multiple',
|
||||
labelRender: (res: any) => {
|
||||
console.log(res, props?.item);
|
||||
if (res?.label) {
|
||||
return res?.label;
|
||||
} else {
|
||||
return props?.item?.seals?.map((i: any) => {
|
||||
if (i?.id === res?.value) {
|
||||
return `${i?.company_supplier?.name} (${
|
||||
CompanySealsTypeEnum[
|
||||
i?.type as keyof typeof CompanySealsTypeEnum
|
||||
].text
|
||||
})`;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
MyFormItems.UploadImages({
|
||||
@ -167,7 +193,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
Apis.Approval.ApprovalTemplates.Show({
|
||||
id: templateId,
|
||||
}).then((res) => {
|
||||
setApprovalTemplates(res?.data?.approval_template_nodes || []);
|
||||
ApprovalTemplates = res?.data?.approval_template_nodes || [];
|
||||
form.setFieldsValue({
|
||||
approval_templates_id: templateId,
|
||||
node_approvers: res?.data?.approval_template_nodes?.map(
|
||||
@ -255,7 +281,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
key: 'node_type',
|
||||
// title: `类型`,
|
||||
valueEnum: ApprovalTemplateNodesNodeTypeEnum,
|
||||
colProps: { span: 5 },
|
||||
colProps: { span: 6 },
|
||||
formItemProps: {
|
||||
...rulesHelper.text,
|
||||
},
|
||||
@ -282,7 +308,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
||||
Selects.Employees({
|
||||
key: 'members',
|
||||
title: ``,
|
||||
colProps: { span: 13 },
|
||||
colProps: { span: 12 },
|
||||
formItemProps: {
|
||||
...rulesHelper.array,
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user