fix:filter evaluator commander commanderHigh
This commit is contained in:
parent
68e8e6575d
commit
cbc7e91967
1 changed files with 38 additions and 25 deletions
|
|
@ -67,6 +67,12 @@ const formRound = reactive({
|
|||
posExecutiveName: "",
|
||||
});
|
||||
|
||||
const FILTER_TYPES = {
|
||||
EVALUATOR: "evaluatorIdOp",
|
||||
COMMANDER: "commanderIdOp",
|
||||
COMMANDER_HIGH: "commanderHighOp",
|
||||
} as const;
|
||||
|
||||
const evaluatorIdOp = ref<DataOption[]>([]);
|
||||
const commanderIdOp = ref<DataOption[]>([]);
|
||||
const commanderHighOp = ref<DataOption[]>([]);
|
||||
|
|
@ -199,31 +205,38 @@ function fetchRoundOption() {
|
|||
* @param refData เเยกประเภท
|
||||
*/
|
||||
function filterOption(val: string, update: Function, refData: string) {
|
||||
switch (refData) {
|
||||
case "evaluatorIdOp":
|
||||
update(() => {
|
||||
evaluatorIdOp.value = evaluatorIdMainOp.value.filter(
|
||||
(v: DataOption) => v.name.indexOf(val) > -1
|
||||
);
|
||||
});
|
||||
break;
|
||||
case "commanderIdOp":
|
||||
update(() => {
|
||||
commanderIdOp.value = commanderIdMainOp.value.filter(
|
||||
(v: DataOption) => v.name.indexOf(val) > -1
|
||||
);
|
||||
});
|
||||
break;
|
||||
case "commanderHighOp":
|
||||
update(() => {
|
||||
commanderHighOp.value = commanderHighMainOp.value.filter(
|
||||
(v: DataOption) => v.name.indexOf(val) > -1
|
||||
);
|
||||
});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
const filterConfig = {
|
||||
[FILTER_TYPES.EVALUATOR]: {
|
||||
sourceData: evaluatorIdMainOp.value,
|
||||
targetRef: evaluatorIdOp,
|
||||
excludeIds: [formRound.commanderId, formRound.commanderHighId],
|
||||
},
|
||||
[FILTER_TYPES.COMMANDER]: {
|
||||
sourceData: commanderIdMainOp.value,
|
||||
targetRef: commanderIdOp,
|
||||
excludeIds: [formRound.evaluatorId, formRound.commanderHighId],
|
||||
},
|
||||
[FILTER_TYPES.COMMANDER_HIGH]: {
|
||||
sourceData: commanderHighMainOp.value,
|
||||
targetRef: commanderHighOp,
|
||||
excludeIds: [formRound.evaluatorId, formRound.commanderId],
|
||||
},
|
||||
};
|
||||
|
||||
const config = filterConfig[refData as keyof typeof filterConfig];
|
||||
|
||||
if (!config) return;
|
||||
|
||||
// กรองข้อมูลโดยเอา excludeIds ออก
|
||||
const filteredData = config.sourceData.filter(
|
||||
(item: DataOption) => !config.excludeIds.includes(item.id)
|
||||
);
|
||||
|
||||
update(() => {
|
||||
config.targetRef.value = filteredData.filter((item: DataOption) =>
|
||||
item.name.toLowerCase().includes(val.toLowerCase())
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/** เช็ครอบการประเมินที่ปิดรอบ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue