完善了搜索

main
白封羽 2023-01-02 19:11:12 +08:00
parent 9b6d5f2361
commit 30cd60c925
1 changed files with 32 additions and 10 deletions

View File

@ -184,12 +184,9 @@ class Subpage extends React.Component<any, any> {
search(value: string, form: FormProps['form'], dom: ReactNode[]) {
this.setState({searchWord: value});
if (value === "") {
// @ts-ignore
this.tableAction.current.reloadAndRest()
}
this.tableAction.current?.reload()
}
create() {
this.createRef.current?.setState({open: true})
@ -201,11 +198,30 @@ class Subpage extends React.Component<any, any> {
}
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<any, any> {
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
}