import Vue from "vue"; import { Button, Cell, CellGroup, Icon, Col, Row, Popup, Toast, Form, Field, Checkbox, CheckboxGroup, RadioGroup, Radio, Search, Picker, DatetimePicker, Loading, Dialog, NavBar, Tab, Tabs, IndexBar, IndexAnchor, Switch, List, PullRefresh } from "vant"; import TitleBar from "@/components/general/TitleBar.vue"; import DSelect from "@/components/general/form/DSelect.vue"; import ScrollerView from "@/components/general/ScrollerView.vue"; import SubTitle from "@/components/general/SubTitle.vue"; import DDatetimePicker from "@/components/general/form/DDatetimePicker.vue"; import MobileInput from "@/components/general/form/MobileInput.vue"; import InterFaceFactory from "@/public/factory/InterFaceFactory"; import TableDoubleView from "@/public/TableDoubleView.vue"; import TabNav from "@/components/general/TabNav.vue"; import BaseList from "@/components/general/BaseList.vue"; import AnchorNav from "@/components/general/AnchorNav.vue"; import * as echarts from "echarts"; declare module "vue/types/vue" { interface Vue { $message: any; $success: any; $error: any; $loading: any; $confirm: any; $alert: any; $IF: any; $echarts: any; } } /** * @description: 注册Vant组件 * @author Zpfly * @date 2021/9/24 10:36 */ class ComponentVueService { init() { Vue.use(Button); Vue.use(Cell).use(CellGroup); Vue.use(Icon); Vue.use(Col).use(Row); Vue.use(Popup); Vue.use(Toast); Vue.use(Form); Vue.use(Field); Vue.use(CheckboxGroup).use(Checkbox); Vue.use(Radio).use(RadioGroup); Vue.use(Search); Vue.use(Picker); Vue.use(DatetimePicker); Vue.use(Loading); Vue.use(Dialog); Vue.use(NavBar); Vue.use(Tab).use(Tabs); Vue.use(IndexBar).use(IndexAnchor); Vue.use(Switch); Vue.use(List); Vue.use(PullRefresh); Vue.prototype.$message = Toast; Vue.prototype.$success = Toast.success; Vue.prototype.$error = Toast.fail; Vue.prototype.$loading = Toast.loading; Vue.prototype.$alert = Dialog.alert; Vue.prototype.$confirm = Dialog.confirm; Vue.prototype.$IF = InterFaceFactory; Vue.prototype.$echarts = echarts; this.initCustomCmp(); } // 全局注册自定义组件 initCustomCmp() { Vue.component("title-bar", TitleBar); Vue.component("d-select", DSelect); Vue.component("scroller-view", ScrollerView); Vue.component("sub-title", SubTitle); Vue.component("d-datetime-picker", DDatetimePicker); Vue.component("mobile-input", MobileInput); Vue.component("table-double-view", TableDoubleView); Vue.component("tab-nav", TabNav); Vue.component("base-list", BaseList); Vue.component("anchor-nav", AnchorNav); } } const componentService = new ComponentVueService(); export default componentService;