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.
140 lines
4.0 KiB
140 lines
4.0 KiB
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() {
|
|
const 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 (const 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)
|
|
})
|