main.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import Vue from 'vue'
  2. import 'normalize.css/normalize.css' // a modern alternative to CSS resets
  3. import Element from 'element-ui'
  4. import './styles/element-variables.scss'
  5. import '@/styles/index.scss' // global css
  6. /*****本项目【共通css】****/
  7. import './styles/common.css'
  8. import App from './App'
  9. import store from './store'
  10. import router from './router'
  11. import i18n from './lang' // internationalization
  12. import './icons' // icon
  13. import './utils/error-log' // error log
  14. import request from '@/utils/request'
  15. import * as filters from './filters' // global filters
  16. import { hasPermission, hasNoPermission, hasAnyPermission } from './utils/permissionDirect'
  17. import uploader from 'vue-simple-uploader'
  18. import VueLazyload from 'vue-lazyload'
  19. // 打印
  20. import Print from 'vue-print-nb'
  21. /************************ WKS添加本项目常量和方法(start)***************************/
  22. // 导入项目需要的【常量和方法】
  23. import PluginsWks from './components/Plugins/Plugins'
  24. //通过全局方法 Vue.use() 使用插件
  25. Vue.use(PluginsWks)
  26. /************************ WKS添加本项目常量和方法(end)***************************/
  27. Vue.use(VueLazyload)
  28. const Plugins = [
  29. hasPermission,
  30. hasNoPermission,
  31. hasAnyPermission
  32. ]
  33. Plugins.map((plugin) => {
  34. Vue.use(plugin)
  35. })
  36. Vue.use(Element, {
  37. i18n: (key, value) => i18n.t(key, value)
  38. })
  39. Vue.use(uploader)
  40. Vue.prototype.$post = request.post
  41. Vue.prototype.$get = request.get
  42. Vue.prototype.$put = request.put
  43. Vue.prototype.$delete = request.delete
  44. Vue.prototype.$download = request.download
  45. Vue.prototype.$upload = request.upload
  46. Vue.prototype.$login = request.login
  47. // register global utility filters
  48. Object.keys(filters).forEach(key => {
  49. Vue.filter(key, filters[key])
  50. })
  51. // 注册打印
  52. Vue.use(Print)
  53. Vue.config.productionTip = false
  54. new Vue({
  55. el: '#app',
  56. router,
  57. store,
  58. i18n,
  59. render: h => h(App)
  60. })