|
@@ -1,16 +1,16 @@
|
|
<template>
|
|
<template>
|
|
<div class="scren">
|
|
<div class="scren">
|
|
<PageWrapper contentBackground>
|
|
<PageWrapper contentBackground>
|
|
- <!-- <template #footer>
|
|
|
|
|
|
+ <template #footer>
|
|
<a-tabs v-model:activeKey="tableType" @change="changeTable">
|
|
<a-tabs v-model:activeKey="tableType" @change="changeTable">
|
|
- <Tabs.TabPane :key="0" tab="案件管理" :disabled="loading" />
|
|
|
|
- <Tabs.TabPane :key="1" tab="案件共享" :disabled="loading" />
|
|
|
|
|
|
+ <Tabs.TabPane :key="0" tab="多元融合" :disabled="loading" />
|
|
|
|
+ <Tabs.TabPane :key="1" tab="共享多元融合" :disabled="loading" />
|
|
</a-tabs
|
|
</a-tabs
|
|
- ></template> -->
|
|
|
|
|
|
+ ></template>
|
|
<div class="desc-wrap-BasicTable">
|
|
<div class="desc-wrap-BasicTable">
|
|
- <BasicTable @register="registerTable">
|
|
|
|
|
|
+ <BasicTable @register="registerTable" :columns="columnsFun">
|
|
<template #toolbar>
|
|
<template #toolbar>
|
|
- <a-button type="primary" @click="handleAdd" v-if="getCheckPerm('case-Add') && tableType == 0"> 新增案件</a-button>
|
|
|
|
|
|
+ <a-button type="primary" @click="handleAdd" v-if="getCheckPerm('diversity-Add') && tableType == 0"> 新增</a-button>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template #href="{ record }">
|
|
<template #href="{ record }">
|
|
@@ -23,55 +23,37 @@
|
|
>
|
|
>
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
</template>
|
|
</template>
|
|
- <template #caseTitle="{ record }">
|
|
|
|
- <a
|
|
|
|
- v-if="record.caseTitle"
|
|
|
|
- target="_blank"
|
|
|
|
- :title="record.caseTitle"
|
|
|
|
- :href="`/mix3d/#/home/${record.caseId}`"
|
|
|
|
- >{{ record.caseTitle }}</a
|
|
|
|
- >
|
|
|
|
- <span v-else>-</span>
|
|
|
|
- </template>
|
|
|
|
<template #action="{ record }">
|
|
<template #action="{ record }">
|
|
<TableAction
|
|
<TableAction
|
|
stopButtonPropagation
|
|
stopButtonPropagation
|
|
:actions="[
|
|
:actions="[
|
|
{
|
|
{
|
|
label: '迁移',
|
|
label: '迁移',
|
|
- ifShow: getTypeCheckPerm('case-edit'),
|
|
|
|
|
|
+ ifShow: getTypeCheckPerm('diversity-move') && tableType == 0,
|
|
onClick: handleMove.bind(null, record),
|
|
onClick: handleMove.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '编辑',
|
|
label: '编辑',
|
|
- ifShow: getTypeCheckPerm('case-edit'),
|
|
|
|
|
|
+ ifShow: getTypeCheckPerm('diversity-edit'),
|
|
|
|
+ disabled: !record.editAuth,
|
|
onClick: handlegotoEdit.bind(null, record),
|
|
onClick: handlegotoEdit.bind(null, record),
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: '权限',
|
|
label: '权限',
|
|
- disabled: tableType == 1 && !record.isAuth,
|
|
|
|
- ifShow: getTypeCheckPerm('case-powers'),
|
|
|
|
|
|
+ disabled: !record.isAuth,
|
|
|
|
+ ifShow: getTypeCheckPerm('diversity-powers'),
|
|
onClick: handlePowers.bind(null, record),
|
|
onClick: handlePowers.bind(null, record),
|
|
},
|
|
},
|
|
- {
|
|
|
|
- label: '下载',
|
|
|
|
- ifShow: getTypeCheckPerm('case-download') && !record.isOpen,
|
|
|
|
- // getTypeCheckPerm('scenes-download') &&
|
|
|
|
- // tableType != 3 &&
|
|
|
|
- // (record.userName == userInfo.userName ||
|
|
|
|
- // userInfo.roleId == 1 ||
|
|
|
|
- // userInfo.roleId == 45 ||
|
|
|
|
- // userInfo.roleId == 48),
|
|
|
|
- // disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
|
- //icon: 'carbon:download',
|
|
|
|
- disabled: tableType == 1,
|
|
|
|
- onClick: createConfirmDownload.bind(null, record),
|
|
|
|
- },
|
|
|
|
|
|
+ //{
|
|
|
|
+ // label: '下载',
|
|
|
|
+ // ifShow: getTypeCheckPerm('diversity-download') && !record.isOpen,
|
|
|
|
+ // disabled: tableType == 1,
|
|
|
|
+ // onClick: createConfirmDownload.bind(null, record),
|
|
|
|
+ //},
|
|
{
|
|
{
|
|
label: '删除',
|
|
label: '删除',
|
|
- ifShow: getTypeCheckPerm('case-delete') && !record.isOpen,
|
|
|
|
- //icon: 'ic:outline-delete-outline',
|
|
|
|
- disabled: tableType == 1,
|
|
|
|
|
|
+ ifShow: getTypeCheckPerm('diversity-delete') && !record.isOpen && tableType == 0,
|
|
|
|
+ disabled: !record.editAuth,
|
|
color: 'error',
|
|
color: 'error',
|
|
onClick: handleDelete.bind(null, record),
|
|
onClick: handleDelete.bind(null, record),
|
|
},
|
|
},
|
|
@@ -91,22 +73,18 @@
|
|
:okButtonProps="{ disabled: canDownload }"
|
|
:okButtonProps="{ disabled: canDownload }"
|
|
/>
|
|
/>
|
|
<MoveModal @register="registerMoveModal" @update="reload" />
|
|
<MoveModal @register="registerMoveModal" @update="reload" />
|
|
- <AddModal @register="registerAddModal" @update="reload"/>
|
|
|
|
|
|
+ <AddModal @register="registerAddModal" @update="reload" />
|
|
<PowersModal @register="registerPowersModal" />
|
|
<PowersModal @register="registerPowersModal" />
|
|
</PageWrapper>
|
|
</PageWrapper>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
- import { defineComponent, h, computed, toRefs, ref, onMounted } from 'vue';
|
|
|
|
- import Icon from '/@/components/Icon/index';
|
|
|
|
- import dayjs from 'dayjs';
|
|
|
|
- import { QrCode } from '/@/components/Qrcode/index';
|
|
|
|
|
|
+ import { defineComponent, h, computed, ref, onMounted } from 'vue';
|
|
import {
|
|
import {
|
|
BasicTable,
|
|
BasicTable,
|
|
useTable,
|
|
useTable,
|
|
TableAction,
|
|
TableAction,
|
|
BasicColumn,
|
|
BasicColumn,
|
|
- TableImg,
|
|
|
|
FormProps,
|
|
FormProps,
|
|
} from '/@/components/Table';
|
|
} from '/@/components/Table';
|
|
import { PageWrapper } from '/@/components/Page';
|
|
import { PageWrapper } from '/@/components/Page';
|
|
@@ -115,19 +93,18 @@
|
|
import MoveModal from './MoveModal.vue';
|
|
import MoveModal from './MoveModal.vue';
|
|
import PowersModal from '/@/views/productOperation/modal/PowersModal.vue';
|
|
import PowersModal from '/@/views/productOperation/modal/PowersModal.vue';
|
|
import { Time } from '/@/components/Time';
|
|
import { Time } from '/@/components/Time';
|
|
- import { Descriptions, Tabs, Progress } from 'ant-design-vue';
|
|
|
|
|
|
+ import { Descriptions, Tabs } from 'ant-design-vue';
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
import { useModal } from '/@/components/Modal';
|
|
import { useModal } from '/@/components/Modal';
|
|
import {
|
|
import {
|
|
caseFusionList,
|
|
caseFusionList,
|
|
- caseFusionMove,
|
|
|
|
|
|
+ caseFusionAdd,
|
|
caseFusionDel,
|
|
caseFusionDel,
|
|
} from '/@/api/operate/case';
|
|
} from '/@/api/operate/case';
|
|
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 { useUserStore } from '/@/store/modules/user';
|
|
- import { func } from 'vue-types';
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
components: {
|
|
components: {
|
|
DownLoadModal,
|
|
DownLoadModal,
|
|
@@ -138,7 +115,6 @@
|
|
PageWrapper,
|
|
PageWrapper,
|
|
[Descriptions.name]: Descriptions,
|
|
[Descriptions.name]: Descriptions,
|
|
[Descriptions.Item.name]: Descriptions.Item,
|
|
[Descriptions.Item.name]: Descriptions.Item,
|
|
- QrCode,
|
|
|
|
AddModal,
|
|
AddModal,
|
|
// Tabs,
|
|
// Tabs,
|
|
[Tabs.name]: Tabs,
|
|
[Tabs.name]: Tabs,
|
|
@@ -153,26 +129,26 @@
|
|
const { getCheckPerm } = permissionStore;
|
|
const { getCheckPerm } = permissionStore;
|
|
const loading = ref(false);
|
|
const loading = ref(false);
|
|
const tableType = ref<number>(0); //0看看 、1看见、2深时
|
|
const tableType = ref<number>(0); //0看看 、1看见、2深时
|
|
- const columns: BasicColumn[] = [
|
|
|
|
|
|
+ const columns = () => [
|
|
{
|
|
{
|
|
title: '标题',
|
|
title: '标题',
|
|
dataIndex: 'sceneName',
|
|
dataIndex: 'sceneName',
|
|
|
|
+ fixed: 'left',
|
|
ellipsis: true,
|
|
ellipsis: true,
|
|
slots: { customRender: 'href' },
|
|
slots: { customRender: 'href' },
|
|
- resizable: true,
|
|
|
|
- minWidth: 150,
|
|
|
|
|
|
+ // resizable: true,
|
|
width: 300,
|
|
width: 300,
|
|
},
|
|
},
|
|
- {
|
|
|
|
- title: '所属案件',
|
|
|
|
- dataIndex: 'caseTitle',
|
|
|
|
- slots: { customRender: 'caseTitle' },
|
|
|
|
- ellipsis: true,
|
|
|
|
- width: 140,
|
|
|
|
- },
|
|
|
|
|
|
+ // {
|
|
|
|
+ // title: '所属案件',
|
|
|
|
+ // dataIndex: 'caseTitle',
|
|
|
|
+ // slots: { customRender: 'caseTitle' },
|
|
|
|
+ // ellipsis: true,
|
|
|
|
+ // width: 140,
|
|
|
|
+ // },
|
|
{
|
|
{
|
|
title: '人员编号',
|
|
title: '人员编号',
|
|
- dataIndex: 'ryId',
|
|
|
|
|
|
+ dataIndex: 'ryNo',
|
|
ellipsis: true,
|
|
ellipsis: true,
|
|
width: 140,
|
|
width: 140,
|
|
},
|
|
},
|
|
@@ -196,98 +172,6 @@
|
|
);
|
|
);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
- // {
|
|
|
|
- // title: '计算完成时间',
|
|
|
|
- // dataIndex: 'amount',
|
|
|
|
- // width: 180,
|
|
|
|
- // customRender: ({ record }) => {
|
|
|
|
- // return (
|
|
|
|
- // (record.algorithmTime &&
|
|
|
|
- // h(Time, {
|
|
|
|
- // value: record.algorithmTime,
|
|
|
|
- // 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: '是否复制',
|
|
|
|
- // 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: t('routes.staff.userName'),
|
|
|
|
- // dataIndex: 'nickName',
|
|
|
|
- // width: 100,
|
|
|
|
- // customRender: ({ record }) => {
|
|
|
|
- // return record.nickName || '-';
|
|
|
|
- // },
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // title: '浏览量',
|
|
|
|
- // dataIndex: 'viewCount',
|
|
|
|
- // width: 80,
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // title: '状态',
|
|
|
|
- // dataIndex: 'status',
|
|
|
|
- // width: 80,
|
|
|
|
- // customRender: ({ record }) => {
|
|
|
|
- // let str;
|
|
|
|
- // switch (record.status - 0) {
|
|
|
|
- // case 0:
|
|
|
|
- // str = '计算中';
|
|
|
|
- // break;
|
|
|
|
- // case 1:
|
|
|
|
- // str = '计算成功';
|
|
|
|
- // break;
|
|
|
|
- // case -2:
|
|
|
|
- // str = '计算成功';
|
|
|
|
- // break;
|
|
|
|
- // case -1:
|
|
|
|
- // str = '计算失败';
|
|
|
|
- // break;
|
|
|
|
- // }
|
|
|
|
- // return record.payStatus == -2 ? '封存' : str;
|
|
|
|
- // },
|
|
|
|
- // },
|
|
|
|
{
|
|
{
|
|
title: '操作',
|
|
title: '操作',
|
|
dataIndex: 'action',
|
|
dataIndex: 'action',
|
|
@@ -304,8 +188,8 @@
|
|
autoAdvancedLine: 1,
|
|
autoAdvancedLine: 1,
|
|
schemas: [
|
|
schemas: [
|
|
{
|
|
{
|
|
- field: 'caseTitle',
|
|
|
|
- label: '案件名称',
|
|
|
|
|
|
+ field: 'fusionTitle',
|
|
|
|
+ label: '多元融合名称',
|
|
component: 'Input',
|
|
component: 'Input',
|
|
componentProps: {
|
|
componentProps: {
|
|
maxLength: 100,
|
|
maxLength: 100,
|
|
@@ -324,11 +208,10 @@
|
|
const [registerDownModal, { openModal: openDownModal }] = useModal();
|
|
const [registerDownModal, { openModal: openDownModal }] = useModal();
|
|
const [registerMoveModal, { openModal: openMoveModal }] = useModal();
|
|
const [registerMoveModal, { openModal: openMoveModal }] = useModal();
|
|
const [registerPowersModal, { openModal: openPowersModal }] = useModal();
|
|
const [registerPowersModal, { openModal: openPowersModal }] = useModal();
|
|
- const [registerTable, { reload }] = useTable({
|
|
|
|
|
|
+ const [registerTable, { reload, setPagination, getColumns, setColumns }] = useTable({
|
|
api: caseFusionList,
|
|
api: caseFusionList,
|
|
- title: ``,
|
|
|
|
|
|
+ title: `多元融合列表`,
|
|
// titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'],
|
|
// titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'],
|
|
- columns: columns,
|
|
|
|
searchInfo: { isShare: tableType },
|
|
searchInfo: { isShare: tableType },
|
|
useSearchForm: true,
|
|
useSearchForm: true,
|
|
formConfig: searchForm,
|
|
formConfig: searchForm,
|
|
@@ -342,22 +225,26 @@
|
|
loading.value = false;
|
|
loading.value = false;
|
|
return T;
|
|
return T;
|
|
},
|
|
},
|
|
- rowKey: 'caseId',
|
|
|
|
|
|
+ rowKey: 'fusionId',
|
|
fetchSetting: {
|
|
fetchSetting: {
|
|
pageField: 'pageNum',
|
|
pageField: 'pageNum',
|
|
sizeField: 'pageSize',
|
|
sizeField: 'pageSize',
|
|
listField: 'list',
|
|
listField: 'list',
|
|
totalField: 'total',
|
|
totalField: 'total',
|
|
- },
|
|
|
|
|
|
+ },
|
|
canResize: true,
|
|
canResize: true,
|
|
});
|
|
});
|
|
function changeTable(val: number) {
|
|
function changeTable(val: number) {
|
|
tableType.value = val;
|
|
tableType.value = val;
|
|
|
|
+ setColumns(columns())
|
|
|
|
+ setPagination({ current: 1 });
|
|
reload();
|
|
reload();
|
|
}
|
|
}
|
|
- function handleAdd() {
|
|
|
|
- openAddModal(true, {})
|
|
|
|
- // router.push({ path: '/scene/add' });
|
|
|
|
|
|
+ async function handleAdd() {
|
|
|
|
+ console.log('addPowes', getColumns(), columns());
|
|
|
|
+ let res = await caseFusionAdd({});
|
|
|
|
+ console.log('handleAdd', res);
|
|
|
|
+ handlegotoEdit(res)
|
|
}
|
|
}
|
|
async function handleCopy(record: Recordable) {
|
|
async function handleCopy(record: Recordable) {
|
|
createConfirm({
|
|
createConfirm({
|
|
@@ -409,7 +296,7 @@
|
|
createConfirm({
|
|
createConfirm({
|
|
title: '提示',
|
|
title: '提示',
|
|
okText: '继续',
|
|
okText: '继续',
|
|
- content: '案件资源过大会导致离线包下载失败,请尽可能缩小案件资源后再下载。',
|
|
|
|
|
|
+ content: '多元融合资源过大会导致离线包下载失败,请尽可能缩小多元融合资源后再下载。',
|
|
onOk: async () => {
|
|
onOk: async () => {
|
|
handleDownload(record)
|
|
handleDownload(record)
|
|
},
|
|
},
|
|
@@ -507,12 +394,19 @@
|
|
window.open(url);
|
|
window.open(url);
|
|
}
|
|
}
|
|
function handlePowers(record: Recordable) {
|
|
function handlePowers(record: Recordable) {
|
|
|
|
+ console.log('handlePowers', record);
|
|
openPowersModal(true, {
|
|
openPowersModal(true, {
|
|
...record,
|
|
...record,
|
|
|
|
+ sourceType: 'fusion',
|
|
|
|
+ caseId: undefined,
|
|
tableType: tableType.value,
|
|
tableType: tableType.value,
|
|
});
|
|
});
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ setColumns(columns())
|
|
|
|
+ }, 2000)
|
|
}
|
|
}
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
|
+ setColumns(columns())
|
|
});
|
|
});
|
|
return {
|
|
return {
|
|
registerTable,
|
|
registerTable,
|
|
@@ -540,6 +434,7 @@
|
|
handlegotoEdit,
|
|
handlegotoEdit,
|
|
handlePowers,
|
|
handlePowers,
|
|
userInfo,
|
|
userInfo,
|
|
|
|
+ columnsFun: columns(),
|
|
handleAdd,
|
|
handleAdd,
|
|
reload,
|
|
reload,
|
|
getCheckPerm,
|
|
getCheckPerm,
|
|
@@ -584,6 +479,9 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ :deep(.ant-table-cell-content){
|
|
|
|
+ display: block !important;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
// .tableHeader {
|
|
// .tableHeader {
|
|
// height: 50px;
|
|
// height: 50px;
|