| | |
| | | filterRowsByModuleBusinessType, |
| | | formatDateRangeLabel, |
| | | getModuleSearchMeta, |
| | | hasActiveModuleSearch, |
| | | } from "../_utils/approvalModuleListSearch.js"; |
| | | import { |
| | | buildInstanceListParams, |
| | |
| | | const res = await listApprovalInstancePage(buildListRequestParams()); |
| | | const { records, total } = unwrapInstancePage(res); |
| | | const listFields = moduleConfig.value?.listFields || []; |
| | | const mapped = records.map(row => mapInstanceListRow(row, listFields)); |
| | | let mapped = records.map(row => mapInstanceListRow(row, listFields)); |
| | | if (hasActiveModuleSearch(props.moduleKey, searchForm)) { |
| | | mapped = filterRowsByModuleSearch(props.moduleKey, mapped, searchForm); |
| | | } |
| | | |
| | | if (page.current === 1) { |
| | | list.value = mapped; |
| | | } else { |
| | | list.value = [...list.value, ...mapped]; |
| | | } |
| | | page.total = total; |
| | | const dropped = records.length - mapped.length; |
| | | page.total = hasActiveModuleSearch(props.moduleKey, searchForm) |
| | | ? list.value.length |
| | | : dropped > 0 |
| | | ? Math.max(0, Number(total) - dropped) |
| | | : Number(total); |
| | | |
| | | if (list.value.length >= total || records.length < page.size) { |
| | | pageStatus.value = "nomore"; |