Commit e7075134fe757d28f2b29e12d8bd824dd14a42df
Merge branch 'master' into invoice
Showing
5 changed files
with
179 additions
and
20 deletions
src/pages/Invoice/components/AddInvoiceDrawerForm.tsx
1 | 1 | import { RESPONSE_CODE } from '@/constants/enum'; |
2 | +import { PAYEE_OPTIONS } from '@/pages/Order/constant'; | |
2 | 3 | import { |
3 | 4 | postServiceInvoiceAddInvoice, |
4 | 5 | postServiceOrderQuerySalesCode, |
5 | 6 | } from '@/services'; |
7 | +import { enumToSelect } from '@/utils'; | |
6 | 8 | import { PlusOutlined } from '@ant-design/icons'; |
7 | 9 | import { |
8 | 10 | DrawerForm, |
... | ... | @@ -97,9 +99,9 @@ export default ({ onClose }) => { |
97 | 99 | }); |
98 | 100 | if (res.result === RESPONSE_CODE.SUCCESS) { |
99 | 101 | message.success(res.message); |
100 | - return true; | |
101 | 102 | } else { |
102 | 103 | message.error(res.message); |
104 | + return false; | |
103 | 105 | } |
104 | 106 | onClose(); |
105 | 107 | // 不返回不会关闭弹框 |
... | ... | @@ -129,12 +131,15 @@ export default ({ onClose }) => { |
129 | 131 | placeholder="请输入购买方" |
130 | 132 | rules={[{ required: true, message: '请输入购买方!' }]} |
131 | 133 | /> |
132 | - <ProFormText | |
134 | + <ProFormSelect | |
135 | + placeholder="收款单位" | |
133 | 136 | name="payee" |
134 | - width="md" | |
135 | - label="收款单位" | |
136 | - placeholder="请输入收款单位" | |
137 | - rules={[{ required: true, message: '请输入收款单位!' }]} | |
137 | + width="lg" | |
138 | + key="payee" | |
139 | + showSearch | |
140 | + label="开票收款单位" | |
141 | + tooltip="财务开票将依据这个字段,选择对应的公司开票" | |
142 | + options={enumToSelect(PAYEE_OPTIONS)} | |
138 | 143 | /> |
139 | 144 | <ProFormText |
140 | 145 | name="contacts" |
... | ... | @@ -144,8 +149,8 @@ export default ({ onClose }) => { |
144 | 149 | rules={[{ required: true, message: '请输入联系人!' }]} |
145 | 150 | /> |
146 | 151 | <ProFormSelect |
147 | - name="salesCode" | |
148 | - key="salesCode" | |
152 | + name="sale" | |
153 | + key="sale" | |
149 | 154 | width="lg" |
150 | 155 | showSearch |
151 | 156 | label="销售代表" | ... | ... |
src/pages/Invoice/index.tsx
... | ... | @@ -865,11 +865,11 @@ const InvoicePage = () => { |
865 | 865 | scroll={{ x: 1400, y: 360 }} |
866 | 866 | toolBarRender={() => [ |
867 | 867 | <AddInvoiceDrawerForm |
868 | - key="addInvoiceDrawerForm" | |
869 | 868 | onClose={() => { |
870 | 869 | invoiceActionRef.current?.reload(); |
871 | 870 | bankActionRef.current?.reload(); |
872 | 871 | }} |
872 | + key="add" | |
873 | 873 | ></AddInvoiceDrawerForm>, |
874 | 874 | ]} |
875 | 875 | /> | ... | ... |
src/pages/Order/components/CheckModal.tsx
... | ... | @@ -621,17 +621,6 @@ export default ({ |
621 | 621 | '' |
622 | 622 | )} |
623 | 623 | |
624 | - <div>请特别注意订单总金额与订单金额。</div> | |
625 | - {!checkType(CHECK_TYPE.CONFIRM_DELIVER) ? ( | |
626 | - <ProFormTextArea | |
627 | - width="lg" | |
628 | - name="name" | |
629 | - placeholder="若驳回,请填写驳回理由" | |
630 | - /> | |
631 | - ) : ( | |
632 | - <></> | |
633 | - )} | |
634 | - | |
635 | 624 | {checkType(CHECK_TYPE.PREPAID_AUDIT) && ( |
636 | 625 | <> |
637 | 626 | <Divider orientation="center"> | ... | ... |
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 | 1 | import ButtonConfirm from '@/components/ButtomConfirm'; |
2 | 2 | import { RESPONSE_CODE } from '@/constants/enum'; |
3 | +import InvoicingDrawerForm from '@/pages/Order/components/InvoicingDrawerForm'; | |
3 | 4 | import ReissueModal from '@/pages/Order/components/ReissueModal'; |
4 | 5 | import { |
5 | 6 | postKingdeeRepSalBillOutbound, |
... | ... | @@ -122,6 +123,8 @@ const OrderPage = () => { |
122 | 123 | const [allMainChecked, setAllMainChecked] = useState(false); |
123 | 124 | const [imagesViewerModalVisible, setImagesViewerModalVisible] = |
124 | 125 | useState<boolean>(false); |
126 | + const [InvoicingDrawerFormVisible, setInvoicingDrawerFormVisible] = | |
127 | + useState<boolean>(false); | |
125 | 128 | const [data, setData] = useState([]); //列表数据 |
126 | 129 | const [notesEditVisible, setNotesEditVisible] = useState<boolean>(false); |
127 | 130 | const [financialMergeDrawerVisible, setFinancialMergeDrawerVisible] = |
... | ... | @@ -3969,6 +3972,19 @@ const OrderPage = () => { |
3969 | 3972 | ); |
3970 | 3973 | } |
3971 | 3974 | |
3975 | + <Button | |
3976 | + type="primary" | |
3977 | + key="out" | |
3978 | + onClick={() => { | |
3979 | + setIsEdit(false); | |
3980 | + setIsMainOrder(true); | |
3981 | + setInvoicingDrawerFormVisible(true); | |
3982 | + }} | |
3983 | + disabled={selectedSubOrderKeys?.length === 0} | |
3984 | + > | |
3985 | + 申请开票 | |
3986 | + </Button>; | |
3987 | + | |
3972 | 3988 | if (rolePath?.includes('mergeInvoicing')) { |
3973 | 3989 | toolBtns.push( |
3974 | 3990 | <Button |
... | ... | @@ -4621,6 +4637,23 @@ const OrderPage = () => { |
4621 | 4637 | /> |
4622 | 4638 | )} |
4623 | 4639 | |
4640 | + {InvoicingDrawerFormVisible && ( | |
4641 | + <InvoicingDrawerForm | |
4642 | + subOrders={ | |
4643 | + isMainOrder | |
4644 | + ? [...subOrderSelectedMap.values()].flat() | |
4645 | + : buildSubOrders() | |
4646 | + } | |
4647 | + totalPayment={getApplyInvoicingTotalPayment()} | |
4648 | + onClose={() => { | |
4649 | + setApplyForInvoicingVisible(false); | |
4650 | + setIsMainOrder(false); | |
4651 | + clearOptObject(); | |
4652 | + refreshTable(); | |
4653 | + }} | |
4654 | + ></InvoicingDrawerForm> | |
4655 | + )} | |
4656 | + | |
4624 | 4657 | {contextHolder} |
4625 | 4658 | <FloatButton.BackTop visibilityHeight={0} /> |
4626 | 4659 | </div> | ... | ... |