Commit a8f9dc33767fdaab7079c0be292b04e75c685db7
1 parent
ac7b28d0
fix(order-page): 禁用一键审核功能
由于当前存在技术限制,无法实现一键审核功能。已将相关代码注释行修改以反映此情况,并防止潜在的错误操作。fix(order): 修复财务审核中流水号字段的错误 解决了财务审核功能中,添加流水号字段后导致的接口调用失败问题。现在,`checkNotes`字段被正确地包含在提交给`postServiceOrderFinanceCheckOrder`的payload中。之前,由于字段顺序错误,导致接口调用失败。
Showing
11 changed files
with
75 additions
and
536 deletions
src/pages/Invoice/Invoice/components/InvoiceVerificationModal.tsx
... | ... | @@ -83,7 +83,7 @@ export default ({ invoiceId, setVisible, onClose }) => { |
83 | 83 | { |
84 | 84 | key: '3', |
85 | 85 | label: '状态', |
86 | - children: enumValueToLabel(invoiceInfo?.status, INVOICE_STATUS), | |
86 | + children: invoiceInfo?.statusText, | |
87 | 87 | span: 4, |
88 | 88 | }, |
89 | 89 | { |
... | ... | @@ -220,10 +220,6 @@ export default ({ invoiceId, setVisible, onClose }) => { |
220 | 220 | width: 70, |
221 | 221 | render: (text, record) => { |
222 | 222 | let optBtns = []; |
223 | - if (invoiceInfo?.status === 'VERIFIED') { | |
224 | - return []; | |
225 | - } | |
226 | - | |
227 | 223 | optBtns.push( |
228 | 224 | <ButtonConfirm |
229 | 225 | key="delete" |
... | ... | @@ -357,7 +353,6 @@ export default ({ invoiceId, setVisible, onClose }) => { |
357 | 353 | onClick={() => { |
358 | 354 | setBankChooseModalVisible(true); |
359 | 355 | }} |
360 | - hidden={invoiceInfo?.status === 'VERIFIED'} | |
361 | 356 | type="primary" |
362 | 357 | > |
363 | 358 | 添加 | ... | ... |
src/pages/Invoice/Invoice/index.tsx
... | ... | @@ -3,7 +3,7 @@ import EllipsisDiv from '@/components/Div/EllipsisDiv'; |
3 | 3 | import AddInvoiceDrawerForm from '@/pages/Invoice/Invoice/components/AddInvoiceDrawerForm'; |
4 | 4 | import BankImportModal from '@/pages/Invoice/Invoice/components/BankImportModal'; |
5 | 5 | import InvoiceVerificationModal from '@/pages/Invoice/Invoice/components/InvoiceVerificationModal'; |
6 | -import { INVOICE_COLUMNS, INVOICE_STATUS } from '@/pages/Invoice/constant'; | |
6 | +import { INVOICE_COLUMNS } from '@/pages/Invoice/constant'; | |
7 | 7 | import { INVOCING_STATUS, PAYEE_OPTIONS } from '@/pages/Order/constant'; |
8 | 8 | import { |
9 | 9 | postServiceInvoiceDeleteInvoice, |
... | ... | @@ -71,16 +71,6 @@ const InvoiceRecord = () => { |
71 | 71 | /> |
72 | 72 | ); |
73 | 73 | |
74 | - case 'status': | |
75 | - return ( | |
76 | - <EllipsisDiv | |
77 | - text={enumValueToLabel( | |
78 | - getTableCellText(textValue), | |
79 | - INVOICE_STATUS, | |
80 | - )} | |
81 | - /> | |
82 | - ); | |
83 | - | |
84 | 74 | case 'payee': |
85 | 75 | return ( |
86 | 76 | <EllipsisDiv |
... | ... | @@ -107,7 +97,7 @@ const InvoiceRecord = () => { |
107 | 97 | width: 120, |
108 | 98 | render: (text, record) => { |
109 | 99 | let btns = []; |
110 | - if (record.path?.includes('writeOff')) { | |
100 | + if (record.paths?.includes('writeOff')) { | |
111 | 101 | btns.push( |
112 | 102 | <a |
113 | 103 | key="editable" |
... | ... | @@ -122,7 +112,7 @@ const InvoiceRecord = () => { |
122 | 112 | ); |
123 | 113 | } |
124 | 114 | |
125 | - if (record.path?.includes('queryInvoiceDetails')) { | |
115 | + if (record.paths?.includes('queryInvoiceDetails')) { | |
126 | 116 | btns.push( |
127 | 117 | <Button |
128 | 118 | className="p-0" |
... | ... | @@ -130,7 +120,7 @@ const InvoiceRecord = () => { |
130 | 120 | type="link" |
131 | 121 | onClick={() => { |
132 | 122 | setInvoiceVerificationVisible(true); |
133 | - setInvoiceId(record.invoiceId); | |
123 | + setInvoiceId(record.id); | |
134 | 124 | }} |
135 | 125 | > |
136 | 126 | 查看 |
... | ... | @@ -138,7 +128,7 @@ const InvoiceRecord = () => { |
138 | 128 | ); |
139 | 129 | } |
140 | 130 | |
141 | - if (record.path?.includes('deleteInvoice')) { | |
131 | + if (record.paths?.includes('deleteInvoice')) { | |
142 | 132 | btns.push( |
143 | 133 | <ButtonConfirm |
144 | 134 | key="delete" | ... | ... |
src/pages/Invoice/InvoiceRecord/components/InvoiceRecordDetailModal.tsx
... | ... | @@ -21,7 +21,7 @@ import { |
21 | 21 | import { Button, Divider, Form, Space, message } from 'antd'; |
22 | 22 | import { useEffect, useRef, useState } from 'react'; |
23 | 23 | |
24 | -export default ({ id, setVisible }) => { | |
24 | +export default ({ id, setVisible, reloadTable }) => { | |
25 | 25 | const [readOnly, setReadOnly] = useState(true); |
26 | 26 | const [detailTableData, setDetailTableData] = useState([]); |
27 | 27 | const [payees, setPayees] = useState([]); |
... | ... | @@ -124,6 +124,7 @@ export default ({ id, setVisible }) => { |
124 | 124 | message.success('提交成功'); |
125 | 125 | } |
126 | 126 | setVisible(false); |
127 | + reloadTable(); | |
127 | 128 | return true; |
128 | 129 | }} |
129 | 130 | > |
... | ... | @@ -168,6 +169,7 @@ export default ({ id, setVisible }) => { |
168 | 169 | }, |
169 | 170 | }); |
170 | 171 | if (result.result === RESPONSE_CODE.SUCCESS) { |
172 | + reloadTable(); | |
171 | 173 | message.success('提交成功'); |
172 | 174 | } |
173 | 175 | return true; | ... | ... |
src/pages/Invoice/InvoiceRecord/index.tsx
... | ... | @@ -239,7 +239,7 @@ const InvoiceRecord = () => { |
239 | 239 | }, |
240 | 240 | { |
241 | 241 | title: '开票状态', |
242 | - key: 'invoiceRecordStatus', | |
242 | + key: 'status', | |
243 | 243 | valueType: 'select', |
244 | 244 | dataIndex: 'status', |
245 | 245 | filters: true, |
... | ... | @@ -474,6 +474,9 @@ const InvoiceRecord = () => { |
474 | 474 | key="detail" |
475 | 475 | id={invoiceRecord.id} |
476 | 476 | setVisible={setInvoiceRecordDetailVisible} |
477 | + reloadTable={() => { | |
478 | + processedRecordRef?.current?.reload(); | |
479 | + }} | |
477 | 480 | /> |
478 | 481 | ) : ( |
479 | 482 | '' | ... | ... |
src/pages/Invoice/InvoiceVerification/components/InvoiceVerificationModal.tsx
src/pages/Invoice/constant.tsx
... | ... | @@ -55,14 +55,9 @@ export const INVOICE_COLUMNS = [ |
55 | 55 | }, |
56 | 56 | { |
57 | 57 | title: '状态', |
58 | - dataIndex: 'status', | |
58 | + dataIndex: 'statusText', | |
59 | 59 | valueType: 'text', |
60 | - width: 100, | |
61 | - valueEnum: enumToProTableEnumValue({ | |
62 | - UNVERIFIED: '未核销', | |
63 | - VERIFIED: '已核销', | |
64 | - PARTIAL_VERIFICATION: '部分核销', | |
65 | - }), | |
60 | + width: 180, | |
66 | 61 | }, |
67 | 62 | { |
68 | 63 | title: '购买方', |
... | ... | @@ -93,7 +88,14 @@ export const INVOICE_COLUMNS = [ |
93 | 88 | title: '金额', |
94 | 89 | dataIndex: 'money', |
95 | 90 | valueType: 'money', |
96 | - hideInTable: true, | |
91 | + hideInSearch: true, | |
92 | + width: 100, | |
93 | + }, | |
94 | + { | |
95 | + title: '开具类型', | |
96 | + dataIndex: 'invoicingTypeText', | |
97 | + valueType: 'invoicingTypeText', | |
98 | + hideInSearch: true, | |
97 | 99 | width: 100, |
98 | 100 | }, |
99 | 101 | { |
... | ... | @@ -156,21 +158,6 @@ export const BANK_STATEMENT_COLUMNS = [ |
156 | 158 | editable: false, |
157 | 159 | }, |
158 | 160 | { |
159 | - dataIndex: 'statusText', | |
160 | - title: '状态', | |
161 | - valueType: 'select', | |
162 | - width: 100, | |
163 | - editable: false, | |
164 | - hideInSearch: true, | |
165 | - }, | |
166 | - { | |
167 | - title: '状态', | |
168 | - width: 80, | |
169 | - dataIndex: 'status', | |
170 | - hideInTable: true, | |
171 | - valueEnum: convertToObjectWithTextAndStatus(BANKSTATEMENT_STATUS), | |
172 | - }, | |
173 | - { | |
174 | 161 | dataIndex: 'serialNumber', |
175 | 162 | title: '流水号', |
176 | 163 | valueType: 'text', | ... | ... |
src/pages/Invoice/waitProcessRecord/components/InvoiceRecordDetailModal.tsx deleted
100644 → 0
1 | -import { RESPONSE_CODE } from '@/constants/enum'; | |
2 | -import InvoiceDetailTable from '@/pages/Invoice/waitProcessRecord/components/InvoiceDetailTable'; | |
3 | -import { | |
4 | - postServiceConstGetPayeeEnum, | |
5 | - postServiceConstInvoiceType, | |
6 | - postServiceConstInvoicingType, | |
7 | - postServiceInvoiceGetInvoiceRecord, | |
8 | - postServiceInvoiceModifyRecord, | |
9 | -} from '@/services'; | |
10 | -import { enumToSelect } from '@/utils'; | |
11 | -import { | |
12 | - ModalForm, | |
13 | - ProCard, | |
14 | - ProForm, | |
15 | - ProFormInstance, | |
16 | - ProFormList, | |
17 | - ProFormSelect, | |
18 | - ProFormText, | |
19 | - ProFormTextArea, | |
20 | -} from '@ant-design/pro-components'; | |
21 | -import { Button, Divider, Form, Space, message } from 'antd'; | |
22 | -import { useEffect, useRef, useState } from 'react'; | |
23 | - | |
24 | -export default ({ id, setVisible }) => { | |
25 | - const [readOnly, setReadOnly] = useState(true); | |
26 | - const [detailTableData, setDetailTableData] = useState([]); | |
27 | - const [payees, setPayees] = useState([]); | |
28 | - const [payeeNameOptions, setPayeeNameOptions] = useState([]); | |
29 | - const formRef = useRef<ProFormInstance>(); | |
30 | - const [form] = Form.useForm(); | |
31 | - | |
32 | - useEffect(() => { | |
33 | - console.log('id' + id); | |
34 | - const getPayees = async () => { | |
35 | - let res = await postServiceConstGetPayeeEnum(); | |
36 | - setPayees(res.data); | |
37 | - let payeeNameOptions = res.data.map((item) => { | |
38 | - return { | |
39 | - label: item.payeeName, | |
40 | - value: item.payeeName, | |
41 | - }; | |
42 | - }); | |
43 | - setPayeeNameOptions(payeeNameOptions); | |
44 | - }; | |
45 | - getPayees(); | |
46 | - }, []); | |
47 | - const getRecord = async (id) => { | |
48 | - let ret = await postServiceInvoiceGetInvoiceRecord({ | |
49 | - query: { | |
50 | - id: id, | |
51 | - }, | |
52 | - }); | |
53 | - console.log(ret.data); | |
54 | - const updatedInvoiceDetails = ret.data.invoiceDetails?.map( | |
55 | - (item, index) => ({ | |
56 | - ...item, // 保留原有属性 | |
57 | - tid: index + 1, // 添加tid属性,这里以T开头,后面跟索引+1,仅作示例,实际可根据需求生成tid | |
58 | - }), | |
59 | - ); | |
60 | - setDetailTableData(updatedInvoiceDetails); | |
61 | - }; | |
62 | - useEffect(() => { | |
63 | - getRecord(id); | |
64 | - }, []); | |
65 | - | |
66 | - const updateDetails = (values) => { | |
67 | - setDetailTableData(values); | |
68 | - }; | |
69 | - return ( | |
70 | - <> | |
71 | - <Space> | |
72 | - <ModalForm | |
73 | - open | |
74 | - title="发票详情" | |
75 | - formRef={formRef} | |
76 | - request={async () => { | |
77 | - let ret = await postServiceInvoiceGetInvoiceRecord({ | |
78 | - query: { | |
79 | - id: id, | |
80 | - }, | |
81 | - }); | |
82 | - const data = ret.data; | |
83 | - const orderIdMap = data.orderIdMap; | |
84 | - const orderIdList = []; | |
85 | - | |
86 | - // 使用Object.entries()遍历属性 | |
87 | - Object.entries(orderIdMap).forEach(([key, value]) => { | |
88 | - const orderId = { | |
89 | - mainId: key, | |
90 | - subIds: value, | |
91 | - }; | |
92 | - orderIdList.push(orderId); | |
93 | - }); | |
94 | - return { | |
95 | - ...data, | |
96 | - orderIdList: orderIdList, | |
97 | - }; | |
98 | - }} | |
99 | - submitter={{ | |
100 | - render: () => { | |
101 | - return [ | |
102 | - <Button | |
103 | - type={readOnly ? 'primary' : 'default'} | |
104 | - key="ok" | |
105 | - onClick={() => { | |
106 | - setReadOnly(!readOnly); | |
107 | - }} | |
108 | - > | |
109 | - {readOnly ? '编辑' : '取消编辑'} | |
110 | - </Button>, | |
111 | - <> | |
112 | - {!readOnly && ( | |
113 | - <Button | |
114 | - type="primary" | |
115 | - key="submit" | |
116 | - onClick={async () => { | |
117 | - const result = await postServiceInvoiceModifyRecord({ | |
118 | - data: { | |
119 | - ...form.getFieldsValue(), | |
120 | - invoiceDetails: [...detailTableData], | |
121 | - }, | |
122 | - }); | |
123 | - if (result.result === RESPONSE_CODE.SUCCESS) { | |
124 | - message.success('提交成功'); | |
125 | - } | |
126 | - setVisible(false); | |
127 | - return true; | |
128 | - }} | |
129 | - > | |
130 | - 提交 | |
131 | - </Button> | |
132 | - )} | |
133 | - </>, | |
134 | - /*<Button | |
135 | - type={'default'} | |
136 | - key="ok" | |
137 | - onClick={() => { | |
138 | - setVisible(false) | |
139 | - }} | |
140 | - > | |
141 | - 取消 | |
142 | - </Button>,*/ | |
143 | - ]; | |
144 | - }, | |
145 | - }} | |
146 | - width={1200} | |
147 | - form={form} | |
148 | - autoFocusFirstInput | |
149 | - modalProps={{ | |
150 | - destroyOnClose: true, | |
151 | - onCancel: () => { | |
152 | - setVisible(false); | |
153 | - }, | |
154 | - }} | |
155 | - grid={true} | |
156 | - layout="horizontal" | |
157 | - rowProps={{ | |
158 | - gutter: [0, 0], | |
159 | - }} | |
160 | - submitTimeout={2000} | |
161 | - onFinish={async (values) => { | |
162 | - const result = await postServiceInvoiceModifyRecord({ | |
163 | - data: { | |
164 | - ...values, | |
165 | - invoiceDetails: { | |
166 | - ...detailTableData, | |
167 | - }, | |
168 | - }, | |
169 | - }); | |
170 | - if (result.result === RESPONSE_CODE.SUCCESS) { | |
171 | - message.success('提交成功'); | |
172 | - } | |
173 | - return true; | |
174 | - }} | |
175 | - > | |
176 | - <ProCard | |
177 | - title="基础信息" | |
178 | - bordered | |
179 | - // | |
180 | - headStyle={{}} | |
181 | - headerBordered | |
182 | - size={'small'} | |
183 | - > | |
184 | - <ProForm.Group> | |
185 | - <ProFormText | |
186 | - readonly | |
187 | - name="id" | |
188 | - label="订单批号" | |
189 | - colProps={{ | |
190 | - span: 5, | |
191 | - }} | |
192 | - tooltip="最长为 24 位" | |
193 | - placeholder="请输入名称" | |
194 | - /> | |
195 | - | |
196 | - <ProFormText | |
197 | - readonly | |
198 | - width="md" | |
199 | - colProps={{ | |
200 | - span: 5, | |
201 | - }} | |
202 | - name="createByName" | |
203 | - label="销售代表" | |
204 | - placeholder="请输入名称" | |
205 | - /> | |
206 | - <ProFormText | |
207 | - readonly | |
208 | - width="md" | |
209 | - colProps={{ | |
210 | - span: 5, | |
211 | - }} | |
212 | - name="createTime" | |
213 | - label="申请时间" | |
214 | - placeholder="请输入名称" | |
215 | - /> | |
216 | - <ProFormSelect | |
217 | - name="type" | |
218 | - label="发票类型" | |
219 | - colProps={{ | |
220 | - span: 5, | |
221 | - }} | |
222 | - readonly={readOnly} | |
223 | - request={async () => { | |
224 | - let invoiceTypeRet = await postServiceConstInvoiceType(); | |
225 | - return enumToSelect(invoiceTypeRet.data); | |
226 | - }} | |
227 | - placeholder="Please select a country" | |
228 | - rules={[ | |
229 | - { required: true, message: 'Please select your country!' }, | |
230 | - ]} | |
231 | - /> | |
232 | - <ProFormSelect | |
233 | - name="invoicingType" | |
234 | - readonly={readOnly} | |
235 | - label="开具类型" | |
236 | - colProps={{ | |
237 | - span: 4, | |
238 | - }} | |
239 | - request={async () => { | |
240 | - let invoicingTypeRet = await postServiceConstInvoicingType(); | |
241 | - let options = enumToSelect(invoicingTypeRet.data); | |
242 | - return options; | |
243 | - }} | |
244 | - placeholder="Please select a country" | |
245 | - rules={[ | |
246 | - { required: true, message: 'Please select your country!' }, | |
247 | - ]} | |
248 | - /> | |
249 | - <ProFormList | |
250 | - label="订单号" | |
251 | - name="orderIdList" | |
252 | - creatorButtonProps={false} | |
253 | - itemRender={({}, { record }) => { | |
254 | - console.log('record' + JSON.stringify(record)); | |
255 | - return ( | |
256 | - <Space> | |
257 | - <Button | |
258 | - key={record.mainId} | |
259 | - className="pl-1 pr-0" | |
260 | - type="link" | |
261 | - target="_blank" | |
262 | - href={'/order?id=' + record.mainId} | |
263 | - > | |
264 | - {record.mainId} | |
265 | - </Button> | |
266 | - ( | |
267 | - {record.subIds.map((item) => { | |
268 | - return ( | |
269 | - <Button | |
270 | - key={item} | |
271 | - className="pl-1 pr-0" | |
272 | - type="link" | |
273 | - target="_blank" | |
274 | - href={'/order?subOrderId=' + item} | |
275 | - > | |
276 | - {item} | |
277 | - </Button> | |
278 | - ); | |
279 | - })} | |
280 | - ) | |
281 | - <Divider type="vertical" /> | |
282 | - </Space> | |
283 | - ); | |
284 | - }} | |
285 | - > | |
286 | - <ProFormText allowClear={false} width="xs" name={['name']} /> | |
287 | - </ProFormList> | |
288 | - </ProForm.Group> | |
289 | - </ProCard> | |
290 | - <hr /> | |
291 | - <ProCard title="购方信息" bordered headerBordered size={'small'}> | |
292 | - <ProForm.Group> | |
293 | - <ProFormText | |
294 | - readonly={readOnly} | |
295 | - width="md" | |
296 | - colProps={{ | |
297 | - span: 8, | |
298 | - }} | |
299 | - name="partyAName" | |
300 | - label="购方名称" | |
301 | - placeholder="请输入名称" | |
302 | - /> | |
303 | - <ProFormText | |
304 | - readonly={readOnly} | |
305 | - width="md" | |
306 | - colProps={{ | |
307 | - span: 8, | |
308 | - }} | |
309 | - name="partyATaxid" | |
310 | - label="购方税号" | |
311 | - placeholder="请输入名称" | |
312 | - /> | |
313 | - <ProFormText | |
314 | - readonly={readOnly} | |
315 | - width="md" | |
316 | - colProps={{ | |
317 | - span: 8, | |
318 | - }} | |
319 | - label="开户银行" | |
320 | - name={'partyAOpenBank'} | |
321 | - placeholder="请输入名称" | |
322 | - /> | |
323 | - <ProFormText | |
324 | - readonly={readOnly} | |
325 | - width="md" | |
326 | - colProps={{ | |
327 | - span: 8, | |
328 | - }} | |
329 | - name="partyABankAccount" | |
330 | - label="银行账号" | |
331 | - placeholder="请输入名称" | |
332 | - /> | |
333 | - <ProFormText | |
334 | - readonly={readOnly} | |
335 | - width="md" | |
336 | - colProps={{ | |
337 | - span: 8, | |
338 | - }} | |
339 | - name="partyAAddress" | |
340 | - label="购方地址" | |
341 | - placeholder="请输入名称" | |
342 | - /> | |
343 | - <ProFormText | |
344 | - readonly={readOnly} | |
345 | - width="md" | |
346 | - colProps={{ | |
347 | - span: 8, | |
348 | - }} | |
349 | - name="partyAPhoneNumber" | |
350 | - label="电话" | |
351 | - placeholder="请输入名称" | |
352 | - /> | |
353 | - </ProForm.Group> | |
354 | - </ProCard> | |
355 | - <hr /> | |
356 | - <ProCard title="销方信息" bordered headerBordered size={'small'}> | |
357 | - <ProForm.Group> | |
358 | - <ProFormSelect | |
359 | - readonly={readOnly} | |
360 | - width="md" | |
361 | - name="partyBName" | |
362 | - options={payeeNameOptions} | |
363 | - onChange={(value: any) => { | |
364 | - let payee = payees.find((item: any) => { | |
365 | - return item.payeeName === value; | |
366 | - }); | |
367 | - console.log(JSON.stringify(payee)); | |
368 | - form.setFieldsValue({ | |
369 | - partyBTaxid: payee.taxId, | |
370 | - partyBBankAccount: payee.bankAccount, | |
371 | - partyBOpenBank: payee.openBank, | |
372 | - partyBAddress: payee.address, | |
373 | - partyBPhoneNumber: payee.phoneNumber, | |
374 | - }); | |
375 | - }} | |
376 | - label="销方名称" | |
377 | - colProps={{ | |
378 | - span: 8, | |
379 | - }} | |
380 | - placeholder="请输入名称" | |
381 | - /> | |
382 | - | |
383 | - <ProFormText | |
384 | - readonly | |
385 | - width="md" | |
386 | - name="partyBTaxid" | |
387 | - label="销方税号" | |
388 | - colProps={{ | |
389 | - span: 8, | |
390 | - }} | |
391 | - placeholder="请输入名称" | |
392 | - /> | |
393 | - <ProFormText | |
394 | - readonly | |
395 | - width="md" | |
396 | - name="partyBOpenBank" | |
397 | - label="开户银行" | |
398 | - colProps={{ | |
399 | - span: 8, | |
400 | - }} | |
401 | - placeholder="请输入名称" | |
402 | - /> | |
403 | - <ProFormText | |
404 | - readonly | |
405 | - width="md" | |
406 | - name="partyBBankAccount" | |
407 | - label="银行账号" | |
408 | - colProps={{ | |
409 | - span: 8, | |
410 | - }} | |
411 | - placeholder="请输入名称" | |
412 | - /> | |
413 | - <ProFormText | |
414 | - readonly | |
415 | - width="md" | |
416 | - colProps={{ | |
417 | - span: 8, | |
418 | - }} | |
419 | - name="partyBAddress" | |
420 | - label="销方地址" | |
421 | - placeholder="请输入名称" | |
422 | - /> | |
423 | - <ProFormText | |
424 | - readonly | |
425 | - width="md" | |
426 | - colProps={{ | |
427 | - span: 8, | |
428 | - }} | |
429 | - name="partyBPhoneNumber" | |
430 | - label="电话" | |
431 | - placeholder="请输入名称" | |
432 | - /> | |
433 | - </ProForm.Group> | |
434 | - </ProCard> | |
435 | - <hr /> | |
436 | - <ProCard title="发票明细" bordered headerBordered size={'small'}> | |
437 | - <InvoiceDetailTable | |
438 | - recordId={id} | |
439 | - details={detailTableData} | |
440 | - updateDetails={updateDetails} | |
441 | - readOnly={readOnly} | |
442 | - /> | |
443 | - </ProCard> | |
444 | - <hr /> | |
445 | - <ProCard title="备注" bordered headerBordered size={'small'}> | |
446 | - <ProFormTextArea | |
447 | - readonly={readOnly} | |
448 | - name="comment" | |
449 | - placeholder="请输入备注" | |
450 | - /> | |
451 | - </ProCard> | |
452 | - </ModalForm> | |
453 | - </Space> | |
454 | - </> | |
455 | - ); | |
456 | -}; |
src/pages/Invoice/waitProcessRecord/index.tsx
1 | +import InvoiceRecordDetailModal from '@/pages/Invoice/InvoiceRecord/components/InvoiceRecordDetailModal'; | |
1 | 2 | import InvoiceModal from '@/pages/Invoice/waitProcessRecord/components/InvoiceModal'; |
2 | -import InvoiceRecordDetailModal from '@/pages/Invoice/waitProcessRecord/components/InvoiceRecordDetailModal'; | |
3 | 3 | import InvoicingModal from '@/pages/Invoice/waitProcessRecord/components/InvoicingModal'; |
4 | 4 | import ManualInvoicingModal from '@/pages/Invoice/waitProcessRecord/components/ManualInvoicingModal'; |
5 | 5 | import { PAYEE_OPTIONS } from '@/pages/Order/constant'; |
... | ... | @@ -258,7 +258,7 @@ const InvoiceRecord = () => { |
258 | 258 | { |
259 | 259 | title: '开票状态', |
260 | 260 | valueType: 'select', |
261 | - key: 'waitProcessRecordStatus', | |
261 | + key: 'status', | |
262 | 262 | dataIndex: 'status', |
263 | 263 | filters: true, |
264 | 264 | onFilter: true, |
... | ... | @@ -423,6 +423,9 @@ const InvoiceRecord = () => { |
423 | 423 | key="detail" |
424 | 424 | id={invoiceRecord.id} |
425 | 425 | setVisible={setInvoiceRecordDetailVisible} |
426 | + reloadTable={() => { | |
427 | + waitDealrecordActionRef?.current?.reload(); | |
428 | + }} | |
426 | 429 | /> |
427 | 430 | ) : ( |
428 | 431 | '' | ... | ... |
src/pages/Order/components/CheckModal.tsx
... | ... | @@ -10,6 +10,7 @@ import { |
10 | 10 | } from '@/services'; |
11 | 11 | import { |
12 | 12 | ModalForm, |
13 | + ProFormText, | |
13 | 14 | ProFormTextArea, |
14 | 15 | ProList, |
15 | 16 | } from '@ant-design/pro-components'; |
... | ... | @@ -324,6 +325,7 @@ export default ({ |
324 | 325 | //财务审核 |
325 | 326 | const data = await postServiceOrderFinanceCheckOrder({ |
326 | 327 | data: { |
328 | + ...values, | |
327 | 329 | checkNotes: values.name, |
328 | 330 | ids: subOrderIds, |
329 | 331 | checkPassOrReject: isAgree, |
... | ... | @@ -586,6 +588,7 @@ export default ({ |
586 | 588 | let type = ''; |
587 | 589 | type = computeType(); |
588 | 590 | doCheck({ |
591 | + ...values, | |
589 | 592 | pass: true, |
590 | 593 | subOrderIds: subOrderIds, |
591 | 594 | type: type, |
... | ... | @@ -674,6 +677,12 @@ export default ({ |
674 | 677 | )} |
675 | 678 | {checkType(CHECK_TYPE.FINALCIAL) ? ( |
676 | 679 | <> |
680 | + <ProFormText | |
681 | + width="md" | |
682 | + name="bankStatementSerialNumbersText" | |
683 | + label="流水号" | |
684 | + placeholder={'多个流水号用逗号隔开'} | |
685 | + /> | |
677 | 686 | <div className="pb-4 text-xs decoration-gray-50"> |
678 | 687 | 可复制照片粘贴 |
679 | 688 | </div> | ... | ... |
src/pages/Order/components/OrderDrawer.tsx
... | ... | @@ -11,7 +11,6 @@ import { |
11 | 11 | postKingdeeRepMaterialUnit, |
12 | 12 | postKingdeeRepMeasureUnit, |
13 | 13 | postPrepaidPhoneAvailableList, |
14 | - postResearchGroupsNameSet, | |
15 | 14 | postServiceOrderAddOrder, |
16 | 15 | postServiceOrderAfterSalesQuerySnapshotOrder, |
17 | 16 | postServiceOrderApplyAfterSales, |
... | ... | @@ -1203,37 +1202,45 @@ export default ({ onClose, data, subOrders, orderOptType }) => { |
1203 | 1202 | placeholder="请输入单位" |
1204 | 1203 | rules={[{ required: true, message: '单位必填' }]} |
1205 | 1204 | /> |
1206 | - <ProFormSelect | |
1207 | - key={'institutionContactName'} | |
1208 | - width="md" | |
1209 | - showSearch | |
1205 | + <ProFormText | |
1206 | + width="lg" | |
1207 | + key="institutionContactName" | |
1210 | 1208 | name="institutionContactName" |
1211 | - rules={[{ required: true, message: '请输入课题组名称!' }]} | |
1212 | - request={async (value) => { | |
1213 | - const keywords = value.keyWords; | |
1214 | - const res = await postResearchGroupsNameSet({ | |
1215 | - data: { | |
1216 | - groupName: keywords, | |
1217 | - }, | |
1218 | - }); | |
1219 | - let options = res?.data?.map((c: any) => { | |
1220 | - return { | |
1221 | - label: c, | |
1222 | - value: c, | |
1223 | - key: c, | |
1224 | - }; | |
1225 | - }); | |
1226 | - return options; | |
1227 | - }} | |
1228 | - fieldProps={{ | |
1229 | - filterOption() { | |
1230 | - return true; | |
1231 | - }, | |
1232 | - }} | |
1233 | - debounceTime={1000} | |
1234 | - label="课题组名称" | |
1235 | - placeholder="请输入名称" | |
1209 | + label="课题组" | |
1210 | + placeholder="请输入课题组" | |
1211 | + rules={[{ required: true, message: '课题组必填' }]} | |
1236 | 1212 | /> |
1213 | + {/*<ProFormSelect | |
1214 | + key={'institutionContactName'} | |
1215 | + width="md" | |
1216 | + showSearch | |
1217 | + name="institutionContactName" | |
1218 | + rules={[{ required: true, message: '请输入课题组名称!' }]} | |
1219 | + request={async (value) => { | |
1220 | + const keywords = value.keyWords; | |
1221 | + const res = await postResearchGroupsNameSet({ | |
1222 | + data: { | |
1223 | + groupName: keywords, | |
1224 | + }, | |
1225 | + }); | |
1226 | + let options = res?.data?.map((c: any) => { | |
1227 | + return { | |
1228 | + label: c, | |
1229 | + value: c, | |
1230 | + key: c, | |
1231 | + }; | |
1232 | + }); | |
1233 | + return options; | |
1234 | + }} | |
1235 | + fieldProps={{ | |
1236 | + filterOption() { | |
1237 | + return true; | |
1238 | + }, | |
1239 | + }} | |
1240 | + debounceTime={1000} | |
1241 | + label="课题组名称" | |
1242 | + placeholder="请输入名称" | |
1243 | + />*/} | |
1237 | 1244 | <div |
1238 | 1245 | style={{ |
1239 | 1246 | display: 'flex', | ... | ... |