83 lines
2.3 KiB
TypeScript
83 lines
2.3 KiB
TypeScript
import { createApp, reactive } from 'vue'
|
||
import App from './App.vue'
|
||
import router from './router'
|
||
import pinia from '@/stores/index'
|
||
import { registerIcons } from '@/utils/common'
|
||
import mitt from 'mitt'
|
||
import VXETable from 'vxe-table'
|
||
import XEUtils from 'xe-utils'
|
||
import 'vxe-table/lib/style.css'
|
||
import ElementPlus from 'element-plus'
|
||
import 'element-plus/dist/index.css'
|
||
import 'element-plus/theme-chalk/display.css'
|
||
import '@fortawesome/fontawesome-free/css/all.css'
|
||
import '@/styles/index.scss'
|
||
import '@/assets/font/iconfont.css'
|
||
import { ElDialog } from 'element-plus'
|
||
import BaiduMap from 'vue-baidu-map-3x'
|
||
import BaiduMapOffline from 'vue-baidu-map-offline'
|
||
|
||
import ExcelJS from 'exceljs'
|
||
import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
|
||
// 方式1:NPM 安装,注入 ExcelJS 对象
|
||
VXETable.use(VXETablePluginExportXLSX, {
|
||
ExcelJS
|
||
})
|
||
// 全局注册 tooltip 组件
|
||
window.XEUtils = XEUtils
|
||
|
||
// 初始化多语言
|
||
import { setupI18n } from '@/plugins/vueI18n'
|
||
|
||
// 引入 form-create
|
||
import { setupFormCreate } from '@/plugins/formCreate'
|
||
|
||
// 创建实例
|
||
const setupAll = async () => {
|
||
const app = createApp(App)
|
||
|
||
//开启离线地图
|
||
app.use(BaiduMapOffline, {
|
||
offline: true,
|
||
offlineConfig: {
|
||
imgext: '.png',
|
||
customstyle: '',
|
||
tiles_dir: '',
|
||
tiles_hybrid: '',
|
||
tiles_self: '',
|
||
tiles_v_dir: '',
|
||
tiles_satellite_dir: '',
|
||
tiles_road_dir: '',
|
||
tiles_v_road_dir: '',
|
||
home: './plugin/offline/'
|
||
}
|
||
})
|
||
app.use(BaiduMap, {
|
||
// ak: 'Yp57V71dkOPiXjiN8VdcFRsVELzlVNKK',
|
||
ak: 'RpQi6WNFZ9tseKzhdwOQsXwFsoVntnsN',
|
||
v: '3.0'
|
||
})
|
||
|
||
await setupI18n(app)
|
||
app.use(router)
|
||
app.use(pinia)
|
||
app.use(ElementPlus)
|
||
app.use(VXETable)
|
||
|
||
;(app._context.components.ElDialog as typeof ElDialog).props.closeOnClickModal.default = false
|
||
registerIcons(app) // icons
|
||
|
||
app.config.globalProperties.eventBus = mitt()
|
||
// 配置全局变量
|
||
app.config.globalProperties.$allVariables = reactive({
|
||
butLoading: false
|
||
})
|
||
setupFormCreate(app)
|
||
|
||
await router.isReady()
|
||
|
||
app.mount('#app')
|
||
}
|
||
|
||
setupAll()
|