123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import { defineStore } from 'pinia'
- // import { LOCAL_SELECT } from '/@/stores/constant/cacheKey'
- import type { LocalSelect, LocalSelectOption, LOCAL_SELECT_KEY, LocalSelectKey } from '/@/stores/interface'
- import { getCommonList } from '/@/api/backend/select'
- const _KEY: LocalSelectKey = {
- DICT_LIST: 'DICT_LIST',
- GENDER_LIST: 'GENDER_LIST',
- INS_LIST: 'INS_LIST',
- INS_NAME_LIST: 'INS_NAME_LIST',
- INS_TYPE_LIST: 'INS_TYPE_LIST',
- HR_RANGE_LIST: 'HR_RANGE_LIST',
- GROUP_LIST: 'GROUP_LIST',
- BODYSITE_CATEG_LIST: 'BODYSITE_CATEG_LIST',
- MODALITY_LIST: 'MODALITY_LIST'
- }
- const getDefaultLocalSelectOption = (options: any[] = []) => {
- return {
- options,
- key: 'code',
- label: 'name',
- value: 'name',
- }
- }
- const getCodeLocalSelectOption = (options: any[] = []) => {
- return {
- options,
- key: 'code',
- label: 'name',
- value: 'code',
- }
- }
- const STATUS_LIST: LocalSelectOption = getCodeLocalSelectOption([
- { code: 1, name: '是', },
- { code: 2, name: '否', },
- ])
- const HR_STATUS_LIST: LocalSelectOption = getDefaultLocalSelectOption([
- { code: 1, name: '互认', },
- { code: 2, name: '不互认', },
- ])
- const mergeOptions = (oldOptions: any[], newOptions: any[] = []) => {
- oldOptions.push(...newOptions)
- }
- export const useLocalSelect = defineStore('localSelect', {
- state: (): LocalSelect => {
- return {
- _KEY,
- STATUS_LIST,
- HR_STATUS_LIST,
- DICT_LIST: getDefaultLocalSelectOption(),
- GENDER_LIST: getDefaultLocalSelectOption(),
- INS_LIST: getCodeLocalSelectOption(),
- INS_NAME_LIST: getCodeLocalSelectOption(),
- INS_TYPE_LIST: getDefaultLocalSelectOption(),
- HR_RANGE_LIST: getDefaultLocalSelectOption(),
- GROUP_LIST: getCodeLocalSelectOption(),
- BODYSITE_CATEG_LIST: getDefaultLocalSelectOption(),
- MODALITY_LIST: getDefaultLocalSelectOption(),
- }
- },
- actions: {
- async initLISTS(keys: LOCAL_SELECT_KEY[]) {
- for(const key of keys) {
- await this.initLIST(key)
- }
- },
- async initLIST(key: LOCAL_SELECT_KEY) {
- const option: LocalSelectOption = this[key]
- if(!option) {
- console.log('error initLIST KEY:' + key)
- return false
- }
- if(option.initialize) {
- return true
- }
- const res = await getCommonList(key)
- mergeOptions(option.options, res?.data?.list || [])
- option.initialize = true
- },
- // async initGENDER_LIST() {
- // if(this.GENDER_LIST.initialize) {
- // return true
- // }
- // const res = await getGENDERList()
- // mergeOptions(this.GENDER_LIST.options, res?.data?.list || [])
- // this.GENDER_LIST.initialize = true
- // },
- // async initINS_LIST() {
- // if(this.INS_LIST.initialize) {
- // return true
- // }
- // const res = await getINS_LIST()
- // mergeOptions(this.INS_LIST.options, res?.data?.list || [])
- // this.INS_LIST.initialize = true
- // }
- },
- persist: false
- })
|