| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | import { getDict } from '@/api/toConsult.js'import dayjs from 'dayjs'import Dicts from '../utils/dicts'import { mapActions } from 'vuex'import { imgUrl } from '@/utils/index'export default {  data() {    return {}  },  created() {    /** 组件中设置dicts数组,会将字典存储在vuex中*/    if (this.dicts && this.dicts.length > 0) {      this.setDicts()    }  },  methods: {    ...mapActions(['setDict']),    setDicts() {      this.dicts.forEach(item => {        this.setDict(item)      })    },    /** 获取字典值     * key: String 字典类型     * 组件页面中需要设置:mapGetters(['dictionary']']),     * */    getDictItem(key) {      let item = this.dictionary.find(v => {        return v.key === key      })      console.log(item, 'item')      return item?.value    },    /** 获取字典值     * key: String 查询具体值     * dictType: String 字典类型     * 组件页面中需要设置:mapGetters(['dictionary']']),     * */    getDictLabel(key, dictType) {      let item = this.dictionary?.find(v => {        return v.key === dictType      })      let dictLabel = item?.value?.find(v => {        if (v.dictValue == key) {          return v?.dictLabel        }      })      return dictLabel?.dictLabel    },    //时间范围模板:2020-01-01~2020-01-02    rangDate(start, end, a) {      if (!start || !end) return '暂无'      !a && (a = '~')      return `${start}${a}${end}`    },    //根据字典类型获取字典值    getDictHandler(dictType, callBack) {      getDict(dictType).then(res => {        let { data } = res        callBack(data)      })    },    //调用预览和pdf(内网银行)    openFilePreview(item) {      const parms = {        url: item.url.indexOf('http') > -1 ? item.url : imgUrl(item.url),        name: item.name      }      let system = this.isAndroidOrIos();      if (system === 1) {        //android        // 判断当前环境是是否存在 js桥 'sap'        const hasSap = window.hasOwnProperty('sap')        if (hasSap) {          // 判断是否存在方法 ?preview          const fun = sap.hasOwnProperty('preview')          if (fun) {            sap.preview(JSON.stringify(parms))          }        }      }      if (system === 2) {        //ios        // 判断 ios是否存在方法 preview        const fun = window.webkit.messageHandlers.hasOwnProperty('preview')        if (fun) {          window.webkit.messageHandlers.preview.postMessage(JSON.stringify(parms))        }      }    },    //调用NFC    useNFC() {      let system = this.isAndroidOrIos()      const parms = {        "iOS_SessionType": "0"      }      if (system === 1) {        //android        // 判断当前环境是是否存在 js桥 'sap'        const hasSap = window.hasOwnProperty('sap');        if (hasSap) {          // 判断是否存在方法 ?preview          const fun = sap.hasOwnProperty('openNFCScan');          if (fun) {            sap.openNFCScan(JSON.stringify(parms));          }        }      }      if (system === 2) {        //ios        // 判断 ios是否存在方法 preview        const fun = window.webkit.messageHandlers.hasOwnProperty('openNFCScan')        if (fun) {          window.webkit.messageHandlers.openNFCScan.postMessage(JSON.stringify(parms))        }      }    },    //调用相机和相册    useCamera(actionType) {      window.openCameraCallBack = null      window.openCameraCallBack = this.openCameraCallBack      let parms = {}      if (actionType) {        parms.actionType = actionType        parms.compressKb = '1024'      }      let system = this.isAndroidOrIos()      if (system === 1) {        //android        // 判断当前环境是是否存在 js桥 'sap'        const hasSap = window.hasOwnProperty('sap')        if (hasSap) {          // 判断是否存在方法 ?preview          const fun = sap.hasOwnProperty('openCamera')          if (fun) {            sap.openCamera(JSON.stringify(parms))          }        }      }      if (system === 2) {        //ios        // 判断 ios是否存在方法 preview        const preview = window.webkit.messageHandlers.hasOwnProperty('openCamera')        if (preview) {          window.webkit.messageHandlers.openCamera.postMessage(JSON.stringify(parms))        }      }    },    isAndroidOrIos() {      const urls = navigator.userAgent      console.log(urls, 'urls')      let isAndroid = urls.indexOf('Android') > -1 || urls.indexOf('Linux') > -1      let isIos = !!urls.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)      if (isAndroid) {        return 1      }      if (isIos) {        return 2      }      return 3    }  }}
 |