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: "",
|
posExecutiveName: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const FILTER_TYPES = {
|
||||||
|
EVALUATOR: "evaluatorIdOp",
|
||||||
|
COMMANDER: "commanderIdOp",
|
||||||
|
COMMANDER_HIGH: "commanderHighOp",
|
||||||
|
} as const;
|
||||||
|
|
||||||
const evaluatorIdOp = ref<DataOption[]>([]);
|
const evaluatorIdOp = ref<DataOption[]>([]);
|
||||||
const commanderIdOp = ref<DataOption[]>([]);
|
const commanderIdOp = ref<DataOption[]>([]);
|
||||||
const commanderHighOp = ref<DataOption[]>([]);
|
const commanderHighOp = ref<DataOption[]>([]);
|
||||||
|
|
@ -199,31 +205,38 @@ function fetchRoundOption() {
|
||||||
* @param refData เเยกประเภท
|
* @param refData เเยกประเภท
|
||||||
*/
|
*/
|
||||||
function filterOption(val: string, update: Function, refData: string) {
|
function filterOption(val: string, update: Function, refData: string) {
|
||||||
switch (refData) {
|
const filterConfig = {
|
||||||
case "evaluatorIdOp":
|
[FILTER_TYPES.EVALUATOR]: {
|
||||||
update(() => {
|
sourceData: evaluatorIdMainOp.value,
|
||||||
evaluatorIdOp.value = evaluatorIdMainOp.value.filter(
|
targetRef: evaluatorIdOp,
|
||||||
(v: DataOption) => v.name.indexOf(val) > -1
|
excludeIds: [formRound.commanderId, formRound.commanderHighId],
|
||||||
);
|
},
|
||||||
});
|
[FILTER_TYPES.COMMANDER]: {
|
||||||
break;
|
sourceData: commanderIdMainOp.value,
|
||||||
case "commanderIdOp":
|
targetRef: commanderIdOp,
|
||||||
update(() => {
|
excludeIds: [formRound.evaluatorId, formRound.commanderHighId],
|
||||||
commanderIdOp.value = commanderIdMainOp.value.filter(
|
},
|
||||||
(v: DataOption) => v.name.indexOf(val) > -1
|
[FILTER_TYPES.COMMANDER_HIGH]: {
|
||||||
);
|
sourceData: commanderHighMainOp.value,
|
||||||
});
|
targetRef: commanderHighOp,
|
||||||
break;
|
excludeIds: [formRound.evaluatorId, formRound.commanderId],
|
||||||
case "commanderHighOp":
|
},
|
||||||
update(() => {
|
};
|
||||||
commanderHighOp.value = commanderHighMainOp.value.filter(
|
|
||||||
(v: DataOption) => v.name.indexOf(val) > -1
|
const config = filterConfig[refData as keyof typeof filterConfig];
|
||||||
);
|
|
||||||
});
|
if (!config) return;
|
||||||
break;
|
|
||||||
default:
|
// กรองข้อมูลโดยเอา excludeIds ออก
|
||||||
break;
|
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