提交 f9e434b2 authored 作者: lihuihui's avatar lihuihui
...@@ -81,6 +81,8 @@ ...@@ -81,6 +81,8 @@
"refThrottled": true, "refThrottled": true,
"refWithControl": true, "refWithControl": true,
"resolveComponent": true, "resolveComponent": true,
"resolveRef": true,
"resolveUnref": true,
"shallowReactive": true, "shallowReactive": true,
"shallowReadonly": true, "shallowReadonly": true,
"shallowRef": true, "shallowRef": true,
...@@ -108,6 +110,7 @@ ...@@ -108,6 +110,7 @@
"useAttrs": true, "useAttrs": true,
"useBase64": true, "useBase64": true,
"useBattery": true, "useBattery": true,
"useBluetooth": true,
"useBreakpoints": true, "useBreakpoints": true,
"useBroadcastChannel": true, "useBroadcastChannel": true,
"useBrowserLocation": true, "useBrowserLocation": true,
...@@ -146,6 +149,7 @@ ...@@ -146,6 +149,7 @@
"useEyeDropper": true, "useEyeDropper": true,
"useFavicon": true, "useFavicon": true,
"useFetch": true, "useFetch": true,
"useFileDialog": true,
"useFileSystemAccess": true, "useFileSystemAccess": true,
"useFocus": true, "useFocus": true,
"useFocusWithin": true, "useFocusWithin": true,
...@@ -154,6 +158,7 @@ ...@@ -154,6 +158,7 @@
"useGamepad": true, "useGamepad": true,
"useGeolocation": true, "useGeolocation": true,
"useIdle": true, "useIdle": true,
"useImage": true,
"useInfiniteScroll": true, "useInfiniteScroll": true,
"useIntersectionObserver": true, "useIntersectionObserver": true,
"useInterval": true, "useInterval": true,
...@@ -175,6 +180,7 @@ ...@@ -175,6 +180,7 @@
"useNavigatorLanguage": true, "useNavigatorLanguage": true,
"useNetwork": true, "useNetwork": true,
"useNow": true, "useNow": true,
"useObjectUrl": true,
"useOffsetPagination": true, "useOffsetPagination": true,
"useOnline": true, "useOnline": true,
"usePageLeave": true, "usePageLeave": true,
...@@ -200,12 +206,14 @@ ...@@ -200,12 +206,14 @@
"useSlots": true, "useSlots": true,
"useSpeechRecognition": true, "useSpeechRecognition": true,
"useSpeechSynthesis": true, "useSpeechSynthesis": true,
"useStepper": true,
"useStorage": true, "useStorage": true,
"useStorageAsync": true, "useStorageAsync": true,
"useStyleTag": true, "useStyleTag": true,
"useSwipe": true, "useSwipe": true,
"useTemplateRefsList": true, "useTemplateRefsList": true,
"useTextSelection": true, "useTextSelection": true,
"useTextareaAutosize": true,
"useThrottle": true, "useThrottle": true,
"useThrottleFn": true, "useThrottleFn": true,
"useThrottledRefHistory": true, "useThrottledRefHistory": true,
...@@ -232,6 +240,7 @@ ...@@ -232,6 +240,7 @@
"useWindowScroll": true, "useWindowScroll": true,
"useWindowSize": true, "useWindowSize": true,
"watch": true, "watch": true,
"watchArray": true,
"watchAtMost": true, "watchAtMost": true,
"watchDebounced": true, "watchDebounced": true,
"watchEffect": true, "watchEffect": true,
...@@ -241,6 +250,7 @@ ...@@ -241,6 +250,7 @@
"watchPostEffect": true, "watchPostEffect": true,
"watchSyncEffect": true, "watchSyncEffect": true,
"watchThrottled": true, "watchThrottled": true,
"watchTriggerable": true,
"watchWithFilter": true, "watchWithFilter": true,
"whenever": true "whenever": true
} }
......
...@@ -82,6 +82,8 @@ declare global { ...@@ -82,6 +82,8 @@ declare global {
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 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']
...@@ -109,6 +111,7 @@ declare global { ...@@ -109,6 +111,7 @@ declare global {
const useAttrs: typeof import('vue')['useAttrs'] const useAttrs: typeof import('vue')['useAttrs']
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 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']
...@@ -147,6 +150,7 @@ declare global { ...@@ -147,6 +150,7 @@ declare global {
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 useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
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']
...@@ -155,6 +159,7 @@ declare global { ...@@ -155,6 +159,7 @@ declare global {
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 useIdle: typeof import('@vueuse/core')['useIdle'] const useIdle: typeof import('@vueuse/core')['useIdle']
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']
...@@ -176,6 +181,7 @@ declare global { ...@@ -176,6 +181,7 @@ declare global {
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 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']
...@@ -201,12 +207,14 @@ declare global { ...@@ -201,12 +207,14 @@ declare global {
const useSlots: typeof import('vue')['useSlots'] const useSlots: typeof import('vue')['useSlots']
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 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 useSwipe: typeof import('@vueuse/core')['useSwipe'] const useSwipe: typeof import('@vueuse/core')['useSwipe']
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
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']
...@@ -233,6 +241,7 @@ declare global { ...@@ -233,6 +241,7 @@ declare global {
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 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 watchEffect: typeof import('vue')['watchEffect'] const watchEffect: typeof import('vue')['watchEffect']
...@@ -242,6 +251,7 @@ declare global { ...@@ -242,6 +251,7 @@ declare global {
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 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']
} }
...@@ -125,7 +125,7 @@ onMounted(() => { ...@@ -125,7 +125,7 @@ onMounted(() => {
fetchList() fetchList()
}) })
defineExpose({ refetch, tableRef, params }) defineExpose({ refetch, tableRef, params, loading })
</script> </script>
<template> <template>
......
...@@ -28,10 +28,9 @@ if (props.item?.url?.indexOf('.pdf') !== -1 || props.item?.url?.indexOf('.txt') ...@@ -28,10 +28,9 @@ if (props.item?.url?.indexOf('.pdf') !== -1 || props.item?.url?.indexOf('.txt')
<template> <template>
<el-card> <el-card>
<div class="max-w-h"> <div class="max-w-h">
<iframe <iframe v-if="isShowType === 1" :src="`https://view.officeapps.live.com/op/view.aspx?src=${props.item?.url}`">{{
v-if="isShowType === 1" item.name
:src="`https://view.officeapps.live.com/op/view.aspx?src=${props.item?.url}`" }}</iframe>
></iframe>
<embed :src="props.item?.url" v-else-if="isShowType === 2" /> <embed :src="props.item?.url" v-else-if="isShowType === 2" />
<video v-else-if="isShowType === 3" controls id="video"> <video v-else-if="isShowType === 3" controls id="video">
<source :src="props.item?.url" /> <source :src="props.item?.url" />
......
...@@ -56,7 +56,8 @@ const handleDetail = (row: any) => { ...@@ -56,7 +56,8 @@ const handleDetail = (row: any) => {
window.open(row.url) window.open(row.url)
} }
const handleDel = (row: any) => { const handleDel = (row: any) => {
dataList.value.splice(row, 1) const index = dataList.value.findIndex((item: any) => item.id === row.id)
dataList.value.splice(index, 1)
emit('information', dataList.value) emit('information', dataList.value)
} }
const imgUrl = (val: any) => { const imgUrl = (val: any) => {
......
...@@ -65,7 +65,7 @@ const listOptions = computed(() => { ...@@ -65,7 +65,7 @@ const listOptions = computed(() => {
}) })
// // 删除考试 // // 删除考试
const removeLectuter = (id: string) => { const removeLectuter = (id: string) => {
const index = examList.value.findIndex((ids: string) => ids === id) const index = examList.value.findIndex((item: any) => item.id === id)
examList.value.splice(index, 1) examList.value.splice(index, 1)
emit('change', examList.value) emit('change', examList.value)
} }
......
...@@ -184,7 +184,7 @@ const allowDrop = (draggingNode: any, dropNode: any, type: any) => { ...@@ -184,7 +184,7 @@ const allowDrop = (draggingNode: any, dropNode: any, type: any) => {
} }
//拖拽列表 //拖拽列表
const handleDrop = (startNode: any, endNode: any, position: any) => { const handleDrop = (startNode: any, endNode: any, position: any) => {
if (!checkPermission('v1-course-drag')) { if (checkPermission('v1-course-drag')) {
const params = { const params = {
course_id: id, course_id: id,
id: startNode.data.id, id: startNode.data.id,
......
...@@ -43,7 +43,7 @@ const listOptions = computed(() => { ...@@ -43,7 +43,7 @@ const listOptions = computed(() => {
{ label: '更新人', prop: 'updated_operator_name', align: 'center' }, { label: '更新人', prop: 'updated_operator_name', align: 'center' },
{ label: '更新人部门', prop: 'organ_id_name', align: 'center' }, { label: '更新人部门', prop: 'organ_id_name', align: 'center' },
{ label: '更新日期', prop: 'updated_time', align: 'center' }, { label: '更新日期', prop: 'updated_time', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center', width: 200 , fixed: 'right'} { label: '操作', slots: 'table-operate', align: 'center', width: 200, fixed: 'right' }
] ]
if (tabValue.value === '2') { if (tabValue.value === '2') {
columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' }) columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' })
...@@ -140,7 +140,8 @@ const changeCard = () => { ...@@ -140,7 +140,8 @@ const changeCard = () => {
<div class="card-list" v-if="data.length"> <div class="card-list" v-if="data.length">
<CardListItem :tabIndex="tabValue" v-for="(item, index) in data" :data="item" :key="index"></CardListItem> <CardListItem :tabIndex="tabValue" v-for="(item, index) in data" :data="item" :key="index"></CardListItem>
</div> </div>
<el-empty v-else description="暂无数据" /> <el-empty v-if="appList?.loading" description="加载中..." />
<el-empty v-if="data.length === 0 && !appList?.loading" description="暂无数据" />
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
......
...@@ -54,7 +54,7 @@ const listOptions = $computed(() => { ...@@ -54,7 +54,7 @@ const listOptions = $computed(() => {
{ label: '更新人', prop: 'updated_operator_name', align: 'center' }, { label: '更新人', prop: 'updated_operator_name', align: 'center' },
{ label: '更新人部门', prop: 'organ_id_name', align: 'center' }, { label: '更新人部门', prop: 'organ_id_name', align: 'center' },
{ label: '更新日期', prop: 'updated_time', align: 'center' }, { label: '更新日期', prop: 'updated_time', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center', width: 200 , fixed: 'right'} { label: '操作', slots: 'table-operate', align: 'center', width: 200, fixed: 'right' }
] ]
if (tabValue.value === '2') { if (tabValue.value === '2') {
columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' }) columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' })
......
...@@ -54,7 +54,7 @@ const listOptions = $computed(() => { ...@@ -54,7 +54,7 @@ const listOptions = $computed(() => {
{ label: '更新人', prop: 'updated_operator_name', align: 'center' }, { label: '更新人', prop: 'updated_operator_name', align: 'center' },
{ label: '更新人部门', prop: 'organ_id_name', align: 'center' }, { label: '更新人部门', prop: 'organ_id_name', align: 'center' },
{ label: '更新日期', prop: 'updated_time', align: 'center' }, { label: '更新日期', prop: 'updated_time', align: 'center' },
{ label: '操作', slots: 'table-operate', align: 'center', width: 200 , fixed: 'right'} { label: '操作', slots: 'table-operate', align: 'center', width: 200, fixed: 'right' }
] ]
if (tabValue.value === '2') { if (tabValue.value === '2') {
columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' }) columns.splice(2, 0, { label: '部门共享', prop: 'department_public_name', align: 'center' })
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论