yudao-dev/src/main.js

129 lines
3.8 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-01-11 14:31:23 +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 { getConfigKey } from '@/api/infra/config';
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.getConfigKey = getConfigKey;
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;
2023-08-02 09:17:46 +08:00
Vue.prototype.tableHeight = function(n) {
return window.innerHeight - n
}
2023-09-19 15:45:16 +08:00
Vue.prototype.searchBarWidth = function(name, num) {
if (document.getElementById(name) && document.getElementById(name).offsetWidth < num) {
return true
} else {
return false
}
}
2023-07-26 09:54:50 +08:00
// 全局组件挂载
2023-07-26 15:28:41 +08:00
Vue.component('DictTag', DictTag);
Vue.component('DocAlert', DocAlert);
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';
import DocAlert from '@/components/DocAlert';
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';
2023-10-23 08:42:46 +08:00
import { hiPrintPlugin,disAutoConnect } from 'vue-plugin-hiprint'
disAutoConnect();
Vue.use(hiPrintPlugin)
2023-07-26 15:28:41 +08:00
Vue.use(CodeBrickZj)
Vue.use(directive);
Vue.use(plugins);
Vue.use(VueMeta);
2024-01-11 14:31:23 +08:00
Vue.use(scrollBoard)
2023-07-26 09:54:50 +08:00
// Vue.use(hljs.vuePlugin);
2024-01-05 08:44:31 +08:00
import scroll from 'vue-seamless-scroll'
Vue.use(scroll)
2023-07-26 09:54:50 +08:00
// bpmnProcessDesigner 需要引入
2023-07-26 15:28:41 +08:00
import MyPD from '@/components/bpmnProcessDesigner/package/index.js';
2023-07-26 09:54:50 +08:00
Vue.use(MyPD);
2023-07-26 15:28:41 +08:00
import '@/components/bpmnProcessDesigner/package/theme/index.scss';
import 'bpmn-js/dist/assets/diagram-js.css';
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css';
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css';
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css';
2023-07-26 09:54:50 +08:00
// Form Generator 组件需要使用到 tinymce
2023-07-26 15:28:41 +08:00
import Tinymce from '@/components/tinymce/index.vue';
Vue.component('tinymce', Tinymce);
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),
});