import Vue from "vue"; import Cookies from "js-cookie"; 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 import { download } from "@/utils/request"; // 时间格式化方法挂载 import "@/views/marketing/utils/date"; import "./assets/icons"; // icon import "./permission"; // permission control import { getDicts } from "@/api/system/dict/data"; import { getConfigKey } from "@/api/system/config"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, } from "@/utils/ruoyi"; import { initParams, initRules, initDicts, initPage } from "@/utils/init.js"; // 分页组件 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 VueMeta from "vue-meta"; // 字典数据组件 import DictData from "@/components/DictData"; // import PopoverSelect from "@/components/popover-select"; import PopoverSelectV2 from "@/components/popover-select-v2"; // import PopoverTreeSelect from "@/components/popover-tree-select"; // import ComputedInput from "@/components/computed-input"; // 附件标签组件 import FilePreview from "@/components/file-preview"; //打印 import Print from "vue-print-nb"; // 引入umy-ui import UmyUi from 'umy-ui' import 'umy-ui/lib/theme-chalk/index.css';// 引入样式 // 引入vxe-table import VXETable from 'vxe-table' import 'vxe-table/lib/style.css' //底部横拉条 import horizontalScroll from 'el-table-horizontal-scroll'; //自定义全局指令 import onlyNumber from '@/views/business/ehr/directive/el-input'; // 全局方法挂载 Vue.prototype.getDicts = getDicts; Vue.prototype.getConfigKey = getConfigKey; 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.$init = { params: initParams, dicts: initDicts, rules: initRules, page: initPage, }; // 全局组件挂载 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("DrPopoverSelect", PopoverSelect); Vue.component("DrPopoverSelectV2", PopoverSelectV2); Vue.component("DrPopoverTreeSelect", PopoverTreeSelect); Vue.component("DrComputedInput", ComputedInput); Vue.component("DrFilePreview", FilePreview); Vue.use(directive); Vue.use(plugins); Vue.use(VueMeta); Vue.use(Print); //注册 Vue.use(UmyUi); Vue.use(VXETable) Vue.use(horizontalScroll);//底部横拉条 DictData.install(); // el-table无限滚动解决页面渲染卡死 // Vue.directive("myscroll", { // bind(el, bind, vnode) { // const self = vnode.context; // let target = el.querySelector('.el-table__body-wrapper'); // target.addEventListener("scroll", () => { // // 检测触底 // if (target.scrollTop + target.clientHeight >= target.scrollHeight) { // if (self.over >= self.basicForm.puDemandItemList) { // return; // } // self.over +=15 // } // }) // } // }) // Vue.mixin({ // data() { // return { // // scrollTop: 0, // // tableHeight: 300 // start: 0, // over: 15 // } // } // }) /** * 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, { size: Cookies.get("size") || "medium", // set element-ui default size }); //使用该全局指令 Vue.use(onlyNumber); Vue.config.productionTip = false; new Vue({ el: "#app", router, store, render: (h) => h(App), });