提交代码
This commit is contained in:
parent
655de1de86
commit
94f6a0b87d
|
@ -76,7 +76,7 @@ export function pageTextbook(query: any): AxiosPromise<any[]> {
|
|||
|
||||
export function awaitTexbookList(query: any): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/file/textbook/awaitList',
|
||||
url: '/file/textbook/await/pageList',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
|
@ -90,6 +90,14 @@ export const addTextbook = (data: any) => {
|
|||
});
|
||||
}
|
||||
|
||||
export const addResource = (data: any) => {
|
||||
return request({
|
||||
url: '/file/resource',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
}
|
||||
|
||||
export function pageResource(query: any): AxiosPromise<any[]> {
|
||||
return request({
|
||||
url: '/file/resource/pageList',
|
||||
|
@ -122,9 +130,16 @@ export const move = (data: any) => {
|
|||
});
|
||||
}
|
||||
|
||||
export function delTextbook(ossId: string | number | Array<string | number>) {
|
||||
export function delTextbook(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/file/textbook/' + ossId,
|
||||
url: '/file/textbook/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
export function delResource(id: string | number | Array<string | number>) {
|
||||
return request({
|
||||
url: '/file/resource/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
|
@ -61,12 +61,12 @@
|
|||
</template>
|
||||
|
||||
<el-table v-if="showTable" v-loading="loading" :data="ossList" :header-cell-class-name="handleHeaderClass"
|
||||
@selection-change="handleSelectionChange" @header-click="handleHeaderCLick">
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="课件名" align="center" prop="fileName" width="240" />
|
||||
<el-table-column label="课件格式" align="center" prop="fileSuffix" />
|
||||
<el-table-column label="课件大小" align="center" prop="fileSuffix" />
|
||||
<el-table-column label="创建人" align="center" prop="createByName" />
|
||||
<el-table-column label="课件大小" align="center" prop="volume" />
|
||||
<el-table-column label="创建人" align="center" prop="createBy" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime">
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||
|
@ -76,11 +76,12 @@
|
|||
<template #default="scope">
|
||||
|
||||
<el-tooltip v-if="isAudit" content="审核通过" placement="top">
|
||||
<el-button link type="primary" icon="CopyDocument" @click="handleDownload(scope.row)">审核通过</el-button>
|
||||
<el-button link type="primary" icon="CopyDocument"
|
||||
@click="handleAuditBtn(scope.row, 1)">审核通过</el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip v-if="isAudit" content="审核不通过" placement="top">
|
||||
<el-button link type="primary" icon="DocumentCopy"
|
||||
@click="handleDownload(scope.row)">审核不通过</el-button>
|
||||
@click="handleAuditBtn(scope.row, 0)">审核不通过</el-button>
|
||||
</el-tooltip>
|
||||
|
||||
<el-tooltip content="预览" placement="top">
|
||||
|
@ -180,12 +181,12 @@
|
|||
</template>
|
||||
|
||||
<script setup name="Oss" lang="ts">
|
||||
import { pageResource, preview, previewTxt, delOss, addTextbook } from '@/api/system/oss';
|
||||
import { pageResource, awaitTexbookList, preview, previewTxt, delResource, addResource, review, copy, move } from '@/api/system/oss';
|
||||
import ImagePreview from '@/components/ImagePreview/index.vue';
|
||||
import FileMd5Upload from '@/components/FileMd5Upload/index.vue';
|
||||
import { OssForm, OssQuery, OssVO } from '@/api/system/oss/types';
|
||||
import { listCatalogTextbook } from "@/api/resource/catalogTextbook";
|
||||
import { CatalogResourceVO } from '@/api/resource/catalogResource/types';
|
||||
import { listCatalogResource } from "@/api/resource/catalogResource";
|
||||
import { CatalogTextbookVO } from '@/api/resource/catalogTextbook/types';
|
||||
|
||||
//引入VueOfficeDocx组件
|
||||
import VueOfficeDocx from '@vue-office/docx'
|
||||
|
@ -239,7 +240,6 @@ const formatOptions = [
|
|||
}
|
||||
]
|
||||
|
||||
const catalogRadio = ref('1')
|
||||
const defaultProps = {
|
||||
children: 'children',
|
||||
label: 'catalogName',
|
||||
|
@ -247,7 +247,7 @@ const defaultProps = {
|
|||
|
||||
const isUpload = ref(false)
|
||||
const currentNode = ref<any>({})
|
||||
const treeData = ref<CatalogResourceVO[]>([])
|
||||
const treeData = ref<CatalogTextbookVO[]>([])
|
||||
|
||||
const ossList = ref<OssVO[]>([]);
|
||||
const showTable = ref(true);
|
||||
|
@ -276,7 +276,7 @@ const treeMoveDialog = reactive<DialogOption>({
|
|||
title: '移动'
|
||||
});
|
||||
const treeMoveFormRef = ref()
|
||||
const treeMoveForm = ref<any>({ catalogId: '' });
|
||||
const treeMoveForm = ref<any>({ id: '', catalogId: '' });
|
||||
const treeMoveRules = ref({
|
||||
catalogId: [{ required: true, message: '请选择', trigger: 'blur' }]
|
||||
})
|
||||
|
@ -286,7 +286,7 @@ const treeCopyDialog = reactive<DialogOption>({
|
|||
title: '复制'
|
||||
});
|
||||
const treeCopyFormRef = ref()
|
||||
const treeCopyForm = ref<any>({ catalogId: '' });
|
||||
const treeCopyForm = ref<any>({ id: '', catalogId: '' });
|
||||
const treeCopyRules = ref({
|
||||
catalogId: [{ required: true, message: '请选择', trigger: 'blur' }]
|
||||
})
|
||||
|
@ -309,6 +309,7 @@ const data = reactive<PageData<OssForm, OssQuery>>({
|
|||
fileSuffix: '',
|
||||
createTime: '',
|
||||
service: '',
|
||||
catalogId: '',
|
||||
},
|
||||
rules: {
|
||||
file: [{ required: true, message: '文件不能为空', trigger: 'blur' }]
|
||||
|
@ -322,18 +323,18 @@ const getList = async () => {
|
|||
loading.value = true;
|
||||
const res = await proxy?.getConfigKey('sys.oss.previewListResource');
|
||||
previewListResource.value = res?.data === undefined ? true : res.data === 'true';
|
||||
const response = await pageResource(queryParams.value);
|
||||
let response
|
||||
if (isAudit.value) {
|
||||
response = await awaitTexbookList(queryParams.value);
|
||||
} else {
|
||||
response = await pageResource(queryParams.value);
|
||||
}
|
||||
ossList.value = response.rows;
|
||||
total.value = response.total;
|
||||
loading.value = false;
|
||||
showTable.value = true;
|
||||
};
|
||||
|
||||
function checkFileSuffix(fileSuffix: string | string[]) {
|
||||
const arr = [".png", ".jpg", ".jpeg"];
|
||||
const suffixArray = Array.isArray(fileSuffix) ? fileSuffix : [fileSuffix];
|
||||
return suffixArray.some(suffix => arr.includes(suffix.toLowerCase()));
|
||||
}
|
||||
/** 取消按钮 */
|
||||
function cancel() {
|
||||
dialog.visible = false;
|
||||
|
@ -434,7 +435,7 @@ const handleFileName = (val) => {
|
|||
const submitForm = async () => {
|
||||
const ossId = form.value.file
|
||||
const catalogId = currentNode.value.catalogId
|
||||
await addTextbook({ ossId, catalogId, fileName: fileName.value, type: catalogRadio.value })
|
||||
await addResource({ ossId, catalogId, fileName: fileName.value })
|
||||
dialog.visible = false;
|
||||
getList();
|
||||
};
|
||||
|
@ -443,6 +444,11 @@ const submitMoveForm = () => {
|
|||
treeMoveFormRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
treeMoveDialog.visible = false;
|
||||
const res = await move(treeMoveForm.value)
|
||||
if (res.code === 200) {
|
||||
proxy?.$modal.msgSuccess("移动成功")
|
||||
await getList()
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -455,6 +461,11 @@ const submitCopyForm = () => {
|
|||
treeCopyFormRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
treeCopyDialog.visible = false
|
||||
const res = await copy(treeCopyForm.value)
|
||||
if (res.code === 200) {
|
||||
proxy?.$modal.msgSuccess("复制成功")
|
||||
await getList()
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -463,37 +474,40 @@ const cancelCopy = () => {
|
|||
treeCopyDialog.visible = false
|
||||
}
|
||||
|
||||
// 0审核不通过 1审核通过
|
||||
const handleAuditBtn = async (row: any, status: number) => {
|
||||
const id = row?.id
|
||||
const fileName = row?.fileName
|
||||
const title = status === 1 ? `是否审核通过${fileName}?` : `是否审核不通过${fileName}?`
|
||||
await proxy?.$modal.confirm(title).finally(() => loading.value = false)
|
||||
await review({ id, status })
|
||||
proxy?.$modal.msgSuccess(status === 1 ? "审核通过" : '审核不通过');
|
||||
await getList();
|
||||
}
|
||||
|
||||
/** 下载按钮操作 */
|
||||
const handleDownload = (row: OssVO) => {
|
||||
proxy?.$download.oss(row.ossId);
|
||||
};
|
||||
|
||||
const handleMove = (row: OssVO) => {
|
||||
const handleMove = async (row: any) => {
|
||||
treeMoveDialog.visible = true
|
||||
treeMoveForm.value.id = row.id
|
||||
treeMoveForm.value.catalogId = currentNode.value.catalogId
|
||||
}
|
||||
|
||||
const handleCopy = (row: OssVO) => {
|
||||
const handleCopy = (row: any) => {
|
||||
treeCopyDialog.visible = true
|
||||
treeCopyForm.value.id = row.id
|
||||
treeCopyForm.value.catalogId = currentNode.value.catalogId
|
||||
}
|
||||
|
||||
/** 用户状态修改 */
|
||||
const handlePreviewListResource = async (preview: boolean) => {
|
||||
let text = preview ? '启用' : '停用';
|
||||
try {
|
||||
await proxy?.$modal.confirm('确认要"' + text + '""预览列表图片"配置吗?');
|
||||
await proxy?.updateConfigByKey('sys.oss.previewListResource', preview);
|
||||
await getList();
|
||||
proxy?.$modal.msgSuccess(text + '成功');
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
};
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (row?: OssVO) => {
|
||||
const ossIds = row?.ossId || ids.value;
|
||||
await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + ossIds + '"的数据项?');
|
||||
const handleDelete = async (row?: any) => {
|
||||
const delIds = row?.id || ids.value;
|
||||
await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + delIds + '"的数据项?');
|
||||
loading.value = true;
|
||||
await delOss(ossIds).finally(() => (loading.value = false));
|
||||
await delResource(delIds).finally(() => (loading.value = false));
|
||||
await getList();
|
||||
proxy?.$modal.msgSuccess('删除成功');
|
||||
};
|
||||
|
@ -511,6 +525,9 @@ const handleNode = (node: any) => {
|
|||
isTree.value = true
|
||||
isUpload.value = true
|
||||
currentNode.value = node
|
||||
|
||||
queryParams.value.catalogId = node.catalogId
|
||||
getList()
|
||||
}
|
||||
|
||||
const options = ref({
|
||||
|
@ -552,10 +569,10 @@ const handlePreview = async (row: OssVO) => {
|
|||
|
||||
const treeLoading = ref(false)
|
||||
/** 查询目录-同步教材列表 */
|
||||
const getListCatalogTextbook = async () => {
|
||||
const getlistCatalogResource = async () => {
|
||||
treeLoading.value = true;
|
||||
const res = await listCatalogTextbook();
|
||||
const data = proxy?.handleTree<CatalogResourceVO>(res.data, "catalogId", "parentId");
|
||||
const res = await listCatalogResource();
|
||||
const data = proxy?.handleTree<CatalogTextbookVO>(res.data, "catalogId", "parentId");
|
||||
if (data) {
|
||||
treeData.value = data;
|
||||
treeLoading.value = false;
|
||||
|
@ -564,7 +581,7 @@ const getListCatalogTextbook = async () => {
|
|||
}
|
||||
|
||||
onMounted(() => {
|
||||
getListCatalogTextbook()
|
||||
getlistCatalogResource()
|
||||
getList();
|
||||
});
|
||||
</script>
|
||||
|
@ -591,11 +608,6 @@ onMounted(() => {
|
|||
font-size: 18px;
|
||||
}
|
||||
|
||||
.line {
|
||||
border: 1px solid #ccc;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.btn-audit {
|
||||
text-indent: 1em;
|
||||
}
|
||||
|
|
|
@ -331,8 +331,8 @@ const getList = async () => {
|
|||
loading.value = true;
|
||||
const res = await proxy?.getConfigKey('sys.oss.previewListResource');
|
||||
previewListResource.value = res?.data === undefined ? true : res.data === 'true';
|
||||
let response
|
||||
if(isAudit.value) {
|
||||
let response
|
||||
if (isAudit.value) {
|
||||
response = await awaitTexbookList(queryParams.value);
|
||||
} else {
|
||||
response = await pageTextbook(queryParams.value);
|
||||
|
@ -379,24 +379,7 @@ function handleSelectionChange(selection: OssVO[]) {
|
|||
const handleHeaderClass = ({ column }: any): any => {
|
||||
column.order = column.multiOrder;
|
||||
};
|
||||
/** 点击表头进行排序 */
|
||||
const handleHeaderCLick = (column: any) => {
|
||||
if (column.sortable !== 'custom') {
|
||||
return;
|
||||
}
|
||||
switch (column.multiOrder) {
|
||||
case 'descending':
|
||||
column.multiOrder = 'ascending';
|
||||
break;
|
||||
case 'ascending':
|
||||
column.multiOrder = '';
|
||||
break;
|
||||
default:
|
||||
column.multiOrder = 'descending';
|
||||
break;
|
||||
}
|
||||
handleOrderChange(column.property, column.multiOrder);
|
||||
};
|
||||
|
||||
const handleOrderChange = (prop: string, order: string) => {
|
||||
let orderByArr = queryParams.value.orderByColumn ? queryParams.value.orderByColumn.split(',') : [];
|
||||
let isAscArr = queryParams.value.isAsc ? queryParams.value.isAsc.split(',') : [];
|
||||
|
@ -420,10 +403,7 @@ const handleOrderChange = (prop: string, order: string) => {
|
|||
queryParams.value.isAsc = isAscArr.join(',');
|
||||
getList();
|
||||
};
|
||||
/** 任务日志列表查询 */
|
||||
const handleOssConfig = () => {
|
||||
router.push('/system/oss-config/index');
|
||||
};
|
||||
|
||||
/** 文件按钮操作 */
|
||||
const handleFile = () => {
|
||||
reset();
|
||||
|
@ -515,24 +495,12 @@ const handleCopy = (row: any) => {
|
|||
treeCopyForm.value.catalogId = currentNode.value.catalogId
|
||||
}
|
||||
|
||||
/** 用户状态修改 */
|
||||
const handlePreviewListResource = async (preview: boolean) => {
|
||||
let text = preview ? '启用' : '停用';
|
||||
try {
|
||||
await proxy?.$modal.confirm('确认要"' + text + '""预览列表图片"配置吗?');
|
||||
await proxy?.updateConfigByKey('sys.oss.previewListResource', preview);
|
||||
await getList();
|
||||
proxy?.$modal.msgSuccess(text + '成功');
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
};
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (row?: OssVO) => {
|
||||
const ossIds = row?.ossId || ids.value;
|
||||
await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + ossIds + '"的数据项?');
|
||||
const handleDelete = async (row?: any) => {
|
||||
const delIds = row?.id || ids.value;
|
||||
await proxy?.$modal.confirm('是否确认删除OSS对象存储编号为"' + delIds + '"的数据项?');
|
||||
loading.value = true;
|
||||
await delTextbook(ossIds).finally(() => (loading.value = false));
|
||||
await delTextbook(delIds).finally(() => (loading.value = false));
|
||||
await getList();
|
||||
proxy?.$modal.msgSuccess('删除成功');
|
||||
};
|
||||
|
@ -542,6 +510,8 @@ const isTree = ref(false)
|
|||
const handleAudit = () => {
|
||||
isAudit.value = true
|
||||
isTree.value = false
|
||||
|
||||
getList()
|
||||
}
|
||||
|
||||
const handleNode = (node: any) => {
|
||||
|
|
Loading…
Reference in New Issue