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.
117 lines
3.8 KiB
117 lines
3.8 KiB
// system入口
|
|
import Vue from 'vue'
|
|
import Element from 'element-ui'
|
|
// import 'lib-flexible/flexible'
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
import store from './store'
|
|
import http from './utils/request'
|
|
import jQuery from 'jquery'
|
|
import 'element-ui/lib/theme-chalk/index.css'
|
|
import '@/icons'
|
|
import '@/assets/scss/aui.scss'
|
|
import '@/assets/scss/reset.scss'
|
|
import i18n from '@/i18n'
|
|
import * as filters from '@/filters'
|
|
import renRadioGroup from '@/components/ren-radio-group'
|
|
import renDeptTree from '@/components/ren-dept-tree'
|
|
import { hasPermission, getDictLabel } from '@/utils'
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
import 'xe-utils'
|
|
import VXETable from 'vxe-table'
|
|
import 'vxe-table/lib/index.css'
|
|
// import echarts from 'echarts'
|
|
import * as echarts from 'echarts'
|
|
import moment from 'moment'
|
|
import VueChatScroll from 'vue-chat-scroll'
|
|
|
|
// import jsNSV from '@/utils/js-NSV.js'
|
|
|
|
import Base64 from '@/utils/base64.js'
|
|
Vue.prototype.$Base64 = Base64
|
|
|
|
import Print from 'vue-print-nb'
|
|
Vue.use(Print)
|
|
|
|
import { confirm } from '@/utils/confirm'
|
|
Vue.prototype.$confirmFun = confirm
|
|
|
|
// import VueDragResize from 'vue-drag-resize'
|
|
// Vue.component('vue-drag-resize', VueDragResize)
|
|
|
|
// 裁切工具
|
|
import VueCropper from 'vue-cropper'
|
|
Vue.use(VueCropper)
|
|
|
|
import Recorder from 'js-audio-recorder'
|
|
const recorder = new Recorder({
|
|
sampleBits: 16, // 采样位数,支持 8 或 16,默认是16
|
|
sampleRate: 16000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000
|
|
numChannels: 1 // 声道,支持 1 或 2, 默认是1
|
|
// compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false
|
|
})
|
|
Vue.prototype.$recorder = recorder
|
|
|
|
// 全局监听DOM元素
|
|
import ElementResizeDetectorMaker from 'element-resize-detector'
|
|
Vue.prototype.$erd = ElementResizeDetectorMaker()
|
|
|
|
import animejs from 'animejs'
|
|
Vue.prototype.$anime = animejs
|
|
|
|
moment.locale('zh-cn') // 设置语言 或 moment.lang('zh-cn');
|
|
|
|
Vue.use(Element, {
|
|
size: 'default',
|
|
i18n: (key, value) => i18n.t(key, value)
|
|
})
|
|
|
|
Object.keys(filters).forEach(key => {
|
|
Vue.filter(key, filters[key])
|
|
})
|
|
|
|
// 全局组件
|
|
Vue.use(renRadioGroup)
|
|
Vue.use(renDeptTree)
|
|
Vue.use(VueChatScroll)
|
|
Vue.use(VXETable)
|
|
|
|
// DICOM
|
|
import cornerstone from 'cornerstone-core'
|
|
import cornerstoneMath from 'cornerstone-math'
|
|
import cornerstoneTools from 'cornerstone-tools'
|
|
import Hammer from 'hammerjs'
|
|
import dicomParser from 'dicom-parser'
|
|
import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'
|
|
import cornerstoneWebImageLoader from 'cornerstone-web-image-loader'
|
|
|
|
cornerstoneTools.external.cornerstone = cornerstone
|
|
cornerstoneTools.external.Hammer = Hammer
|
|
cornerstoneTools.external.cornerstoneMath = cornerstoneMath
|
|
cornerstoneWADOImageLoader.external.dicomParser = dicomParser
|
|
cornerstoneWADOImageLoader.external.cornerstoneMath = cornerstoneMath
|
|
cornerstoneWADOImageLoader.external.cornerstone = cornerstone
|
|
cornerstoneWebImageLoader.external.cornerstone = cornerstone
|
|
cornerstone.registerImageLoader('http', cornerstoneWADOImageLoader.loadImage)
|
|
cornerstone.registerImageLoader('https', cornerstoneWADOImageLoader.loadImage)
|
|
cornerstone.registerImageLoader('http', cornerstoneWebImageLoader.loadImage)
|
|
Vue.prototype.$cornerstone = cornerstone
|
|
Vue.prototype.$cornerstoneTools = cornerstoneTools
|
|
|
|
// 挂载全局
|
|
Vue.prototype.$http = http
|
|
Vue.prototype.$ = jQuery
|
|
Vue.prototype.$hasPermission = hasPermission
|
|
Vue.prototype.$getDictLabel = getDictLabel
|
|
Vue.prototype.$moment = moment
|
|
Vue.prototype.$echarts = echarts
|
|
|
|
Vue.config.productionTip = false
|
|
// 保存整站vuex本地储存初始状态
|
|
window.SITE_CONFIG.storeState = cloneDeep(store.state)
|
|
new Vue({
|
|
i18n,
|
|
router,
|
|
store,
|
|
render: h => h(App)
|
|
}).$mount('#app')
|