import { createApp } from "vue";
|
|
import Cookies from "js-cookie";
|
|
import ElementPlus from "element-plus";
|
import "element-plus/dist/index.css";
|
import "element-plus/theme-chalk/dark/css-vars.css";
|
import locale from "element-plus/es/locale/lang/zh-cn";
|
|
import "@/assets/styles/index.scss"; // global css
|
|
import App from "./App";
|
import store from "./store";
|
import router from "./router";
|
import directive from "./directive"; // directive
|
|
// 注册指令
|
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 "./assets/fonts/font.css";
|
|
import "./permission"; // permission control
|
|
import { useDict } from "@/utils/dict";
|
import {
|
parseTime,
|
resetForm,
|
addDateRange,
|
handleTree,
|
selectDictLabel,
|
selectDictLabels,
|
} from "@/utils/ruoyi";
|
|
// 分页组件
|
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 DictTag from "@/components/DictTag";
|
// 表格组件
|
import PIMTable from "@/components/PIMTable/PIMTable.vue";
|
|
import { getToken } from "@/utils/auth";
|
import {
|
calculateTaxExclusiveTotalPrice,
|
summarizeTable,
|
calculateTaxIncludeTotalPrice,
|
} from "@/utils/summarizeTable.js";
|
|
const app = createApp(App);
|
|
// 全局方法挂载
|
app.config.globalProperties.useDict = useDict;
|
app.config.globalProperties.download = download;
|
app.config.globalProperties.parseTime = parseTime;
|
app.config.globalProperties.resetForm = resetForm;
|
app.config.globalProperties.summarizeTable = summarizeTable;
|
app.config.globalProperties.calculateTaxExclusiveTotalPrice =
|
calculateTaxExclusiveTotalPrice;
|
app.config.globalProperties.calculateTaxIncludeTotalPrice =
|
calculateTaxIncludeTotalPrice;
|
app.config.globalProperties.handleTree = handleTree;
|
app.config.globalProperties.addDateRange = addDateRange;
|
app.config.globalProperties.selectDictLabel = selectDictLabel;
|
app.config.globalProperties.selectDictLabels = selectDictLabels;
|
app.config.globalProperties.javaApi = "http://114.132.189.42:7004";
|
app.config.globalProperties.HaveJson = (val) => {
|
return JSON.parse(JSON.stringify(val));
|
};
|
app.config.globalProperties.uploadHeader = {
|
Authorization: "Bearer " + getToken(),
|
};
|
|
// 全局组件挂载
|
app.component("DictTag", DictTag);
|
app.component("Pagination", Pagination);
|
app.component("FileUpload", FileUpload);
|
app.component("ImageUpload", ImageUpload);
|
app.component("ImagePreview", ImagePreview);
|
app.component("RightToolbar", RightToolbar);
|
app.component("Editor", Editor);
|
app.component("PIMTable", PIMTable);
|
|
app.use(router);
|
app.use(store);
|
app.use(plugins);
|
app.use(elementIcons);
|
app.component("svg-icon", SvgIcon);
|
|
directive(app);
|
|
// 使用element-plus 并且设置全局的大小
|
app.use(ElementPlus, {
|
locale: locale,
|
// 支持 large、default、small
|
size: Cookies.get("size") || "default",
|
});
|
app._context.components.ElDialog.props.closeOnClickModal.default = false;
|
|
app.mount("#app");
|