main.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import ElementUI from 'element-ui'
  6. import { resetForm } from '@/utils/element-ui'
  7. import { selectDictLabel, parseTime } from '@/utils/dataDict'
  8. import { mymsgbox, myNotification, popupduration } from '@/utils/variouspopups'
  9. import dataV from '@jiaminghi/data-view'
  10. import 'element-ui/lib/theme-chalk/index.css'
  11. import '@/assets/font/iconfont.css'
  12. import './pemission'
  13. import { resolveBlob } from '@/utils'
  14. // 全局设置消息框 点击屏幕外部不能关闭
  15. ElementUI.MessageBox.setDefaults({ closeOnClickModal: false })
  16. ElementUI.Dialog.props.closeOnClickModal.default = false
  17. Vue.config.productionTip = false
  18. const requireComponent = require.context(
  19. // 其组件目录的相对路径
  20. './components/',
  21. // 是否查询其子目录
  22. true,
  23. // 匹配基础组件文件名的正则表达式
  24. /\.vue$/
  25. )
  26. requireComponent.keys().forEach((fileName) => {
  27. // 获取组件配置
  28. const componentConfig = requireComponent(fileName)
  29. // 全局注册组件
  30. Vue.component(
  31. componentConfig.default.name,
  32. // 如果这个组件选项是通过 `export default` 导出的,
  33. // 那么就会优先使用 `.default`,
  34. // 否则回退到使用模块的根。
  35. componentConfig.default || componentConfig
  36. )
  37. })
  38. Vue.prototype.selectDictLabel = selectDictLabel
  39. Vue.prototype.parseTime = parseTime
  40. Vue.prototype.$resolveBlob = resolveBlob
  41. Vue.prototype.resetForm = resetForm
  42. Vue.prototype.popupduration = popupduration
  43. Vue.use(ElementUI)
  44. Vue.use(dataV)
  45. new Vue({
  46. router,
  47. store,
  48. beforeCreate() {
  49. Vue.prototype.$Wbus = this
  50. },
  51. render: (h) => h(App)
  52. }).$mount('#app')