113 lines
3.4 KiB
JavaScript
113 lines
3.4 KiB
JavaScript
import { createApp } from 'vue';
|
||
|
||
import Cookies from 'js-cookie';
|
||
|
||
// 导入 hiprint 并挂载到全局 window 对象
|
||
import { hiprint } from 'vue-plugin-hiprint';
|
||
window.hiprint = hiprint;
|
||
|
||
import ElementPlus from 'element-plus';
|
||
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
||
import 'element-plus/dist/index.css';
|
||
import locale from 'element-plus/es/locale/lang/zh-cn';
|
||
|
||
import '@/assets/styles/index.scss'; // global css
|
||
|
||
import App from './App';
|
||
import store from './store';
|
||
import router from './router';
|
||
import directive from './directive'; // directive
|
||
|
||
// 注册指令
|
||
import plugins from './plugins'; // plugins
|
||
import { download, downloadGet } from '@/utils/request';
|
||
|
||
// svg图标
|
||
import 'virtual:svg-icons-register';
|
||
import SvgIcon from '@/components/SvgIcon';
|
||
import elementIcons from '@/components/SvgIcon/svgicon';
|
||
|
||
import './permission'; // permission control
|
||
|
||
import { useDict } from '@/utils/dict';
|
||
import {
|
||
parseTime,
|
||
resetForm,
|
||
addDateRange,
|
||
handleTree,
|
||
selectDictLabel,
|
||
selectDictLabels,
|
||
} from '@/utils/openhis';
|
||
|
||
import { formatDateStr } from '@/utils/index';
|
||
|
||
// 分页组件
|
||
import Pagination from '@/components/Pagination';
|
||
// 自定义表格工具组件
|
||
import RightToolbar from '@/components/RightToolbar';
|
||
// 富文本组件
|
||
import Editor from '@/components/Editor';
|
||
// 文件上传组件
|
||
import FileUpload from '@/components/FileUpload';
|
||
// 图片上传组件
|
||
import ImageUpload from '@/components/ImageUpload';
|
||
// 图片预览组件
|
||
import ImagePreview from '@/components/ImagePreview';
|
||
// 自定义树选择组件
|
||
import TreeSelect from '@/components/TreeSelect';
|
||
// 字典标签组件
|
||
import DictTag from '@/components/DictTag';
|
||
|
||
// 导入请求工具
|
||
import request from './utils/request'
|
||
|
||
import { ElDialog, ElMessage } from 'element-plus';
|
||
|
||
import { registerComponents } from './template';
|
||
const app = createApp(App);
|
||
|
||
if (chrome.webview !== undefined) {
|
||
// 如果是webview环境,挂载CSharpAccessor对象到vue实例上
|
||
const csAccessor = chrome.webview.hostObjects.CSharpAccessor;
|
||
app.config.globalProperties.csAccessor = csAccessor;
|
||
}
|
||
|
||
// 全局方法挂载
|
||
app.config.globalProperties.useDict = useDict;
|
||
app.config.globalProperties.download = download;
|
||
app.config.globalProperties.downloadGet = downloadGet;
|
||
app.config.globalProperties.parseTime = parseTime;
|
||
app.config.globalProperties.resetForm = resetForm;
|
||
app.config.globalProperties.handleTree = handleTree;
|
||
app.config.globalProperties.addDateRange = addDateRange;
|
||
app.config.globalProperties.selectDictLabel = selectDictLabel;
|
||
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
||
app.config.globalProperties.formatDateStr = formatDateStr;
|
||
// 全局组件挂载
|
||
app.component('DictTag', DictTag);
|
||
app.component('Pagination', Pagination);
|
||
app.component('TreeSelect', TreeSelect);
|
||
app.component('FileUpload', FileUpload);
|
||
app.component('ImageUpload', ImageUpload);
|
||
app.component('ImagePreview', ImagePreview);
|
||
app.component('RightToolbar', RightToolbar);
|
||
app.component('Editor', Editor);
|
||
app.use(registerComponents);
|
||
app.use(ElMessage);
|
||
app.use(router);
|
||
app.use(store);
|
||
app.use(plugins);
|
||
app.use(elementIcons);
|
||
app.component('svg-icon', SvgIcon);
|
||
directive(app);
|
||
// 全局禁止点击遮罩层关闭弹窗
|
||
ElDialog.props.closeOnClickModal.default = false;
|
||
// 使用element-plus 并且设置全局的大小
|
||
app.use(ElementPlus, {
|
||
locale: zhCn,
|
||
// 支持 large、default、small
|
||
size: Cookies.get('size') || 'default',
|
||
});
|
||
|
||
app.mount('#app');
|