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

// 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')