import Pagination from '/@/components/Pagination/index.vue'; import RightToolbar from '/@/components/RightToolbar/index.vue'; import DictTag from '/@/components/DictTag/index.vue'; import DictSelect from '/@/components/DictTag/Select.vue'; import UploadExcel from '/@/components/Upload/Excel.vue'; import UploadFile from '/@/components/Upload/index.vue'; import UploadImg from '/@/components/Upload/Image.vue'; import DelWrap from '/@/components/DelWrap/index.vue'; import Editor from '/@/components/Editor/index.vue'; import Tip from '/@/components/Tip/index.vue'; import TagList from '/@/components/TagList/index.vue'; import SvgIcon from '/@/components/SvgIcon/index.vue'; import Sign from '/@/components/Sign/index.vue'; import ChinaArea from '/@/components/ChinaArea/index.vue'; import OrgSelector from '/@/components/OrgSelector/index.vue'; import DraggableDeptTree from "/@/components/DraggableDeptTree/index.vue" import DraggableOrgTree from "/@/components/DraggableOrgTree/index.vue" import DraggableDeviceGroup from "/@/components/DraggableDeviceGroup/index.vue" import DraggableDeviceGroupDraggable from "/@/components/DraggableDeviceGroupDraggable/index.vue" import PreviewImage from "/@/components/PreviewImage/index.vue" import TagOnline from "/@/components/Tag/TagOnline.vue" import TagSex from "/@/components/Tag/TagSex.vue" import TagSync from "/@/components/Tag/TagSync.vue" import TagUserStatus from "/@/components/Tag/TagUserStatus.vue" import SelectArea from "/@/components/Select/SelectArea.vue" import SelectDevice from "/@/components/Select/SelectDevice.vue" import SelectDeviceGroup from "/@/components/Select/SelectDeviceGroup.vue" import SelectDuty from "/@/components/Select/SelectDuty.vue" import SelectDutyType from "/@/components/Select/SelectDutyType.vue" import SelectTreeChannel from "/@/components/Select/SelectTreeChannel.vue" import SelectTreeChannelRadio from "/@/components/Select/SelectTreeChannelRadio.vue" import SelectTreeDept from "/@/components/Select/SelectTreeDept.vue" import SelectDeviceTree from "/@/components/Select/SelectDeviceTree.vue" import SelectAreaType from "/@/components/Select/SelectAreaType.vue" import SelectPersonCarType from "/@/components/Select/SelectPersonCarType.vue" import SelectPerson from "/@/components/Select/SelectPerson.vue" import ColumnBtn from "/@/components/Column/ColumnBtn.vue" import PreviewJson from "/@/components/PreviewJson/index.vue" import RtspPluginVideo from "/@/components/rtsp-plugin-video/video-plugin.vue" // 第三方组件 import ElementPlus from 'element-plus'; import * as ElementPlusIconsVue from '@element-plus/icons-vue'; import 'element-plus/dist/index.css'; import { Pane, Splitpanes } from 'splitpanes'; import 'splitpanes/dist/splitpanes.css'; // 日历组件 import { setupCalendar } from 'v-calendar'; // 部门树组件 import vue3TreeOrg from 'vue3-tree-org'; import 'vue3-tree-org/lib/vue3-tree-org.css'; // 导入 FcDesigner import FcDesigner from 'form-create-designer'; // 导入声明 import { App } from 'vue'; export default { install(app: App) { app.component('DictTag', DictTag); app.component('DictSelect', DictSelect); app.component('Pagination', Pagination); app.component('RightToolbar', RightToolbar); app.component('uploadExcel', UploadExcel); app.component('UploadFile', UploadFile); app.component('UploadImg', UploadImg); app.component('Editor', Editor); app.component('Tip', Tip); app.component('DelWrap', DelWrap); app.component('TagList', TagList); app.component('SvgIcon', SvgIcon); app.component('ChinaArea', ChinaArea); app.component('OrgSelector', OrgSelector); app.component('Sign', Sign); app.component('PreviewImage', PreviewImage) app.component('DraggableDeptTree', DraggableDeptTree) app.component('DraggableOrgTree', DraggableOrgTree) app.component('DraggableDeviceGroup', DraggableDeviceGroup) app.component('DraggableDeviceGroupDraggable', DraggableDeviceGroupDraggable) app.component('TagOnline', TagOnline); app.component('TagSex', TagSex); app.component('TagSync', TagSync); app.component('TagUserStatus', TagUserStatus); app.component('SelectArea', SelectArea); app.component('SelectDevice', SelectDevice); app.component('SelectDeviceGroup', SelectDeviceGroup) app.component('SelectDuty', SelectDuty); app.component('SelectDutyType', SelectDutyType); app.component('SelectTreeChannel', SelectTreeChannel); app.component('SelectTreeChannelRadio', SelectTreeChannelRadio); app.component('SelectTreeDept', SelectTreeDept); app.component('SelectDeviceTree', SelectDeviceTree); app.component('SelectAreaType', SelectAreaType); app.component('SelectPersonCarType', SelectPersonCarType); app.component('SelectPerson', SelectPerson); app.component('ColumnBtn', ColumnBtn); app.component('PreviewJson', PreviewJson); app.component('RtspPluginVideo', RtspPluginVideo) // 导入全部的elmenet-plus的图标 for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component); // 兼容性 app.component(`ele-${key}`, component); } // 导入布局插件 app.component('Splitpanes', Splitpanes); app.component('Pane', Pane); app.use(ElementPlus); // ELEMENT 组件 app.use(setupCalendar, {}); // 日历组件 app.use(vue3TreeOrg); // 组织架构组件 app.use(FcDesigner); app.use(FcDesigner.formCreate); }, };