main.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import Element from 'element-ui'
  4. import App from '@/App'
  5. import i18n from '@/i18n'
  6. import store from '@/store'
  7. import store_v3 from '@/store_v3'
  8. import router from '@/router'
  9. import '@/icons'
  10. import '@/element-ui/theme/index.css'
  11. import '@/assets/scss/aui.scss'
  12. import http from '@/utils/request'
  13. import service from '@/utils/service'
  14. import service2 from '@/utils/service2'
  15. import renRadioGroup from '@/components/ren-radio-group'
  16. import renSelect from '@/components/ren-select'
  17. import renProcessMultiple from '@/components/ren-process-multiple'
  18. import renProcessStart from '@/components/ren-process-start'
  19. import renProcessRunning from '@/components/ren-process-running'
  20. import renProcessDetail from '@/components/ren-process-detail'
  21. import renDeptTree from '@/components/ren-dept-tree'
  22. import renOrgTree from '@/components/ren-org-tree'
  23. import renGridTree from '@/components/ren-grid-tree'
  24. import deptSchoolSelect from '@/components/dept-school-select'
  25. import renRegionTree from '@/components/ren-region-tree'
  26. import { hasPermission, getDictLabel } from '@/utils'
  27. import cloneDeep from 'lodash/cloneDeep'
  28. // import VideoPlayer from 'vue-video-player'
  29. // import 'vue-video-player/src/custom-theme.css'
  30. // import 'video.js/dist/video-js.css'
  31. import { emitter } from '@/utils/emitter';
  32. import '@/assets/scss/global.scss'
  33. import plugins from './plugins' // plugins
  34. Vue.use(plugins)
  35. import directive from './directive' // directive
  36. directive(Vue)
  37. import { download } from '@/utils/request2'
  38. import { useDict } from '@/utils/dict'
  39. import { getConfigKey, updateConfigByKey } from "@/api/system/config";
  40. import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi'
  41. Vue.prototype.useDict = useDict
  42. Vue.prototype.getConfigKey = getConfigKey
  43. Vue.prototype.updateConfigByKey = updateConfigByKey
  44. Vue.prototype.download = download
  45. Vue.prototype.parseTime = parseTime
  46. Vue.prototype.resetForm = resetForm
  47. Vue.prototype.handleTree = handleTree
  48. Vue.prototype.addDateRange = addDateRange
  49. Vue.prototype.selectDictLabel = selectDictLabel
  50. Vue.prototype.selectDictLabels = selectDictLabels
  51. Vue.prototype.emitter = emitter
  52. // 导入富文本
  53. import VueQuillEditor from 'vue-quill-editor'
  54. import 'quill/dist/quill.core.css'
  55. import 'quill/dist/quill.snow.css'
  56. import 'quill/dist/quill.bubble.css'
  57. // import './utils/rem'
  58. import '@/assets/scss/font/font.css'
  59. import '@/assets/iconfont/iconfont.css'
  60. import '@/utils/flexible.js'
  61. import '@/assets/scss/wms/index.scss' // global css
  62. Vue.config.productionTip = false
  63. Vue.config.silent = true
  64. Vue.use(Element, {
  65. size: 'default',
  66. i18n: (key, value) => i18n.t(key, value)
  67. })
  68. Vue.use(renRadioGroup)
  69. Vue.use(renSelect)
  70. Vue.use(renDeptTree)
  71. Vue.use(renOrgTree)
  72. Vue.use(renGridTree)
  73. Vue.use(renRegionTree)
  74. Vue.use(renProcessMultiple)
  75. Vue.use(renProcessStart)
  76. Vue.use(renProcessRunning)
  77. Vue.use(renProcessDetail)
  78. Vue.use(deptSchoolSelect)
  79. Vue.use(Router)
  80. Vue.use(store_v3)
  81. Vue.use(VueQuillEditor)
  82. // 挂载全局
  83. Vue.prototype.$http = http
  84. Vue.prototype.$service = service
  85. Vue.prototype.$service2 = service2
  86. Vue.prototype.$hasPermission = hasPermission
  87. Vue.prototype.$getDictLabel = getDictLabel
  88. const originalPush = Router.prototype.push
  89. const originalReplace = Router.prototype.replace
  90. // push
  91. Router.prototype.push = function push(location, onResolve, onReject) {
  92. if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  93. return originalPush.call(this, location).catch(err => err)
  94. }
  95. // replace
  96. Router.prototype.replace = function push(location, onResolve, onReject) {
  97. if (onResolve || onReject) return originalReplace.call(this, location, onResolve, onReject)
  98. return originalReplace.call(this, location).catch(err => err)
  99. }
  100. // 保存整站vuex本地储存初始状态
  101. window.SITE_CONFIG['storeState'] = cloneDeep(store.state)
  102. let vue = new Vue({
  103. i18n,
  104. store,
  105. router,
  106. render: h => h(App)
  107. }).$mount('#app')
  108. export default vue