飞天云平台-国产化
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.5 KiB

1 month ago
1 month ago
  1. import Vue from 'vue'
  2. import Cookies from 'js-cookie'
  3. import 'normalize.css/normalize.css'
  4. import Element from 'element-ui'
  5. // 数据字典
  6. // import dict from './components/Dict'
  7. // 权限指令
  8. import checkPer from '@/utils/permission'
  9. import permission from './components/Permission'
  10. import './assets/styles/element-variables.scss'
  11. // global css
  12. import './assets/styles/index.scss'
  13. import './assets/iconfonts/iconfont.js'
  14. // 代码高亮
  15. import VueHighlightJS from 'vue-highlightjs'
  16. import 'highlight.js/styles/atom-one-dark.css'
  17. import App from './App'
  18. import store from './store'
  19. import router from './router/routers'
  20. import './assets/icons' // icon
  21. import './router/index' // permission control
  22. import 'echarts-gl'
  23. import uploader from 'vue-simple-uploader'
  24. import VueViewer from 'v-viewer'
  25. import 'viewerjs/dist/viewer.css'
  26. import Print from 'vue-print-nb'
  27. // 加载用户主题
  28. if (localStorage.getItem('themeValue')) {
  29. window.document.documentElement.setAttribute('data-theme', localStorage.getItem('themeValue'))
  30. }
  31. // 全局注册过滤 - 时间
  32. import { parseTime, removeQUPrefix, removeQuLayerPrefix, removeMianBeforeRefix } from '@/utils/index.js'
  33. Vue.filter('parseTime', function(time, cFormat) {
  34. return parseTime(time, cFormat)
  35. })
  36. Vue.filter('removeQUPrefix', function(gridNames) {
  37. return removeQUPrefix(gridNames)
  38. })
  39. Vue.filter('removeQuLayerPrefix', function(gridNames) {
  40. return removeQuLayerPrefix(gridNames)
  41. })
  42. Vue.filter('removeMianBeforeRefix', function(gridNames) {
  43. return removeMianBeforeRefix(gridNames)
  44. })
  45. // 解决el-radio报错
  46. Vue.directive('removeAriaHidden', {
  47. bind(el, binding) {
  48. const ariaEls = el.querySelectorAll('.el-radio__original')
  49. ariaEls.forEach((item) => {
  50. item.removeAttribute('aria-hidden')
  51. })
  52. }
  53. })
  54. import VueCropper from 'vue-cropper'
  55. Vue.use(VueCropper)
  56. import mavonEditor from 'mavon-editor'
  57. import 'mavon-editor/dist/css/index.css'
  58. Vue.use(mavonEditor)
  59. Vue.use(uploader)
  60. Vue.use(checkPer)
  61. Vue.use(VueHighlightJS)
  62. Vue.use(VueViewer)
  63. Vue.use(permission)
  64. // Vue.use(dict)
  65. Vue.use(Element, {
  66. size: Cookies.get('size') || 'small' // set element-ui default size
  67. })
  68. Vue.use(Print)
  69. import X2js from 'x2js' // xml数据处理插件
  70. Vue.prototype.$x2js = new X2js() // 创建x2js对象,挂到vue原型上
  71. Vue.config.productionTip = false
  72. // 江夏图书馆馆代码
  73. Vue.prototype.libcode = '1501'
  74. new Vue({
  75. el: '#app',
  76. router,
  77. store,
  78. render: h => h(App)
  79. })