|
@@ -33,8 +33,14 @@
|
|
|
:keyword="keyword"
|
|
|
name="作品"
|
|
|
>
|
|
|
- <template v-if="!keyword " #undata>
|
|
|
- <a-button type="primary" shape="round" size="middle" @click="editRoom()" v-if="isRoomAll">
|
|
|
+ <template v-if="!keyword" #undata>
|
|
|
+ <a-button
|
|
|
+ type="primary"
|
|
|
+ shape="round"
|
|
|
+ size="middle"
|
|
|
+ @click="editRoom()"
|
|
|
+ v-if="isRoomAll"
|
|
|
+ >
|
|
|
{{ t('room.createRoom') }}
|
|
|
</a-button>
|
|
|
<span v-else>{{ t('room.nodata') }}</span>
|
|
@@ -42,10 +48,10 @@
|
|
|
<a-list
|
|
|
:grid="{ gutter: 20, xl: 5, lg: 4, md: 3, sm: 2, xs: 1, column: 5 }"
|
|
|
:data-source="roomList"
|
|
|
+ class="page-list"
|
|
|
>
|
|
|
<template #renderItem="{ item }">
|
|
|
<a-list-item>
|
|
|
-
|
|
|
<RoomSign
|
|
|
v-if="item !== addMarked"
|
|
|
:room="item"
|
|
@@ -104,7 +110,7 @@ import DataList from '@/components/data-list/index.vue'
|
|
|
import { useI18n } from '@/hook/useI18n'
|
|
|
|
|
|
import type { Room } from '@/store/modules/room'
|
|
|
-import { fetchRoomDetail } from '@/api'
|
|
|
+import { fetchRoomDetail, checkRoomEditOrDel } from '@/api'
|
|
|
import { useLocale } from '@/locales/useLocale'
|
|
|
|
|
|
defineOptions({ name: 'RoomList' })
|
|
@@ -148,7 +154,15 @@ const roomList = computed(() =>
|
|
|
)
|
|
|
|
|
|
const isRoomAll = computed(() => roomStore.roomStatus === 0)
|
|
|
-const deleteRoom = (room: Room) => {
|
|
|
+const deleteRoom = async (room: Room) => {
|
|
|
+ // xxx
|
|
|
+
|
|
|
+ const res = await checkRoomEditOrDel(room)
|
|
|
+ if (!res) {
|
|
|
+ message.error(t('room.roomOnfired'))
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
Modal.confirm({
|
|
|
content: t('room.deletedScenesWaring'),
|
|
|
title: t('room.deletedScenes'),
|
|
@@ -235,11 +249,16 @@ const webSyncRoom = async (room: Room) => {
|
|
|
|
|
|
const editRoom = async (room?: Room) => {
|
|
|
if (room) {
|
|
|
- const scenes = await roomStore.setRoomScenes(room)
|
|
|
- if (scenes.hostStatus === 1) {
|
|
|
+ const res = await checkRoomEditOrDel(room)
|
|
|
+ if (!res) {
|
|
|
message.error(t('room.roomOnfired'))
|
|
|
return
|
|
|
}
|
|
|
+ const scenes = await roomStore.setRoomScenes(room)
|
|
|
+ // if (scenes.hostStatus === 1) {
|
|
|
+ // message.error(t('room.roomOnfired'))
|
|
|
+ // return
|
|
|
+ // }
|
|
|
room = Object.assign({}, room, scenes)
|
|
|
}
|
|
|
// debugger
|
|
@@ -364,4 +383,9 @@ const headerVisible = useVisible({
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.page-list {
|
|
|
+ .ant-card {
|
|
|
+ min-height: 332px;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|