Files
fad_oa/ruoyi-ui/src/main.js

160 lines
4.5 KiB
JavaScript
Raw Normal View History

2026-04-13 17:04:38 +08:00
import Vue from 'vue';
import Cookies from 'js-cookie';
import Element from 'element-ui';
import './assets/styles/element-variables.scss';
import VxeUIAll, { VxeUI } from 'vxe-pc-ui';
import 'vxe-pc-ui/es/style.css';
import VxeUITable from 'vxe-table';
import 'vxe-table/es/style.css';
import VxeUIPluginRenderElement from '@vxe-ui/plugin-render-element';
import '@vxe-ui/plugin-render-element/dist/style.css';
VxeUI.use(VxeUIPluginRenderElement)
import '@/assets/styles/index.scss'; // global css
import '@/assets/styles/ruoyi.scss'; // ruoyi css
// import Dashboard from '@/components/Dashboard/init.js';
import { download } from '@/utils/request';
import App from './App';
import directive from './directive'; // directive
import plugins from './plugins'; // plugins
import router from './router';
import store from './store';
import { getConfigKey, updateConfigByKey } from "@/api/system/config";
import { getDicts } from "@/api/system/dict/data";
import { addDateRange, handleTree, parseTime, resetForm, selectDictLabel, selectDictLabels } from "@/utils/ruoyi";
import './assets/icons'; // icon
import './permission'; // permission control
// 分页组件
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 ImageOss from "@/components/ImageOss";
// 字典标签组件
import DictTag from '@/components/DictTag';
// 头部标签组件
import VueMeta from 'vue-meta';
// 字典数据组件
import DictData from '@/components/DictData';
// 项目选择组件
import ProjectSelect from '@/components/fad-service/ProjectSelect/index.vue';
// 项目展示面板
import ProjectInfo from '@/components/fad-service/ProjectInfo/index.vue';
// import webSocket from "./utils/websocket"
//打印组件 添加时间2024年3月9日
import Print from 'vue-print-nb';
import microApp from '@micro-zoe/micro-app';
// 全局方法挂载
Vue.prototype.getDicts = getDicts
Vue.prototype.getConfigKey = getConfigKey
Vue.prototype.updateConfigByKey = updateConfigByKey
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.addDateRange = addDateRange
Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
// Vue.prototype.$webSocket = webSocket
// 全局组件挂载
Vue.component('DictTag', DictTag)
Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar)
Vue.component('Editor', Editor)
Vue.component('FileUpload', FileUpload)
Vue.component('ImageUpload', ImageUpload)
Vue.component('ImagePreview', ImagePreview)
Vue.component('ImageOss', ImageOss)
Vue.component('ProjectSelect', ProjectSelect)
Vue.component('ProjectInfo', ProjectInfo)
Vue.use(directive)
Vue.use(plugins)
Vue.use(VueMeta)
//打印组件 添加时间2024年3月9日
Vue.use(Print)
DictData.install()
/**
* 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! ! !
*/
// 修改 el-dialog 默认点击遮照为不关闭
Element.Dialog.props.closeOnClickModal.default = false
Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size
})
Vue.use(VxeUIAll)
Vue.use(VxeUITable)
// Vue.use(Dashboard)
Vue.config.productionTip = false
let newVue = new Vue({
el: '#app',
methods: {
onBeforeUnload (event) {
// 在这里编写你想要执行的代码
// 例如:发送数据到服务器或者显示警告信息
// 设置event.returnValue以显示浏览器默认的警告信息
event.returnValue = '您可能有未保存的更改!';
},
// closeSocket() {
// //关闭websocket连接
// this.$webSocket.close();
// }
},
router,
store,
render: h => h(App)
})
// 初始化micro-app
microApp.start({
plugins: {
modules: {
// 子应用配置
'app-*': {
loader (code) {
if (process.env.NODE_ENV === 'development') {
// 开发环境
return code
} else {
// 生产环境
return code
}
}
}
}
}
})
export default newVue