|
@@ -1,17 +1,16 @@
|
|
<template>
|
|
<template>
|
|
<PageWrapper contentBackground>
|
|
<PageWrapper contentBackground>
|
|
- <template #footer >
|
|
|
|
|
|
+ <template #footer>
|
|
<a-tabs v-model:activeKey="tableType" @change="changeTable">
|
|
<a-tabs v-model:activeKey="tableType" @change="changeTable">
|
|
<!-- <a-tab-pane :key="0" tab="四维看看" :disabled="loading"/> -->
|
|
<!-- <a-tab-pane :key="0" tab="四维看看" :disabled="loading"/> -->
|
|
- <a-tab-pane :key="1" tab="四维看见" :disabled="loading"/>
|
|
|
|
|
|
+ <a-tab-pane :key="1" tab="四维看见" :disabled="loading" />
|
|
<!-- <a-tab-pane :key="2" tab="四维深时" :disabled="loading"/>
|
|
<!-- <a-tab-pane :key="2" tab="四维深时" :disabled="loading"/>
|
|
<a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading"/>
|
|
<a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading"/>
|
|
<a-tab-pane :key="4" tab="四维全景" :disabled="loading"/> -->
|
|
<a-tab-pane :key="4" tab="四维全景" :disabled="loading"/> -->
|
|
<a-tab-pane :key="2" tab="深时点云场景" :disabled="loading" />
|
|
<a-tab-pane :key="2" tab="深时点云场景" :disabled="loading" />
|
|
<a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading" />
|
|
<a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading" />
|
|
<a-tab-pane :key="6" tab="深光点云场景" :disabled="loading" />
|
|
<a-tab-pane :key="6" tab="深光点云场景" :disabled="loading" />
|
|
- <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading" />
|
|
|
|
- </a-tabs
|
|
|
|
|
|
+ <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading" /> </a-tabs
|
|
></template>
|
|
></template>
|
|
<div class="desc-wrap-BasicTable">
|
|
<div class="desc-wrap-BasicTable">
|
|
<BasicTable @register="registerTable">
|
|
<BasicTable @register="registerTable">
|
|
@@ -20,8 +19,13 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template #href="{ record }">
|
|
<template #href="{ record }">
|
|
- <a v-if="(record.status == 1 || (record.status == -2 && record.payStatus == 1))" target="_blank" :href="record.webSite">{{record.sceneName}}</a>
|
|
|
|
- <span v-else-if="record.sceneName">{{record.sceneName}}</span>
|
|
|
|
|
|
+ <a
|
|
|
|
+ v-if="record.status == 1 || (record.status == -2 && record.payStatus == 1)"
|
|
|
|
+ target="_blank"
|
|
|
|
+ :href="record.webSite"
|
|
|
|
+ >{{ record.sceneName }}</a
|
|
|
|
+ >
|
|
|
|
+ <span v-else-if="record.sceneName">{{ record.sceneName }}</span>
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
</template>
|
|
</template>
|
|
<template #action="{ record }">
|
|
<template #action="{ record }">
|
|
@@ -30,31 +34,40 @@
|
|
:actions="[
|
|
:actions="[
|
|
{
|
|
{
|
|
label: '编辑',
|
|
label: '编辑',
|
|
- disabled:!(record.status == 1 || record.status == -2),
|
|
|
|
- ifShow:getTypeCheckPerm('scenes-edit') && tableType != 3,
|
|
|
|
|
|
+ disabled: !(record.status == 1 || record.status == -2),
|
|
|
|
+ ifShow: getTypeCheckPerm('scenes-edit') && tableType != 3 && record.isEdit,
|
|
onClick: handlegotoEdit.bind(null, record),
|
|
onClick: handlegotoEdit.bind(null, record),
|
|
- },{
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
label: '权限',
|
|
label: '权限',
|
|
disabled: !record.isAuth,
|
|
disabled: !record.isAuth,
|
|
- ifShow:getTypeCheckPerm('scenes-powers'),
|
|
|
|
|
|
+ ifShow: getTypeCheckPerm('scenes-powers'),
|
|
onClick: handlePowers.bind(null, record),
|
|
onClick: handlePowers.bind(null, record),
|
|
- },{
|
|
|
|
|
|
+ },
|
|
|
|
+ {
|
|
label: '迁移',
|
|
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 && record.userName == userName,
|
|
onClick: handleMove.bind(null, record),
|
|
onClick: handleMove.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '下载',
|
|
label: '下载',
|
|
- ifShow:getTypeCheckPerm('scenes-download') && tableType != 3,
|
|
|
|
- disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
|
|
|
+ ifShow:
|
|
|
|
+ getTypeCheckPerm('scenes-download') &&
|
|
|
|
+ tableType != 3 &&
|
|
|
|
+ record.userName == userName,
|
|
|
|
+ disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
//icon: 'carbon:download',
|
|
//icon: 'carbon:download',
|
|
onClick: handleDownload.bind(null, record),
|
|
onClick: handleDownload.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '重算',
|
|
label: '重算',
|
|
disabled: record.status == 0 || (record.status == -2 && record.payStatus != 1),
|
|
disabled: record.status == 0 || (record.status == -2 && record.payStatus != 1),
|
|
- ifShow:getTypeCheckPerm('scenes-recalculate') && tableType != 3,
|
|
|
|
|
|
+ ifShow:
|
|
|
|
+ getTypeCheckPerm('scenes-recalculate') &&
|
|
|
|
+ tableType != 3 &&
|
|
|
|
+ record.userName == userName,
|
|
popConfirm: {
|
|
popConfirm: {
|
|
title: '是否重算?',
|
|
title: '是否重算?',
|
|
confirm: handleReset.bind(null, record),
|
|
confirm: handleReset.bind(null, record),
|
|
@@ -62,21 +75,26 @@
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '复制',
|
|
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 && record.userName == userName,
|
|
onClick: handleCopy.bind(null, record),
|
|
onClick: handleCopy.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '生成 obj',
|
|
label: '生成 obj',
|
|
- ifShow: getTypeCheckPerm('scenes-creatobj') && record.status == -2 && (tableType == 2 || tableType == 6),
|
|
|
|
|
|
+ ifShow:
|
|
|
|
+ getTypeCheckPerm('scenes-creatobj') &&
|
|
|
|
+ record.status == -2 &&
|
|
|
|
+ (tableType == 2 || tableType == 6) &&
|
|
|
|
+ record.userName == userName,
|
|
onClick: handleGenerate.bind(null, record),
|
|
onClick: handleGenerate.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '删除',
|
|
label: '删除',
|
|
//icon: 'ic:outline-delete-outline',
|
|
//icon: 'ic:outline-delete-outline',
|
|
color: 'error',
|
|
color: 'error',
|
|
- ifShow:getTypeCheckPerm('scenes-delete'),
|
|
|
|
- disabled:record.status == 0,
|
|
|
|
|
|
+ ifShow: getTypeCheckPerm('scenes-delete') && record.userName == userName,
|
|
|
|
+ disabled: record.status == 0,
|
|
//onClick: handleDelete.bind(null, record),
|
|
//onClick: handleDelete.bind(null, record),
|
|
popConfirm: {
|
|
popConfirm: {
|
|
title: '是否删除?',
|
|
title: '是否删除?',
|
|
@@ -104,7 +122,8 @@
|
|
</PageWrapper>
|
|
</PageWrapper>
|
|
</template>
|
|
</template>
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
- import { defineComponent, h, reactive, toRefs, ref } from 'vue';
|
|
|
|
|
|
+ import { defineComponent, h, computed, toRefs, ref } from 'vue';
|
|
|
|
+ import dayjs from 'dayjs';
|
|
import {
|
|
import {
|
|
BasicTable,
|
|
BasicTable,
|
|
useTable,
|
|
useTable,
|
|
@@ -137,6 +156,7 @@
|
|
} from '/@/api/operate';
|
|
} from '/@/api/operate';
|
|
import { message } from 'ant-design-vue';
|
|
import { message } from 'ant-design-vue';
|
|
import { usePermissionStore } from '/@/store/modules/permission';
|
|
import { usePermissionStore } from '/@/store/modules/permission';
|
|
|
|
+ import { useUserStore } from '/@/store/modules/user';
|
|
import { func } from 'vue-types';
|
|
import { func } from 'vue-types';
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
components: {
|
|
components: {
|
|
@@ -155,6 +175,8 @@
|
|
setup() {
|
|
setup() {
|
|
const { t } = useI18n();
|
|
const { t } = useI18n();
|
|
const { createMessage, createConfirm } = useMessage();
|
|
const { createMessage, createConfirm } = useMessage();
|
|
|
|
+ const userStore = useUserStore();
|
|
|
|
+ const userName = computed(() => userStore.getUserInfo?.userName);
|
|
const permissionStore = usePermissionStore();
|
|
const permissionStore = usePermissionStore();
|
|
const { getCheckPerm } = permissionStore;
|
|
const { getCheckPerm } = permissionStore;
|
|
const loading = ref(false);
|
|
const loading = ref(false);
|
|
@@ -193,11 +215,12 @@
|
|
width: 180,
|
|
width: 180,
|
|
customRender: ({ record }) => {
|
|
customRender: ({ record }) => {
|
|
return (
|
|
return (
|
|
- record.algorithmTime &&
|
|
|
|
- h(Time, {
|
|
|
|
- value: record.algorithmTime,
|
|
|
|
- mode: 'datetime',
|
|
|
|
- })||'-'
|
|
|
|
|
|
+ (record.algorithmTime &&
|
|
|
|
+ h(Time, {
|
|
|
|
+ value: record.algorithmTime,
|
|
|
|
+ mode: 'datetime',
|
|
|
|
+ })) ||
|
|
|
|
+ '-'
|
|
);
|
|
);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -211,11 +234,9 @@
|
|
dataIndex: 'sceneSize',
|
|
dataIndex: 'sceneSize',
|
|
width: 80,
|
|
width: 80,
|
|
customRender: ({ record }) => {
|
|
customRender: ({ record }) => {
|
|
- return (record.sceneSize && record.sceneSize != 0)?h(
|
|
|
|
- 'span',
|
|
|
|
- { class: 'sceneSize' },
|
|
|
|
- Math.ceil(record.sceneSize / 1024 / 1024) + 'M',
|
|
|
|
- ):'-';
|
|
|
|
|
|
+ return record.sceneSize && record.sceneSize != 0
|
|
|
|
+ ? h('span', { class: 'sceneSize' }, Math.ceil(record.sceneSize / 1024 / 1024) + 'M')
|
|
|
|
+ : '-';
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
@@ -240,7 +261,7 @@
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '绑定账号',
|
|
|
|
|
|
+ title: '人员编号',
|
|
dataIndex: 'userName',
|
|
dataIndex: 'userName',
|
|
width: 100,
|
|
width: 100,
|
|
},
|
|
},
|
|
@@ -338,12 +359,12 @@
|
|
useSearchForm: true,
|
|
useSearchForm: true,
|
|
formConfig: searchForm,
|
|
formConfig: searchForm,
|
|
showTableSetting: true,
|
|
showTableSetting: true,
|
|
- beforeFetch:(T)=>{
|
|
|
|
- loading.value = true
|
|
|
|
- return T
|
|
|
|
|
|
+ beforeFetch: (T) => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ return T;
|
|
},
|
|
},
|
|
afterFetch: (T) => {
|
|
afterFetch: (T) => {
|
|
- loading.value = false
|
|
|
|
|
|
+ loading.value = false;
|
|
return T;
|
|
return T;
|
|
},
|
|
},
|
|
rowKey: 'num',
|
|
rowKey: 'num',
|
|
@@ -364,13 +385,12 @@
|
|
title: '复制场景',
|
|
title: '复制场景',
|
|
content: '复制场景,场景归属在原相机下。<br/>确定要复制场景吗?',
|
|
content: '复制场景,场景归属在原相机下。<br/>确定要复制场景吗?',
|
|
onOk: async () => {
|
|
onOk: async () => {
|
|
- sceneCopy({ num: record.num })
|
|
|
|
- .then(() => {
|
|
|
|
- message.success({
|
|
|
|
- content: '复制成功',
|
|
|
|
- });
|
|
|
|
- reload();
|
|
|
|
- })
|
|
|
|
|
|
+ sceneCopy({ num: record.num }).then(() => {
|
|
|
|
+ message.success({
|
|
|
|
+ content: '复制成功',
|
|
|
|
+ });
|
|
|
|
+ reload();
|
|
|
|
+ });
|
|
},
|
|
},
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -380,14 +400,13 @@
|
|
// title: '删除',
|
|
// title: '删除',
|
|
// content: '确定要删除场景吗?',
|
|
// content: '确定要删除场景吗?',
|
|
// onOk: async () => {
|
|
// onOk: async () => {
|
|
- sceneDelete({ num: record.num })
|
|
|
|
- .then(() => {
|
|
|
|
- message.success({
|
|
|
|
- content: '删除成功',
|
|
|
|
- });
|
|
|
|
|
|
+ sceneDelete({ num: record.num }).then(() => {
|
|
|
|
+ message.success({
|
|
|
|
+ content: '删除成功',
|
|
|
|
+ });
|
|
|
|
|
|
- reload();
|
|
|
|
- })
|
|
|
|
|
|
+ reload();
|
|
|
|
+ });
|
|
// },
|
|
// },
|
|
// });
|
|
// });
|
|
}
|
|
}
|
|
@@ -411,7 +430,7 @@
|
|
const downloadOption = ref<Object>({});
|
|
const downloadOption = ref<Object>({});
|
|
const canDownload = ref<boolean>(true);
|
|
const canDownload = ref<boolean>(true);
|
|
function handleDownload(record: Recordable) {
|
|
function handleDownload(record: Recordable) {
|
|
- console.log('handleDownload', record,canDownload.value);
|
|
|
|
|
|
+ console.log('handleDownload', record, canDownload.value);
|
|
canDownload.value = true;
|
|
canDownload.value = true;
|
|
checkDownLoad({ num: record.num }).then((res) => {
|
|
checkDownLoad({ num: record.num }).then((res) => {
|
|
console.log(res);
|
|
console.log(res);
|
|
@@ -428,10 +447,10 @@
|
|
}
|
|
}
|
|
timer.value = setInterval(() => {
|
|
timer.value = setInterval(() => {
|
|
downloadProcess({ num: record.num }).then((res) => {
|
|
downloadProcess({ num: record.num }).then((res) => {
|
|
- if(res.status == '1003'){
|
|
|
|
|
|
+ if (res.status == '1003') {
|
|
createMessage.error('下载失败');
|
|
createMessage.error('下载失败');
|
|
afterClose();
|
|
afterClose();
|
|
- return
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
if (res.percent >= 100) {
|
|
if (res.percent >= 100) {
|
|
canDownload.value = false;
|
|
canDownload.value = false;
|
|
@@ -455,7 +474,7 @@
|
|
async function handleGenerate(record: Recordable) {
|
|
async function handleGenerate(record: Recordable) {
|
|
console.log('record', record);
|
|
console.log('record', record);
|
|
let data = await sceneDetail({ id: record.id });
|
|
let data = await sceneDetail({ id: record.id });
|
|
- console.log('data',data);
|
|
|
|
|
|
+ console.log('data', data);
|
|
let { buildObjStatus } = data;
|
|
let { buildObjStatus } = data;
|
|
let toastText =
|
|
let toastText =
|
|
buildObjStatus == 2
|
|
buildObjStatus == 2
|
|
@@ -486,23 +505,26 @@
|
|
}
|
|
}
|
|
function handleReset(record: Recordable) {
|
|
function handleReset(record: Recordable) {
|
|
console.log('handleReset', record);
|
|
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}`);
|
|
}
|
|
}
|
|
- function handlegotoEdit(record: Recordable){
|
|
|
|
- let url = record.webSite.replace("smg", "epg");
|
|
|
|
- window.open(url);
|
|
|
|
|
|
+ function handlegotoEdit(record: Recordable) {
|
|
|
|
+ let url = record.webSite.replace('smg', 'epg');
|
|
|
|
+ if (!record.editAuthTime || (record.editAuthTime && dayjs() < dayjs(record.editAuthTime))) {
|
|
|
|
+ window.open(url);
|
|
|
|
+ } else {
|
|
|
|
+ createMessage.error('编辑权限已过期');
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- function handlePowers(record: Recordable){
|
|
|
|
|
|
+ function handlePowers(record: Recordable) {
|
|
openPowersModal(true, {
|
|
openPowersModal(true, {
|
|
...record,
|
|
...record,
|
|
});
|
|
});
|
|
@@ -531,6 +553,7 @@
|
|
getTypeCheckPerm,
|
|
getTypeCheckPerm,
|
|
handlegotoEdit,
|
|
handlegotoEdit,
|
|
handlePowers,
|
|
handlePowers,
|
|
|
|
+ userName,
|
|
};
|
|
};
|
|
},
|
|
},
|
|
});
|
|
});
|