diff --git a/src/pages/reimbursement/mine/MyReimbursement.tsx b/src/pages/reimbursement/mine/MyReimbursement.tsx index 8f47aee..edca481 100644 --- a/src/pages/reimbursement/mine/MyReimbursement.tsx +++ b/src/pages/reimbursement/mine/MyReimbursement.tsx @@ -184,11 +184,8 @@ class Subpage extends React.Component { search(value: string, form: FormProps['form'], dom: ReactNode[]) { this.setState({searchWord: value}); - if (value === "") { - // @ts-ignore - this.tableAction.current.reloadAndRest() - } - this.tableAction.current?.reload() + // @ts-ignore + this.tableAction.current.reloadAndRest() } create() { @@ -201,11 +198,30 @@ class Subpage extends React.Component { } - async converter(value: Reimbursement[] | undefined, pageSize: number | undefined) { + async converter(value: Reimbursement[] | undefined | Reimbursement, pageSize: number | undefined) { if (value === undefined) { return [] } let result: TableListItem[] = [] + if("reimbursementAdditionalAmount" in value){ + result.push({ + key:1, + id: value.reimbursementId, + beginDate: Date.parse(value.reimbursementDepartureInvoice.invoiceDate), + endDate: Date.parse(value.reimbursementDepartureInvoice.invoiceDate) + value.reimbursementTripDuration * 24 * 60 * 60 * 1000, + duration: value.reimbursementTripDuration, + OD: [value.reimbursementDepartureName, value.reimbursementDestinationName], + amount: value.reimbursementInvoiceAmount + value.reimbursementAdditionalAmount, + invoiceAmount: value.reimbursementInvoiceAmount, + additionalAmount: value.reimbursementAdditionalAmount, + status: value.reimbursementStatus % 6, + departmentId: value.reimbursementSubmitDepartment.departmentId, + submitDateTime: Date.parse(value.reimbursementSubmitTime), + detail: "查看详情", + back: value.reimbursementDestinationInvoice !== undefined, + }) + return result + } for (let i = 0; i < value.length; i++) { result.push({ key:i, @@ -284,15 +300,21 @@ class Subpage extends React.Component { params['sortBy'] = "reimbursementDepartureDate" params['asc'] = (sort.beginDate === "ascend") } - console.log(params) let response = await axiosInstance.get('common/reimbursement', {params: params}) tableListDataSource = await this.converter(response.data.records, pageSize) - console.log(response.data.records) totalRecordLength = response.data.total } else { - let response = await axiosInstance.get('common/reimbursement/' + this.state.searchWord.trim(), {}) - tableListDataSource = await this.converter(response.data.records, pageSize) + let response = await axiosInstance.get('common/reimbursement/' + Number(this.state.searchWord.trim()), {}).catch(error => { + tableListDataSource = [] + totalRecordLength = 0 + return Promise.resolve({ + data: tableListDataSource, + success: false, + total: totalRecordLength, + }); + }) + tableListDataSource = await this.converter(response.data, pageSize) totalRecordLength = tableListDataSource.length }