yudao-dev/src/main.js

117 lines
3.1 KiB
JavaScript
Raw Normal View History

2023-07-26 15:28:41 +08:00
import Vue from 'vue';
2023-07-26 09:54:50 +08:00
2023-07-26 15:28:41 +08:00
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
2024-03-25 14:37:03 +08:00
import { scrollBoard } from '@jiaminghi/data-view';
2023-07-26 09:54:50 +08:00
2023-07-26 15:28:41 +08:00
import './assets/icons'; // icon
import './permission'; // permission control
2023-07-26 09:54:50 +08:00
// import './tongji' // 百度统计
2023-07-26 15:28:41 +08:00
import { getDicts } from '@/api/system/dict/data';
import {
parseTime,
resetForm,
handleTree,
addBeginAndEndTime,
divide,
} from '@/utils/ruoyi';
import Pagination from '@/components/Pagination';
2023-07-26 09:54:50 +08:00
// 自定义表格工具扩展
2023-07-26 15:28:41 +08:00
import RightToolbar from '@/components/RightToolbar';
2023-07-26 09:54:50 +08:00
// 代码高亮插件
// import hljs from 'highlight.js'
// import 'highlight.js/styles/github-gist.css'
2023-07-26 15:28:41 +08:00
import {
DICT_TYPE,
getDictDataLabel,
getDictDatas,
getDictDatas2,
} from '@/utils/dict';
import './theme/index.css'; // 自定义主题包 - code-brick-zj
2023-07-26 09:54:50 +08:00
// 全局方法挂载
2023-07-26 15:28:41 +08:00
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;
2024-03-25 14:37:03 +08:00
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;
2023-09-19 15:45:16 +08:00
} else {
2024-03-25 14:37:03 +08:00
return false;
2023-09-19 15:45:16 +08:00
}
2024-03-25 14:37:03 +08:00
};
2023-07-26 09:54:50 +08:00
// 全局组件挂载
2023-07-26 15:28:41 +08:00
Vue.component('DictTag', DictTag);
Vue.component('Pagination', Pagination);
Vue.component('RightToolbar', RightToolbar);
2023-07-26 09:54:50 +08:00
// 字典标签组件
2023-07-26 15:28:41 +08:00
import DictTag from '@/components/DictTag';
2023-07-26 09:54:50 +08:00
// 头部标签插件
2023-07-26 15:28:41 +08:00
import VueMeta from 'vue-meta';
import CodeBrickZj from 'code-brick-zj';
2024-03-25 14:37:03 +08:00
import { hiPrintPlugin, disAutoConnect } from 'vue-plugin-hiprint';
2023-10-23 08:42:46 +08:00
disAutoConnect();
2024-03-25 14:37:03 +08:00
Vue.use(hiPrintPlugin);
Vue.use(CodeBrickZj);
2023-07-26 15:28:41 +08:00
Vue.use(directive);
Vue.use(plugins);
Vue.use(VueMeta);
2024-03-25 14:37:03 +08:00
Vue.use(scrollBoard);
2023-07-26 09:54:50 +08:00
// Vue.use(hljs.vuePlugin);
2024-03-25 14:37:03 +08:00
import scroll from 'vue-seamless-scroll';
Vue.use(scroll);
2023-07-26 09:54:50 +08:00
2023-07-26 15:28:41 +08:00
import '@/assets/icons';
import request from '@/utils/request'; // 实现 form generator 使用自己定义的 axios request 对象
2023-08-03 14:04:25 +08:00
// console.log(request);
2023-07-26 15:28:41 +08:00
Vue.prototype.$axios = request;
import '@/styles/index.scss';
2023-07-26 09:54:50 +08:00
// 默认点击背景不关闭弹窗
2023-07-26 15:28:41 +08:00
import ElementUI from 'element-ui';
ElementUI.Dialog.props.closeOnClickModal.default = false;
2023-07-26 09:54:50 +08:00
/**
* 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, {
2023-07-26 15:28:41 +08:00
size: localStorage.getItem('size') || 'medium', // set element-ui default size
2023-07-26 09:54:50 +08:00
});
2023-07-26 15:28:41 +08:00
Vue.config.productionTip = false;
2023-07-26 09:54:50 +08:00
new Vue({
2023-07-26 15:28:41 +08:00
el: '#app',
router,
store,
render: (h) => h(App),
});