Переглянути джерело

update overconsumption sorting

tags/Baseline_180220205_Frontend
MSI\derek 11 місяці тому
джерело
коміт
0a29389dd3
1 змінених файлів з 26 додано та 18 видалено
  1. +26
    -18
      src/components/ResourceOverconsumptionReport/ResourceOverconsumptionReport.tsx

+ 26
- 18
src/components/ResourceOverconsumptionReport/ResourceOverconsumptionReport.tsx Переглянути файл

@@ -11,6 +11,7 @@ import { StaffResult } from "@/app/api/staff";
import { TeamResult } from "@/app/api/team";
import { Customer } from "@/app/api/customer";
import { Subsidiary } from "@/app/api/subsidiary";
import CostAndExpenseReportLoading from "../CostAndExpenseReport/CostAndExpenseReportLoading";

interface Props {
team: TeamResult[]
@@ -19,6 +20,12 @@ interface Props {
needAll: boolean
}

type combo = {
value: string,
label: string,
group: string
}

type SearchQuery = Partial<Omit<ProjectResourceOverconsumptionReportFilter, "id">>;
type SearchParamNames = keyof SearchQuery;

@@ -26,19 +33,27 @@ const ResourceOverconsumptionReport: React.FC<Props> = ({ team, customer, subsid
const { t } = useTranslation("report");
const statusCombo = ["Potential Overconsumption"]
const teamCombo = team.map(t => `${t.code} - ${t.name}`).sort()
const custCombo = customer.map(c => ({
const custCombo: combo[] = customer.map(c => ({
value: `custId-${c.id}`,
label: `${c.code} - ${c.name}`,
group: t("Client")
})).sort()
const subsidiariesCombo = subsidiaries.map(sub => ({
}))
.sort((a: combo, b: combo) => {
const [_custType_A, id_A] = readIntFromString(a.value) as [string, number]
const [_custType_B, id_B] = readIntFromString(b.value) as [string, number]
return (id_A - id_B)
});
const subsidiariesCombo: combo[] = subsidiaries.map(sub => ({
value: `subsidiaryId-${sub.id}`,
label: `${sub.code} - ${sub.name}`,
group: t("Subsidiary")
})).sort()
// const staffCombo = staffs.map(staff => `${staff.name} - ${staff.staffId}`)
// console.log(staffs)

}))
.sort((a: combo, b: combo) => {
const [_custType_A, id_A] = readIntFromString(a.value) as [string, number]
const [_custType_B, id_B] = readIntFromString(b.value) as [string, number]
return (id_A - id_B)
});
const searchCriteria: Criterion<SearchParamNames>[] = useMemo(
() => [
{
@@ -83,18 +98,11 @@ return (
status: "All",
lowerLimit: 0.9
}
if (query.team.length > 0 && query.team.toLocaleLowerCase() !== "all") {
if (query.team.length > 0 && query.team.toLocaleLowerCase() !== "all") {
index = teamCombo.findIndex(team => team === query.team)
// console.log(index)
// console.log(teamCombo)
const sortedTeam = team.sort((a, b) => a.code.localeCompare(b.code))
// console.log(sortedTeam)
const sortedId = sortedTeam[index].id
// console.log(sortedId)
// console.log(team.find(team => query.team === `${team.code} - Team ${team.staffName}`)?.id)
// const teamId = team.find(team => query.team === `${team.code} - Team ${team.staffName}`)?.id
postData.teamId = sortedId
// postData.teamId = teamId
const teamId = team[index].id
console.log(teamId)
postData.teamId = teamId
}
if (Boolean(query.lowerLimit)) {
postData.lowerLimit = query.lowerLimit/100


Завантаження…
Відмінити
Зберегти