|
|
|
@ -219,7 +219,7 @@
|
|
|
|
|
<RenameModal @register="renameModal" @handleSuccess="handleSuccess" />
|
|
|
|
|
<!-- 预览弹窗 -->
|
|
|
|
|
<a-modal
|
|
|
|
|
v-model:open="open"
|
|
|
|
|
v-model:open="openPreview"
|
|
|
|
|
width="100%"
|
|
|
|
|
wrap-class-name="full-modal"
|
|
|
|
|
:centered="true"
|
|
|
|
@ -268,7 +268,7 @@
|
|
|
|
|
</PageWrapper>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
import { reactive, ref, watch, h } from 'vue';
|
|
|
|
|
import { reactive, ref, watch, h, onMounted } from 'vue';
|
|
|
|
|
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
|
|
|
|
import { PageWrapper } from '@/components/Page';
|
|
|
|
|
import { useModal } from '@/components/Modal';
|
|
|
|
@ -302,8 +302,9 @@
|
|
|
|
|
import { AddFolderModal, MoveFileModal, CompressFileModal, RenameModal } from './modal/modal';
|
|
|
|
|
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
|
|
|
|
import { getAppEnvConfig } from '@/utils/env';
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
|
|
|
import { useMessage } from '@/hooks/web/useMessage';
|
|
|
|
|
import { columns, searchFormSchema, svg_showOnMap_0, svg_showOnMap_1 } from './modal.data';
|
|
|
|
|
import { columns, searchFormSchema } from './modal.data';
|
|
|
|
|
import dayjs from 'dayjs';
|
|
|
|
|
import { cloneDeep } from 'lodash-es';
|
|
|
|
|
|
|
|
|
@ -323,11 +324,20 @@
|
|
|
|
|
// 格子
|
|
|
|
|
if (newval === 'store') {
|
|
|
|
|
// 数据
|
|
|
|
|
GetMediaFile({
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 1000,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
let query = { ...searchParams.value, page: 1, limit: 1000 };
|
|
|
|
|
if (routeFlag.value) {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 1,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
GetMediaFile(query).then((res) => {
|
|
|
|
|
showTableData.value = res.items;
|
|
|
|
|
tableTypeAfterShow.value = newval;
|
|
|
|
|
// 表格-隐藏
|
|
|
|
@ -416,6 +426,34 @@
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 工作计划跳转到媒体库,只看对应的工作计划文件夹
|
|
|
|
|
const route = useRoute();
|
|
|
|
|
const router = useRouter();
|
|
|
|
|
const routeFlag = ref(true);
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
if (route.query.flightId) {
|
|
|
|
|
routeFlag.value = true;
|
|
|
|
|
// 获得对应的计划文件夹名称
|
|
|
|
|
getFloder();
|
|
|
|
|
} else {
|
|
|
|
|
routeFlag.value = false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
// 获得对应的计划文件夹名称
|
|
|
|
|
async function getFloder() {
|
|
|
|
|
GetMediaFile({
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 0,
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 10,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
floders.value.push({
|
|
|
|
|
id: res.items[0].id,
|
|
|
|
|
name: res.items[0].name,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 表格
|
|
|
|
|
// 目录
|
|
|
|
|
const floders = ref([
|
|
|
|
@ -455,13 +493,26 @@
|
|
|
|
|
showTableSetting: true,
|
|
|
|
|
beforeFetch: (data) => {
|
|
|
|
|
// 接口请求前 参数处理
|
|
|
|
|
let temp = {
|
|
|
|
|
...data,
|
|
|
|
|
page: tableTypeAfterShow.value == 'table' ? data.page : 1,
|
|
|
|
|
limit: tableTypeAfterShow.value == 'table' ? data.limit : 1000,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
return temp;
|
|
|
|
|
// 工作计划跳转到媒体库的情况-只返回数据
|
|
|
|
|
if (routeFlag.value) {
|
|
|
|
|
let temp = {
|
|
|
|
|
...data,
|
|
|
|
|
page: tableTypeAfterShow.value == 'table' ? data.page : 1,
|
|
|
|
|
limit: tableTypeAfterShow.value == 'table' ? data.limit : 1000,
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 1,
|
|
|
|
|
};
|
|
|
|
|
return temp;
|
|
|
|
|
} else {
|
|
|
|
|
// 正常情况
|
|
|
|
|
let temp = {
|
|
|
|
|
...data,
|
|
|
|
|
page: tableTypeAfterShow.value == 'table' ? data.page : 1,
|
|
|
|
|
limit: tableTypeAfterShow.value == 'table' ? data.limit : 1000,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
return temp;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleSearchInfoFn(info) {
|
|
|
|
|
if (info.startTime && info.endTime) {
|
|
|
|
@ -475,7 +526,8 @@
|
|
|
|
|
return info;
|
|
|
|
|
},
|
|
|
|
|
afterFetch: (res) => {
|
|
|
|
|
res.forEach((arr) => {
|
|
|
|
|
let result = res;
|
|
|
|
|
result.forEach((arr) => {
|
|
|
|
|
if (arr.fileTags) {
|
|
|
|
|
arr.fileTags = JSON.parse(arr.fileTags);
|
|
|
|
|
} else {
|
|
|
|
@ -487,18 +539,28 @@
|
|
|
|
|
arr.graffitiJson = [];
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return res;
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 目录跳跃
|
|
|
|
|
function getChildrenByProp(f, index) {
|
|
|
|
|
nowParentKey.value = f.id;
|
|
|
|
|
floders.value = floders.value.splice(0, index + 1);
|
|
|
|
|
clearSelectedRowKeys();
|
|
|
|
|
reload().then((res) => {
|
|
|
|
|
showTableData.value = res;
|
|
|
|
|
});
|
|
|
|
|
async function getChildrenByProp(f, index) {
|
|
|
|
|
// 工作计划跳转到媒体库的情况-只返回数据
|
|
|
|
|
if (f.name == '全部文件' && routeFlag.value) {
|
|
|
|
|
const cleanQuery = { ...route.query };
|
|
|
|
|
delete cleanQuery.flightId;
|
|
|
|
|
await router.replace({
|
|
|
|
|
path: route.path,
|
|
|
|
|
query: cleanQuery,
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
nowParentKey.value = f.id;
|
|
|
|
|
floders.value = floders.value.splice(0, index + 1);
|
|
|
|
|
clearSelectedRowKeys();
|
|
|
|
|
reload().then((res) => {
|
|
|
|
|
showTableData.value = res;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 弹窗----------------------------------------------------------------------
|
|
|
|
@ -522,18 +584,26 @@
|
|
|
|
|
if (previewRecordList.value.length != 0) {
|
|
|
|
|
nowPreviewRecord.value = previewRecordList.value[index];
|
|
|
|
|
} else {
|
|
|
|
|
open.value = false;
|
|
|
|
|
openPreview.value = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
// 刷新当前查看项
|
|
|
|
|
GetMediaFile({
|
|
|
|
|
...searchParams.value,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 1000,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
let query = { ...searchParams.value, page: 1, limit: 1000 };
|
|
|
|
|
if (routeFlag.value) {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 1,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
GetMediaFile(query).then((res) => {
|
|
|
|
|
previewRecordList.value = uniqueByKey(res.items, nowPreviewRecord.value).sort((a, b) => {
|
|
|
|
|
return dayjs(a.createTime) - dayjs(b.createTime);
|
|
|
|
|
});
|
|
|
|
@ -615,7 +685,7 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 查看弹窗----------------------------------------------------------------------------
|
|
|
|
|
const open = ref(false);
|
|
|
|
|
const openPreview = ref(false);
|
|
|
|
|
// 目前展示图片
|
|
|
|
|
const nowPreviewRecord: any = ref();
|
|
|
|
|
// 目前展示图片的列表
|
|
|
|
@ -624,18 +694,26 @@
|
|
|
|
|
async function lookRecord(record) {
|
|
|
|
|
// 展示这个图片后者视频
|
|
|
|
|
if (record.objectKey) {
|
|
|
|
|
GetMediaFile({
|
|
|
|
|
...searchParams.value,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 100,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
let query = { ...searchParams.value, page: 1, limit: 1000 };
|
|
|
|
|
if (routeFlag.value) {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 1,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
GetMediaFile(query).then((res) => {
|
|
|
|
|
nowPreviewRecord.value = record;
|
|
|
|
|
// 同文件下的图片或者视频
|
|
|
|
|
previewRecordList.value = uniqueByKey(res.items, record).sort((a, b) => {
|
|
|
|
|
return dayjs(a.createTime) - dayjs(b.createTime);
|
|
|
|
|
});
|
|
|
|
|
open.value = true;
|
|
|
|
|
openPreview.value = true;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
// 文件夹
|
|
|
|
@ -695,7 +773,7 @@
|
|
|
|
|
// 关闭
|
|
|
|
|
function closeModal() {
|
|
|
|
|
document.body.style.cursor = 'auto';
|
|
|
|
|
open.value = false;
|
|
|
|
|
openPreview.value = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 变化检测弹窗----------------------------------------------------------------------
|
|
|
|
@ -717,11 +795,20 @@
|
|
|
|
|
// 展示路径地图部分
|
|
|
|
|
const pathDivShow = ref(false);
|
|
|
|
|
function showPathDiv(record) {
|
|
|
|
|
GetMediaFile({
|
|
|
|
|
parentKey: record.parentKey,
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 1000,
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
let query = { ...searchParams.value, page: 1, limit: 1000 };
|
|
|
|
|
if (routeFlag.value) {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
taskId: route.query.flightId,
|
|
|
|
|
objectKeyExist: 1,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
query = {
|
|
|
|
|
...query,
|
|
|
|
|
parentKey: nowParentKey.value,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
GetMediaFile(query).then((res) => {
|
|
|
|
|
allImageDataList.value = res.items.filter(
|
|
|
|
|
(item) => item.objectKey && item.objectKey.includes('.jpeg'),
|
|
|
|
|
);
|
|
|
|
|