提交 b9648b62 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 a48c8e50
/* eslint-disable */ /* eslint-disable */
/* prettier-ignore */ /* prettier-ignore */
/* oxlint-disable */
/* oxfmt-ignore */
// @ts-nocheck // @ts-nocheck
// noinspection JSUnusedGlobalSymbols // noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import // Generated by unplugin-auto-import
// biome-ignore lint: disable // biome-ignore lint: disable
export {} export {}
declare global { declare global {
const EffectScope: typeof import('vue')['EffectScope'] const EffectScope: typeof import('vue').EffectScope
const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] const asyncComputed: typeof import('@vueuse/core').asyncComputed
const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] const autoResetRef: typeof import('@vueuse/core').autoResetRef
const computed: typeof import('vue')['computed'] const computed: typeof import('vue').computed
const computedAsync: typeof import('@vueuse/core')['computedAsync'] const computedAsync: typeof import('@vueuse/core').computedAsync
const computedEager: typeof import('@vueuse/core')['computedEager'] const computedEager: typeof import('@vueuse/core').computedEager
const computedInject: typeof import('@vueuse/core')['computedInject'] const computedInject: typeof import('@vueuse/core').computedInject
const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] const computedWithControl: typeof import('@vueuse/core').computedWithControl
const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] const controlledComputed: typeof import('@vueuse/core').controlledComputed
const controlledRef: typeof import('@vueuse/core')['controlledRef'] const controlledRef: typeof import('@vueuse/core').controlledRef
const createApp: typeof import('vue')['createApp'] const createApp: typeof import('vue').createApp
const createEventHook: typeof import('@vueuse/core')['createEventHook'] const createEventHook: typeof import('@vueuse/core').createEventHook
const createGenericProjection: typeof import('@vueuse/math')['createGenericProjection'] const createGenericProjection: typeof import('@vueuse/math').createGenericProjection
const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] const createGlobalState: typeof import('@vueuse/core').createGlobalState
const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] const createInjectionState: typeof import('@vueuse/core').createInjectionState
const createProjection: typeof import('@vueuse/math')['createProjection'] const createProjection: typeof import('@vueuse/math').createProjection
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] const createReactiveFn: typeof import('@vueuse/core').createReactiveFn
const createRef: typeof import('@vueuse/core')['createRef'] const createRef: typeof import('@vueuse/core').createRef
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] const createReusableTemplate: typeof import('@vueuse/core').createReusableTemplate
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] const createSharedComposable: typeof import('@vueuse/core').createSharedComposable
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] const createTemplatePromise: typeof import('@vueuse/core').createTemplatePromise
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] const createUnrefFn: typeof import('@vueuse/core').createUnrefFn
const customRef: typeof import('vue')['customRef'] const customRef: typeof import('vue').customRef
const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] const debouncedRef: typeof import('@vueuse/core').debouncedRef
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] const debouncedWatch: typeof import('@vueuse/core').debouncedWatch
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] const defineAsyncComponent: typeof import('vue').defineAsyncComponent
const defineComponent: typeof import('vue')['defineComponent'] const defineComponent: typeof import('vue').defineComponent
const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] const eagerComputed: typeof import('@vueuse/core').eagerComputed
const effectScope: typeof import('vue')['effectScope'] const effectScope: typeof import('vue').effectScope
const extendRef: typeof import('@vueuse/core')['extendRef'] const extendRef: typeof import('@vueuse/core').extendRef
const getCurrentInstance: typeof import('vue')['getCurrentInstance'] const getCurrentInstance: typeof import('vue').getCurrentInstance
const getCurrentScope: typeof import('vue')['getCurrentScope'] const getCurrentScope: typeof import('vue').getCurrentScope
const getCurrentWatcher: typeof import('vue')['getCurrentWatcher'] const getCurrentWatcher: typeof import('vue').getCurrentWatcher
const h: typeof import('vue')['h'] const h: typeof import('vue').h
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] const ignorableWatch: typeof import('@vueuse/core').ignorableWatch
const inject: typeof import('vue')['inject'] const inject: typeof import('vue').inject
const injectLocal: typeof import('@vueuse/core')['injectLocal'] const injectLocal: typeof import('@vueuse/core').injectLocal
const isDefined: typeof import('@vueuse/core')['isDefined'] const isDefined: typeof import('@vueuse/core').isDefined
const isProxy: typeof import('vue')['isProxy'] const isProxy: typeof import('vue').isProxy
const isReactive: typeof import('vue')['isReactive'] const isReactive: typeof import('vue').isReactive
const isReadonly: typeof import('vue')['isReadonly'] const isReadonly: typeof import('vue').isReadonly
const isRef: typeof import('vue')['isRef'] const isRef: typeof import('vue').isRef
const isShallow: typeof import('vue')['isShallow'] const isShallow: typeof import('vue').isShallow
const logicAnd: typeof import('@vueuse/math')['logicAnd'] const logicAnd: typeof import('@vueuse/math').logicAnd
const logicNot: typeof import('@vueuse/math')['logicNot'] const logicNot: typeof import('@vueuse/math').logicNot
const logicOr: typeof import('@vueuse/math')['logicOr'] const logicOr: typeof import('@vueuse/math').logicOr
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] const makeDestructurable: typeof import('@vueuse/core').makeDestructurable
const markRaw: typeof import('vue')['markRaw'] const markRaw: typeof import('vue').markRaw
const nextTick: typeof import('vue')['nextTick'] const nextTick: typeof import('vue').nextTick
const onActivated: typeof import('vue')['onActivated'] const onActivated: typeof import('vue').onActivated
const onBeforeMount: typeof import('vue')['onBeforeMount'] const onBeforeMount: typeof import('vue').onBeforeMount
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] const onBeforeUnmount: typeof import('vue').onBeforeUnmount
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] const onBeforeUpdate: typeof import('vue').onBeforeUpdate
const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] const onClickOutside: typeof import('@vueuse/core').onClickOutside
const onDeactivated: typeof import('vue')['onDeactivated'] const onDeactivated: typeof import('vue').onDeactivated
const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval'] const onElementRemoval: typeof import('@vueuse/core').onElementRemoval
const onErrorCaptured: typeof import('vue')['onErrorCaptured'] const onErrorCaptured: typeof import('vue').onErrorCaptured
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] const onKeyStroke: typeof import('@vueuse/core').onKeyStroke
const onLongPress: typeof import('@vueuse/core')['onLongPress'] const onLongPress: typeof import('@vueuse/core').onLongPress
const onMounted: typeof import('vue')['onMounted'] const onMounted: typeof import('vue').onMounted
const onRenderTracked: typeof import('vue')['onRenderTracked'] const onRenderTracked: typeof import('vue').onRenderTracked
const onRenderTriggered: typeof import('vue')['onRenderTriggered'] const onRenderTriggered: typeof import('vue').onRenderTriggered
const onScopeDispose: typeof import('vue')['onScopeDispose'] const onScopeDispose: typeof import('vue').onScopeDispose
const onServerPrefetch: typeof import('vue')['onServerPrefetch'] const onServerPrefetch: typeof import('vue').onServerPrefetch
const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] const onStartTyping: typeof import('@vueuse/core').onStartTyping
const onUnmounted: typeof import('vue')['onUnmounted'] const onUnmounted: typeof import('vue').onUnmounted
const onUpdated: typeof import('vue')['onUpdated'] const onUpdated: typeof import('vue').onUpdated
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] const onWatcherCleanup: typeof import('vue').onWatcherCleanup
const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] const pausableWatch: typeof import('@vueuse/core').pausableWatch
const provide: typeof import('vue')['provide'] const provide: typeof import('vue').provide
const provideLocal: typeof import('@vueuse/core')['provideLocal'] const provideLocal: typeof import('@vueuse/core').provideLocal
const reactify: typeof import('@vueuse/core')['reactify'] const reactify: typeof import('@vueuse/core').reactify
const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] const reactifyObject: typeof import('@vueuse/core').reactifyObject
const reactive: typeof import('vue')['reactive'] const reactive: typeof import('vue').reactive
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] const reactiveComputed: typeof import('@vueuse/core').reactiveComputed
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] const reactiveOmit: typeof import('@vueuse/core').reactiveOmit
const reactivePick: typeof import('@vueuse/core')['reactivePick'] const reactivePick: typeof import('@vueuse/core').reactivePick
const readonly: typeof import('vue')['readonly'] const readonly: typeof import('vue').readonly
const ref: typeof import('vue')['ref'] const ref: typeof import('vue').ref
const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] const refAutoReset: typeof import('@vueuse/core').refAutoReset
const refDebounced: typeof import('@vueuse/core')['refDebounced'] const refDebounced: typeof import('@vueuse/core').refDebounced
const refDefault: typeof import('@vueuse/core')['refDefault'] const refDefault: typeof import('@vueuse/core').refDefault
const refThrottled: typeof import('@vueuse/core')['refThrottled'] const refThrottled: typeof import('@vueuse/core').refThrottled
const refWithControl: typeof import('@vueuse/core')['refWithControl'] const refWithControl: typeof import('@vueuse/core').refWithControl
const resolveComponent: typeof import('vue')['resolveComponent'] const resolveComponent: typeof import('vue').resolveComponent
const resolveRef: typeof import('@vueuse/core')['resolveRef'] const resolveRef: typeof import('@vueuse/core').resolveRef
const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] const resolveUnref: typeof import('@vueuse/core').resolveUnref
const shallowReactive: typeof import('vue')['shallowReactive'] const shallowReactive: typeof import('vue').shallowReactive
const shallowReadonly: typeof import('vue')['shallowReadonly'] const shallowReadonly: typeof import('vue').shallowReadonly
const shallowRef: typeof import('vue')['shallowRef'] const shallowRef: typeof import('vue').shallowRef
const syncRef: typeof import('@vueuse/core')['syncRef'] const syncRef: typeof import('@vueuse/core').syncRef
const syncRefs: typeof import('@vueuse/core')['syncRefs'] const syncRefs: typeof import('@vueuse/core').syncRefs
const templateRef: typeof import('@vueuse/core')['templateRef'] const templateRef: typeof import('@vueuse/core').templateRef
const throttledRef: typeof import('@vueuse/core')['throttledRef'] const throttledRef: typeof import('@vueuse/core').throttledRef
const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] const throttledWatch: typeof import('@vueuse/core').throttledWatch
const toRaw: typeof import('vue')['toRaw'] const toRaw: typeof import('vue').toRaw
const toReactive: typeof import('@vueuse/core')['toReactive'] const toReactive: typeof import('@vueuse/core').toReactive
const toRef: typeof import('vue')['toRef'] const toRef: typeof import('vue').toRef
const toRefs: typeof import('vue')['toRefs'] const toRefs: typeof import('vue').toRefs
const toValue: typeof import('vue')['toValue'] const toValue: typeof import('vue').toValue
const triggerRef: typeof import('vue')['triggerRef'] const triggerRef: typeof import('vue').triggerRef
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] const tryOnBeforeMount: typeof import('@vueuse/core').tryOnBeforeMount
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] const tryOnBeforeUnmount: typeof import('@vueuse/core').tryOnBeforeUnmount
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] const tryOnMounted: typeof import('@vueuse/core').tryOnMounted
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] const tryOnScopeDispose: typeof import('@vueuse/core').tryOnScopeDispose
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] const tryOnUnmounted: typeof import('@vueuse/core').tryOnUnmounted
const unref: typeof import('vue')['unref'] const unref: typeof import('vue').unref
const unrefElement: typeof import('@vueuse/core')['unrefElement'] const unrefElement: typeof import('@vueuse/core').unrefElement
const until: typeof import('@vueuse/core')['until'] const until: typeof import('@vueuse/core').until
const useAbs: typeof import('@vueuse/math')['useAbs'] const useAbs: typeof import('@vueuse/math').useAbs
const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] const useActiveElement: typeof import('@vueuse/core').useActiveElement
const useAnimate: typeof import('@vueuse/core')['useAnimate'] const useAnimate: typeof import('@vueuse/core').useAnimate
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] const useArrayDifference: typeof import('@vueuse/core').useArrayDifference
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] const useArrayEvery: typeof import('@vueuse/core').useArrayEvery
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] const useArrayFilter: typeof import('@vueuse/core').useArrayFilter
const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] const useArrayFind: typeof import('@vueuse/core').useArrayFind
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] const useArrayFindIndex: typeof import('@vueuse/core').useArrayFindIndex
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] const useArrayFindLast: typeof import('@vueuse/core').useArrayFindLast
const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] const useArrayIncludes: typeof import('@vueuse/core').useArrayIncludes
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] const useArrayJoin: typeof import('@vueuse/core').useArrayJoin
const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] const useArrayMap: typeof import('@vueuse/core').useArrayMap
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] const useArrayReduce: typeof import('@vueuse/core').useArrayReduce
const useArraySome: typeof import('@vueuse/core')['useArraySome'] const useArraySome: typeof import('@vueuse/core').useArraySome
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] const useArrayUnique: typeof import('@vueuse/core').useArrayUnique
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] const useAsyncQueue: typeof import('@vueuse/core').useAsyncQueue
const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] const useAsyncState: typeof import('@vueuse/core').useAsyncState
const useAttrs: typeof import('vue')['useAttrs'] const useAttrs: typeof import('vue').useAttrs
const useAverage: typeof import('@vueuse/math')['useAverage'] const useAverage: typeof import('@vueuse/math').useAverage
const useBase64: typeof import('@vueuse/core')['useBase64'] const useBase64: typeof import('@vueuse/core').useBase64
const useBattery: typeof import('@vueuse/core')['useBattery'] const useBattery: typeof import('@vueuse/core').useBattery
const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] const useBluetooth: typeof import('@vueuse/core').useBluetooth
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] const useBreakpoints: typeof import('@vueuse/core').useBreakpoints
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] const useBroadcastChannel: typeof import('@vueuse/core').useBroadcastChannel
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] const useBrowserLocation: typeof import('@vueuse/core').useBrowserLocation
const useCached: typeof import('@vueuse/core')['useCached'] const useCached: typeof import('@vueuse/core').useCached
const useCeil: typeof import('@vueuse/math')['useCeil'] const useCeil: typeof import('@vueuse/math').useCeil
const useClamp: typeof import('@vueuse/math')['useClamp'] const useClamp: typeof import('@vueuse/math').useClamp
const useClipboard: typeof import('@vueuse/core')['useClipboard'] const useClipboard: typeof import('@vueuse/core').useClipboard
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems'] const useClipboardItems: typeof import('@vueuse/core').useClipboardItems
const useCloned: typeof import('@vueuse/core')['useCloned'] const useCloned: typeof import('@vueuse/core').useCloned
const useColorMode: typeof import('@vueuse/core')['useColorMode'] const useColorMode: typeof import('@vueuse/core').useColorMode
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] const useConfirmDialog: typeof import('@vueuse/core').useConfirmDialog
const useCountdown: typeof import('@vueuse/core')['useCountdown'] const useCountdown: typeof import('@vueuse/core').useCountdown
const useCounter: typeof import('@vueuse/core')['useCounter'] const useCounter: typeof import('@vueuse/core').useCounter
const useCssModule: typeof import('vue')['useCssModule'] const useCssModule: typeof import('vue').useCssModule
const useCssVar: typeof import('@vueuse/core')['useCssVar'] const useCssVar: typeof import('@vueuse/core').useCssVar
const useCssVars: typeof import('vue')['useCssVars'] const useCssVars: typeof import('vue').useCssVars
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] const useCurrentElement: typeof import('@vueuse/core').useCurrentElement
const useCycleList: typeof import('@vueuse/core')['useCycleList'] const useCycleList: typeof import('@vueuse/core').useCycleList
const useDark: typeof import('@vueuse/core')['useDark'] const useDark: typeof import('@vueuse/core').useDark
const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] const useDateFormat: typeof import('@vueuse/core').useDateFormat
const useDebounce: typeof import('@vueuse/core')['useDebounce'] const useDebounce: typeof import('@vueuse/core').useDebounce
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] const useDebounceFn: typeof import('@vueuse/core').useDebounceFn
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] const useDebouncedRefHistory: typeof import('@vueuse/core').useDebouncedRefHistory
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] const useDeviceMotion: typeof import('@vueuse/core').useDeviceMotion
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] const useDeviceOrientation: typeof import('@vueuse/core').useDeviceOrientation
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] const useDevicePixelRatio: typeof import('@vueuse/core').useDevicePixelRatio
const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] const useDevicesList: typeof import('@vueuse/core').useDevicesList
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] const useDisplayMedia: typeof import('@vueuse/core').useDisplayMedia
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] const useDocumentVisibility: typeof import('@vueuse/core').useDocumentVisibility
const useDraggable: typeof import('@vueuse/core')['useDraggable'] const useDraggable: typeof import('@vueuse/core').useDraggable
const useDropZone: typeof import('@vueuse/core')['useDropZone'] const useDropZone: typeof import('@vueuse/core').useDropZone
const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] const useElementBounding: typeof import('@vueuse/core').useElementBounding
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] const useElementByPoint: typeof import('@vueuse/core').useElementByPoint
const useElementHover: typeof import('@vueuse/core')['useElementHover'] const useElementHover: typeof import('@vueuse/core').useElementHover
const useElementSize: typeof import('@vueuse/core')['useElementSize'] const useElementSize: typeof import('@vueuse/core').useElementSize
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] const useElementVisibility: typeof import('@vueuse/core').useElementVisibility
const useEventBus: typeof import('@vueuse/core')['useEventBus'] const useEventBus: typeof import('@vueuse/core').useEventBus
const useEventListener: typeof import('@vueuse/core')['useEventListener'] const useEventListener: typeof import('@vueuse/core').useEventListener
const useEventSource: typeof import('@vueuse/core')['useEventSource'] const useEventSource: typeof import('@vueuse/core').useEventSource
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] const useEyeDropper: typeof import('@vueuse/core').useEyeDropper
const useFavicon: typeof import('@vueuse/core')['useFavicon'] const useFavicon: typeof import('@vueuse/core').useFavicon
const useFetch: typeof import('@vueuse/core')['useFetch'] const useFetch: typeof import('@vueuse/core').useFetch
const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] const useFileDialog: typeof import('@vueuse/core').useFileDialog
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] const useFileSystemAccess: typeof import('@vueuse/core').useFileSystemAccess
const useFloor: typeof import('@vueuse/math')['useFloor'] const useFloor: typeof import('@vueuse/math').useFloor
const useFocus: typeof import('@vueuse/core')['useFocus'] const useFocus: typeof import('@vueuse/core').useFocus
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] const useFocusWithin: typeof import('@vueuse/core').useFocusWithin
const useFps: typeof import('@vueuse/core')['useFps'] const useFps: typeof import('@vueuse/core').useFps
const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useFullscreen: typeof import('@vueuse/core').useFullscreen
const useGamepad: typeof import('@vueuse/core')['useGamepad'] const useGamepad: typeof import('@vueuse/core').useGamepad
const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] const useGeolocation: typeof import('@vueuse/core').useGeolocation
const useId: typeof import('vue')['useId'] const useId: typeof import('vue').useId
const useIdle: typeof import('@vueuse/core')['useIdle'] const useIdle: typeof import('@vueuse/core').useIdle
const useImage: typeof import('@vueuse/core')['useImage'] const useImage: typeof import('@vueuse/core').useImage
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] const useInfiniteScroll: typeof import('@vueuse/core').useInfiniteScroll
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] const useIntersectionObserver: typeof import('@vueuse/core').useIntersectionObserver
const useInterval: typeof import('@vueuse/core')['useInterval'] const useInterval: typeof import('@vueuse/core').useInterval
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] const useIntervalFn: typeof import('@vueuse/core').useIntervalFn
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] const useKeyModifier: typeof import('@vueuse/core').useKeyModifier
const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] const useLastChanged: typeof import('@vueuse/core').useLastChanged
const useLink: typeof import('vue-router')['useLink'] const useLink: typeof import('vue-router').useLink
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] const useLocalStorage: typeof import('@vueuse/core').useLocalStorage
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] const useMagicKeys: typeof import('@vueuse/core').useMagicKeys
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] const useManualRefHistory: typeof import('@vueuse/core').useManualRefHistory
const useMath: typeof import('@vueuse/math')['useMath'] const useMath: typeof import('@vueuse/math').useMath
const useMax: typeof import('@vueuse/math')['useMax'] const useMax: typeof import('@vueuse/math').useMax
const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] const useMediaControls: typeof import('@vueuse/core').useMediaControls
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] const useMediaQuery: typeof import('@vueuse/core').useMediaQuery
const useMemoize: typeof import('@vueuse/core')['useMemoize'] const useMemoize: typeof import('@vueuse/core').useMemoize
const useMemory: typeof import('@vueuse/core')['useMemory'] const useMemory: typeof import('@vueuse/core').useMemory
const useMin: typeof import('@vueuse/math')['useMin'] const useMin: typeof import('@vueuse/math').useMin
const useModel: typeof import('vue')['useModel'] const useModel: typeof import('vue').useModel
const useMounted: typeof import('@vueuse/core')['useMounted'] const useMounted: typeof import('@vueuse/core').useMounted
const useMouse: typeof import('@vueuse/core')['useMouse'] const useMouse: typeof import('@vueuse/core').useMouse
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] const useMouseInElement: typeof import('@vueuse/core').useMouseInElement
const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] const useMousePressed: typeof import('@vueuse/core').useMousePressed
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] const useMutationObserver: typeof import('@vueuse/core').useMutationObserver
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] const useNavigatorLanguage: typeof import('@vueuse/core').useNavigatorLanguage
const useNetwork: typeof import('@vueuse/core')['useNetwork'] const useNetwork: typeof import('@vueuse/core').useNetwork
const useNow: typeof import('@vueuse/core')['useNow'] const useNow: typeof import('@vueuse/core').useNow
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] const useObjectUrl: typeof import('@vueuse/core').useObjectUrl
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] const useOffsetPagination: typeof import('@vueuse/core').useOffsetPagination
const useOnline: typeof import('@vueuse/core')['useOnline'] const useOnline: typeof import('@vueuse/core').useOnline
const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] const usePageLeave: typeof import('@vueuse/core').usePageLeave
const useParallax: typeof import('@vueuse/core')['useParallax'] const useParallax: typeof import('@vueuse/core').useParallax
const useParentElement: typeof import('@vueuse/core')['useParentElement'] const useParentElement: typeof import('@vueuse/core').useParentElement
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] const usePerformanceObserver: typeof import('@vueuse/core').usePerformanceObserver
const usePermission: typeof import('@vueuse/core')['usePermission'] const usePermission: typeof import('@vueuse/core').usePermission
const usePointer: typeof import('@vueuse/core')['usePointer'] const usePointer: typeof import('@vueuse/core').usePointer
const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] const usePointerLock: typeof import('@vueuse/core').usePointerLock
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] const usePointerSwipe: typeof import('@vueuse/core').usePointerSwipe
const usePrecision: typeof import('@vueuse/math')['usePrecision'] const usePrecision: typeof import('@vueuse/math').usePrecision
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] const usePreferredColorScheme: typeof import('@vueuse/core').usePreferredColorScheme
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] const usePreferredContrast: typeof import('@vueuse/core').usePreferredContrast
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] const usePreferredDark: typeof import('@vueuse/core').usePreferredDark
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] const usePreferredLanguages: typeof import('@vueuse/core').usePreferredLanguages
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] const usePreferredReducedMotion: typeof import('@vueuse/core').usePreferredReducedMotion
const usePreferredReducedTransparency: typeof import('@vueuse/core')['usePreferredReducedTransparency'] const usePreferredReducedTransparency: typeof import('@vueuse/core').usePreferredReducedTransparency
const usePrevious: typeof import('@vueuse/core')['usePrevious'] const usePrevious: typeof import('@vueuse/core').usePrevious
const useProjection: typeof import('@vueuse/math')['useProjection'] const useProjection: typeof import('@vueuse/math').useProjection
const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useRafFn: typeof import('@vueuse/core').useRafFn
const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const useRefHistory: typeof import('@vueuse/core').useRefHistory
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] const useResizeObserver: typeof import('@vueuse/core').useResizeObserver
const useRound: typeof import('@vueuse/math')['useRound'] const useRound: typeof import('@vueuse/math').useRound
const useRoute: typeof import('vue-router')['useRoute'] const useRoute: typeof import('vue-router').useRoute
const useRouter: typeof import('vue-router')['useRouter'] const useRouter: typeof import('vue-router').useRouter
const useSSRWidth: typeof import('@vueuse/core')['useSSRWidth'] const useSSRWidth: typeof import('@vueuse/core').useSSRWidth
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] const useScreenOrientation: typeof import('@vueuse/core').useScreenOrientation
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] const useScreenSafeArea: typeof import('@vueuse/core').useScreenSafeArea
const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] const useScriptTag: typeof import('@vueuse/core').useScriptTag
const useScroll: typeof import('@vueuse/core')['useScroll'] const useScroll: typeof import('@vueuse/core').useScroll
const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] const useScrollLock: typeof import('@vueuse/core').useScrollLock
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] const useSessionStorage: typeof import('@vueuse/core').useSessionStorage
const useShare: typeof import('@vueuse/core')['useShare'] const useShare: typeof import('@vueuse/core').useShare
const useSlots: typeof import('vue')['useSlots'] const useSlots: typeof import('vue').useSlots
const useSorted: typeof import('@vueuse/core')['useSorted'] const useSorted: typeof import('@vueuse/core').useSorted
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] const useSpeechRecognition: typeof import('@vueuse/core').useSpeechRecognition
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] const useSpeechSynthesis: typeof import('@vueuse/core').useSpeechSynthesis
const useStepper: typeof import('@vueuse/core')['useStepper'] const useStepper: typeof import('@vueuse/core').useStepper
const useStorage: typeof import('@vueuse/core')['useStorage'] const useStorage: typeof import('@vueuse/core').useStorage
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] const useStorageAsync: typeof import('@vueuse/core').useStorageAsync
const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] const useStyleTag: typeof import('@vueuse/core').useStyleTag
const useSum: typeof import('@vueuse/math')['useSum'] const useSum: typeof import('@vueuse/math').useSum
const useSupported: typeof import('@vueuse/core')['useSupported'] const useSupported: typeof import('@vueuse/core').useSupported
const useSwipe: typeof import('@vueuse/core')['useSwipe'] const useSwipe: typeof import('@vueuse/core').useSwipe
const useTemplateRef: typeof import('vue')['useTemplateRef'] const useTemplateRef: typeof import('vue').useTemplateRef
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] const useTemplateRefsList: typeof import('@vueuse/core').useTemplateRefsList
const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] const useTextDirection: typeof import('@vueuse/core').useTextDirection
const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] const useTextSelection: typeof import('@vueuse/core').useTextSelection
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] const useTextareaAutosize: typeof import('@vueuse/core').useTextareaAutosize
const useThrottle: typeof import('@vueuse/core')['useThrottle'] const useThrottle: typeof import('@vueuse/core').useThrottle
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] const useThrottleFn: typeof import('@vueuse/core').useThrottleFn
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] const useThrottledRefHistory: typeof import('@vueuse/core').useThrottledRefHistory
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] const useTimeAgo: typeof import('@vueuse/core').useTimeAgo
const useTimeout: typeof import('@vueuse/core')['useTimeout'] const useTimeout: typeof import('@vueuse/core').useTimeout
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] const useTimeoutFn: typeof import('@vueuse/core').useTimeoutFn
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] const useTimeoutPoll: typeof import('@vueuse/core').useTimeoutPoll
const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] const useTimestamp: typeof import('@vueuse/core').useTimestamp
const useTitle: typeof import('@vueuse/core')['useTitle'] const useTitle: typeof import('@vueuse/core').useTitle
const useToFixed: typeof import('@vueuse/math')['useToFixed'] const useToFixed: typeof import('@vueuse/math')['useToFixed']
const useToNumber: typeof import('@vueuse/core')['useToNumber'] const useToNumber: typeof import('@vueuse/core').useToNumber
const useToString: typeof import('@vueuse/core')['useToString'] const useToString: typeof import('@vueuse/core').useToString
const useToggle: typeof import('@vueuse/core')['useToggle'] const useToggle: typeof import('@vueuse/core').useToggle
const useTransition: typeof import('@vueuse/core')['useTransition'] const useTransition: typeof import('@vueuse/core').useTransition
const useTrunc: typeof import('@vueuse/math')['useTrunc'] const useTrunc: typeof import('@vueuse/math').useTrunc
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] const useUrlSearchParams: typeof import('@vueuse/core').useUrlSearchParams
const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] const useUserMedia: typeof import('@vueuse/core').useUserMedia
const useVModel: typeof import('@vueuse/core')['useVModel'] const useVModel: typeof import('@vueuse/core').useVModel
const useVModels: typeof import('@vueuse/core')['useVModels'] const useVModels: typeof import('@vueuse/core').useVModels
const useVibrate: typeof import('@vueuse/core')['useVibrate'] const useVibrate: typeof import('@vueuse/core').useVibrate
const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] const useVirtualList: typeof import('@vueuse/core').useVirtualList
const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] const useWakeLock: typeof import('@vueuse/core').useWakeLock
const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] const useWebNotification: typeof import('@vueuse/core').useWebNotification
const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] const useWebSocket: typeof import('@vueuse/core').useWebSocket
const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] const useWebWorker: typeof import('@vueuse/core').useWebWorker
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] const useWebWorkerFn: typeof import('@vueuse/core').useWebWorkerFn
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] const useWindowFocus: typeof import('@vueuse/core').useWindowFocus
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] const useWindowScroll: typeof import('@vueuse/core').useWindowScroll
const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] const useWindowSize: typeof import('@vueuse/core').useWindowSize
const watch: typeof import('vue')['watch'] const watch: typeof import('vue').watch
const watchArray: typeof import('@vueuse/core')['watchArray'] const watchArray: typeof import('@vueuse/core').watchArray
const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] const watchAtMost: typeof import('@vueuse/core').watchAtMost
const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] const watchDebounced: typeof import('@vueuse/core').watchDebounced
const watchDeep: typeof import('@vueuse/core')['watchDeep'] const watchDeep: typeof import('@vueuse/core').watchDeep
const watchEffect: typeof import('vue')['watchEffect'] const watchEffect: typeof import('vue').watchEffect
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] const watchIgnorable: typeof import('@vueuse/core').watchIgnorable
const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] const watchImmediate: typeof import('@vueuse/core').watchImmediate
const watchOnce: typeof import('@vueuse/core')['watchOnce'] const watchOnce: typeof import('@vueuse/core').watchOnce
const watchPausable: typeof import('@vueuse/core')['watchPausable'] const watchPausable: typeof import('@vueuse/core').watchPausable
const watchPostEffect: typeof import('vue')['watchPostEffect'] const watchPostEffect: typeof import('vue').watchPostEffect
const watchSyncEffect: typeof import('vue')['watchSyncEffect'] const watchSyncEffect: typeof import('vue').watchSyncEffect
const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] const watchThrottled: typeof import('@vueuse/core').watchThrottled
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] const watchTriggerable: typeof import('@vueuse/core').watchTriggerable
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] const watchWithFilter: typeof import('@vueuse/core').watchWithFilter
const whenever: typeof import('@vueuse/core')['whenever'] const whenever: typeof import('@vueuse/core').whenever
} }
// for type re-export // for type re-export
declare global { declare global {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -51,19 +51,18 @@ ...@@ -51,19 +51,18 @@
"@types/node": "^20.3.1", "@types/node": "^20.3.1",
"@types/ua-parser-js": "^0.7.36", "@types/ua-parser-js": "^0.7.36",
"@types/video.js": "^7.3.52", "@types/video.js": "^7.3.52",
"@vitejs/plugin-vue": "^6.0.1", "@vitejs/plugin-vue": "^6.0.9",
"@vue-macros/reactivity-transform": "^1.1.6", "@vue-macros/reactivity-transform": "^3.1.4",
"@vue/eslint-config-typescript": "^14.1.3", "@vue/eslint-config-typescript": "^14.1.3",
"@vue/tsconfig": "^0.6.0", "@vue/tsconfig": "^0.6.0",
"chalk": "^5.2.0", "chalk": "^5.2.0",
"eslint": "^9.14.0", "eslint": "^9.14.0",
"eslint-plugin-vue": "^9.30.0", "eslint-plugin-vue": "^9.30.0",
"sass": "^1.58.3", "sass": "^1.104.1",
"typescript": "~5.6.3", "typescript": "~5.6.3",
"unplugin-auto-import": "^20.0.0", "unplugin-auto-import": "^21.1.0",
"vite": "^6.3.5", "vite": "^8.3.0",
"vite-plugin-checker": "^0.10.2", "vite-plugin-mkcert": "^2.1.0",
"vite-plugin-mkcert": "^1.17.8",
"vue-tsc": "^2.1.10" "vue-tsc": "^2.1.10"
} }
} }
...@@ -8,6 +8,7 @@ import { useGetProjectList } from '@/composables/useGetProjectList' ...@@ -8,6 +8,7 @@ import { useGetProjectList } from '@/composables/useGetProjectList'
import { useGetCourseList } from '../composables/useGetCourseList' import { useGetCourseList } from '../composables/useGetCourseList'
import { useGetTeacherList } from '../composables/useGetTeacherList' import { useGetTeacherList } from '../composables/useGetTeacherList'
import { useMapStore } from '@/stores/map' import { useMapStore } from '@/stores/map'
import { useUserStore } from '@/stores/user'
// import { useAppConfig } from '@/composables/useAppConfig' // import { useAppConfig } from '@/composables/useAppConfig'
// const appConfig = useAppConfig() // const appConfig = useAppConfig()
...@@ -24,6 +25,7 @@ const emit = defineEmits<{ ...@@ -24,6 +25,7 @@ const emit = defineEmits<{
// 机构列表 // 机构列表
const { organizations } = useGetProjectList() const { organizations } = useGetProjectList()
const userStore = useUserStore()
// 实验类型 // 实验类型
const types = useMapStore().getMapValuesByKey('experiment_type') const types = useMapStore().getMapValuesByKey('experiment_type')
// 数据状态 // 数据状态
...@@ -31,7 +33,7 @@ const status = useMapStore().getMapValuesByKey('system_status') ...@@ -31,7 +33,7 @@ const status = useMapStore().getMapValuesByKey('system_status')
const formRef = $ref<FormInstance>() const formRef = $ref<FormInstance>()
const form = reactive<ExperimentCreateItem>({ const form = reactive<ExperimentCreateItem>({
organ_id: '', organ_id: userStore.organization?.id || '',
status: '1', status: '1',
course_id: '', course_id: '',
name: '', name: '',
...@@ -48,7 +50,10 @@ const form = reactive<ExperimentCreateItem>({ ...@@ -48,7 +50,10 @@ const form = reactive<ExperimentCreateItem>({
can_repeat_commit: '0', can_repeat_commit: '0',
}) })
watchEffect(() => { watchEffect(() => {
if (!props.data) return if (!props.data) {
form.organ_id = userStore.organization?.id || ''
return
}
const score = parseFloat(props.data.score) const score = parseFloat(props.data.score)
const length = parseFloat(props.data.length) const length = parseFloat(props.data.length)
const teachers_ids = props.data.teacher.map((item) => item.id) const teachers_ids = props.data.teacher.map((item) => item.id)
...@@ -122,7 +127,12 @@ function handleUpdate(params: ExperimentCreateItem) { ...@@ -122,7 +127,12 @@ function handleUpdate(params: ExperimentCreateItem) {
@update:modelValue="(value) => $emit('update:modelValue', value)"> @update:modelValue="(value) => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-width="145px"> <el-form ref="formRef" :model="form" :rules="rules" label-width="145px">
<el-form-item label="实验所属部门/学校" prop="organ_id"> <el-form-item label="实验所属部门/学校" prop="organ_id">
<el-select filterable v-model="form.organ_id" style="width: 100%" :disabled="isUpdate" @change="handleOrgChange"> <el-select
filterable
v-model="form.organ_id"
style="width: 100%"
:disabled="isUpdate"
@change="handleOrgChange">
<el-option v-for="item in organizations" :key="item.id" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in organizations" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -198,7 +208,7 @@ function handleUpdate(params: ExperimentCreateItem) { ...@@ -198,7 +208,7 @@ function handleUpdate(params: ExperimentCreateItem) {
<el-radio v-for="item in status" :key="item.id" :label="item.value">{{ item.label }}</el-radio> <el-radio v-for="item in status" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="是否支持重复提交" prop="can_repeat_commit"> <el-form-item label="是否支持重复提交" prop="can_repeat_commit" v-if="false">
<el-radio-group v-model="form.can_repeat_commit"> <el-radio-group v-model="form.can_repeat_commit">
<el-radio label="0">否</el-radio> <el-radio label="0">否</el-radio>
<el-radio label="1">是</el-radio> <el-radio label="1">是</el-radio>
......
<script setup> <script setup>
import { getExperimentGradeRule } from '../api' import { getExperimentGradeRule } from '../api'
const props = defineProps({ data: Object }) const props = defineProps({ data: Object, editable: Boolean })
const detail = reactive({ is_show: undefined, rule_list: [] }) const detail = reactive({ is_show: undefined, rule_list: [] })
const hasRules = $computed(() => detail.rule_list.length > 0)
const canViewText = $computed(() => { const canViewText = $computed(() => {
const map = { 1: '是', 0: '否' } const map = { 1: '是', 0: '否' }
return map[detail.is_show] return map[detail.is_show]
...@@ -29,7 +30,7 @@ onMounted(() => { ...@@ -29,7 +30,7 @@ onMounted(() => {
<template> <template>
<el-dialog title="实验成绩规则" width="500px"> <el-dialog title="实验成绩规则" width="500px">
<el-form :column="1" label-width="170px" label-position="right" label-suffix=":" v-if="detail"> <el-form :column="1" label-width="170px" label-position="right" label-suffix=":" v-if="hasRules">
<el-form-item label="是否允许查看成绩明细">{{ canViewText }}</el-form-item> <el-form-item label="是否允许查看成绩明细">{{ canViewText }}</el-form-item>
<el-form-item label="实验成绩规则" style="margin: 0"> </el-form-item> <el-form-item label="实验成绩规则" style="margin: 0"> </el-form-item>
<el-form label-suffix=":" style="width: 100%" label-width="240px"> <el-form label-suffix=":" style="width: 100%" label-width="240px">
...@@ -40,9 +41,13 @@ onMounted(() => { ...@@ -40,9 +41,13 @@ onMounted(() => {
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-form> </el-form>
<el-empty v-else description="当前实验尚未设置成绩规则" />
<template #footer> <template #footer>
<el-row justify="center"> <el-row justify="center">
<el-button type="primary" round auto-insert-space v-if="editable" @click="$emit('edit')">
{{ hasRules ? '编辑规则' : '设置规则' }}
</el-button>
<el-button round auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button> <el-button round auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button>
</el-row> </el-row>
</template> </template>
......
<script setup> <script setup>
import { getExperimentReportRule } from '../api' import { getExperimentReportRule } from '../api'
const props = defineProps({ experiment_id: String }) const props = defineProps({ experiment_id: String, editable: Boolean })
const detail = reactive({ way: undefined, detail_list: [] }) const detail = reactive({ way: undefined, detail_list: [] })
const hasRules = $computed(() => detail.way === 1 || detail.way === 2)
const reportSubmitMethodText = $computed(() => { const reportSubmitMethodText = $computed(() => {
const map = { 1: '上传文件', 2: '在线填写' } const map = { 1: '上传文件', 2: '在线填写' }
return map[detail.way] return map[detail.way]
...@@ -29,7 +30,7 @@ onMounted(() => { ...@@ -29,7 +30,7 @@ onMounted(() => {
<template> <template>
<el-dialog title="实验报告规则" width="500px"> <el-dialog title="实验报告规则" width="500px">
<el-form :column="1" label-suffix=":" v-if="detail"> <el-form :column="1" label-suffix=":" v-if="hasRules">
<el-form-item label="实验报告提交方式" align="right"> <el-form-item label="实验报告提交方式" align="right">
<el-row justify="space-between" style="width: 100%"> <el-row justify="space-between" style="width: 100%">
{{ reportSubmitMethodText }} {{ reportSubmitMethodText }}
...@@ -41,8 +42,14 @@ onMounted(() => { ...@@ -41,8 +42,14 @@ onMounted(() => {
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-empty v-else description="当前实验尚未设置报告规则" />
<template #footer> <template #footer>
<el-row justify="center"> <el-row justify="center">
<el-button type="primary" round auto-insert-space v-if="editable">
<router-link :to="`/admin/lab/experiment/report/${experiment_id}`" target="_blank" @click="$emit('edit')"
>{{ hasRules ? '编辑规则' : '设置规则' }}</router-link
>
</el-button>
<el-button round auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button> <el-button round auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button>
</el-row> </el-row>
</template> </template>
......
...@@ -89,8 +89,8 @@ function handleRemoveClass(row: ClassItem) { ...@@ -89,8 +89,8 @@ function handleRemoveClass(row: ClassItem) {
}) })
}) })
} }
const gradeRulesVisible = $ref(false) let gradeRulesVisible = $ref(false)
const reportRulesVisible = $ref(false) let reportRulesVisible = $ref(false)
const dmlURL = computed(() => { const dmlURL = computed(() => {
return `${appConfig.dmlURL || urls.dml}?experiment_id=${props.id}` return `${appConfig.dmlURL || urls.dml}?experiment_id=${props.id}`
}) })
...@@ -114,9 +114,14 @@ function handleUpdateDML() { ...@@ -114,9 +114,14 @@ function handleUpdateDML() {
} }
let gradeRulesDialogVisible = $ref(false) let gradeRulesDialogVisible = $ref(false)
function handleUpdateGradeRules() { function handleEditGradeRules() {
gradeRulesVisible = false
gradeRulesDialogVisible = true gradeRulesDialogVisible = true
} }
function handleEditReportRules() {
reportRulesVisible = false
}
</script> </script>
<template> <template>
...@@ -134,10 +139,6 @@ function handleUpdateGradeRules() { ...@@ -134,10 +139,6 @@ function handleUpdateGradeRules() {
<el-button type="primary" v-if="detail?.type === '6'"> <el-button type="primary" v-if="detail?.type === '6'">
<a :href="aiURL" target="_blank">进入AI实验平台</a> <a :href="aiURL" target="_blank">进入AI实验平台</a>
</el-button> </el-button>
<el-button type="primary" @click="gradeRulesVisible = true">查看成绩规则</el-button>
<el-button type="primary" @click="reportRulesVisible = true">查看报告规则</el-button>
<el-button type="primary" @click="handleCopy()">复制实验</el-button>
<el-button type="primary" @click="handleUpdateDML()" v-if="detail?.type === '4'">配置数字营销</el-button>
<el-button type="primary"> <el-button type="primary">
<router-link <router-link
:to="{ path: '/admin/lab/score', query: { course_id: detail?.course_id, experiment_id: detail?.id } }" :to="{ path: '/admin/lab/score', query: { course_id: detail?.course_id, experiment_id: detail?.id } }"
...@@ -145,13 +146,11 @@ function handleUpdateGradeRules() { ...@@ -145,13 +146,11 @@ function handleUpdateGradeRules() {
>实验评分</router-link >实验评分</router-link
> >
</el-button> </el-button>
<template v-if="!detail?.stu_commit_count"> <el-button type="primary" @click="gradeRulesVisible = true">成绩规则</el-button>
<el-button type="primary" @click="handleUpdateGradeRules()">编辑成绩规则</el-button> <el-button type="primary" @click="reportRulesVisible = true">报告规则</el-button>
<el-button type="primary"> <el-button type="primary" @click="handleUpdateDML()" v-if="detail?.type === '4'">配置数字营销</el-button>
<router-link :to="`/admin/lab/experiment/report/${detail?.id}`" target="_blank">编辑报告规则</router-link>
</el-button>
</template>
<CompetitionRuleDialog v-if="!isSchool" :id="id"></CompetitionRuleDialog> <CompetitionRuleDialog v-if="!isSchool" :id="id"></CompetitionRuleDialog>
<el-button type="primary" @click="handleCopy()">复制实验</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -226,8 +225,18 @@ function handleUpdateGradeRules() { ...@@ -226,8 +225,18 @@ function handleUpdateGradeRules() {
:data="rowData" :data="rowData"
:experimentId="id" :experimentId="id"
v-if="studentListVisible && rowData"></StudentListDialog> v-if="studentListVisible && rowData"></StudentListDialog>
<ViewGradeRules v-model="gradeRulesVisible" :data="detail" v-if="gradeRulesVisible && detail"></ViewGradeRules> <ViewGradeRules
<ViewReportRules v-model="reportRulesVisible" :experiment_id="id" v-if="reportRulesVisible"></ViewReportRules> v-model="gradeRulesVisible"
:data="detail"
:editable="!detail?.stu_commit_count"
@edit="handleEditGradeRules"
v-if="gradeRulesVisible && detail"></ViewGradeRules>
<ViewReportRules
v-model="reportRulesVisible"
:experiment_id="id"
:editable="!detail?.stu_commit_count"
@edit="handleEditReportRules"
v-if="reportRulesVisible"></ViewReportRules>
<CopyDialog v-model="copyDialogVisible" :data="detail" v-if="copyDialogVisible && detail"></CopyDialog> <CopyDialog v-model="copyDialogVisible" :data="detail" v-if="copyDialogVisible && detail"></CopyDialog>
<!-- 配置数字营销实验 --> <!-- 配置数字营销实验 -->
<DMLFormDialog v-model="dmlDialogVisible" :data="detail" v-if="dmlDialogVisible && detail"></DMLFormDialog> <DMLFormDialog v-model="dmlDialogVisible" :data="detail" v-if="dmlDialogVisible && detail"></DMLFormDialog>
......
...@@ -2,7 +2,6 @@ import { fileURLToPath, URL } from 'node:url' ...@@ -2,7 +2,6 @@ import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import checker from 'vite-plugin-checker'
import AutoImport from 'unplugin-auto-import/vite' import AutoImport from 'unplugin-auto-import/vite'
import ReactivityTransform from '@vue-macros/reactivity-transform/vite' import ReactivityTransform from '@vue-macros/reactivity-transform/vite'
import mkcert from 'vite-plugin-mkcert' import mkcert from 'vite-plugin-mkcert'
...@@ -18,7 +17,6 @@ export default defineConfig(({ mode }) => ({ ...@@ -18,7 +17,6 @@ export default defineConfig(({ mode }) => ({
eslintrc: { enabled: true }, eslintrc: { enabled: true },
}), }),
ReactivityTransform(), ReactivityTransform(),
checker({ vueTsc: true, eslint: { useFlatConfig: true, lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } }),
], ],
server: { server: {
open: true, open: true,
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论