Newer
Older
Nanping_sponge / src / main.js
@liyingjing liyingjing on 26 Oct 3 KB 22
import { createApp } from "vue";

import Cookies from "js-cookie";
import 'globalthis/auto'

import ElementPlus from "element-plus";
import locale from "element-plus/lib/locale/lang/zh-cn"; // 中文语言
import "dayjs/locale/zh-cn"; //实现Element plus设置日历每周第一天从周一开始
import "@/assets/styles/index.scss"; // global css
import vue3SeamlessScroll from "vue3-seamless-scroll";
import 'globalthis/auto'

import App from "./App";
import moment from "moment";
import store from "./store";
import router from "./router";
import directive from "./directive"; // directive

//服务代理配置
// import config from "./utils/config1";
// 注册指令
import plugins from "./plugins"; // plugins
import { download } from "@/utils/request";
// svg图标
import "virtual:svg-icons-register";
import SvgIcon from "@/components/SvgIcon";
import elementIcons from "@/components/SvgIcon/svgicon";
// 固定字典数据
import { fixDict } from "@/utils/fixDict";

//权限控制
import "./permission"; // permission control

import { useDict } from "@/utils/dict";
import {
    parseTime,
    resetForm,
    addDateRange,
    handleTree,
    selectDictLabel,
    selectDictLabels,
    getBusinesPatrolImageUrl,
} from "@/utils/ruoyi";

// 分页组件
import Pagination from "@/components/Pagination";
// 自定义表格工具组件
import RightToolbar from "@/components/RightToolbar";
// 文件上传组件
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 Empty from "@/components/Empty";

const app = createApp(App);

// 全局方法挂载
app.config.globalProperties.useDict = useDict;
app.config.globalProperties.download = download;
app.config.globalProperties.parseTime = parseTime;
app.config.globalProperties.getBusinesPatrolImageUrl = getBusinesPatrolImageUrl;

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.fixDict = fixDict;

app.config.globalProperties.moment = moment;

// 全局组件挂载
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.use(router);
app.use(store);
app.use(plugins);
app.use(elementIcons);
app.use(vue3SeamlessScroll);
app.component("svg-icon", SvgIcon); //全局注册

directive(app);

// 使用element-plus 并且设置全局的大小
app.use(ElementPlus, {
    locale: locale,
    // 支持 large、default、small
    size: Cookies.get("size") || "default",
});

app.mount("#app");