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
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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/en' // lang i18n
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 })
// 如果想要中文版 element-ui按如下方式声明
Vue.use(ElementUI)
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)
Vue.prototype.$integrateData = (target,value) => {
for(let i in target){
if(target.hasOwnProperty(i) && value.hasOwnProperty(i)){
target[i] = value[i]
}
}
}
//大屏看板依赖
import dataV from '@jiaminghi/data-view';
Vue.use(dataV);
import noticeAudio from "@/assets/notice.mp3";
import noticeAudioNew from "@/assets/notice1.mp3";
let audio = new Audio();
audio.src = noticeAudio;
Vue.prototype.$audioPlay = (type = 1) => {
if (audio) {
if (type === 1) {
audio.src = noticeAudio;
} else {
audio.src = noticeAudioNew;
}
audio.play()
}
}
import VueMatomo from 'vue-matomo'
Vue.use(VueMatomo, {
host: 'http://192.168.60.99:9000/', // 这里配置你自己的piwik服务器地址和网站ID
siteId: 8,//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),
beforeCreate() {
Vue.prototype.$bus = this
}
})