Browse Source

页面基础配置更改

IoT
fuguobin 8 months ago
parent
commit
ed936651d6
  1. 100
      src/api/monitoring/table/types.ts
  2. 105
      src/api/monitoring/visual/types.ts
  3. 4
      src/main.js
  4. 566
      src/types/auto-imports.d.ts
  5. 114
      src/types/components.d.ts
  6. 98
      src/utils/index.js
  7. 5
      src/views/index.vue
  8. 1
      src/views/monitoring/data-monitor/index.vue
  9. 1
      src/views/monitoring/equipment/components/main.vue
  10. 2
      src/views/monitoring/equipment/components/menu.vue
  11. 1
      src/views/monitoring/equipment/index.vue
  12. 95
      src/views/monitoring/graph/index.vue
  13. 2
      src/views/monitoring/station/components/charts.vue
  14. 3
      src/views/monitoring/station/components/header.vue
  15. 27
      src/views/monitoring/station/components/hxPress.vue
  16. 27
      src/views/monitoring/station/components/hxTemp.vue
  17. 20
      src/views/monitoring/station/components/priPress.vue
  18. 16
      src/views/monitoring/station/components/priTemp.vue
  19. 20
      src/views/monitoring/station/components/secPress.vue
  20. 20
      src/views/monitoring/station/components/secTemp.vue
  21. 40
      src/views/monitoring/station/components/table.vue
  22. 1
      src/views/monitoring/station/index.vue
  23. 34
      src/views/monitoring/statistical/index.vue
  24. 31
      tsconfig.json
  25. 13
      vite/plugins/auto-import.js
  26. 11
      vite/plugins/components.js
  27. 4
      vite/plugins/index.js

100
src/api/monitoring/table/types.ts

@ -0,0 +1,100 @@
/**
*
*/
export interface TableVo {
id: string;
assetInfo: assetInfoVo;
areaid: string;
C018: object;
C019: object;
C020: object;
C021: object;
C022: object;
C023: object;
C024: object;
C025: object;
source: string;
data: string;
C007: object;
C026: object;
C027: object;
C028: object;
C029: object;
C005: object;
C006: object;
C001: object;
C002: object;
C003: object;
C004: object;
C008: object;
C009: object;
C010: object;
C011: object;
C012: object;
C013: object;
C014: object;
C015: object;
C016: boolean;
C017: object;
C030: object;
C031: object;
C032: object;
C033: object;
C034: object;
C035: object;
C036: object;
C037: object;
C038: object;
C039: object;
C040: object;
C041: object;
C042: object;
C043: object;
C044: object;
C045: object;
C046: object;
C047: object;
C048: object;
}
export interface assetInfoVo {
assetStatus: string;
id: number;
title: string;
assetCode: string;
}
/**
*
*/
export interface PanelVo {
backImg: string;
ext: string;
extJsb: extVo;
id: number;
title: string;
type: string;
value?: number;
}
export interface extVo {
extData: any;
}
export interface RoleQuery {
time: string;
}
/**
*
*/
export interface StatVo {
adate: null;
aday: string;
amonth: string;
aparamcode: string;
auuid: string;
aval: number;
ayear: string;
devicName: string;
paramName: string;
}

105
src/api/monitoring/visual/types.ts

@ -0,0 +1,105 @@
/**
*
*/
export interface menuVo {
createBy: null;
createTime: null;
updateBy: null;
updateTime: null;
remark: null;
deptId: number;
parentId: number;
ancestors: string;
deptName: string;
orderNum: number;
leader: string;
phone: string;
email: string;
status: string;
delFlag: null;
parentName: string;
children?: menuVo[];
}
/**
*
*/
export interface deviceVo {
name: string;
label: string;
header_main?: headerVo[];
header_valve?: headerVo[];
header_pump?: headerVo[];
header_pumpx?: headerVo[];
}
export interface headerVo {
id: string;
name: string;
label: string;
value: string;
type: string;
ctrlFlag: number;
paramUnit: string;
ctrlpro: any;
}
export interface deetsVo {
centerDeviceCode: string | number;
deviceName: string;
}
export interface partitionVo {
createBy: string;
createTime: string;
cssClass: null;
default: boolean;
dictCode: number;
dictLabel: string;
dictSort: number;
dictType: string;
dictValue: string;
isDefault: null;
listClass: string;
remark: null;
status: string;
updateBy: null;
updateTime: null;
}
export interface classVo {
list: parameterVo;
paramSetName: string;
setId: string;
}
export interface parameterVo {
paramClassCode: string;
paramClassName: string;
// classType: string;
// createTime: null;
// deleteTime: null;
// id: number;
// note: null;
// paramClassCode: string;
// paramClassName: string;
// paramUnit: string;
// updateTime: null;
// version: null;
}
export interface seriesVo {
index: number;
name: string;
type: string;
smooth: boolean;
symbol: string;
paramUnit: string;
unit: string;
unitMax: number;
unitMin: number;
data: Array<string | number>;
}
export interface mainInfoVo {
name: string;
paramUnit: string;
index: number;
average: number;
max?: number;
min?: number;
data: [];
}

4
src/main.js

@ -3,7 +3,7 @@ import { createApp } from "vue";
import Cookies from "js-cookie";
import ElementPlus from "element-plus";
import naive from "naive-ui";
// import naive from "naive-ui";
import locale from "element-plus/lib/locale/lang/zh-cn"; // 中文语言
import { useTable } from "./plugins/vxe-table";
@ -108,6 +108,6 @@ app.use(ElementPlus, {
// 支持 large、default、small
size: Cookies.get("size") || "default",
});
app.use(naive);
// app.use(naive);
app.use(useTable);
app.mount("#app");

566
src/types/auto-imports.d.ts

