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