Commit 80092cd120a3b400089d09d9bd25aea1039fb406
1 parent
01578991
refactor(order): 确保枚举值在引用前正确定义
重构订单页面的枚举值引用,确保在使用之前已经定义。这避免了在组件中直接引用枚举值可能导致的错误。添加了核销记录按钮,以提供更直观的访问点。 - 修正了银行报表删除操作的错误,该操作在以前的代码中错误地包含了。 这些变化提供了更流畅的用户体验,并确保用户可以更有效地执行核销相关操作。
Showing
2 changed files
with
65 additions
and
47 deletions
src/pages/Invoice/Invoice/components/invoiceWriteOffModal.tsx
@@ -104,29 +104,27 @@ export default ({ getData, triggerButton, readOnly }) => { | @@ -104,29 +104,27 @@ export default ({ getData, triggerButton, readOnly }) => { | ||
104 | valueType: 'date', | 104 | valueType: 'date', |
105 | }, | 105 | }, |
106 | ]; | 106 | ]; |
107 | - if (!readOnly) { | ||
108 | - columns.push({ | ||
109 | - title: '操作', | ||
110 | - valueType: 'option', | ||
111 | - width: 200, | ||
112 | - render: (text, record) => [ | ||
113 | - <a | ||
114 | - key="delete" | ||
115 | - onClick={() => { | ||
116 | - const tableDataSource = | ||
117 | - formRef.current?.getFieldValue('bankStatements'); | ||
118 | - console.log(JSON.stringify(tableDataSource)); | ||
119 | - formRef.current?.setFieldValue( | ||
120 | - 'bankStatements', | ||
121 | - tableDataSource.filter((item) => item.id !== record.id), | ||
122 | - ); | ||
123 | - }} | ||
124 | - > | ||
125 | - 删除 | ||
126 | - </a>, | ||
127 | - ], | ||
128 | - }); | ||
129 | - } | 107 | + columns.push({ |
108 | + title: '操作', | ||
109 | + valueType: 'option', | ||
110 | + width: 200, | ||
111 | + render: (text, record) => [ | ||
112 | + <a | ||
113 | + key="delete" | ||
114 | + onClick={() => { | ||
115 | + const tableDataSource = | ||
116 | + formRef.current?.getFieldValue('bankStatements'); | ||
117 | + console.log(JSON.stringify(tableDataSource)); | ||
118 | + formRef.current?.setFieldValue( | ||
119 | + 'bankStatements', | ||
120 | + tableDataSource.filter((item) => item.id !== record.id), | ||
121 | + ); | ||
122 | + }} | ||
123 | + > | ||
124 | + 删除 | ||
125 | + </a>, | ||
126 | + ], | ||
127 | + }); | ||
130 | return columns; | 128 | return columns; |
131 | }; | 129 | }; |
132 | 130 | ||
@@ -295,30 +293,27 @@ export default ({ getData, triggerButton, readOnly }) => { | @@ -295,30 +293,27 @@ export default ({ getData, triggerButton, readOnly }) => { | ||
295 | recordCreatorProps={false} | 293 | recordCreatorProps={false} |
296 | toolBarRender={() => [ | 294 | toolBarRender={() => [ |
297 | <> | 295 | <> |
298 | - {!readOnly && ( | ||
299 | - <AddBankStatementModal | ||
300 | - getRows={() => formRef.current?.getFieldValue('bankStatements')} | ||
301 | - onFinish={(datas) => { | ||
302 | - const bankStatements = | ||
303 | - formRef.current?.getFieldValue('bankStatements'); | ||
304 | - // 添加非空判断,并处理为空的情况 | ||
305 | - const mergedBankStatements = | ||
306 | - bankStatements && Array.isArray(bankStatements) | ||
307 | - ? bankStatements | ||
308 | - : []; | ||
309 | - const mergedDatas = | ||
310 | - datas && Array.isArray(datas) ? datas : []; | ||
311 | - let res = [...mergedBankStatements, ...mergedDatas]; | ||
312 | - //对res 进行去重处理,根据id去重 | ||
313 | - const resMap = new Map(); | ||
314 | - res.forEach((item) => { | ||
315 | - resMap.set(item.id, item); | ||
316 | - }); | ||
317 | - res = Array.from(resMap.values()); | ||
318 | - formRef.current?.setFieldValue('bankStatements', res); | ||
319 | - }} | ||
320 | - /> | ||
321 | - )} | 296 | + <AddBankStatementModal |
297 | + getRows={() => formRef.current?.getFieldValue('bankStatements')} | ||
298 | + onFinish={(datas) => { | ||
299 | + const bankStatements = | ||
300 | + formRef.current?.getFieldValue('bankStatements'); | ||
301 | + // 添加非空判断,并处理为空的情况 | ||
302 | + const mergedBankStatements = | ||
303 | + bankStatements && Array.isArray(bankStatements) | ||
304 | + ? bankStatements | ||
305 | + : []; | ||
306 | + const mergedDatas = datas && Array.isArray(datas) ? datas : []; | ||
307 | + let res = [...mergedBankStatements, ...mergedDatas]; | ||
308 | + //对res 进行去重处理,根据id去重 | ||
309 | + const resMap = new Map(); | ||
310 | + res.forEach((item) => { | ||
311 | + resMap.set(item.id, item); | ||
312 | + }); | ||
313 | + res = Array.from(resMap.values()); | ||
314 | + formRef.current?.setFieldValue('bankStatements', res); | ||
315 | + }} | ||
316 | + /> | ||
322 | </>, | 317 | </>, |
323 | ]} | 318 | ]} |
324 | columns={getBankStatementColumns()} | 319 | columns={getBankStatementColumns()} |
src/pages/Invoice/InvoiceVerification/index.tsx
1 | import ButtonConfirm from '@/components/ButtomConfirm'; | 1 | import ButtonConfirm from '@/components/ButtomConfirm'; |
2 | import EllipsisDiv from '@/components/Div/EllipsisDiv'; | 2 | import EllipsisDiv from '@/components/Div/EllipsisDiv'; |
3 | import { RESPONSE_CODE } from '@/constants/enum'; | 3 | import { RESPONSE_CODE } from '@/constants/enum'; |
4 | +import InvoiceWriteOffModal from '@/pages/Invoice/Invoice/components/invoiceWriteOffModal'; | ||
4 | import BankImportModal from '@/pages/Invoice/InvoiceVerification/components/BankImportModal'; | 5 | import BankImportModal from '@/pages/Invoice/InvoiceVerification/components/BankImportModal'; |
5 | import InvoiceRecordDetailModal from '@/pages/Invoice/InvoiceVerification/components/InvoiceRecordDetailModal'; | 6 | import InvoiceRecordDetailModal from '@/pages/Invoice/InvoiceVerification/components/InvoiceRecordDetailModal'; |
6 | import InvoiceVerificationModal from '@/pages/Invoice/InvoiceVerification/components/InvoiceVerificationModal'; | 7 | import InvoiceVerificationModal from '@/pages/Invoice/InvoiceVerification/components/InvoiceVerificationModal'; |
@@ -13,6 +14,7 @@ import { | @@ -13,6 +14,7 @@ import { | ||
13 | postServiceBankStatementDeleteBankStatement, | 14 | postServiceBankStatementDeleteBankStatement, |
14 | postServiceBankStatementEditBankStatement, | 15 | postServiceBankStatementEditBankStatement, |
15 | postServiceBankStatementQueryBankStatement, | 16 | postServiceBankStatementQueryBankStatement, |
17 | + postServiceInvoiceGetWriteOffRecord, | ||
16 | } from '@/services'; | 18 | } from '@/services'; |
17 | import { enumValueToLabel, formatDateTime } from '@/utils'; | 19 | import { enumValueToLabel, formatDateTime } from '@/utils'; |
18 | import { formatDate } from '@/utils/time'; | 20 | import { formatDate } from '@/utils/time'; |
@@ -133,6 +135,27 @@ const InvoiceRecord = () => { | @@ -133,6 +135,27 @@ const InvoiceRecord = () => { | ||
133 | ); | 135 | ); |
134 | } | 136 | } |
135 | 137 | ||
138 | + if (record.writeOffId !== null) { | ||
139 | + btns.push( | ||
140 | + <InvoiceWriteOffModal | ||
141 | + getData={async () => { | ||
142 | + const res = await postServiceInvoiceGetWriteOffRecord({ | ||
143 | + data: { id: record.writeOffId }, | ||
144 | + }); | ||
145 | + const data = res.data; | ||
146 | + return { | ||
147 | + invoiceWriteOffId: data.id, | ||
148 | + invoices: data.invoiceDtos, | ||
149 | + bankStatements: data.bankStatementDtos, | ||
150 | + }; | ||
151 | + }} | ||
152 | + key="writeOff" | ||
153 | + triggerButton={<Button type="link">核销记录</Button>} | ||
154 | + readOnly={true} | ||
155 | + />, | ||
156 | + ); | ||
157 | + } | ||
158 | + | ||
136 | if (record.paths?.includes('deleteBankStatement')) { | 159 | if (record.paths?.includes('deleteBankStatement')) { |
137 | btns.push( | 160 | btns.push( |
138 | <ButtonConfirm | 161 | <ButtonConfirm |