import { ref } from 'vue';

import { useBaseStore } from '#/store';
import {
  TMS_DIC,
  TMS_DIC_FIELD_NAMES,
  labelOfPassFlagOpts,
  loadTmsDic,
  type TmsDicOpt,
} from '#/views/x/tms/shared/dic';

export { TMS_DIC_FIELD_NAMES };

export const PASS_FLAG_OPTIONS = ref<TmsDicOpt[]>([]);
/** 成绩查询筛选项：仅合格/不合格 */
export const PASS_FLAG_FILTER_OPTIONS = ref<TmsDicOpt[]>([]);

export async function loadExamScoreDics() {
  const baseStore = useBaseStore();
  const passFlag = await loadTmsDic(baseStore, TMS_DIC.passFlag);
  PASS_FLAG_OPTIONS.value = passFlag;
  PASS_FLAG_FILTER_OPTIONS.value = passFlag.filter((x) => {
    const code = x.enCode || x.id;
    return code === 'pass' || code === 'fail';
  });
}

export function labelOfPassFlag(v?: string | null) {
  return labelOfPassFlagOpts(PASS_FLAG_OPTIONS.value, v);
}
