|
@@ -47,6 +47,21 @@
|
|
|
(record.lived !== true && getCheckRole(['super', 'plat_admin'])),
|
|
|
onClick: generateDefaultLiveRoom.bind(null, record),
|
|
|
},
|
|
|
+ {
|
|
|
+ label: '复制',
|
|
|
+ //disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
|
|
|
+ ifShow:
|
|
|
+ getCheckRole('super') &&
|
|
|
+ record.sceneVersion == 'v3' &&
|
|
|
+ record.companyId != 1058,
|
|
|
+ onClick: handleCopy.bind(null, record),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '迁移',
|
|
|
+ //disabled:!(record.status == 1 || record.status == -2),
|
|
|
+ ifShow: getCheckRole('super') && record.companyId != 1058,
|
|
|
+ onClick: handleMove.bind(null, record),
|
|
|
+ },
|
|
|
// {
|
|
|
// color: 'warning',
|
|
|
// label: '虚实同步',
|
|
@@ -68,6 +83,7 @@
|
|
|
<DownloadModal @register="registerDownloadModal" />
|
|
|
<EditorModal @register="registerEditorModal" @reload="reload" />
|
|
|
<ShareModal @register="registerShareModal" @reload="reload" />
|
|
|
+ <MoveModal @register="registerMoveModal" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts">
|
|
@@ -91,6 +107,7 @@
|
|
|
downloadSceneDataAPi,
|
|
|
generateDefaultLiveRoomApi,
|
|
|
generateRealityApi,
|
|
|
+ sceneCopy,
|
|
|
} from '/@/api/scene/list';
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
import {
|
|
@@ -104,15 +121,24 @@
|
|
|
import DownloadModal from './downloadModal.vue';
|
|
|
import EditorModal from './editorModal.vue';
|
|
|
import ShareModal from './shareModal.vue';
|
|
|
-
|
|
|
+ import MoveModal from './MoveModal.vue';
|
|
|
export default defineComponent({
|
|
|
- components: { BasicTable, TableAction, TableImg, DownloadModal, EditorModal, ShareModal },
|
|
|
+ components: {
|
|
|
+ BasicTable,
|
|
|
+ TableAction,
|
|
|
+ TableImg,
|
|
|
+ DownloadModal,
|
|
|
+ EditorModal,
|
|
|
+ MoveModal,
|
|
|
+ ShareModal,
|
|
|
+ },
|
|
|
emits: ['register'],
|
|
|
setup() {
|
|
|
- const { createMessage } = useMessage();
|
|
|
+ const { createMessage, createConfirm } = useMessage();
|
|
|
const [registerDownloadModal, { openModal: openDownloadModal }] = useModal();
|
|
|
const [registerEditorModal, { openModal: openEditorModal }] = useModal();
|
|
|
const [registerShareModal, { openModal: openShareModal }] = useModal();
|
|
|
+ const [registerMoveModal, { openModal: openMoveModal }] = useModal();
|
|
|
const { t } = useI18n();
|
|
|
const userStore = useUserStore();
|
|
|
const { getCheckRole, getEquity } = userStore;
|
|
@@ -254,7 +280,7 @@
|
|
|
],
|
|
|
};
|
|
|
// { getForm }
|
|
|
- const [registerTable, { reload }] = useTable({
|
|
|
+ const [registerTable, { reload, setLoading }] = useTable({
|
|
|
title: t('routes.scenes.sceneList'),
|
|
|
api: ListApi,
|
|
|
columns: columns,
|
|
@@ -321,6 +347,24 @@
|
|
|
reload();
|
|
|
}
|
|
|
}
|
|
|
+ async function handleCopy(record: Recordable) {
|
|
|
+ createConfirm({
|
|
|
+ title: t('routes.scenes.copyInfi.title'),
|
|
|
+ content: t('routes.scenes.copyInfi.content'),
|
|
|
+ onOk: async () => {
|
|
|
+ setLoading(true);
|
|
|
+ sceneCopy({ num: record.num }).then(() => {
|
|
|
+ createMessage.success(t('routes.scenes.copyInfi.ok'));
|
|
|
+ reload();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ async function handleMove(record: Recordable) {
|
|
|
+ openMoveModal(true, {
|
|
|
+ ...record,
|
|
|
+ });
|
|
|
+ }
|
|
|
async function syncReality(record: Recordable) {
|
|
|
let res = await generateRealityApi({
|
|
|
sceneNum: record.num,
|
|
@@ -339,11 +383,14 @@
|
|
|
createMessage,
|
|
|
t,
|
|
|
reload,
|
|
|
+ handleMove,
|
|
|
+ handleCopy,
|
|
|
openSceneEditor,
|
|
|
openEditorModal,
|
|
|
registerEditorModal,
|
|
|
handleDownloadScene,
|
|
|
registerDownloadModal,
|
|
|
+ registerMoveModal,
|
|
|
generateDefaultLiveRoom,
|
|
|
openSceneEditorModal,
|
|
|
getEquity,
|