import Vue from 'vue' import 'normalize.css/normalize.css' // A modern alternative to CSS resets import ElementUI from 'element-ui' import '@/styles/element-variables.scss' import locale from 'element-ui/lib/locale/lang/zh-CN' // 改为中文语言包 import '@/styles/index.scss' // global css import '@/styles/iconfont.css' import App from './App' import store from './store' import router from './router' import ViewUI from 'view-design'; import './styles/viewui-mine.less'; import base from "./utils/common" Vue.use(ViewUI); import moment from "moment" Vue.prototype.$moment = moment; Vue.prototype.base = base; import '@/icons' // icon import '@/permission' // permission control /** * If you don't want to use mock-server * you want to use MockJs for mock api * you can execute: mockXHR() * * Currently MockJs will be used in the production environment, * please remove it before going online ! ! ! */ if (process.env.NODE_ENV === 'production') { const { mockXHR } = require('../mock') mockXHR() } import VueParticles from 'vue-particles' Vue.use(VueParticles) // set ElementUI lang to EN Vue.use(ElementUI, { locale }) // 使用中文语言包 import Message from 'element-ui/lib/message'; Vue.config.productionTip = false import avue from '@smallwei/avue'; import '@smallwei/avue/lib/index.css'; Vue.use(avue) import AvueMap from 'avue-plugin-map' Vue.use(AvueMap); Vue.directive('loadMore', { bind(el, binding) { const selectWrap = el.querySelector('.el-scrollbar__wrap') selectWrap.addEventListener('scroll', function () { let sign = 0 const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight if (scrollDistance <= sign) { binding.value() } }) } }) import LxHeader from "@/components/LxHeader" Vue.component('lx-header',LxHeader) import XyTable from '@/components/XyTable' Vue.component('xy-table',XyTable) import XyDialog from '@/components/XyDialog' Vue.component('xy-dialog',XyDialog) import XySelectors from '@/components/XySelectors' Vue.component('xy-selectors',XySelectors) import draggable from 'vuedraggable'; Vue.component('draggable',draggable) import tinymce from '@/components/XyTinymce' Vue.component('my-tinymce',tinymce) import myMap from "@/components/XyMap" Vue.component('my-map',myMap) import afTableColumn from 'af-table-column' Vue.component('af-table-column',afTableColumn) import Print from 'vue-print-nb-jeecg' Vue.use(Print) Vue.prototype.$integrateData = (target,value) => { for(let i in target){ if(target.hasOwnProperty(i) && value.hasOwnProperty(i)){ target[i] = value[i] } } } // 高德地图 import AMap from 'vue-amap'; Vue.use(AMap); // 初始化vue-amap AMap.initAMapApiLoader({ // 高德的key key: '141565d3a276007d32febb533a2c8ad2', // 插件集合 (插件按需引入) plugin: ['AMap.Autocomplete','AMap.Geocoder','AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor', 'AMap.DistrictSearch','AMap.CircleMarker','AMap.Polyline' // 'AMap.Object3DLayer', 'AMap.Object3D' ] }); //高德的安全密钥 window._AMapSecurityConfig = { securityJsCode: 'ea31617664cd44f32434869f2d61e73f', } // 解决地图刷新显示不出来 const amapKeys = Object.keys(localStorage).filter(key => key.match(/^_AMap_/)) amapKeys.forEach(key => { // console.log(key) localStorage.removeItem(key) }) import VueMatomo from 'vue-matomo' Vue.use(VueMatomo, { host: 'http://192.168.60.99:9000/', // 这里配置你自己的piwik服务器地址和网站ID siteId: 7,//siteId值 // 根据router自动注册 router: router, // // 是否需要在发送追踪信息之前请求许可 // // 默认false requireConsent: false, enableLinkTracking: true, // // 是否追踪初始页面 // // 默认true trackInitialView: false, // // 最终的追踪js文件名 // // 默认 'piwik' trackerFileName: 'matomo', debug: false }); new Vue({ el: '#app', router, store, render: h => h(App) })