Skip to content

charge(收费)项目中的字典功能

简介

charge(收费)项目需要用到的字典,将其抽取为公共文件

文件里包含获取对应的字典数据和相应的格式化方法(将val转换为对应的name值)

备注

这个版本是一次性把所有的字典都引进去

最优版本应该是页面需要哪个组件,就传入对应的字典参数(懒得写)

文件地址

charge(收费)项目

@/applications/charge/webservice/med/otherOperation/personnelChronicDiseaseTreatmentInquiry/use-dict.js

使用

1、引入use-dict文件

js
  import useDict from '@/applications/charge/webservice/med/otherOperation/personnelChronicDiseaseTreatmentInquiry/use-dict.js'

2、注册页面使用的变量和方法

js
const {
  listMedDicItemsOfBatchDictTypes,
  formatInsutype,
  formatDclaSouc,
  formatPsnCertType,
  formatGend,
  formatNaty,
  formatInsuAdmdvs,
  formatDiseTypeCode,
  formatValiFlag
} = useDict()

备注

页面使用哪个格式方法就引入对应的方法

3、页面使用

参考页面地址:

charge项目 charge/webservice/med/otherOperation/personnelChronicDiseaseTreatmentInquiry/index

公共文件代码

js
// 字典文件
// 获取字典数据
// 字典格式化方法
import {ref} from 'vue'
import { listMedDicItemsOfBatchDictTypesApi } from '@/api/charge/in/admissionRegister'

