飞天云平台-国产化
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.

108 lines
2.6 KiB

3 months ago
1 month ago
3 months ago
3 months 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. // import Vconsole from 'vconsole'
  28. // const vConsole = new Vconsole()
  29. // export default vConsole
  30. // 加载用户主题
  31. if (localStorage.getItem('themeValue')) {
  32. window.document.documentElement.setAttribute('data-theme', localStorage.getItem('themeValue'))
  33. }
  34. // 全局注册过滤 - 时间
  35. import { parseTime, removeQUPrefix, removeQuLayerPrefix, removeMianBeforeRefix } from '@/utils/index.js'
  36. Vue.filter('parseTime', function(time, cFormat) {
  37. return parseTime(time, cFormat)
  38. })
  39. Vue.filter('removeQUPrefix', function(gridNames) {
  40. return removeQUPrefix(gridNames)
  41. })
  42. Vue.filter('removeQuLayerPrefix', function(gridNames) {
  43. return removeQuLayerPrefix(gridNames)
  44. })
  45. Vue.filter('removeMianBeforeRefix', function(gridNames) {
  46. return removeMianBeforeRefix(gridNames)
  47. })
  48. // 解决el-radio报错
  49. Vue.directive('removeAriaHidden', {
  50. bind(el, binding) {
  51. const ariaEls = el.querySelectorAll('.el-radio__original')
  52. ariaEls.forEach((item) => {
  53. item.removeAttribute('aria-hidden')
  54. })
  55. }
  56. })
  57. import VueCropper from 'vue-cropper'
  58. Vue.use(VueCropper)
  59. import mavonEditor from 'mavon-editor'
  60. import 'mavon-editor/dist/css/index.css'
  61. Vue.use(mavonEditor)
  62. Vue.use(uploader)
  63. Vue.use(checkPer)
  64. Vue.use(VueHighlightJS)
  65. Vue.use(VueViewer)
  66. Vue.use(permission)
  67. // Vue.use(dict)
  68. Vue.use(Element, {
  69. size: Cookies.get('size') || 'small' // set element-ui default size
  70. })
  71. Vue.use(Print)
  72. import X2js from 'x2js' // xml数据处理插件
  73. Vue.prototype.$x2js = new X2js() // 创建x2js对象,挂到vue原型上
  74. Vue.config.productionTip = false
  75. // 江夏图书馆馆代码
  76. Vue.prototype.libcode = '1501'
  77. new Vue({
  78. el: '#app',
  79. router,
  80. store,
  81. render: h => h(App)
  82. })