yudao-dev/src/main.js
2024-03-27 16:34:55 +08:00

117 lines
3.1 KiB
JavaScript

import Vue from 'vue';
import Element from 'element-ui';
import './assets/styles/element-variables.scss';
import '@/assets/styles/index.scss'; // global css
import '@/assets/styles/ruoyi.scss'; // ruoyi css
import App from './App';
import store from './store';
import router from './router';
import directive from './directive'; // directive
import plugins from './plugins'; // plugins
import { scrollBoard } from '@jiaminghi/data-view';
import './assets/icons'; // icon
import './permission'; // permission control
// import './tongji' // 百度统计
import { getDicts } from '@/api/system/dict/data';
import {
parseTime,
resetForm,
handleTree,
addBeginAndEndTime,
divide,
} from '@/utils/ruoyi';
import Pagination from '@/components/Pagination';
// 自定义表格工具扩展
import RightToolbar from '@/components/RightToolbar';
// 代码高亮插件
// import hljs from 'highlight.js'
// import 'highlight.js/styles/github-gist.css'
import {
DICT_TYPE,
getDictDataLabel,
getDictDatas,
getDictDatas2,
} from '@/utils/dict';
import './theme/index.css'; // 自定义主题包 - code-brick-zj
// 全局方法挂载
Vue.prototype.getDicts = getDicts;
Vue.prototype.parseTime = parseTime;
Vue.prototype.resetForm = resetForm;
Vue.prototype.getDictDatas = getDictDatas;
Vue.prototype.getDictDatas2 = getDictDatas2;
Vue.prototype.getDictDataLabel = getDictDataLabel;
Vue.prototype.DICT_TYPE = DICT_TYPE;
Vue.prototype.handleTree = handleTree;
Vue.prototype.addBeginAndEndTime = addBeginAndEndTime;
Vue.prototype.divide = divide;
Vue.prototype.tableHeight = function (n) {
return window.innerHeight - n;
};
Vue.prototype.searchBarWidth = function (name, num) {
if (
document.getElementById(name) &&
document.getElementById(name).offsetWidth < num
) {
return true;
} else {
return false;
}
};
// 全局组件挂载
Vue.component('DictTag', DictTag);
Vue.component('Pagination', Pagination);
Vue.component('RightToolbar', RightToolbar);
// 字典标签组件
import DictTag from '@/components/DictTag';
// 头部标签插件
import VueMeta from 'vue-meta';
import CodeBrickZj from 'code-brick-zj';
import { hiPrintPlugin, disAutoConnect } from 'vue-plugin-hiprint';
disAutoConnect();
Vue.use(hiPrintPlugin);
Vue.use(CodeBrickZj);
Vue.use(directive);
Vue.use(plugins);
Vue.use(VueMeta);
Vue.use(scrollBoard);
// Vue.use(hljs.vuePlugin);
import scroll from 'vue-seamless-scroll';
Vue.use(scroll);
import '@/assets/icons';
import request from '@/utils/request'; // 实现 form generator 使用自己定义的 axios request 对象
// console.log(request);
Vue.prototype.$axios = request;
import '@/styles/index.scss';
// 默认点击背景不关闭弹窗
import ElementUI from 'element-ui';
ElementUI.Dialog.props.closeOnClickModal.default = false;
/**
* If you don't want to use mock-server
* you want to use MockJs for mock api
* you can execute: mockXHR()
*
* Currently MockJs will be used in the production environment,
* please remove it before going online! ! !
*/
Vue.use(Element, {
size: localStorage.getItem('size') || 'medium', // set element-ui default size
});
Vue.config.productionTip = false;
new Vue({
el: '#app',
router,
store,
render: (h) => h(App),
});