|
@@ -1,36 +1,42 @@
|
|
|
<template>
|
|
|
<PageWrapper contentBackground>
|
|
|
- <template #footer >
|
|
|
+ <template #footer>
|
|
|
<a-tabs v-model:activeKey="tableType" @change="changeTable">
|
|
|
- <a-tab-pane :key="0" tab="四维看看" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="1" tab="四维看见" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="2" tab="深时点云场景" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="6" tab="深光点云场景" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading"/>
|
|
|
- <a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading"/>
|
|
|
+ <a-tab-pane :key="0" tab="四维看看" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="1" tab="四维看见" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="2" tab="深时点云场景" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="6" tab="深光点云场景" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading" />
|
|
|
+ <a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading" />
|
|
|
</a-tabs>
|
|
|
</template>
|
|
|
<div class="desc-wrap-BasicTable">
|
|
|
- <BasicTable @register="registerTable" ref="tableRef">
|
|
|
+ <BasicTable @register="registerTable" ref="tableRef">
|
|
|
<template #toolbar>
|
|
|
<!-- <a-button type="primary" @click="exportExcel"> 导出1</a-button> -->
|
|
|
</template>
|
|
|
<template #status="{ record }">
|
|
|
- <span v-if="record.status != '-1'">{{record.statusString}}</span>
|
|
|
+ <span v-if="record.status != '-1'">{{ record.statusString }}</span>
|
|
|
<Tooltip v-else placement="right">
|
|
|
<template #title>
|
|
|
- <span>失败原因:{{record.buildErrorReason}}</span>
|
|
|
- <p>server-path:{{record.dataSource}}</p>
|
|
|
+ <span>失败原因:{{ record.buildErrorReason }}</span>
|
|
|
+ <p>server-path:{{ record.dataSource }}</p>
|
|
|
</template>
|
|
|
- <span>{{record.statusString}}
|
|
|
- <Icon icon="mdi:warning-octagon-outline" />
|
|
|
- </span>
|
|
|
- </Tooltip>
|
|
|
+ <span
|
|
|
+ >{{ record.statusString }}
|
|
|
+ <Icon icon="mdi:warning-octagon-outline" />
|
|
|
+ </span>
|
|
|
+ </Tooltip>
|
|
|
</template>
|
|
|
<template #href="{ record }">
|
|
|
- <a v-if="record.sceneName && record.thumb" target="_blank" :href="record.webSite || record.thumb">{{record.sceneName}}</a>
|
|
|
- <span v-else-if="record.sceneName">{{record.sceneName}}</span>
|
|
|
+ <a
|
|
|
+ v-if="record.sceneName && record.thumb"
|
|
|
+ target="_blank"
|
|
|
+ :href="record.webSite || record.thumb"
|
|
|
+ >{{ record.sceneName }}</a
|
|
|
+ >
|
|
|
+ <span v-else-if="record.sceneName">{{ record.sceneName }}</span>
|
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
|
<template #action="{ record }">
|
|
@@ -39,21 +45,21 @@
|
|
|
:actions="[
|
|
|
{
|
|
|
label: '迁移',
|
|
|
- disabled:!(record.status == 1 || record.status == -2),
|
|
|
- ifShow:getTypeCheckPerm('scenes-move') && tableType != 3,
|
|
|
+ disabled: !(record.status == 1 || record.status == -2),
|
|
|
+ ifShow: getTypeCheckPerm('scenes-move') && tableType != 3,
|
|
|
onClick: handleMove.bind(null, record),
|
|
|
},
|
|
|
{
|
|
|
label: '下载',
|
|
|
- ifShow:getTypeCheckPerm('scenes-download') && tableType != 3,
|
|
|
- disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
+ ifShow: getTypeCheckPerm('scenes-download') && tableType != 3,
|
|
|
+ disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
//icon: 'carbon:download',
|
|
|
onClick: handleDownload.bind(null, record),
|
|
|
},
|
|
|
{
|
|
|
label: '重算',
|
|
|
disabled: record.status == 0 || (record.status == -2 && record.payStatus != 1),
|
|
|
- ifShow:getTypeCheckPerm('scenes-recalculate') && tableType != 3,
|
|
|
+ ifShow: getTypeCheckPerm('scenes-recalculate') && tableType != 3,
|
|
|
popConfirm: {
|
|
|
title: '是否重算?',
|
|
|
confirm: handleReset.bind(null, record),
|
|
@@ -61,16 +67,16 @@
|
|
|
},
|
|
|
{
|
|
|
label: '复制',
|
|
|
- disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
- ifShow:getTypeCheckPerm('scenes-copy') && tableType != 3,
|
|
|
+ disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
+ ifShow: getTypeCheckPerm('scenes-copy') && tableType != 3,
|
|
|
onClick: handleCopy.bind(null, record),
|
|
|
},
|
|
|
{
|
|
|
label: '删除',
|
|
|
//icon: 'ic:outline-delete-outline',
|
|
|
color: 'error',
|
|
|
- ifShow:getTypeCheckPerm('scenes-delete'),
|
|
|
- disabled:record.status == 0,
|
|
|
+ ifShow: getTypeCheckPerm('scenes-delete'),
|
|
|
+ disabled: record.status == 0,
|
|
|
//onClick: handleDelete.bind(null, record),
|
|
|
popConfirm: {
|
|
|
title: '是否删除?',
|
|
@@ -155,122 +161,131 @@
|
|
|
const tableType = ref<Number>(0); //0看看 、1看见、2深时
|
|
|
function columns(isobj): BasicColumn[] {
|
|
|
return [
|
|
|
- {
|
|
|
- title: '场景标题',
|
|
|
- dataIndex: 'sceneName',
|
|
|
- slots: { customRender: 'href' },
|
|
|
- width: 150,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '场景码',
|
|
|
- dataIndex: 'num',
|
|
|
- ellipsis: true,
|
|
|
- width: 180,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '拍摄时间',
|
|
|
- dataIndex: 'createTime',
|
|
|
- sorter: true,
|
|
|
- width: 180,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return (
|
|
|
- record.createTime &&
|
|
|
- h(Time, {
|
|
|
- value: record.createTime,
|
|
|
- mode: 'datetime',
|
|
|
- })
|
|
|
- );
|
|
|
+ {
|
|
|
+ title: '场景标题',
|
|
|
+ dataIndex: 'sceneName',
|
|
|
+ slots: { customRender: 'href' },
|
|
|
+ width: 150,
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: 'obj生成状态',
|
|
|
- dataIndex: 'isObj',
|
|
|
- ellipsis: true,
|
|
|
- ifShow:isobj,
|
|
|
- width: 180,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return record.isObj == 0 ? '未生成' : record.isObj == 1 ? '已生成' :'计算中';
|
|
|
+ {
|
|
|
+ title: '场景码',
|
|
|
+ dataIndex: 'num',
|
|
|
+ ellipsis: true,
|
|
|
+ width: 180,
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: '计算完成时间',
|
|
|
- dataIndex: 'amount',
|
|
|
- width: 180,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return (
|
|
|
- record.algorithmTime &&
|
|
|
- h(Time, {
|
|
|
- value: record.algorithmTime,
|
|
|
- mode: 'datetime',
|
|
|
- })||'-'
|
|
|
- );
|
|
|
+ {
|
|
|
+ title: '拍摄时间',
|
|
|
+ dataIndex: 'createTime',
|
|
|
+ sorter: true,
|
|
|
+ width: 180,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return (
|
|
|
+ record.createTime &&
|
|
|
+ h(Time, {
|
|
|
+ value: record.createTime,
|
|
|
+ mode: 'datetime',
|
|
|
+ })
|
|
|
+ );
|
|
|
+ },
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: 'SN码',
|
|
|
- dataIndex: 'snCode',
|
|
|
- width: 180,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '场景大小',
|
|
|
- dataIndex: 'sceneSize',
|
|
|
- width: 80,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return (record.sceneSize && record.sceneSize != 0)?h(
|
|
|
- 'span',
|
|
|
- { class: 'sceneSize' },
|
|
|
- Math.ceil(record.sceneSize / 1024 / 1024) + 'M',
|
|
|
- ):'-';
|
|
|
+ {
|
|
|
+ title: 'obj生成状态',
|
|
|
+ dataIndex: 'isObj',
|
|
|
+ ellipsis: true,
|
|
|
+ ifShow: isobj,
|
|
|
+ width: 180,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return record.isObj == 0 ? '未生成' : record.isObj == 1 ? '已生成' : '计算中';
|
|
|
+ },
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: '是否复制',
|
|
|
- dataIndex: 'isCopy',
|
|
|
- width: 80,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return record.isCopy ? '是' : '否';
|
|
|
+ {
|
|
|
+ title: '计算完成时间',
|
|
|
+ dataIndex: 'amount',
|
|
|
+ width: 180,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return (
|
|
|
+ (record.algorithmTime &&
|
|
|
+ h(Time, {
|
|
|
+ value: record.algorithmTime,
|
|
|
+ mode: 'datetime',
|
|
|
+ })) ||
|
|
|
+ '-'
|
|
|
+ );
|
|
|
+ },
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: '复制时间',
|
|
|
- dataIndex: 'copyTime',
|
|
|
- width: 180,
|
|
|
- customRender: ({ record }) => {
|
|
|
- return record.copyTime
|
|
|
- ? h(Time, {
|
|
|
- value: record.copyTime,
|
|
|
- mode: 'datetime',
|
|
|
- })
|
|
|
- : '-';
|
|
|
+ {
|
|
|
+ title: 'SN码',
|
|
|
+ dataIndex: 'snCode',
|
|
|
+ width: 180,
|
|
|
},
|
|
|
- },
|
|
|
- {
|
|
|
- title: '绑定账号',
|
|
|
- dataIndex: 'userName',
|
|
|
- width: 100,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '浏览量',
|
|
|
- dataIndex: 'viewCount',
|
|
|
- sorter: true,
|
|
|
- width: 80,
|
|
|
- },
|
|
|
- {
|
|
|
- title: '状态',
|
|
|
- dataIndex: 'statusString',
|
|
|
- width: 120,
|
|
|
- slots: { customRender: 'status' },
|
|
|
- },
|
|
|
- {
|
|
|
- title: '操作',
|
|
|
- dataIndex: 'action',
|
|
|
- slots: { customRender: 'action' },
|
|
|
- ifShow: true,
|
|
|
- fixed: 'right',
|
|
|
- flag: 'ACTION',
|
|
|
- width: 250,
|
|
|
- },
|
|
|
- ];
|
|
|
+ {
|
|
|
+ title: '点位数量',
|
|
|
+ dataIndex: 'snCode',
|
|
|
+ width: 180,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '场景大小',
|
|
|
+ dataIndex: 'sceneSize',
|
|
|
+ width: 80,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return record.sceneSize && record.sceneSize != 0
|
|
|
+ ? h('span', { class: 'sceneSize' }, Math.ceil(record.sceneSize / 1024 / 1024) + 'M')
|
|
|
+ : '-';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '拍摄位置',
|
|
|
+ dataIndex: 'snCode',
|
|
|
+ width: 180,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '是否复制',
|
|
|
+ dataIndex: 'isCopy',
|
|
|
+ width: 80,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return record.isCopy ? '是' : '否';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '复制时间',
|
|
|
+ dataIndex: 'copyTime',
|
|
|
+ width: 180,
|
|
|
+ customRender: ({ record }) => {
|
|
|
+ return record.copyTime
|
|
|
+ ? h(Time, {
|
|
|
+ value: record.copyTime,
|
|
|
+ mode: 'datetime',
|
|
|
+ })
|
|
|
+ : '-';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '绑定账号',
|
|
|
+ dataIndex: 'userName',
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '浏览量',
|
|
|
+ dataIndex: 'viewCount',
|
|
|
+ sorter: true,
|
|
|
+ width: 80,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '状态',
|
|
|
+ dataIndex: 'statusString',
|
|
|
+ width: 120,
|
|
|
+ slots: { customRender: 'status' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ slots: { customRender: 'action' },
|
|
|
+ ifShow: true,
|
|
|
+ fixed: 'right',
|
|
|
+ flag: 'ACTION',
|
|
|
+ width: 250,
|
|
|
+ },
|
|
|
+ ];
|
|
|
}
|
|
|
// const searchForm: Partial<FormProps> = {
|
|
|
// labelWidth: 100,
|
|
@@ -313,11 +328,11 @@
|
|
|
// },
|
|
|
// ],
|
|
|
// };
|
|
|
-
|
|
|
+
|
|
|
const searchFormSs: Partial<FormProps> = {
|
|
|
labelWidth: 100,
|
|
|
- autoSubmitOnEnter:true,
|
|
|
- autoAdvancedLine:1,
|
|
|
+ autoSubmitOnEnter: true,
|
|
|
+ autoAdvancedLine: 1,
|
|
|
actionColOptions: {
|
|
|
span: 24,
|
|
|
},
|
|
@@ -333,7 +348,8 @@
|
|
|
xl: 7,
|
|
|
xxl: 7,
|
|
|
},
|
|
|
- },{
|
|
|
+ },
|
|
|
+ {
|
|
|
field: 'num',
|
|
|
label: '场景码',
|
|
|
component: 'Input',
|
|
@@ -368,13 +384,14 @@
|
|
|
xl: 7,
|
|
|
xxl: 7,
|
|
|
},
|
|
|
- },{
|
|
|
+ },
|
|
|
+ {
|
|
|
field: 'timeList',
|
|
|
label: '拍摄时间段',
|
|
|
component: 'RangePicker',
|
|
|
componentProps: {
|
|
|
maxLength: 100,
|
|
|
- minWidth:'385px',
|
|
|
+ minWidth: '385px',
|
|
|
format: 'YYYY-MM-DD',
|
|
|
valueFormat: 'YYYY-MM-DD',
|
|
|
showTime: true,
|
|
@@ -399,12 +416,12 @@
|
|
|
useSearchForm: true,
|
|
|
formConfig: searchFormSs,
|
|
|
showTableSetting: true,
|
|
|
- beforeFetch:(T)=>{
|
|
|
- loading.value = true
|
|
|
- return T
|
|
|
+ beforeFetch: (T) => {
|
|
|
+ loading.value = true;
|
|
|
+ return T;
|
|
|
},
|
|
|
afterFetch: (T) => {
|
|
|
- loading.value = false
|
|
|
+ loading.value = false;
|
|
|
return T;
|
|
|
},
|
|
|
rowKey: 'num',
|
|
@@ -419,7 +436,7 @@
|
|
|
function getTableAction() {
|
|
|
const tableAction = unref(tableRef);
|
|
|
if (!tableAction) {
|
|
|
- console.log('tableAction',tableAction,tableRef)
|
|
|
+ console.log('tableAction', tableAction, tableRef);
|
|
|
throw new Error('tableAction is null');
|
|
|
}
|
|
|
return tableAction;
|
|
@@ -436,13 +453,12 @@
|
|
|
title: '复制场景',
|
|
|
content: '复制场景,场景归属在原相机下。<br/>确定要复制场景吗?',
|
|
|
onOk: async () => {
|
|
|
- sceneCopy({ num: record.num })
|
|
|
- .then(() => {
|
|
|
- message.success({
|
|
|
- content: '复制成功',
|
|
|
- });
|
|
|
- reload();
|
|
|
- })
|
|
|
+ sceneCopy({ num: record.num }).then(() => {
|
|
|
+ message.success({
|
|
|
+ content: '复制成功',
|
|
|
+ });
|
|
|
+ reload();
|
|
|
+ });
|
|
|
},
|
|
|
});
|
|
|
}
|
|
@@ -452,14 +468,13 @@
|
|
|
// title: '删除',
|
|
|
// content: '确定要删除场景吗?',
|
|
|
// onOk: async () => {
|
|
|
- sceneDelete({ num: record.num })
|
|
|
- .then(() => {
|
|
|
- message.success({
|
|
|
- content: '删除成功',
|
|
|
- });
|
|
|
+ sceneDelete({ num: record.num }).then(() => {
|
|
|
+ message.success({
|
|
|
+ content: '删除成功',
|
|
|
+ });
|
|
|
|
|
|
- reload();
|
|
|
- })
|
|
|
+ reload();
|
|
|
+ });
|
|
|
// },
|
|
|
// });
|
|
|
}
|
|
@@ -483,11 +498,11 @@
|
|
|
const downloadOption = ref<Object>({});
|
|
|
const canDownload = ref<boolean>(true);
|
|
|
function handleDownload(record: Recordable) {
|
|
|
- console.log('handleDownload', record,tableType.value);
|
|
|
- let isObj = tableType.value == 5?1:0
|
|
|
- let params = {num: record.num,isObj:0,}
|
|
|
- if(tableType.value == 4 || tableType.value == 5){
|
|
|
- params.isObj = isObj
|
|
|
+ console.log('handleDownload', record, tableType.value);
|
|
|
+ let isObj = tableType.value == 5 ? 1 : 0;
|
|
|
+ let params = { num: record.num, isObj: 0 };
|
|
|
+ if (tableType.value == 4 || tableType.value == 5) {
|
|
|
+ params.isObj = isObj;
|
|
|
}
|
|
|
canDownload.value = true;
|
|
|
checkDownLoad(params).then((res) => {
|
|
@@ -497,7 +512,7 @@
|
|
|
console.log(res);
|
|
|
openDownModal(true, {
|
|
|
...record,
|
|
|
- isObj:params.isObj,
|
|
|
+ isObj: params.isObj,
|
|
|
});
|
|
|
if (res.downloadStatus == 1) {
|
|
|
if (timer.value) {
|
|
@@ -505,10 +520,10 @@
|
|
|
}
|
|
|
timer.value = setInterval(() => {
|
|
|
downloadProcess(params).then((res) => {
|
|
|
- if(res.status == '1003'){
|
|
|
+ if (res.status == '1003') {
|
|
|
createMessage.error('下载失败');
|
|
|
afterClose();
|
|
|
- return
|
|
|
+ return;
|
|
|
}
|
|
|
if (res.percent >= 100) {
|
|
|
canDownload.value = false;
|
|
@@ -532,17 +547,16 @@
|
|
|
}
|
|
|
function handleReset(record: Recordable) {
|
|
|
console.log('handleReset', record);
|
|
|
- rebuildScene({ num: record.num })
|
|
|
- .then(() => {
|
|
|
- message.success({
|
|
|
- content: '操作成功',
|
|
|
- });
|
|
|
- reload();
|
|
|
- })
|
|
|
+ rebuildScene({ num: record.num }).then(() => {
|
|
|
+ message.success({
|
|
|
+ content: '操作成功',
|
|
|
+ });
|
|
|
+ reload();
|
|
|
+ });
|
|
|
}
|
|
|
- function getTypeCheckPerm(val){
|
|
|
- let myType = tableType.value
|
|
|
- return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`)
|
|
|
+ function getTypeCheckPerm(val) {
|
|
|
+ let myType = tableType.value;
|
|
|
+ return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`);
|
|
|
}
|
|
|
return {
|
|
|
registerTable,
|