@ -0,0 +1,566 @@
// Generated by 'unplugin-auto-import'
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const ElMessage: typeof import('element-plus/es')['ElMessage']
const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
const ElNotification: typeof import('element-plus/es')['ElNotification']
const NEllipsis: typeof import('naive-ui')['NEllipsis']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
const computed: typeof import('vue')['computed']
const computedAsync: typeof import('@vueuse/core')['computedAsync']
const computedEager: typeof import('@vueuse/core')['computedEager']
const computedInject: typeof import('@vueuse/core')['computedInject']
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
const controlledRef: typeof import('@vueuse/core')['controlledRef']
const createApp: typeof import('vue')['createApp']
const createEventHook: typeof import('@vueuse/core')['createEventHook']
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
const createPinia: typeof import('pinia')['createPinia']
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
const customRef: typeof import('vue')['customRef']
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineStore: typeof import('pinia')['defineStore']
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
const effectScope: typeof import('vue')['effectScope']
const extendRef: typeof import('@vueuse/core')['extendRef']
const getActivePinia: typeof import('pinia')['getActivePinia']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
const inject: typeof import('vue')['inject']
const isDefined: typeof import('@vueuse/core')['isDefined']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
const mapActions: typeof import('pinia')['mapActions']
const mapGetters: typeof import('pinia')['mapGetters']
const mapState: typeof import('pinia')['mapState']
const mapStores: typeof import('pinia')['mapStores']
const mapWritableState: typeof import('pinia')['mapWritableState']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
const onLongPress: typeof import('@vueuse/core')['onLongPress']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
const provide: typeof import('vue')['provide']
const reactify: typeof import('@vueuse/core')['reactify']
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
const reactive: typeof import('vue')['reactive']
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
const reactivePick: typeof import('@vueuse/core')['reactivePick']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
const refDebounced: typeof import('@vueuse/core')['refDebounced']
const refDefault: typeof import('@vueuse/core')['refDefault']
const refThrottled: typeof import('@vueuse/core')['refThrottled']
const refWithControl: typeof import('@vueuse/core')['refWithControl']
const resolveComponent: typeof import('vue')['resolveComponent']
const resolveDirective: typeof import('vue')['resolveDirective']
const resolveRef: typeof import('@vueuse/core')['resolveRef']
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
const setActivePinia: typeof import('pinia')['setActivePinia']
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const storeToRefs: typeof import('pinia')['storeToRefs']
const syncRef: typeof import('@vueuse/core')['syncRef']
const syncRefs: typeof import('@vueuse/core')['syncRefs']
const templateRef: typeof import('@vueuse/core')['templateRef']
const throttledRef: typeof import('@vueuse/core')['throttledRef']
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
const toRaw: typeof import('vue')['toRaw']
const toReactive: typeof import('@vueuse/core')['toReactive']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const triggerRef: typeof import('vue')['triggerRef']
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
const unref: typeof import('vue')['unref']
const unrefElement: typeof import('@vueuse/core')['unrefElement']
const until: typeof import('@vueuse/core')['until']
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
const useArraySome: typeof import('@vueuse/core')['useArraySome']
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
const useAttrs: typeof import('vue')['useAttrs']
const useBase64: typeof import('@vueuse/core')['useBase64']
const useBattery: typeof import('@vueuse/core')['useBattery']
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
const useCached: typeof import('@vueuse/core')['useCached']
const useClipboard: typeof import('@vueuse/core')['useClipboard']
const useCloned: typeof import('@vueuse/core')['useCloned']
const useColorMode: typeof import('@vueuse/core')['useColorMode']
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
const useCounter: typeof import('@vueuse/core')['useCounter']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVar: typeof import('@vueuse/core')['useCssVar']
const useCssVars: typeof import('vue')['useCssVars']
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
const useCycleList: typeof import('@vueuse/core')['useCycleList']
const useDark: typeof import('@vueuse/core')['useDark']
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
const useDebounce: typeof import('@vueuse/core')['useDebounce']
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
const useDraggable: typeof import('@vueuse/core')['useDraggable']
const useDropZone: typeof import('@vueuse/core')['useDropZone']
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
const useElementHover: typeof import('@vueuse/core')['useElementHover']
const useElementSize: typeof import('@vueuse/core')['useElementSize']
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
const useEventBus: typeof import('@vueuse/core')['useEventBus']
const useEventListener: typeof import('@vueuse/core')['useEventListener']
const useEventSource: typeof import('@vueuse/core')['useEventSource']
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
const useFavicon: typeof import('@vueuse/core')['useFavicon']
const useFetch: typeof import('@vueuse/core')['useFetch']
const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
const useFocus: typeof import('@vueuse/core')['useFocus']
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
const useFps: typeof import('@vueuse/core')['useFps']
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
const useGamepad: typeof import('@vueuse/core')['useGamepad']
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
const useIdle: typeof import('@vueuse/core')['useIdle']
const useImage: typeof import('@vueuse/core')['useImage']
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
const useInterval: typeof import('@vueuse/core')['useInterval']
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
const useLink: typeof import('vue-router')['useLink']
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
const useMemoize: typeof import('@vueuse/core')['useMemoize']
const useMemory: typeof import('@vueuse/core')['useMemory']
const useMounted: typeof import('@vueuse/core')['useMounted']
const useMouse: typeof import('@vueuse/core')['useMouse']
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
const useNetwork: typeof import('@vueuse/core')['useNetwork']
const useNow: typeof import('@vueuse/core')['useNow']
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
const useOnline: typeof import('@vueuse/core')['useOnline']
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
const useParallax: typeof import('@vueuse/core')['useParallax']
const usePermission: typeof import('@vueuse/core')['usePermission']
const usePointer: typeof import('@vueuse/core')['usePointer']
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
const useRafFn: typeof import('@vueuse/core')['useRafFn']
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
const useScroll: typeof import('@vueuse/core')['useScroll']
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
const useShare: typeof import('@vueuse/core')['useShare']
const useSlots: typeof import('vue')['useSlots']
const useSorted: typeof import('@vueuse/core')['useSorted']
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
const useStepper: typeof import('@vueuse/core')['useStepper']
const useStorage: typeof import('@vueuse/core')['useStorage']
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
const useSupported: typeof import('@vueuse/core')['useSupported']
const useSwipe: typeof import('@vueuse/core')['useSwipe']
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
const useThrottle: typeof import('@vueuse/core')['useThrottle']
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
const useTimeout: typeof import('@vueuse/core')['useTimeout']
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
const useTitle: typeof import('@vueuse/core')['useTitle']
const useToNumber: typeof import('@vueuse/core')['useToNumber']
const useToString: typeof import('@vueuse/core')['useToString']
const useToggle: typeof import('@vueuse/core')['useToggle']
const useTransition: typeof import('@vueuse/core')['useTransition']
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
const useVModel: typeof import('@vueuse/core')['useVModel']
const useVModels: typeof import('@vueuse/core')['useVModels']
const useVibrate: typeof import('@vueuse/core')['useVibrate']
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
const watch: typeof import('vue')['watch']
const watchArray: typeof import('@vueuse/core')['watchArray']
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
const watchEffect: typeof import('vue')['watchEffect']
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
const watchOnce: typeof import('@vueuse/core')['watchOnce']
const watchPausable: typeof import('@vueuse/core')['watchPausable']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
const whenever: typeof import('@vueuse/core')['whenever']
}
// for vue template auto import
import { UnwrapRef } from 'vue'
declare module 'vue' {
interface ComponentCustomProperties {
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
readonly ElMessage: UnwrapRef<typeof import('element-plus/es')['ElMessage']>
readonly ElMessageBox: UnwrapRef<typeof import('element-plus/es')['ElMessageBox']>
readonly ElNotification: UnwrapRef<typeof import('element-plus/es')['ElNotification']>
readonly NEllipsis: UnwrapRef<typeof import('naive-ui')['NEllipsis']>
readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>
readonly computed: UnwrapRef<typeof import('vue')['computed']>
readonly computedAsync: UnwrapRef<typeof import('@vueuse/core')['computedAsync']>
readonly computedEager: UnwrapRef<typeof import('@vueuse/core')['computedEager']>
readonly computedInject: UnwrapRef<typeof import('@vueuse/core')['computedInject']>
readonly computedWithControl: UnwrapRef<typeof import('@vueuse/core')['computedWithControl']>
readonly controlledComputed: UnwrapRef<typeof import('@vueuse/core')['controlledComputed']>
readonly controlledRef: UnwrapRef<typeof import('@vueuse/core')['controlledRef']>
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
readonly createEventHook: UnwrapRef<typeof import('@vueuse/core')['createEventHook']>
readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']>
readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']>
readonly createPinia: UnwrapRef<typeof import('pinia')['createPinia']>
readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']>
readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']>
readonly createUnrefFn: UnwrapRef<typeof import('@vueuse/core')['createUnrefFn']>
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
readonly debouncedRef: UnwrapRef<typeof import('@vueuse/core')['debouncedRef']>
readonly debouncedWatch: UnwrapRef<typeof import('@vueuse/core')['debouncedWatch']>
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
readonly defineStore: UnwrapRef<typeof import('pinia')['defineStore']>
readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']>
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
readonly getActivePinia: UnwrapRef<typeof import('pinia')['getActivePinia']>
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
readonly h: UnwrapRef<typeof import('vue')['h']>
readonly ignorableWatch: UnwrapRef<typeof import('@vueuse/core')['ignorableWatch']>
readonly inject: UnwrapRef<typeof import('vue')['inject']>
readonly isDefined: UnwrapRef<typeof import('@vueuse/core')['isDefined']>
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
readonly mapActions: UnwrapRef<typeof import('pinia')['mapActions']>
readonly mapGetters: UnwrapRef<typeof import('pinia')['mapGetters']>
readonly mapState: UnwrapRef<typeof import('pinia')['mapState']>
readonly mapStores: UnwrapRef<typeof import('pinia')['mapStores']>
readonly mapWritableState: UnwrapRef<typeof import('pinia')['mapWritableState']>
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']>
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']>
readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']>
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']>
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']>
readonly provide: UnwrapRef<typeof import('vue')['provide']>
readonly reactify: UnwrapRef<typeof import('@vueuse/core')['reactify']>
readonly reactifyObject: UnwrapRef<typeof import('@vueuse/core')['reactifyObject']>
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
readonly reactiveComputed: UnwrapRef<typeof import('@vueuse/core')['reactiveComputed']>
readonly reactiveOmit: UnwrapRef<typeof import('@vueuse/core')['reactiveOmit']>
readonly reactivePick: UnwrapRef<typeof import('@vueuse/core')['reactivePick']>
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
readonly ref: UnwrapRef<typeof import('vue')['ref']>
readonly refAutoReset: UnwrapRef<typeof import('@vueuse/core')['refAutoReset']>
readonly refDebounced: UnwrapRef<typeof import('@vueuse/core')['refDebounced']>
readonly refDefault: UnwrapRef<typeof import('@vueuse/core')['refDefault']>
readonly refThrottled: UnwrapRef<typeof import('@vueuse/core')['refThrottled']>
readonly refWithControl: UnwrapRef<typeof import('@vueuse/core')['refWithControl']>
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
readonly resolveDirective: UnwrapRef<typeof import('vue')['resolveDirective']>
readonly resolveRef: UnwrapRef<typeof import('@vueuse/core')['resolveRef']>
readonly resolveUnref: UnwrapRef<typeof import('@vueuse/core')['resolveUnref']>
readonly setActivePinia: UnwrapRef<typeof import('pinia')['setActivePinia']>
readonly setMapStoreSuffix: UnwrapRef<typeof import('pinia')['setMapStoreSuffix']>
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
readonly storeToRefs: UnwrapRef<typeof import('pinia')['storeToRefs']>
readonly syncRef: UnwrapRef<typeof import('@vueuse/core')['syncRef']>
readonly syncRefs: UnwrapRef<typeof import('@vueuse/core')['syncRefs']>
readonly templateRef: UnwrapRef<typeof import('@vueuse/core')['templateRef']>
readonly throttledRef: UnwrapRef<typeof import('@vueuse/core')['throttledRef']>
readonly throttledWatch: UnwrapRef<typeof import('@vueuse/core')['throttledWatch']>
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
readonly toReactive: UnwrapRef<typeof import('@vueuse/core')['toReactive']>
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
readonly tryOnBeforeMount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeMount']>
readonly tryOnBeforeUnmount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeUnmount']>
readonly tryOnMounted: UnwrapRef<typeof import('@vueuse/core')['tryOnMounted']>
readonly tryOnScopeDispose: UnwrapRef<typeof import('@vueuse/core')['tryOnScopeDispose']>
readonly tryOnUnmounted: UnwrapRef<typeof import('@vueuse/core')['tryOnUnmounted']>
readonly unref: UnwrapRef<typeof import('vue')['unref']>
readonly unrefElement: UnwrapRef<typeof import('@vueuse/core')['unrefElement']>
readonly until: UnwrapRef<typeof import('@vueuse/core')['until']>
readonly useActiveElement: UnwrapRef<typeof import('@vueuse/core')['useActiveElement']>
readonly useArrayEvery: UnwrapRef<typeof import('@vueuse/core')['useArrayEvery']>
readonly useArrayFilter: UnwrapRef<typeof import('@vueuse/core')['useArrayFilter']>
readonly useArrayFind: UnwrapRef<typeof import('@vueuse/core')['useArrayFind']>
readonly useArrayFindIndex: UnwrapRef<typeof import('@vueuse/core')['useArrayFindIndex']>
readonly useArrayJoin: UnwrapRef<typeof import('@vueuse/core')['useArrayJoin']>
readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useBase64: UnwrapRef<typeof import('@vueuse/core')['useBase64']>
readonly useBattery: UnwrapRef<typeof import('@vueuse/core')['useBattery']>
readonly useBluetooth: UnwrapRef<typeof import('@vueuse/core')['useBluetooth']>
readonly useBreakpoints: UnwrapRef<typeof import('@vueuse/core')['useBreakpoints']>
readonly useBroadcastChannel: UnwrapRef<typeof import('@vueuse/core')['useBroadcastChannel']>
readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
readonly useCurrentElement: UnwrapRef<typeof import('@vueuse/core')['useCurrentElement']>
readonly useCycleList: UnwrapRef<typeof import('@vueuse/core')['useCycleList']>
readonly useDark: UnwrapRef<typeof import('@vueuse/core')['useDark']>
readonly useDateFormat: UnwrapRef<typeof import('@vueuse/core')['useDateFormat']>
readonly useDebounce: UnwrapRef<typeof import('@vueuse/core')['useDebounce']>
readonly useDebounceFn: UnwrapRef<typeof import('@vueuse/core')['useDebounceFn']>
readonly useDebouncedRefHistory: UnwrapRef<typeof import('@vueuse/core')['useDebouncedRefHistory']>
readonly useDeviceMotion: UnwrapRef<typeof import('@vueuse/core')['useDeviceMotion']>
readonly useDeviceOrientation: UnwrapRef<typeof import('@vueuse/core')['useDeviceOrientation']>
readonly useDevicePixelRatio: UnwrapRef<typeof import('@vueuse/core')['useDevicePixelRatio']>
readonly useDevicesList: UnwrapRef<typeof import('@vueuse/core')['useDevicesList']>
readonly useDisplayMedia: UnwrapRef<typeof import('@vueuse/core')['useDisplayMedia']>
readonly useDocumentVisibility: UnwrapRef<typeof import('@vueuse/core')['useDocumentVisibility']>
readonly useDraggable: UnwrapRef<typeof import('@vueuse/core')['useDraggable']>
readonly useDropZone: UnwrapRef<typeof import('@vueuse/core')['useDropZone']>
readonly useElementBounding: UnwrapRef<typeof import('@vueuse/core')['useElementBounding']>
readonly useElementByPoint: UnwrapRef<typeof import('@vueuse/core')['useElementByPoint']>
readonly useElementHover: UnwrapRef<typeof import('@vueuse/core')['useElementHover']>
readonly useElementSize: UnwrapRef<typeof import('@vueuse/core')['useElementSize']>
readonly useElementVisibility: UnwrapRef<typeof import('@vueuse/core')['useElementVisibility']>
readonly useEventBus: UnwrapRef<typeof import('@vueuse/core')['useEventBus']>
readonly useEventListener: UnwrapRef<typeof import('@vueuse/core')['useEventListener']>
readonly useEventSource: UnwrapRef<typeof import('@vueuse/core')['useEventSource']>
readonly useEyeDropper: UnwrapRef<typeof import('@vueuse/core')['useEyeDropper']>
readonly useFavicon: UnwrapRef<typeof import('@vueuse/core')['useFavicon']>
readonly useFetch: UnwrapRef<typeof import('@vueuse/core')['useFetch']>
readonly useFileDialog: UnwrapRef<typeof import('@vueuse/core')['useFileDialog']>
readonly useFileSystemAccess: UnwrapRef<typeof import('@vueuse/core')['useFileSystemAccess']>
readonly useFocus: UnwrapRef<typeof import('@vueuse/core')['useFocus']>
readonly useFocusWithin: UnwrapRef<typeof import('@vueuse/core')['useFocusWithin']>
readonly useFps: UnwrapRef<typeof import('@vueuse/core')['useFps']>
readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']>
readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']>
readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']>
readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']>
readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']>
readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']>
readonly useIntersectionObserver: UnwrapRef<typeof import('@vueuse/core')['useIntersectionObserver']>
readonly useInterval: UnwrapRef<typeof import('@vueuse/core')['useInterval']>
readonly useIntervalFn: UnwrapRef<typeof import('@vueuse/core')['useIntervalFn']>
readonly useKeyModifier: UnwrapRef<typeof import('@vueuse/core')['useKeyModifier']>
readonly useLastChanged: UnwrapRef<typeof import('@vueuse/core')['useLastChanged']>
readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
readonly useLocalStorage: UnwrapRef<typeof import('@vueuse/core')['useLocalStorage']>
readonly useMagicKeys: UnwrapRef<typeof import('@vueuse/core')['useMagicKeys']>
readonly useManualRefHistory: UnwrapRef<typeof import('@vueuse/core')['useManualRefHistory']>
readonly useMediaControls: UnwrapRef<typeof import('@vueuse/core')['useMediaControls']>
readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']>
readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']>
readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']>
readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']>
readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']>
readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']>
readonly useMousePressed: UnwrapRef<typeof import('@vueuse/core')['useMousePressed']>
readonly useMutationObserver: UnwrapRef<typeof import('@vueuse/core')['useMutationObserver']>
readonly useNavigatorLanguage: UnwrapRef<typeof import('@vueuse/core')['useNavigatorLanguage']>
readonly useNetwork: UnwrapRef<typeof import('@vueuse/core')['useNetwork']>
readonly useNow: UnwrapRef<typeof import('@vueuse/core')['useNow']>
readonly useObjectUrl: UnwrapRef<typeof import('@vueuse/core')['useObjectUrl']>
readonly useOffsetPagination: UnwrapRef<typeof import('@vueuse/core')['useOffsetPagination']>
readonly useOnline: UnwrapRef<typeof import('@vueuse/core')['useOnline']>
readonly usePageLeave: UnwrapRef<typeof import('@vueuse/core')['usePageLeave']>
readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']>
readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']>
readonly usePreferredReducedMotion: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedMotion']>
readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']>
readonly useRefHistory: UnwrapRef<typeof import('@vueuse/core')['useRefHistory']>
readonly useResizeObserver: UnwrapRef<typeof import('@vueuse/core')['useResizeObserver']>
readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']>
readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']>
readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']>
readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']>
readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']>
readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']>
readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
readonly useSorted: UnwrapRef<typeof import('@vueuse/core')['useSorted']>
readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']>
readonly useSpeechSynthesis: UnwrapRef<typeof import('@vueuse/core')['useSpeechSynthesis']>
readonly useStepper: UnwrapRef<typeof import('@vueuse/core')['useStepper']>
readonly useStorage: UnwrapRef<typeof import('@vueuse/core')['useStorage']>
readonly useStorageAsync: UnwrapRef<typeof import('@vueuse/core')['useStorageAsync']>
readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']>
readonly useSupported: UnwrapRef<typeof import('@vueuse/core')['useSupported']>
readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']>
readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']>
readonly useTextDirection: UnwrapRef<typeof import('@vueuse/core')['useTextDirection']>
readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']>
readonly useTextareaAutosize: UnwrapRef<typeof import('@vueuse/core')['useTextareaAutosize']>
readonly useThrottle: UnwrapRef<typeof import('@vueuse/core')['useThrottle']>
readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']>
readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']>
readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']>
readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']>
readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']>
readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']>
readonly useTimestamp: UnwrapRef<typeof import('@vueuse/core')['useTimestamp']>
readonly useTitle: UnwrapRef<typeof import('@vueuse/core')['useTitle']>
readonly useToNumber: UnwrapRef<typeof import('@vueuse/core')['useToNumber']>
readonly useToString: UnwrapRef<typeof import('@vueuse/core')['useToString']>
readonly useToggle: UnwrapRef<typeof import('@vueuse/core')['useToggle']>
readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
readonly useVirtualList: UnwrapRef<typeof import('@vueuse/core')['useVirtualList']>
readonly useWakeLock: UnwrapRef<typeof import('@vueuse/core')['useWakeLock']>
readonly useWebNotification: UnwrapRef<typeof import('@vueuse/core')['useWebNotification']>
readonly useWebSocket: UnwrapRef<typeof import('@vueuse/core')['useWebSocket']>
readonly useWebWorker: UnwrapRef<typeof import('@vueuse/core')['useWebWorker']>
readonly useWebWorkerFn: UnwrapRef<typeof import('@vueuse/core')['useWebWorkerFn']>
readonly useWindowFocus: UnwrapRef<typeof import('@vueuse/core')['useWindowFocus']>
readonly useWindowScroll: UnwrapRef<typeof import('@vueuse/core')['useWindowScroll']>
readonly useWindowSize: UnwrapRef<typeof import('@vueuse/core')['useWindowSize']>
readonly watch: UnwrapRef<typeof import('vue')['watch']>
readonly watchArray: UnwrapRef<typeof import('@vueuse/core')['watchArray']>
readonly watchAtMost: UnwrapRef<typeof import('@vueuse/core')['watchAtMost']>
readonly watchDebounced: UnwrapRef<typeof import('@vueuse/core')['watchDebounced']>
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
readonly watchIgnorable: UnwrapRef<typeof import('@vueuse/core')['watchIgnorable']>
readonly watchOnce: UnwrapRef<typeof import('@vueuse/core')['watchOnce']>
readonly watchPausable: UnwrapRef<typeof import('@vueuse/core')['watchPausable']>
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
readonly watchThrottled: UnwrapRef<typeof import('@vueuse/core')['watchThrottled']>
readonly watchTriggerable: UnwrapRef<typeof import('@vueuse/core')['watchTriggerable']>
readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']>
readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']>
}
}

