131 lines
5.3 KiB
TypeScript
131 lines
5.3 KiB
TypeScript
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);
|
|
},
|
|
};
|