| | |
| | | import { fetchApprovalTemplateTypes } from "../_utils/approvalTemplateType.js"; |
| | | import { |
| | | getApprovalModuleConfig, |
| | | resolveModuleBusinessType, |
| | | getModuleListBusinessType, |
| | | } from "../_utils/approvalModuleRegistry.js"; |
| | | import { |
| | | buildModuleListDto, |
| | |
| | | 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"; |
| | |
| | | }; |
| | | |
| | | const initBusinessType = async () => { |
| | | const fixed = getModuleListBusinessType(props.moduleKey); |
| | | businessType.value = fixed != null && fixed !== "" ? fixed : ""; |
| | | try { |
| | | typeOptions.value = await fetchApprovalTemplateTypes(); |
| | | const resolved = resolveModuleBusinessType(props.moduleKey, typeOptions.value); |
| | | businessType.value = |
| | | resolved != null && resolved !== "" |
| | | ? resolved |
| | | : moduleConfig.value?.approvalType ?? ""; |
| | | } catch { |
| | | businessType.value = moduleConfig.value?.approvalType ?? ""; |
| | | typeOptions.value = []; |
| | | } |
| | | }; |
| | | |