114
src/types/components.d.ts

@ -0,0 +1,114 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}
declare module 'vue' {
export interface GlobalComponents {
Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default']
CommonPanel: typeof import('./../components/Process/panel/commonPanel.vue')['default']
ConditionPanel: typeof import('./../components/Process/panel/conditionPanel.vue')['default']
Crontab: typeof import('./../components/Crontab/index.vue')['default']
CustomMonitorView: typeof import('./../components/CustomMonitorView/index.vue')['default']
Day: typeof import('./../components/Crontab/day.vue')['default']
Designer: typeof import('./../components/Process/designer.vue')['default']
DictTag: typeof import('./../components/DictTag/index.vue')['default']
Doc: typeof import('./../components/RuoYi/Doc/index.vue')['default']
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDivider: typeof import('element-plus/es')['ElDivider']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
ElDropdown: typeof import('element-plus/es')['ElDropdown']
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
ElInputTag: typeof import('./../components/flow/ElInputTag/index.vue')['default']
ElLink: typeof import('element-plus/es')['ElLink']
ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElTimePicker: typeof import('element-plus/es')['ElTimePicker']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTransfer: typeof import('element-plus/es')['ElTransfer']
ElTree: typeof import('element-plus/es')['ElTree']
ElUpload: typeof import('element-plus/es')['ElUpload']
ExecutionListener: typeof import('./../components/Process/panel/executionListener.vue')['default']
Expression: typeof import('./../components/flow/Expression/index.vue')['default']
FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
FormPanel: typeof import('./../components/Process/panel/formPanel.vue')['default']
Git: typeof import('./../components/RuoYi/Git/index.vue')['default']
Hamburger: typeof import('./../components/Hamburger/index.vue')['default']
HeaderSearch: typeof import('./../components/HeaderSearch/index.vue')['default']
Hour: typeof import('./../components/Crontab/hour.vue')['default']
IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
IFrame: typeof import('./../components/iFrame/index.vue')['default']
ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
Luckysheet: typeof import('./../components/luckysheet/index.vue')['default']
Min: typeof import('./../components/Crontab/min.vue')['default']
Month: typeof import('./../components/Crontab/month.vue')['default']
MultiInstance: typeof import('./../components/Process/panel/multiInstance.vue')['default']
NBadge: typeof import('naive-ui')['NBadge']
NButton: typeof import('naive-ui')['NButton']
NCard: typeof import('naive-ui')['NCard']
NCollapse: typeof import('naive-ui')['NCollapse']
NCollapseItem: typeof import('naive-ui')['NCollapseItem']
NDrawer: typeof import('naive-ui')['NDrawer']
NDrawerContent: typeof import('naive-ui')['NDrawerContent']
NIcon: typeof import('naive-ui')['NIcon']
NInput: typeof import('naive-ui')['NInput']
NInputNumber: typeof import('naive-ui')['NInputNumber']
NMenu: typeof import('naive-ui')['NMenu']
NModal: typeof import('naive-ui')['NModal']
NScrollbar: typeof import('naive-ui')['NScrollbar']
NSwitch: typeof import('naive-ui')['NSwitch']
NTooltip: typeof import('naive-ui')['NTooltip']
OtherPanel: typeof import('./../components/Process/panel/otherPanel.vue')['default']
Pagination: typeof import('./../components/Pagination/index.vue')['default']
ParentView: typeof import('./../components/ParentView/index.vue')['default']
Process: typeof import('./../components/Process/index.vue')['default']
Result: typeof import('./../components/Crontab/result.vue')['default']
RightToolbar: typeof import('./../components/RightToolbar/index.vue')['default']
Role: typeof import('./../components/flow/Role/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Screenfull: typeof import('./../components/Screenfull/index.vue')['default']
Second: typeof import('./../components/Crontab/second.vue')['default']
SizeSelect: typeof import('./../components/SizeSelect/index.vue')['default']
SvgIcon: typeof import('./../components/SvgIcon/index.vue')['default']
TableColumnTreeSelect: typeof import('./../components/TableColumnTreeSelect/index.vue')['default']
TaskListener: typeof import('./../components/Process/panel/taskListener.vue')['default']
TaskPanel: typeof import('./../components/Process/panel/taskPanel.vue')['default']
TopNav: typeof import('./../components/TopNav/index.vue')['default']
TreeSelect: typeof import('./../components/TreeSelect/index.vue')['default']
User: typeof import('./../components/flow/User/index.vue')['default']
Viewer: typeof import('./../components/Process/viewer/index.vue')['default']
Week: typeof import('./../components/Crontab/week.vue')['default']
Year: typeof import('./../components/Crontab/year.vue')['default']
}
}

98
src/utils/index.js

@ -216,46 +216,46 @@ export function getTime(type) {
}
}
/**
* @param {Function} func
* @param {number} wait
* @param {boolean} immediate
* @return {*}
*/
export function debounce(func, wait, immediate) {
let timeout, args, context, timestamp, result;
const later = function () {
// 据上一次触发时间间隔
const last = +new Date() - timestamp;
// 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last);
} else {
timeout = null;
// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args);
if (!timeout) context = args = null;
}
}
};
// /**
// * @param {Function} func
// * @param {number} wait
// * @param {boolean} immediate
// * @return {*}
// */
// export function debounce(func, wait, immediate) {
// let timeout, args, context, timestamp, result;
// const later = function () {
// // 据上一次触发时间间隔
// const last = +new Date() - timestamp;
// // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
// if (last < wait && last > 0) {
// timeout = setTimeout(later, wait - last);
// } else {
// timeout = null;
// // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
// if (!immediate) {
// result = func.apply(context, args);
// if (!timeout) context = args = null;
// }
// }
// };
return function (...args) {
context = this;
timestamp = +new Date();
const callNow = immediate && !timeout;
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait);
if (callNow) {
result = func.apply(context, args);
context = args = null;
}
// return function (...args) {
// context = this;
// timestamp = +new Date();
// const callNow = immediate && !timeout;
// // 如果延时不存在,重新设定延时
// if (!timeout) timeout = setTimeout(later, wait);
// if (callNow) {
// result = func.apply(context, args);
// context = args = null;
// }
return result;
};
}
// return result;
// };
// }
/**
* This is just a simple version of deep copy
@ -396,17 +396,17 @@ export function isNumberStr(str) {
/**
* 防抖
*/
// export function debounce(handle, delay) {
// var timer = null;
// return function () {
// var _self = this,
// _args = arguments;
// clearTimeout(timer);
// timer = setTimeout(function () {
// handle.apply(_self, _args);
// }, delay);
// };
// }
export function debounce(handle, delay) {
var timer = null;
return function () {
var _self = this,
_args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
handle.apply(_self, _args);
}, delay);
};
}
/**
* 节流

5
src/views/index.vue

@ -1,4 +1,7 @@
<template>
<div class="home">首页</div>
</template>
<!-- <template>
<div class="app-container home">
<video ref="videoPlayer" autoplay loop muted id="bgvid" class="home-page-video">
<source src="../assets/video/homepage.mp4" type="video/mp4">
@ -117,4 +120,4 @@ function goTarget(url) {
}
}
</style>
</style> -->

1
src/views/monitoring/data-monitor/index.vue

@ -1,5 +1,6 @@
<template>
<div>
<svg-icon class="logoIcon" icon-class="qing-rijian" />
<n-button type="primary"> Primary </n-button>
</div>
</template>

1
src/views/monitoring/equipment/components/main.vue

@ -312,7 +312,6 @@
</div>
</template>
<script setup>
import { ref, onMounted, onUnmounted } from "vue";
import { getViewInfo, sendCtrl } from "@/api/monitoring/table";
import mitt from "@/plugins/bus";

2
src/views/monitoring/equipment/components/menu.vue

@ -17,8 +17,6 @@
</template>
<script setup>
import { ref, onMounted, h } from "vue";
import { NEllipsis } from "naive-ui";
import { useRoute } from "vue-router";
// import { NEllipsis } from 'naive-ui';
import { getMenu, getMenuData } from "@/api/monitoring/table";

1
src/views/monitoring/equipment/index.vue

@ -22,7 +22,6 @@
</div>
</template>
<script setup>
import { ref, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import Header from "./components/header.vue";
import Menu from "./components/menu.vue";

95
src/views/monitoring/graph/index.vue

@ -266,9 +266,10 @@
</div> -->
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ElMessage } from "element-plus";
import type { FormInstance, FormRules } from "element-plus";
import { Ref } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useDateFormat, useNow } from "@vueuse/core";
import { randomColor, endTime, debounce } from "@/utils/index";
@ -284,6 +285,13 @@ import {
getDeviceInfosPolling,
weatherHoursList,
} from "@/api/monitoring/table";
import {
partitionVo,
classVo,
parameterVo,
seriesVo,
mainInfoVo,
} from "@/api/monitoring/visual/types";
const router = useRouter();
const route = useRoute();
@ -295,8 +303,8 @@ const isCurrentRoute = ref(true);
const searchShow = ref(true);
// const currentSecond = useDateFormat(useNow(), 'YYYY-MM-DD HH:mm:ss');
const searchRef = ref();
const stackedRef = ref(null);
const searchRef = ref<FormInstance>();
const stackedRef: Ref<HTMLElement | any> = ref(null);
const mapEcharts = ref();
// const defaultTime: [Date, Date] = [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 12, 0, 0)];
// const multipleLimit = ref(0);
@ -304,7 +312,7 @@ const mapEcharts = ref();
const deptId = ref(0);
const keyupType = ref();
// const seriesData = ref<seriesVo[]>();
const daysData = reactive([
const daysData: any = reactive([
{
name: "日",
value: "1",
@ -322,7 +330,7 @@ const daysData = reactive([
value: "4",
},
]);
const searchForm = reactive({
const searchForm: any = reactive({
startTime: "",
date: "",
time: "",
@ -343,7 +351,7 @@ const filterForm = reactive({
showZero: true,
queryType: 1, //1:2:
});
const rules = reactive({
const rules = reactive<FormRules>({
// device: [
// {
// required: true,
@ -364,6 +372,11 @@ const resetInit = {
mainInfos: [],
additionalInfo: null,
};
export interface deviceVo {
assetCode: string;
assetName: string;
sign: string;
}
const colors = [
"#5470c6",
"#91cc75",
@ -372,11 +385,11 @@ const colors = [
"#f26b1f",
"#5bae23",
];
const deviceData = ref();
const classData = ref();
const parameterData = ref();
const partitionData = ref();
const mainInfoList = ref();
const deviceData = ref<deviceVo[]>();
const classData = ref<classVo[]>();
const parameterData = ref<parameterVo[]>();
const partitionData = ref<partitionVo[]>();
const mainInfoList = ref<mainInfoVo[]>();
const options = {
color: colors,
@ -767,7 +780,7 @@ onUnmounted(() => {
}
});
const deviceSelect = (key, keyPath, item) => {
const deviceSelect = (key: string, keyPath: string[], item: object) => {
//
console.log(key, keyPath, item);
filterForm.assetCode = key;
@ -777,7 +790,7 @@ const deviceSelect = (key, keyPath, item) => {
verifyInfo();
}
};
const deviceOpen = (key, keyPath) => {
const deviceOpen = (key: string, keyPath: string[]) => {
console.log(key, keyPath);
filterForm.assetCode = key;
};
@ -801,7 +814,7 @@ document.addEventListener("keyup", (e) => {
const keyClickDebounce = debounce(() => {
keyClick(keyupType.value);
}, 800);
function keyClick(res) {
function keyClick(res: any) {
//
if (filterForm.startTime === "") {
ElMessage({
@ -818,7 +831,7 @@ function keyClick(res) {
const deviceDataValue = deviceData.value;
// console.log(':', filterForm.assetCode);
if (deviceDataValue?.length != 0) {
deviceDataValue?.map((item, index) => {
deviceDataValue?.map((item: deviceVo, index: number) => {
// console.log(':', item, index);
if (res === "ArrowUp") {
//
@ -858,7 +871,7 @@ function showZeroChange() {
function getDevice() {
//
const params = deptId.value;
getDevices(params).then((res) => {
getDevices(params).then((res: any) => {
if (res.code === 200) {
deviceData.value = res.data;
}
@ -867,7 +880,7 @@ function getDevice() {
function getParam() {
//
const params = {};
getClass().then((res) => {
getClass().then((res: any) => {
if (res.code === 200) {
classData.value = res.data;
}
@ -876,7 +889,7 @@ function getParam() {
function getPortion() {
//
const params = {};
getPortions().then((res) => {
getPortions().then((res: any) => {
if (res.code === 200) {
partitionData.value = res.data;
}
@ -889,7 +902,7 @@ function getDeviceInfo() {
params.step = searchForm.step;
params.stepType = searchForm.stepType;
params.queryType = 1;
getDeviceInfos(params).then((res) => {
getDeviceInfos(params).then((res: any) => {
if (res.code === 200) {
mainInfoList.value = res.data.mainInfos;
if (res.data.additionalInfo != null) {
@ -922,7 +935,7 @@ function getweatherHoursList() {
params.step = searchForm.step;
params.stepType = searchForm.stepType;
params.queryType = 1;
weatherHoursList(params).then((res) => {
weatherHoursList(params).then((res: any) => {
if (res.code === 200) {
mainInfoList.value = res.data.mainInfos;
if (res.data.additionalInfo != null) {
@ -954,7 +967,7 @@ function getDevicePolling() {
clearTimeout(timer.value);
return;
}
getDeviceInfosPolling(params).then((res) => {
getDeviceInfosPolling(params).then((res: any) => {
if (res.code === 200) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {
@ -966,10 +979,10 @@ function getDevicePolling() {
currentEndTime.value = res.data.additionalInfo.endTime;
console.log(currentEndTime.value, res.data.mainInfos);
}
options.series.forEach((originalObj) => {
res.data.mainInfos.forEach((newObj) => {
options.series.forEach((originalObj: any) => {
res.data.mainInfos.forEach((newObj: any) => {
if (originalObj.name === newObj.name) {
newObj.data.map((item) => {
newObj.data.map((item: any) => {
originalObj.data.shift();
originalObj.data.push(item);
});
@ -987,7 +1000,7 @@ function getDevicePolling() {
});
}
function init(data) {
function init(data: any) {
//线
options.yAxis = [];
options.legend.data = [];
@ -1010,7 +1023,7 @@ function init(data) {
options.toolbox.feature.myTool.icon = filterForm.showZero
? "path://M512 768c-183.466667 0-328.533333-85.333333-426.666667-256 98.133333-170.666667 243.2-256 426.666667-256s328.533333 85.333333 426.666667 256c-98.133333 170.666667-243.2 256-426.666667 256z m8.533333-426.666667c-128 0-256 55.466667-328.533333 170.666667 72.533333 115.2 200.533333 170.666667 328.533333 170.666667s238.933333-55.466667 311.466667-170.666667c-72.533333-115.2-183.466667-170.666667-311.466667-170.666667z m-8.533333 298.666667c-72.533333 0-128-55.466667-128-128s55.466667-128 128-128 128 55.466667 128 128-55.466667 128-128 128z m0-85.333333c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667-42.666667 17.066667-42.666667 42.666667 17.066667 42.666667 42.666667 42.666667z"
: "path://M422.4 776.533333l76.8-76.8h8.533333c145.066667 0 251.733333-55.466667 332.8-170.666666-25.6-34.133333-55.466667-64-85.333333-89.6L819.2 384c46.933333 38.4 85.333333 89.6 119.466667 145.066667-98.133333 170.666667-243.2 251.733333-426.666667 251.733333-29.866667 4.266667-59.733333 0-89.6-4.266667z m-238.933333-119.466666c-34.133333-34.133333-68.266667-76.8-98.133334-128 98.133333-170.666667 243.2-251.733333 426.666667-251.733334h46.933333l-85.333333 85.333334c-128 8.533333-226.133333 64-298.666667 166.4 17.066667 25.6 38.4 51.2 59.733334 68.266666l-51.2 59.733334zM755.2 213.333333l59.733333 59.733334L277.333333 810.666667l-59.733333-59.733334L755.2 213.333333z";
data.units.map((item, index) => {
data.units.map((item: seriesVo, index: number) => {
const offsetData = index === 0 ? 0 : index === 1 ? 0 : (index - 1) * 100;
console.log("offsetData--", offsetData);
options.yAxis.push({
@ -1044,7 +1057,7 @@ function init(data) {
},
});
});
data.mainInfos.map((item, index) => {
data.mainInfos.map((item: seriesVo, index: number) => {
options.legend.data.push(item.name);
options.series.push({
name: item.name,
@ -1054,7 +1067,7 @@ function init(data) {
yAxisIndex: item.index,
data: item.data,
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value === null ? "--" : value + " " + item.paramUnit;
},
},
@ -1071,18 +1084,18 @@ function init(data) {
chart.setOption(options);
}
// function timeChange(res) {
// function timeChange(res: any) {
// //
// filterForm.startTime = res[0];
// filterForm.endTime = res[1];
// }
// function deviceChange(res) {
// function deviceChange(res: any) {
// //
// // searchForm.parameter = [];
// // multipleLimit.value = res.length <= 1 ? 0 : 1;
// filterForm.assetCode = res;
// }
function dateChange(res) {
function dateChange(res: any) {
//
// console.log('date--', res, searchForm.date);
if (res === null) {
@ -1099,7 +1112,7 @@ function dateChange(res) {
// console.log('date--', filterForm.assetCode);
}
}
function timeChange(res) {
function timeChange(res: any) {
//
if (searchForm.date === null) {
searchForm.startTime = "";
@ -1116,25 +1129,25 @@ function timeChange(res) {
// console.log('time--', filterForm.assetCode);
}
}
function stepChange(num) {
function stepChange(num: any) {
//
filterForm.step = num;
stepClickDebounce();
}
function stepTypeChange(value) {
function stepTypeChange(value: string) {
//
filterForm.stepType = value;
verifyInfo();
}
function classChange(value) {
function classChange(value: string) {
//
searchForm.parameter = [];
filterForm.paramCode = "";
parameterData.value = [];
classData.value?.map((res) => {
classData.value?.map((res: any) => {
if (value === res.setId) {
parameterData.value = res.list;
searchForm.parameter = res.list.map((parm) => parm.paramClassCode);
searchForm.parameter = res.list.map((parm: any) => parm.paramClassCode);
filterForm.paramCode = searchForm.parameter.toString();
for (let i = 0; i < searchForm.parameter.length - 6; i++) {
colors.push(randomColor());
@ -1145,7 +1158,7 @@ function classChange(value) {
});
verifyInfo();
}
function parameterChange(value) {
function parameterChange(value: any) {
//
// parameterLimit.value = value.length <= 1 ? 0 : 1;
filterForm.paramCode = "";
@ -1153,7 +1166,7 @@ function parameterChange(value) {
// console.log('paramCode--', filterForm.paramCode);
verifyInfo();
}
function partitionChange(res) {
function partitionChange(res: any) {
//
filterForm.partion = res;
verifyInfo();
@ -1188,7 +1201,7 @@ function verifyInfo() {
getDeviceInfo();
}
}
function searchClick(type) {
function searchClick(type: string) {
///
searchShow.value = type === "hide" ? false : true;
if (filterForm.assetCode === "") {

2
src/views/monitoring/station/components/charts.vue

@ -56,7 +56,7 @@
</div>
</div>
</template>
<script setup>
<script lang="ts" setup>
import PriTemp from "./priTemp.vue";
import PriPress from "./priPress.vue";
import HxTemp from "./hxTemp.vue";

3
src/views/monitoring/station/components/header.vue

@ -75,8 +75,7 @@
</div>
</div>
</template>
<script setup>
import { ref, reactive, onMounted } from "vue";
<script lang="ts" setup>
import { useRoute, useRouter } from "vue-router";
import { useDateFormat, useNow } from "@vueuse/core";
import { getWeather } from "@/api/system/user";

27
src/views/monitoring/station/components/hxPress.vue

@ -5,19 +5,20 @@
</div>
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getPressChart, getPressChartPolling } from "@/api/monitoring/visual";
import { seriesVo, mainInfoVo } from "@/api/monitoring/visual/types";
import { debounce } from "@/utils/index";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const hxPressRef = ref(null);
const hxPressRef: Ref<HTMLElement | any> = ref(null);
const hxPressEcharts = ref();
const currentEndTime = ref();
const timer = ref();
const isCurrentRoute = ref(true);
const mainInfoList = ref();
const mainInfoList = ref<mainInfoVo[]>();
const deviceUuid = ref();
const colors = [
@ -115,7 +116,7 @@ function getDeviceInfo() {
const params = {
assetCode: deviceUuid.value,
};
getPressChart(params).then((res) => {
getPressChart(params).then((res: any) => {
if (res.code === 200) {
mainInfoList.value = res.data.mainInfos;
if (res.data.additionalInfo != null) {
@ -136,7 +137,7 @@ function getDevicePolling() {
const params = {
assetCode: deviceUuid.value,
};
getPressChartPolling(params).then((res) => {
getPressChartPolling(params).then((res: any) => {
if (res.code === 200) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {
@ -148,10 +149,10 @@ function getDevicePolling() {
currentEndTime.value = res.data.additionalInfo.endTime;
// console.log(currentEndTime.value, res.data.mainInfos);
}
options.series.forEach((originalObj) => {
res.data.mainInfos.forEach((newObj) => {
options.series.forEach((originalObj: any) => {
res.data.mainInfos.forEach((newObj: any) => {
if (originalObj.name === newObj.name) {
newObj.data.map((item) => {
newObj.data.map((item: any) => {
originalObj.data.shift();
originalObj.data.push(item);
});
@ -168,7 +169,7 @@ function getDevicePolling() {
}
});
}
function init(data) {
function init(data: any) {
//线
const chart = echarts.init(hxPressRef.value);
hxPressEcharts.value = chart;
@ -184,7 +185,7 @@ function init(data) {
return;
}
options.title.text = data.additionalInfo.name;
data.units.map((item, index) => {
data.units.map((item: seriesVo, index: number) => {
const offsetData = index === 0 ? 0 : index === 1 ? 0 : (index - 1) * 100;
// console.log('offsetData--', offsetData);
options.yAxis.push({
@ -223,7 +224,7 @@ function init(data) {
},
});
});
data.mainInfos.map((item, index) => {
data.mainInfos.map((item: seriesVo, index: number) => {
options.legend.data.push(item.name);
options.series.push({
name: item.name,
@ -233,7 +234,7 @@ function init(data) {
yAxisIndex: item.index,
data: item.data,
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value === null ? "--" : value + " " + item.paramUnit;
},
},

27
src/views/monitoring/station/components/hxTemp.vue

@ -3,19 +3,20 @@
<div ref="hxTempRef" id="hxTempEchart" class="hxTempEchart">暂无数据</div>
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getTempChart, getTempChartPolling } from "@/api/monitoring/visual";
import { seriesVo, mainInfoVo } from "@/api/monitoring/visual/types";
import { debounce } from "@/utils/index";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const hxTempRef = ref(null);
const hxTempRef: Ref<HTMLElement | any> = ref(null);
const hxTempEcharts = ref();
const currentEndTime = ref();
const timer = ref();
const isCurrentRoute = ref(true);
const mainInfoList = ref();
const mainInfoList = ref<mainInfoVo[]>();
const deviceUuid = ref();
const colors = [
@ -115,7 +116,7 @@ function getDeviceInfo() {
const params = {
assetCode: deviceUuid.value,
};
getTempChart(params).then((res) => {
getTempChart(params).then((res: any) => {
if (res.code === 200) {
mainInfoList.value = res.data.mainInfos;
if (res.data.additionalInfo != null) {
@ -136,7 +137,7 @@ function getDevicePolling() {
const params = {
assetCode: deviceUuid.value,
};
getTempChartPolling(params).then((res) => {
getTempChartPolling(params).then((res: any) => {
if (res.code === 200) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {
@ -148,10 +149,10 @@ function getDevicePolling() {
currentEndTime.value = res.data.additionalInfo.endTime;
// console.log(currentEndTime.value, res.data.mainInfos);
}
options.series.forEach((originalObj) => {
res.data.mainInfos.forEach((newObj) => {
options.series.forEach((originalObj: any) => {
res.data.mainInfos.forEach((newObj: any) => {
if (originalObj.name === newObj.name) {
newObj.data.map((item) => {
newObj.data.map((item: any) => {
originalObj.data.shift();
originalObj.data.push(item);
});
@ -168,7 +169,7 @@ function getDevicePolling() {
}
});
}
function init(data) {
function init(data: any) {
//线
const chart = echarts.init(hxTempRef.value);
hxTempEcharts.value = chart;
@ -184,7 +185,7 @@ function init(data) {
return;
}
options.title.text = data.additionalInfo.name;
data.units.map((item, index) => {
data.units.map((item: seriesVo, index: number) => {
const offsetData = index === 0 ? 0 : index === 1 ? 0 : (index - 1) * 100;
// console.log('offsetData--', offsetData);
options.yAxis.push({
@ -223,7 +224,7 @@ function init(data) {
},
});
});
data.mainInfos.map((item, index) => {
data.mainInfos.map((item: seriesVo, index: number) => {
options.legend.data.push(item.name);
options.series.push({
name: item.name,
@ -233,7 +234,7 @@ function init(data) {
yAxisIndex: item.index,
data: item.data,
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value === null ? "--" : value + " " + item.paramUnit;
},
},

20
src/views/monitoring/station/components/priPress.vue

@ -3,13 +3,13 @@
<div ref="priPressRef" class="priPressechart" />
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getrealTime } from "@/api/monitoring/visual";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const priPressRef = ref(null);
const priPressRef: Ref<HTMLElement | any> = ref(null);
const deptId = ref("208");
const timer = ref();
const isCurrentRoute = ref(true);
@ -114,7 +114,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -128,7 +128,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -142,7 +142,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -156,7 +156,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -170,7 +170,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -184,7 +184,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -217,7 +217,7 @@ function getCompany() {
orgCode: deptId.value,
viewType: "heatSourceC",
};
getrealTime(params).then((res) => {
getrealTime(params).then((res: any) => {
if (res.code === 200 && Object.keys(res.data).length != 0) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {

16
src/views/monitoring/station/components/priTemp.vue

@ -3,13 +3,13 @@
<div ref="priTempRef" class="priTempEchart" />
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getrealTime } from "@/api/monitoring/visual";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const priTempRef = ref(null);
const priTempRef: Ref<HTMLElement | any> = ref(null);
const deptId = ref("208");
const timer = ref();
const isCurrentRoute = ref(true);
@ -107,7 +107,7 @@ const options = {
type: "line",
seriesLayoutBy: "row",
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -116,7 +116,7 @@ const options = {
type: "bar",
seriesLayoutBy: "row",
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " ℃";
},
},
@ -125,7 +125,7 @@ const options = {
type: "bar",
seriesLayoutBy: "row",
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " ℃";
},
},
@ -134,7 +134,7 @@ const options = {
type: "bar",
seriesLayoutBy: "row",
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " ℃";
},
},
@ -167,7 +167,7 @@ function getElect() {
orgCode: deptId.value,
viewType: "heatSourceA",
};
getrealTime(params).then((res) => {
getrealTime(params).then((res: any) => {
if (res.code === 200 && Object.keys(res.data).length != 0) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {

20
src/views/monitoring/station/components/secPress.vue

@ -3,14 +3,14 @@
<div ref="secPressRef" class="secPressEchart" />
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getrealTime } from "@/api/monitoring/visual";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const yearMonthDay = ref();
const secPressRef = ref(null);
const secPressRef: Ref<HTMLElement | any> = ref(null);
const deptId = ref("208");
const timer = ref();
const isCurrentRoute = ref(true);
@ -115,7 +115,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -129,7 +129,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -143,7 +143,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -157,7 +157,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -171,7 +171,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -185,7 +185,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " Mpa";
},
},
@ -218,7 +218,7 @@ function getCompany() {
orgCode: deptId.value,
viewType: "heatSourceD",
};
getrealTime(params).then((res) => {
getrealTime(params).then((res: any) => {
if (res.code === 200 && Object.keys(res.data).length != 0) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {

20
src/views/monitoring/station/components/secTemp.vue

@ -3,14 +3,14 @@
<div ref="secTempRef" class="secTempEchart" />
</div>
</template>
<script setup>
<script lang="ts" setup>
import * as echarts from "echarts";
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
import { Ref } from "vue";
import { getrealTime } from "@/api/monitoring/visual";
import useCounter from "@/store/modules/date";
const counterStore = useCounter();
const yearMonthDay = ref();
const secTempRef = ref(null);
const secTempRef: Ref<HTMLElement | any> = ref(null);
const deptId = ref("208");
const timer = ref();
const isCurrentRoute = ref(true);
@ -115,7 +115,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -129,7 +129,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -143,7 +143,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -157,7 +157,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -171,7 +171,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -185,7 +185,7 @@ const options = {
focus: "series",
},
tooltip: {
valueFormatter: function (value) {
valueFormatter: function (value: any) {
return value + " °C";
},
},
@ -218,7 +218,7 @@ function getCompany() {
orgCode: deptId.value,
viewType: "heatSourceB",
};
getrealTime(params).then((res) => {
getrealTime(params).then((res: any) => {
if (res.code === 200 && Object.keys(res.data).length != 0) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {

40
src/views/monitoring/station/components/table.vue

@ -76,10 +76,10 @@
</vxe-grid>
</div>
</template>
<script setup>
import { ref, reactive, onMounted, watchEffect } from "vue";
// import { getTableHeader } from '@/api/table/list';
<script lang="ts" setup>
import { VxeTableEvents, VxeColumnPropTypes, VxePagerEvents } from "vxe-table";
import { getTableHeader, getTableData } from "@/api/monitoring/visual";
import { TableVo } from "@/api/monitoring/table/types";
import { debounce } from "@/utils/index";
import useCounter from "@/store/modules/date";
import useTableStore from "@/store/modules/table";
@ -89,7 +89,7 @@ const sessionStorageIns = useStorage("sessionStorage");
const tableStoreCounter = useTableStore();
const loadingShow = ref(false);
const tableColumn = ref([]);
const tableData = ref();
const tableData = ref<TableVo[]>();
const deptId = ref("208");
const tableBorder = ref(false);
const timer = ref();
@ -99,7 +99,13 @@ const tablePage = reactive({
currentPage: 1,
pageSize: 10,
});
const headerData = ref();
interface HeaderVo {
code: string;
name: string;
value: string;
}
const headerData = ref<HeaderVo[]>();
onMounted(() => {
tableHeader();
@ -113,7 +119,10 @@ watchEffect(() => {
}
});
const handlePageChange = ({ currentPage, pageSize }) => {
const handlePageChange: VxePagerEvents.PageChange = ({
currentPage,
pageSize,
}) => {
//
tablePage.currentPage = currentPage;
tablePage.pageSize = pageSize;
@ -124,7 +133,7 @@ const handlePageChange = ({ currentPage, pageSize }) => {
function tableHeader() {
//header
getTableHeader().then((res) => {
getTableHeader().then((res: any) => {
console.log(res);
//
const tableCessText = [
@ -138,11 +147,11 @@ function tableHeader() {
},
];
console.log(tableCessText);
res.data.map((item) => {
res.data.map((item: any) => {
if (item.formatter != undefined || item.children != undefined) {
item.formatter = eval(item.formatter);
if (item.children && item.children.length) {
item.children.map((res) => {
item.children.map((res: any) => {
res.formatter = eval(res.formatter);
});
}
@ -164,7 +173,7 @@ function tableDatas() {
orgCode: deptId.value,
};
loadingShow.value = true;
getTableData(params).then((res) => {
getTableData(params).then((res: any) => {
if (res.code === 200) {
// tableData.value=oldData
tableData.value = res.rows;
@ -197,7 +206,7 @@ function tableDataPolling() {
pageSize: tablePage.pageSize,
orgCode: deptId.value,
};
getTableData(params).then((res) => {
getTableData(params).then((res: any) => {
if (res.code === 200) {
if (isCurrentRoute.value) {
timer.value = setTimeout(async () => {
@ -212,12 +221,15 @@ function tableDataPolling() {
});
}
const cellDBLClickEvent = ({ row, column }) => {
const cellDBLClickEvent: VxeTableEvents.CellDblclick<TableVo> = ({
row,
column,
}) => {
//
console.log("cellData--", row, column);
counterStore.orgStore(row.assetInfo);
};
const formatRole = ({ cellValue }) => {
const formatRole: VxeColumnPropTypes.Formatter<HeaderVo> = ({ cellValue }) => {
//
// console.log(':', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
const cellData = `
@ -233,7 +245,7 @@ const formatRole = ({ cellValue }) => {
// console.log(':', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
return cellData;
};
function urvesClick(row) {
function urvesClick(row: any) {
//线
counterStore.orgStore(row.assetInfo);
}

1
src/views/monitoring/station/index.vue

@ -18,7 +18,6 @@
</div>
</template>
<script lang="ts" setup>
import { ref, reactive, onMounted } from "vue";
import Header from "./components/header.vue";
import Charts from "./components/charts.vue";
import Table from "./components/table.vue";

34
src/views/monitoring/statistical/index.vue

@ -52,17 +52,29 @@
</div>
</template>
<script setup>
import { ref, reactive, onMounted } from "vue";
<script lang="ts" setup>
import type { FormInstance, FormRules, TableColumnCtx } from "element-plus";
import { useDateFormat, useNow } from "@vueuse/core";
import { dcBusiDayReport } from "@/api/monitoring/static";
import { StatVo } from "@/api/monitoring/table/types";
const searchFormRef = ref();
const searchForm = reactive({
interface searchForm {
qDate: string;
}
interface SpanMethodProps {
row: StatVo;
column: TableColumnCtx<StatVo>;
rowIndex: number;
columnIndex: number;
}
const searchFormRef = ref<FormInstance>();
const searchForm = reactive<searchForm>({
qDate: "",
});
const rules = reactive({
const rules = reactive<any>({
qDate: [
{
type: "date",
@ -74,7 +86,7 @@ const rules = reactive({
});
const today = useDateFormat(useNow(), "YYYY-MM-DD");
const statData = ref([]);
const statData = ref<StatVo[]>([]);
const statPage = reactive({
total: 0,
pageNum: 1,
@ -93,7 +105,7 @@ function getDayReport() {
pageNum: statPage.pageNum,
pageSize: statPage.pageSize,
};
dcBusiDayReport(params).then((res) => {
dcBusiDayReport(params).then((res: any) => {
if (res.code === 200) {
statData.value = res.rows;
statPage.total = res.total;
@ -101,16 +113,16 @@ function getDayReport() {
});
}
const handleSizeChange = (val) => {
const handleSizeChange = (val: number) => {
statPage.pageSize = val;
getDayReport();
};
const handleCurrentChange = (val) => {
const handleCurrentChange = (val: number) => {
statPage.pageNum = val;
getDayReport();
};
const submitForm = async (formEl) => {
const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
@ -121,7 +133,7 @@ const submitForm = async (formEl) => {
});
};
const resetForm = (formEl) => {
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return;
formEl.resetFields();
searchForm.qDate = today.value;

31
tsconfig.json

@ -0,0 +1,31 @@
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"baseUrl": ".",
"allowJs": true,
"paths": {
"@/*": ["src/*"]
},
"outDir": "dist",
"types": ["vite/client", "element-plus/global"],
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
"allowSyntheticDefaultImports": true /* */,
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */
},
"include": [
"src/**/*.ts",
"src/**/*.js",
"src/**/*.vue",
"src/types/**/*.d.ts"
],
"exclude": ["node_modules", "dist", "**/*.js"]
}