export default function useDict() {
  //字典
  const dictType = ref({
    medInsurType: '',
    busiType: '2',
    dicTypes: [
      // 有效标识
      'vali_flag',
      // 病种类型
      'dise_type_code',
      // 参保所属医保区划
      'insuplc_admdvs',
      // 民族
      'naty',
      // 性别
      'gend',
      // 人员证件类型
      'psn_cert_type',
      // 申报来源
      'dcla_souc',
      // 医疗类别
      'med_type',
      // 险种类型
      'insutype',
      // 人员类型
      'psn_type',
      // 医疗保险类别
      'his_type',
      // 参保状态
      'psn_insu_stas',
      // 公务员标志
      'cvlserv_flag',
      // 人员身份等级
      'disa_lv',
      // 人员身份类别
      'psn_idet_type',
      // 限制使用标志
      'lmt_used_flag',
      // 医疗收费类别
      'med_chrgitm_type',
      // 收费项目等级
      'chrgitm_lv',
      // 医疗使用标志
      'med_use_flag',
      // 生育使用标志
      'matn_used_flag',
      // 限复方使用类别
      'lmt_cpnd_type',
      // 审核状态
      'chk_stas',
      // 关系
      'agnter_rlts'
    ]
  })

  // 有效标识字典
  const valiFlagOptions = ref([])
  // 病种类型字典
  const diseTypeCodeOptions = ref([])
  // 参保所属医保区划字典
  const insuAdmdvsOptions = ref([])
  // 民族字典
  const natyOptions = ref([])
  // 性别字典
  const gendOptions = ref([])
  // 人员证件类型字典
  const psnCertTypeOptions = ref([])
  // 申报来源字典
  const dclaSoucOptions = ref([])
  // 险种类型字典
  const insutypeOptions = ref([])
  // 医疗类别
  const medTypeOptions = ref([])
  // 人员类型
  const psnTypeOptions = ref([])
  // 医疗保险类别
  const hisTypeOptions = ref([])
  // 参保状态
  const psnInsuStasOptions = ref([])
  // 公务员标志
  const cvlservFlagOptions = ref([])
  // 人员身份等级
  const psnTypeLvOptions = ref([])
  // 人员身份类别
  const psnIdetTypeOptions = ref([])
  // 限制使用标志
  const lmtUsedFlagOptions = ref([])
  // 医疗收费项目类别
  const medChrgitmTypeOptions = ref([])
  // 收费项目等级
  const chrgitmLvOptions = ref([])
  // 医疗使用标志
  const medUseFlagOptions = ref([])
  // 生育使用标志
  const matnUsedFlagOptions = ref([])
  // 限复方使用类别
  const lmtCpndTypeOptions = ref([])
  // 审核状态
  const chkStasOptions = ref([])
  // 关系
  const agnterRltsOptions = ref([])

  //获取字典
  function listMedDicItemsOfBatchDictTypes(obj) {
    dictType.value.medInsurType = obj.medicalInsuranceType;
    listMedDicItemsOfBatchDictTypesApi(dictType.value).then((res) => {
      const data = res.data || {}
      valiFlagOptions.value = data.vali_flag || []
      diseTypeCodeOptions.value = data.dise_type_code || []
      insuAdmdvsOptions.value = data.insuplc_admdvs || []
      natyOptions.value = data.naty || []
      gendOptions.value = data.gend || []
      psnCertTypeOptions.value = data.psn_cert_type || []
      dclaSoucOptions.value = data.dcla_souc || []
      insutypeOptions.value = data.insutype || []
      medTypeOptions.value = data.med_type || []
      psnTypeOptions.value = data.psn_type || []
      hisTypeOptions.value = data.his_type || []
      psnInsuStasOptions.value = data.psn_insu_stas || []
      cvlservFlagOptions.value = data.cvlserv_flag || []
      psnTypeLvOptions.value = data.disa_lv || []
      psnIdetTypeOptions.value = data.psn_idet_type || []
      lmtUsedFlagOptions.value = data.lmt_used_flag || []
      medChrgitmTypeOptions.value = data.med_chrgitm_type || []
      chrgitmLvOptions.value = data.chrgitm_lv || []
      medUseFlagOptions.value = data.med_use_flag || []
      matnUsedFlagOptions.value = data.matn_used_flag || []
      lmtCpndTypeOptions.value = data.lmt_cpnd_type || []
      chkStasOptions.value = data.chk_stas || []
      agnterRltsOptions.value = data.agnter_rlts || []
    })
  }

  // 格式化审核状态
  function formatAgnterRlts(val) {
    if (val) {
      const obj = agnterRltsOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化审核状态
  function formatChkStas(val) {
    if (val) {
      const obj = chkStasOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化限复方使用类别
  function formatLmtCpndType(val) {
    if (val) {
      const obj = lmtCpndTypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化生育使用标志
  function formatMatnUsedFlag(val) {
    if (val) {
      const obj = matnUsedFlagOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化医疗使用标志
  function formatMedUseFlag(val) {
    if (val) {
      const obj = medUseFlagOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化医疗收费项目类别
  function formatChrgitmLv(val) {
    if (val) {
      const obj = chrgitmLvOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化医疗收费项目类别
  function formatMedChrgitmType(val) {
    if (val) {
      const obj = medChrgitmTypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化限制使用标志
  function formatLmtUsedFlag(val) {
    if (val) {
      const obj = lmtUsedFlagOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化人员身份类别
  function formatPsnIdetType(val) {
    if (val) {
      const obj = psnIdetTypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化人员身份等级
  function formatPsnTypeLv(val) {
    if (val) {
      const obj = psnTypeLvOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化公务员标志
  function formatCvlservFlag(val) {
    if (val) {
      const obj = cvlservFlagOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化参保状态
  function formatPsnInsuStas(val) {
    if (val) {
      const obj = psnInsuStasOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化人员类型
  function formatPsnType(val) {
    if (val) {
      const obj = psnTypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化险种类型
  function formatInsutype(val) {
    if (val) {
      const obj = insutypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化申报来源
  function formatDclaSouc(val) {
    if (val) {
      const obj = dclaSoucOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化人员证件类型
  function formatPsnCertType(val) {
    if (val) {
      const obj = psnCertTypeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化性别
  function formatGend(val) {
    if (val) {
      const obj = gendOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化民族
  function formatNaty(val) {
    if (val) {
      const obj = natyOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化参保所属地区划
  function formatInsuAdmdvs(val) {
    if (val) {
      const obj = insuAdmdvsOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }


  // 格式化病种类型
  function formatDiseTypeCode(val) {
    if (val) {
      const obj = diseTypeCodeOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  // 格式化有效标识
  function formatValiFlag(val) {
    if (val) {
      const obj = valiFlagOptions.value.find((item) => item.dicCode === val) || {}
      return obj.dicName
    }
  }

  return {
    valiFlagOptions,
    diseTypeCodeOptions,
    insuAdmdvsOptions,
    natyOptions,
    gendOptions,
    psnCertTypeOptions,
    dclaSoucOptions,
    insutypeOptions,
    medTypeOptions,
    psnTypeOptions,
    hisTypeOptions,
    psnInsuStasOptions,
    cvlservFlagOptions,
    psnTypeLvOptions,
    psnIdetTypeOptions,
    lmtUsedFlagOptions,
    medChrgitmTypeOptions,
    chrgitmLvOptions,
    medUseFlagOptions,
    matnUsedFlagOptions,
    lmtCpndTypeOptions,
    chkStasOptions,
    agnterRltsOptions,
    listMedDicItemsOfBatchDictTypes,
    formatAgnterRlts,
    formatPsnType,
    formatInsutype,
    formatDclaSouc,
    formatPsnCertType,
    formatGend,
    formatNaty,
    formatInsuAdmdvs,
    formatDiseTypeCode,
    formatValiFlag,
    formatPsnInsuStas,
    formatCvlservFlag,
    formatPsnTypeLv,
    formatPsnIdetType,
    formatLmtUsedFlag,
    formatMedChrgitmType,
    formatChrgitmLv,
    formatMedUseFlag,
    formatMatnUsedFlag,
    formatLmtCpndType,
    formatChkStas
  }
}

如有转载或 CV 的请标注本站原文地址