main.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import Vue from 'vue';
  2. import axios from './router/axios';
  3. import VueAxios from 'vue-axios';
  4. import App from './App';
  5. import router from './router/router';
  6. import './permission'; // 权限
  7. import './error'; // 日志
  8. import './cache'; //页面缓存
  9. import store from './store';
  10. import {
  11. loadStyle
  12. } from './util/util'
  13. import * as urls from '@/config/env';
  14. import Element from 'element-ui';
  15. import {
  16. iconfontUrl,
  17. iconfontVersion
  18. } from '@/config/env';
  19. import i18n from './lang'; // Internationalization
  20. import './styles/common.scss';
  21. import basicBlock from './components/basic-block/main';
  22. import basicContainer from './components/basic-container/main';
  23. import thirdRegister from './components/third-register/main';
  24. import avueUeditor from 'avue-plugin-ueditor';
  25. import website from '@/config/website';
  26. import crudCommon from '@/mixins/crud';
  27. import format from 'vue-text-format'; //v-format
  28. import {
  29. getWorkDicts
  30. } from '@/api/system/dictbiz'
  31. import './util/directives.js'
  32. //客户选择组件
  33. import selectComponent from '@/components/selectComponent/customerSelect';
  34. //枚举列设置名称管理
  35. import {
  36. getColumnName
  37. } from "@/enums/column-name"
  38. import {
  39. getColumnData,
  40. saveColumnData
  41. } from "@/util/columnSetting"
  42. Vue.component('selectComponent', selectComponent);
  43. import portInfo from "@/components/port-info/index";
  44. Vue.component('portInfo', portInfo);
  45. // 注册全局crud驱动
  46. window.$crudCommon = crudCommon;
  47. // 加载Vue拓展
  48. Vue.use(router);
  49. Vue.use(VueAxios, axios);
  50. Vue.use(Element, {
  51. i18n: (key, value) => i18n.t(key, value)
  52. });
  53. Vue.use(window.AVUE, {
  54. size: 'small',
  55. tableSize: 'small',
  56. calcHeight: 65,
  57. i18n: (key, value) => i18n.t(key, value)
  58. });
  59. Vue.use(format); //v-format
  60. // 注册全局容器
  61. Vue.component('basicContainer', basicContainer);
  62. Vue.component('basicBlock', basicBlock);
  63. Vue.component('thirdRegister', thirdRegister);
  64. //此处有个问题,下面这句不能使用
  65. // Vue.component('avueUeditor', avueUeditor);
  66. Vue.use(avueUeditor);
  67. //自定义标题
  68. import containerTitle from './components/titleComponent/main.vue';
  69. Vue.component('containerTitle', containerTitle);
  70. // 加载相关url地址
  71. Object.keys(urls).forEach(key => {
  72. Vue.prototype[key] = urls[key];
  73. });
  74. // 加载website
  75. Vue.prototype.website = website;
  76. // 业务字典
  77. Vue.prototype.getWorkDicts = getWorkDicts
  78. // 动态加载阿里云字体库
  79. iconfontVersion.forEach(ele => {
  80. loadStyle(iconfontUrl.replace('$key', ele));
  81. });
  82. //枚举列设置名称管理
  83. Vue.prototype.getColumnName = getColumnName
  84. Vue.prototype.getColumnData = getColumnData
  85. Vue.prototype.saveColumnData = saveColumnData
  86. Vue.config.productionTip = false;
  87. new Vue({
  88. router,
  89. store,
  90. i18n,
  91. render: h => h(App)
  92. }).$mount('#app');