提交 0a903e12 编写于 作者: View Design's avatar View Design

Update Header.vue

上级 ecdda5cb
...@@ -14,12 +14,15 @@ ...@@ -14,12 +14,15 @@
/> />
</div> </div>
<div class="flex gap-2"> <div class="flex gap-2">
<IActionThread /> <IActionThread
:collection_id="$selectCollectionId.length ? $selectCollectionId[0] : ''"
:c_id="state.id"
/>
<UButton <UButton
color="gray" color="gray"
variant="ghost" variant="ghost"
leading-icon="i-heroicons-plus-small" leading-icon="i-heroicons-plus-small"
:label="$selectCollectionId.length > 0 ? '已收藏' : '收藏'" :label="$selectCollectionId.length ? '已收藏' : '收藏'"
@click="handleOpenSelect" @click="handleOpenSelect"
/> />
<UPopover v-model:open="isShareOpen"> <UPopover v-model:open="isShareOpen">
...@@ -91,6 +94,10 @@ const props = defineProps({ ...@@ -91,6 +94,10 @@ const props = defineProps({
default: false default: false
} }
}) })
const state = reactive({
id: route.params.id
})
const Layout = inject('Layout')
const emits = defineEmits(['update-query']) const emits = defineEmits(['update-query'])
const isEditTitle = ref(false) const isEditTitle = ref(false)
const titleRef = ref(null) const titleRef = ref(null)
...@@ -112,7 +119,7 @@ function handleBlurTitle () { ...@@ -112,7 +119,7 @@ function handleBlurTitle () {
emits('update-query', editTitle.value) emits('update-query', editTitle.value)
} }
async function handleUpdateOpenState (state) { async function handleUpdateOpenState (state) {
const { data } = await useRequest(`/v1/chat/${route.params.id}/public/${state}`, { method: 'post' }) const { data } = await useRequest(`/v1/chat/${state.id}/public/${state}`, { method: 'post' })
if (data.value) isOpen.value = state if (data.value) isOpen.value = state
} }
function handleCopyLink (url) { function handleCopyLink (url) {
...@@ -136,10 +143,10 @@ async function handleSetOpenState() { ...@@ -136,10 +143,10 @@ async function handleSetOpenState() {
} }
} }
function handleOpenSelect () { function handleOpenSelect () {
$openLibrarySelect(route.params.id) $openLibrarySelect(state.id, $selectCollectionId.value)
} }
async function initData () { async function initData () {
const { data, error } = await findRecordCollection(route.params.id) const { data, error } = await findRecordCollection(state.id)
if (!error.value) { if (!error.value) {
const ids = data.value.data.map(item => item.collection_id) const ids = data.value.data.map(item => item.collection_id)
$setSelectCollectionId(ids) $setSelectCollectionId(ids)
...@@ -154,4 +161,14 @@ defineExpose({ ...@@ -154,4 +161,14 @@ defineExpose({
handleUpdateOpenState, handleUpdateOpenState,
handleCopyLink handleCopyLink
}) })
function handleRemoveCollect (data) {
const { c_id } = data.value
if (c_id === state.id) {
$setSelectCollectionId([])
Layout.handleClearRemoveCollectData()
}
}
watch(()=> Layout.removeCollectData, (data) => {
if (data.value !== null) handleRemoveCollect(data)
}, { deep: true })
</script> </script>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册