Files
jh-military-admin/src/components/index.ts
T
2026-03-18 18:45:47 +08:00

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);
},
};