|
|
@@ -398,6 +398,7 @@ const getList = async () => {
|
|
|
const getFileList = async () => {
|
|
|
dialogLoading.value = true;
|
|
|
try {
|
|
|
+ // console.log('分页参数:', dialogQueryParams.value);
|
|
|
const res = await listMinioData(dialogQueryParams.value);
|
|
|
minioDataList.value = res.rows.map((data) => ({
|
|
|
...data,
|
|
|
@@ -405,16 +406,16 @@ const getFileList = async () => {
|
|
|
}));
|
|
|
fileTotal.value = res.total;
|
|
|
// After data loads, restore selections
|
|
|
- nextTick(() => {
|
|
|
- if (selectedFiles.value?.length) {
|
|
|
- const selectedIds = new Set(selectedFiles.value.map((f) => f.id));
|
|
|
- minioDataList.value.forEach((row) => {
|
|
|
- if (selectedIds.has(row.id)) {
|
|
|
- fileTable.value?.toggleRowSelection(row, true);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ await nextTick();
|
|
|
+ if (selectedFiles.value?.length) {
|
|
|
+ const selectedIds = new Set(selectedFiles.value.map((f) => f.id));
|
|
|
+ minioDataList.value.forEach((row) => {
|
|
|
+ if (selectedIds.has(row.id)) {
|
|
|
+ fileTable.value?.toggleRowSelection(row, true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // console.log('本页高亮选中:', [...selectedIds]);
|
|
|
+ }
|
|
|
} finally {
|
|
|
dialogLoading.value = false;
|
|
|
}
|
|
|
@@ -519,6 +520,30 @@ const handleUpdate = async (row?: ItemVO) => {
|
|
|
Object.assign(form.value, res.data);
|
|
|
dialog.visible = true;
|
|
|
dialog.title = '修改节目管理';
|
|
|
+ // 资源ID列表字段,改为fileIdList
|
|
|
+ const fileIds = Array.isArray(res.data.fileIdList) ? res.data.fileIdList : [];
|
|
|
+ // console.log('编辑轮播组,资源ID列表:', fileIds);
|
|
|
+ if (fileIds.length > 0) {
|
|
|
+ const fileRes = await listMinioData({ ids: fileIds });
|
|
|
+ // 只赋值 selectedFiles,不动 minioDataList
|
|
|
+ selectedFiles.value = fileIds.map((id: string | number, idx: number) => {
|
|
|
+ const file = fileRes.rows.find((f: any) => String(f.id) === String(id));
|
|
|
+ return file
|
|
|
+ ? {
|
|
|
+ id: file.id,
|
|
|
+ name: file.originalName,
|
|
|
+ type: file.type,
|
|
|
+ duration: file.type === 1 ? 10 : Number(file.duration),
|
|
|
+ order: idx + 1
|
|
|
+ }
|
|
|
+ : null;
|
|
|
+ }).filter(Boolean);
|
|
|
+ // console.log('selectedFiles.value:', selectedFiles.value);
|
|
|
+ } else {
|
|
|
+ selectedFiles.value = [];
|
|
|
+ }
|
|
|
+ // 打开弹窗后刷新分页列表
|
|
|
+ await getFileList();
|
|
|
} else {
|
|
|
// 跳转页面进行数据关联
|
|
|
proxy.$router.push('/source/split/edit/' + res.data.id);
|