main.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. // ie polyfill
  2. import '@babel/polyfill'
  3. import Vue from 'vue'
  4. import App from './App.vue'
  5. import router from './router'
  6. import store from './store/'
  7. import { VueAxios } from './utils/request'
  8. import Viewer from 'v-viewer'
  9. import 'viewerjs/dist/viewer.css'
  10. // 大屏组件
  11. import {loading,borderBox13,digitalFlop,capsuleChart,borderBox8,borderBox12,borderBox11} from '@jiaminghi/data-view'
  12. import Echart from './bigScreenComponents/echart/index.vue'
  13. import ItemWrap from './bigScreenComponents/item-wrap/item-wrap.vue'
  14. import Reacquire from './bigScreenComponents/reacquire/reacquire.vue'
  15. // 自定义组件
  16. Vue.component("Echart",Echart)
  17. Vue.component("ItemWrap",ItemWrap)
  18. Vue.component("Reacquire",Reacquire)
  19. // 引入组件库
  20. import "vue-easytable/libs/theme-default/index.css";
  21. import zhCN from "vue-easytable/libs/locale/lang/zh-CN.js";
  22. import VueEasytable from "vue-easytable";
  23. VueEasytable.VeLocale.use(zhCN);
  24. Vue.use(VueEasytable);
  25. // datav组件
  26. Vue.use(loading)
  27. Vue.use(borderBox13)
  28. Vue.use(borderBox12)
  29. Vue.use(borderBox11)
  30. Vue.use(borderBox8)
  31. Vue.use(digitalFlop)
  32. Vue.use(capsuleChart)
  33. // tv 焦点控制
  34. import focusable from 'vue-tv-focusable';
  35. Vue.use(focusable);
  36. // mock
  37. // import './mock'
  38. import bootstrap from './core/bootstrap'
  39. import './core/use'
  40. import './permission' // permission control
  41. import './utils/filter'
  42. import VueCookies from 'vue-cookies' // global filter
  43. Vue.use(Viewer)
  44. Viewer.setDefaults({
  45. Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
  46. }) // global filter
  47. Vue.config.productionTip = false
  48. // mount axios Vue.$http and this.$http
  49. Vue.use(VueAxios)
  50. Vue.use(VueCookies)
  51. Vue.$cookies.config('7d')
  52. import LocaleProvider from 'ant-design-vue'
  53. Vue.use(LocaleProvider)
  54. // moment
  55. import moment from 'moment';
  56. import 'moment/locale/zh-cn';
  57. moment.locale('zh-cn'); //设置语言 或 moment.lang('zh-cn');
  58. Vue.prototype.$moment = moment;//挂载到当前vue实例对象
  59. /**
  60. * 权限检查
  61. */
  62. Vue.prototype.$hasPermissions = function (value) {
  63. let isExist = false
  64. const roles = store.getters.roles
  65. const permissionList = roles.permissionList
  66. if (permissionList == undefined || permissionList == null) {
  67. return false
  68. }
  69. const has = permissionList.find(item => {
  70. return item == value
  71. })
  72. if (has) {
  73. isExist = true
  74. }
  75. return isExist
  76. }
  77. // vuescroll
  78. import vuescroll from 'vuescroll'
  79. Vue.use(vuescroll)
  80. // 禁止输入框输入空格,换行符,<,>
  81. Vue.prototype.$filterEmpty = function (e) {
  82. return e.target.value.replace(/\s|\r\n|\n|<|>/g, '')
  83. }
  84. new Vue({
  85. router,
  86. store,
  87. created: bootstrap,
  88. render: h => h(App)
  89. }).$mount('#app')