|
|
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)
|
|
|
|
|
|
import VxeUI from 'vxe-pc-ui'
|
|
|
import 'vxe-pc-ui/lib/style.css'
|
|
|
import VxeUITable from 'vxe-table'
|
|
|
import 'vxe-table/lib/style.css'
|
|
|
import domZIndex from 'dom-zindex'
|
|
|
domZIndex.setCurrent(2000)
|
|
|
import VxeTable from 'vxe-table'
|
|
|
Vue.use(VxeUI)
|
|
|
import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
|
|
|
import ExcelJS from 'exceljs'
|
|
|
VxeTable.use(VXETablePluginExportXLSX, {
|
|
|
ExcelJS
|
|
|
})
|
|
|
Vue.use(VxeUITable)
|
|
|
|
|
|
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)
|
|
|
|
|
|
Vue.prototype.$integrateData = (target, value) => {
|
|
|
for (const i in target) {
|
|
|
if (target.hasOwnProperty(i) && value.hasOwnProperty(i)) {
|
|
|
target[i] = value[i]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
new Vue({
|
|
|
el: '#app',
|
|
|
router,
|
|
|
store,
|
|
|
beforeCreate() {
|
|
|
Vue.prototype.$bus = this
|
|
|
},
|
|
|
render: h => h(App)
|
|
|
})
|