fix: doc slot

This commit is contained in:
xingyu4j
2025-11-13 17:44:44 +08:00
parent 8a4af8c55b
commit 83a5ca15b5
8 changed files with 145 additions and 118 deletions

View File

@@ -82,10 +82,12 @@ const [Grid, gridApi] = useVbenVxeGrid({
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert <template #doc>
title="会员等级、积分、签到" <DocAlert
url="https://doc.iocoder.cn/member/level/" title="会员等级、积分、签到"
/> url="https://doc.iocoder.cn/member/level/"
/>
</template>
<FormModal @success="handleRefresh" /> <FormModal @success="handleRefresh" />
<Grid table-title="等级列表"> <Grid table-title="等级列表">

View File

@@ -42,10 +42,12 @@ const [Grid] = useVbenVxeGrid({
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert <template #doc>
title="会员等级、积分、签到" <DocAlert
url="https://doc.iocoder.cn/member/level/" title="会员等级、积分、签到"
/> url="https://doc.iocoder.cn/member/level/"
/>
</template>
<Grid table-title="积分记录列表" /> <Grid table-title="积分记录列表" />
</Page> </Page>

View File

@@ -176,7 +176,9 @@ onMounted(async () => {
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert title="自动回复" url="https://doc.iocoder.cn/mp/auto-reply/" /> <template #doc>
<DocAlert title="自动回复" url="https://doc.iocoder.cn/mp/auto-reply/" />
</template>
<FormModal @success="handleRefresh" /> <FormModal @success="handleRefresh" />

View File

@@ -99,109 +99,123 @@ async function handleDelete(id: number) {
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<!-- 搜索工作栏 --> <div class="h-full">
<Card class="mb-4" :bordered="false"> <!-- 搜索工作栏 -->
<Form :model="queryParams" layout="inline"> <Card class="h-[10%]" :bordered="false">
<Form.Item label="公众号"> <Form :model="queryParams" layout="inline">
<WxAccountSelect @change="onAccountChanged" /> <Form.Item label="公众号">
</Form.Item> <WxAccountSelect @change="onAccountChanged" />
</Form> </Form.Item>
</Card> </Form>
</Card>
<Card :bordered="false"> <Card :bordered="false" class="mt-4 h-[90%]">
<Tabs v-model:active-key="type" @change="onTabChange"> <Tabs v-model:active-key="type" @change="onTabChange">
<!-- tab 1图片 --> <!-- tab 1图片 -->
<Tabs.TabPane :key="UploadType.Image"> <Tabs.TabPane :key="UploadType.Image">
<template #tab> <template #tab>
<span class="flex items-center"> <span class="flex items-center">
<IconifyIcon icon="mdi:image" class="mr-1" /> <IconifyIcon icon="mdi:image" class="mr-1" />
图片 图片
</span> </span>
</template> </template>
<UploadFile <UploadFile
v-if="hasAccessByCodes(['mp:material:upload-permanent'])" v-if="hasAccessByCodes(['mp:material:upload-permanent'])"
:type="UploadType.Image" :type="UploadType.Image"
@uploaded="getList" @uploaded="getList"
> >
支持 bmp/png/jpeg/jpg/gif 格式大小不超过 2M 支持 bmp/png/jpeg/jpg/gif 格式大小不超过 2M
</UploadFile> </UploadFile>
<!-- 列表 --> <!-- 列表 -->
<ImageTable :list="list" :loading="loading" @delete="handleDelete" /> <ImageTable
<!-- 分页组件 --> :list="list"
<div class="mt-4 flex justify-end"> :loading="loading"
<Pagination @delete="handleDelete"
v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/> />
</div> <!-- 分页组件 -->
</Tabs.TabPane> <div class="mt-4 flex justify-end">
<Pagination
v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/>
</div>
</Tabs.TabPane>
<!-- tab 2语音 --> <!-- tab 2语音 -->
<Tabs.TabPane :key="UploadType.Voice"> <Tabs.TabPane :key="UploadType.Voice">
<template #tab> <template #tab>
<span class="flex items-center"> <span class="flex items-center">
<IconifyIcon icon="mdi:microphone" class="mr-1" /> <IconifyIcon icon="mdi:microphone" class="mr-1" />
语音 语音
</span> </span>
</template> </template>
<UploadFile <UploadFile
v-if="hasAccessByCodes(['mp:material:upload-permanent'])" v-if="hasAccessByCodes(['mp:material:upload-permanent'])"
:type="UploadType.Voice" :type="UploadType.Voice"
@uploaded="getList" @uploaded="getList"
> >
格式支持 mp3/wma/wav/amr文件大小不超过 2M播放长度不超过 60s 格式支持 mp3/wma/wav/amr文件大小不超过 2M播放长度不超过 60s
</UploadFile> </UploadFile>
<!-- 列表 --> <!-- 列表 -->
<VoiceTable :list="list" :loading="loading" @delete="handleDelete" /> <VoiceTable
<!-- 分页组件 --> :list="list"
<div class="mt-4 flex justify-end"> :loading="loading"
<Pagination @delete="handleDelete"
v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/> />
</div> <!-- 分页组件 -->
</Tabs.TabPane> <div class="mt-4 flex justify-end">
<Pagination
v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/>
</div>
</Tabs.TabPane>
<!-- tab 3视频 --> <!-- tab 3视频 -->
<Tabs.TabPane :key="UploadType.Video"> <Tabs.TabPane :key="UploadType.Video">
<template #tab> <template #tab>
<span class="flex items-center"> <span class="flex items-center">
<IconifyIcon icon="mdi:video" class="mr-1" /> <IconifyIcon icon="mdi:video" class="mr-1" />
视频 视频
</span> </span>
</template> </template>
<Button <Button
v-if="hasAccessByCodes(['mp:material:upload-permanent'])" v-if="hasAccessByCodes(['mp:material:upload-permanent'])"
type="primary" type="primary"
@click="showCreateVideo = true" @click="showCreateVideo = true"
> >
新建视频 新建视频
</Button> </Button>
<!-- 新建视频的弹窗 --> <!-- 新建视频的弹窗 -->
<UploadVideo v-model:open="showCreateVideo" @uploaded="getList" /> <UploadVideo v-model:open="showCreateVideo" @uploaded="getList" />
<!-- 列表 --> <!-- 列表 -->
<VideoTable :list="list" :loading="loading" @delete="handleDelete" /> <VideoTable
<!-- 分页组件 --> :list="list"
<div class="mt-4 flex justify-end"> :loading="loading"
<Pagination @delete="handleDelete"
v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/> />
</div> <!-- 分页组件 -->
</Tabs.TabPane> <div class="mt-4 flex justify-end">
</Tabs> <Pagination
</Card> v-model:current="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:total="total"
show-size-changer
@change="getList"
@show-size-change="getList"
/>
</div>
</Tabs.TabPane>
</Tabs>
</Card>
</div>
</Page> </Page>
</template> </template>

View File

@@ -81,11 +81,12 @@ const [Grid, gridApi] = useVbenVxeGrid({
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert <template #doc>
title="会员等级、积分、签到" <DocAlert
url="https://doc.iocoder.cn/member/level/" title="会员等级、积分、签到"
/> url="https://doc.iocoder.cn/member/level/"
/>
</template>
<FormModal @success="handleRefresh" /> <FormModal @success="handleRefresh" />
<Grid table-title="等级列表"> <Grid table-title="等级列表">
<template #toolbar-tools> <template #toolbar-tools>

View File

@@ -42,10 +42,12 @@ const [Grid] = useVbenVxeGrid({
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert <template #doc>
title="会员等级、积分、签到" <DocAlert
url="https://doc.iocoder.cn/member/level/" title="会员等级、积分、签到"
/> url="https://doc.iocoder.cn/member/level/"
/>
</template>
<Grid table-title="积分记录列表" /> <Grid table-title="积分记录列表" />
</Page> </Page>

View File

@@ -166,7 +166,9 @@ onMounted(async () => {
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert title="自动回复" url="https://doc.iocoder.cn/mp/auto-reply/" /> <template #doc>
<DocAlert title="自动回复" url="https://doc.iocoder.cn/mp/auto-reply/" />
</template>
<!-- tab 切换 --> <!-- tab 切换 -->
<ContentWrap> <ContentWrap>

View File

@@ -239,7 +239,9 @@ onMounted(async () => {
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<DocAlert title="公众号图文" url="https://doc.iocoder.cn/mp/article/" /> <template #doc>
<DocAlert title="公众号图文" url="https://doc.iocoder.cn/mp/article/" />
</template>
<FormModal <FormModal
@success=" @success="