Commit 529b2e65bc5db90e13d11e89e0c1ff3ae988105b
Merge branch 'master' of http://39.108.227.113:8001/zhusen/canrd-erp-front
Showing
2 changed files
with
166 additions
and
1 deletions
src/pages/Order/components/InvoicingDrawerForm.tsx
0 → 100644
1 | +import { | ||
2 | + DrawerForm, | ||
3 | + ProForm, | ||
4 | + ProFormDateRangePicker, | ||
5 | + ProFormSelect, | ||
6 | + ProFormText, | ||
7 | +} from '@ant-design/pro-components'; | ||
8 | +import { Form, message } from 'antd'; | ||
9 | + | ||
10 | +const waitTime = (time: number = 100) => { | ||
11 | + return new Promise((resolve) => { | ||
12 | + setTimeout(() => { | ||
13 | + resolve(true); | ||
14 | + }, time); | ||
15 | + }); | ||
16 | +}; | ||
17 | + | ||
18 | +export default ({ subOrders, totalPayment, onClose }) => { | ||
19 | + const [form] = Form.useForm<{ name: string; company: string }>(); | ||
20 | + | ||
21 | + return ( | ||
22 | + <DrawerForm<{ | ||
23 | + name: string; | ||
24 | + company: string; | ||
25 | + }> | ||
26 | + title="新建表单" | ||
27 | + resize={{ | ||
28 | + onResize() { | ||
29 | + console.log('resize!'); | ||
30 | + }, | ||
31 | + maxWidth: window.innerWidth * 0.8, | ||
32 | + minWidth: 300, | ||
33 | + }} | ||
34 | + form={form} | ||
35 | + /*trigger={ | ||
36 | + <Button type="primary"> | ||
37 | + <PlusOutlined /> | ||
38 | + 新建表单 | ||
39 | + </Button> | ||
40 | + }*/ | ||
41 | + open={true} | ||
42 | + autoFocusFirstInput | ||
43 | + drawerProps={{ | ||
44 | + destroyOnClose: true, | ||
45 | + }} | ||
46 | + submitTimeout={2000} | ||
47 | + onFinish={async (values) => { | ||
48 | + await waitTime(2000); | ||
49 | + console.log(values); | ||
50 | + console.log(subOrders); | ||
51 | + console.log(totalPayment); | ||
52 | + message.success('提交成功'); | ||
53 | + onClose(); | ||
54 | + // 不返回不会关闭弹框 | ||
55 | + return true; | ||
56 | + }} | ||
57 | + > | ||
58 | + <ProForm.Group> | ||
59 | + <ProFormText | ||
60 | + name="name" | ||
61 | + width="md" | ||
62 | + label="签约客户名称" | ||
63 | + tooltip="最长为 24 位" | ||
64 | + placeholder="请输入名称" | ||
65 | + /> | ||
66 | + <ProFormText | ||
67 | + rules={[ | ||
68 | + { | ||
69 | + required: true, | ||
70 | + }, | ||
71 | + ]} | ||
72 | + width="md" | ||
73 | + name="company" | ||
74 | + label="我方公司名称" | ||
75 | + placeholder="请输入名称" | ||
76 | + /> | ||
77 | + </ProForm.Group> | ||
78 | + <ProForm.Group> | ||
79 | + <ProFormText | ||
80 | + width="md" | ||
81 | + name="contract" | ||
82 | + label="合同名称" | ||
83 | + placeholder="请输入名称" | ||
84 | + /> | ||
85 | + <ProFormDateRangePicker name="contractTime" label="合同生效时间" /> | ||
86 | + </ProForm.Group> | ||
87 | + <ProForm.Group> | ||
88 | + <ProFormSelect | ||
89 | + options={[ | ||
90 | + { | ||
91 | + value: 'chapter', | ||
92 | + label: '盖章后生效', | ||
93 | + }, | ||
94 | + ]} | ||
95 | + width="xs" | ||
96 | + name="useMode" | ||
97 | + label="合同约定生效方式" | ||
98 | + /> | ||
99 | + <ProFormSelect | ||
100 | + width="xs" | ||
101 | + options={[ | ||
102 | + { | ||
103 | + value: 'time', | ||
104 | + label: '履行完终止', | ||
105 | + }, | ||
106 | + ]} | ||
107 | + formItemProps={{ | ||
108 | + style: { | ||
109 | + margin: 0, | ||
110 | + }, | ||
111 | + }} | ||
112 | + name="unusedMode" | ||
113 | + label="合同约定失效效方式" | ||
114 | + /> | ||
115 | + </ProForm.Group> | ||
116 | + <ProFormText width="sm" name="id" label="主合同编号" /> | ||
117 | + <ProFormText | ||
118 | + name="project" | ||
119 | + disabled | ||
120 | + label="项目名称" | ||
121 | + initialValue="xxxx项目" | ||
122 | + /> | ||
123 | + <ProFormText | ||
124 | + width="xs" | ||
125 | + name="mangerName" | ||
126 | + disabled | ||
127 | + label="商务经理" | ||
128 | + initialValue="启途" | ||
129 | + /> | ||
130 | + </DrawerForm> | ||
131 | + ); | ||
132 | +}; |
src/pages/Order/index.tsx
1 | import ButtonConfirm from '@/components/ButtomConfirm'; | 1 | import ButtonConfirm from '@/components/ButtomConfirm'; |
2 | import { RESPONSE_CODE } from '@/constants/enum'; | 2 | import { RESPONSE_CODE } from '@/constants/enum'; |
3 | +import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm'; | ||
3 | import ReissueModal from '@/pages/Order/components/ReissueModal'; | 4 | import ReissueModal from '@/pages/Order/components/ReissueModal'; |
4 | import { | 5 | import { |
5 | postKingdeeRepSalBillOutbound, | 6 | postKingdeeRepSalBillOutbound, |
@@ -123,6 +124,8 @@ const OrderPage = () => { | @@ -123,6 +124,8 @@ const OrderPage = () => { | ||
123 | const [allMainChecked, setAllMainChecked] = useState(false); | 124 | const [allMainChecked, setAllMainChecked] = useState(false); |
124 | const [imagesViewerModalVisible, setImagesViewerModalVisible] = | 125 | const [imagesViewerModalVisible, setImagesViewerModalVisible] = |
125 | useState<boolean>(false); | 126 | useState<boolean>(false); |
127 | + const [InvoicingDrawerFormVisible, setInvoicingDrawerFormVisible] = | ||
128 | + useState<boolean>(false); | ||
126 | const [data, setData] = useState([]); //列表数据 | 129 | const [data, setData] = useState([]); //列表数据 |
127 | const [notesEditVisible, setNotesEditVisible] = useState<boolean>(false); | 130 | const [notesEditVisible, setNotesEditVisible] = useState<boolean>(false); |
128 | const [financialMergeDrawerVisible, setFinancialMergeDrawerVisible] = | 131 | const [financialMergeDrawerVisible, setFinancialMergeDrawerVisible] = |
@@ -2397,7 +2400,7 @@ const OrderPage = () => { | @@ -2397,7 +2400,7 @@ const OrderPage = () => { | ||
2397 | )} | 2400 | )} |
2398 | className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[400px]" | 2401 | className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[400px]" |
2399 | > | 2402 | > |
2400 | - <span className="text-[#8C8C8C]">开票付款单位:</span> | 2403 | + <span className="text-[#8C8C8C]">开票收款单位:</span> |
2401 | <span className="text-slate-700"> | 2404 | <span className="text-slate-700"> |
2402 | {record.receivingCompany !== null | 2405 | {record.receivingCompany !== null |
2403 | ? enumValueToLabel( | 2406 | ? enumValueToLabel( |
@@ -4071,6 +4074,19 @@ const OrderPage = () => { | @@ -4071,6 +4074,19 @@ const OrderPage = () => { | ||
4071 | ); | 4074 | ); |
4072 | } | 4075 | } |
4073 | 4076 | ||
4077 | + <Button | ||
4078 | + type="primary" | ||
4079 | + key="out" | ||
4080 | + onClick={() => { | ||
4081 | + setIsEdit(false); | ||
4082 | + setIsMainOrder(true); | ||
4083 | + setInvoicingDrawerFormVisible(true); | ||
4084 | + }} | ||
4085 | + disabled={selectedSubOrderKeys?.length === 0} | ||
4086 | + > | ||
4087 | + 申请开票 | ||
4088 | + </Button>; | ||
4089 | + | ||
4074 | if (rolePath?.includes('mergeInvoicing')) { | 4090 | if (rolePath?.includes('mergeInvoicing')) { |
4075 | toolBtns.push( | 4091 | toolBtns.push( |
4076 | <Button | 4092 | <Button |
@@ -4723,6 +4739,23 @@ const OrderPage = () => { | @@ -4723,6 +4739,23 @@ const OrderPage = () => { | ||
4723 | /> | 4739 | /> |
4724 | )} | 4740 | )} |
4725 | 4741 | ||
4742 | + {InvoicingDrawerFormVisible && ( | ||
4743 | + <InvoicingDrawerForm | ||
4744 | + subOrders={ | ||
4745 | + isMainOrder | ||
4746 | + ? [...subOrderSelectedMap.values()].flat() | ||
4747 | + : buildSubOrders() | ||
4748 | + } | ||
4749 | + totalPayment={getApplyInvoicingTotalPayment()} | ||
4750 | + onClose={() => { | ||
4751 | + setApplyForInvoicingVisible(false); | ||
4752 | + setIsMainOrder(false); | ||
4753 | + clearOptObject(); | ||
4754 | + refreshTable(); | ||
4755 | + }} | ||
4756 | + ></InvoicingDrawerForm> | ||
4757 | + )} | ||
4758 | + | ||
4726 | {contextHolder} | 4759 | {contextHolder} |
4727 | <FloatButton.BackTop visibilityHeight={0} /> | 4760 | <FloatButton.BackTop visibilityHeight={0} /> |
4728 | </div> | 4761 | </div> |