13
vite/plugins/auto-import.js

@ -1,8 +1,13 @@
import autoImport from "unplugin-auto-import/vite";
import path from "path";
import AutoImport from "unplugin-auto-import/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import { NaiveUiResolver } from "unplugin-vue-components/resolvers";
export default function createAutoImport() {
return autoImport({
imports: ["vue", "vue-router", "pinia"],
dts: false,
return AutoImport({
imports: ["vue", "vue-router", "pinia", "@vueuse/core"],
resolvers: [ElementPlusResolver(), NaiveUiResolver()],
vueTemplate: true, // 是否在 vue 模板中自动导入
dts: path.resolve("src", "types", "auto-imports.d.ts"),
});
}

11
vite/plugins/components.js

@ -0,0 +1,11 @@
import path from "path";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import { NaiveUiResolver } from "unplugin-vue-components/resolvers";
export default function createComponents() {
return Components({
resolvers: [ElementPlusResolver(), NaiveUiResolver()],
dts: path.resolve("src", "types", "components.d.ts"),
});
}

4
vite/plugins/index.js

@ -1,13 +1,15 @@
import vue from "@vitejs/plugin-vue";
import createAutoImport from "./auto-import";
import createComponents from "./components";
import createSvgIcon from "./svg-icon";
import createCompression from "./compression";
import createSetupExtend from "./setup-extend";
export default function createVitePlugins(viteEnv, isBuild = false) {
const vitePlugins = [vue()];
vitePlugins.push(createAutoImport());
vitePlugins.push(createAutoImport(isBuild));
vitePlugins.push(createComponents(isBuild));
vitePlugins.push(createSetupExtend());
vitePlugins.push(createSvgIcon(isBuild));
isBuild && vitePlugins.push(...createCompression(viteEnv));

Loading…
Cancel
Save