|
@@ -1,10 +1,7 @@
|
|
|
<template>
|
|
|
<div ref="headerRef" class="header">
|
|
|
<div style="display: flex; flex-direction: row" class="header-title-tab">
|
|
|
- <a-button type="text" @click="roomStore.setRoomStatus(0);roomType = 0;">
|
|
|
- <h3>{{ t('room.myRoom') }}({{ roomStore.list.length }})</h3>
|
|
|
- </a-button>
|
|
|
-
|
|
|
+ <h3>{{ t('room.myRoom') }}({{ roomStore.list.length }})</h3>
|
|
|
<a-radio-group
|
|
|
v-model:value="roomType"
|
|
|
button-style="solid"
|
|
@@ -36,10 +33,11 @@
|
|
|
:keyword="keyword"
|
|
|
name="作品"
|
|
|
>
|
|
|
- <template v-if="!keyword" #undata>
|
|
|
- <a-button type="primary" shape="round" size="middle" @click="editRoom()">
|
|
|
+ <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>
|
|
|
</template>
|
|
|
<a-list
|
|
|
:grid="{ gutter: 20, xl: 5, lg: 4, md: 3, sm: 2, xs: 1, column: 5 }"
|
|
@@ -47,10 +45,11 @@
|
|
|
>
|
|
|
<template #renderItem="{ item }">
|
|
|
<a-list-item>
|
|
|
+
|
|
|
<RoomSign
|
|
|
v-if="item !== addMarked"
|
|
|
:room="item"
|
|
|
- :disabled="isRoomEnd"
|
|
|
+ :disabled="item.roomStatus === 2"
|
|
|
@web-sync="webSyncRoom(item)"
|
|
|
@delete="deleteRoom(item)"
|
|
|
@share="shareRoom(item)"
|
|
@@ -59,7 +58,7 @@
|
|
|
/>
|
|
|
<template v-else>
|
|
|
<a-card
|
|
|
- v-if="!isRoomEnd"
|
|
|
+ v-if="isRoomAll"
|
|
|
class="add-room"
|
|
|
hoverable
|
|
|
@click="editRoom()"
|
|
@@ -148,7 +147,7 @@ const roomList = computed(() =>
|
|
|
: roomStore.filter(keyword.value)
|
|
|
)
|
|
|
|
|
|
-const isRoomEnd = computed(() => roomStore.roomStatus === 2)
|
|
|
+const isRoomAll = computed(() => roomStore.roomStatus === 0)
|
|
|
const deleteRoom = (room: Room) => {
|
|
|
Modal.confirm({
|
|
|
content: t('room.deletedScenesWaring'),
|