From 840f8c003b4219791f1d603db999ff9640c5f284 Mon Sep 17 00:00:00 2001 From: qian Date: Tue, 19 May 2026 00:50:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(user):=E4=BF=AE=E5=A4=8D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=90=8E=E5=8F=B0=E7=94=A8=E6=88=B7=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/admin/src/views/system/UsersPage.vue | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/web/admin/src/views/system/UsersPage.vue b/web/admin/src/views/system/UsersPage.vue index 58194a0..90f89c0 100644 --- a/web/admin/src/views/system/UsersPage.vue +++ b/web/admin/src/views/system/UsersPage.vue @@ -35,7 +35,7 @@ const form = reactive({ email: '', password: '', role: 'admin', - status: 1, + status: 'active', }) const roleOptions = [ @@ -44,8 +44,8 @@ const roleOptions = [ ] const statusOptions = [ - { label: '启用', value: 1 }, - { label: '禁用', value: 0 }, + { label: '启用', value: 'active' }, + { label: '禁用', value: 'disabled' }, ] const columns: TableColumnData[] = [ @@ -67,8 +67,8 @@ const columns: TableColumnData[] = [ dataIndex: 'status', width: 80, render({ record }) { - const color = record.status === 1 ? 'green' : undefined - const label = record.status === 1 ? '启用' : '禁用' + const color = record.status === 'active' ? 'green' : undefined + const label = record.status === 'active' ? '启用' : '禁用' return h(Tag, { color, size: 'small' }, () => label) }, }, @@ -82,9 +82,9 @@ const columns: TableColumnData[] = [ return h(Space, { size: 4 }, () => [ h(Button, { size: 'small', type: 'primary', onClick: () => openEdit(record) }, () => '编辑'), h(Popconfirm, { - content: `确定${record.status === 1 ? '禁用' : '启用'}该用户?`, + content: `确定${record.status === 'active' ? '禁用' : '启用'}该用户?`, onOk: () => toggleStatus(record), - }, () => h(Button, { size: 'small' }, () => record.status === 1 ? '禁用' : '启用')), + }, () => h(Button, { size: 'small' }, () => record.status === 'active' ? '禁用' : '启用')), h(Button, { size: 'small', onClick: () => openResetPassword(record) }, () => '重置密码'), h(Popconfirm, { content: '确定删除该用户?此操作不可撤销。', @@ -118,7 +118,7 @@ function openCreate() { form.email = '' form.password = '' form.role = 'admin' - form.status = 1 + form.status = 'active' showModal.value = true } @@ -161,7 +161,7 @@ async function handleSubmit(done: () => void) { async function toggleStatus(row: any) { try { - await request.put(`/admin/users/${row.id}/status`, { status: row.status === 1 ? 0 : 1 }) + await request.put(`/admin/users/${row.id}/status`, { status: row.status === 'active' ? 'disabled' : 'active' }) Message.success('状态更新成功') fetchData() } catch { From 01e6b4964654efd33a4fba76406365fccf9e3482 Mon Sep 17 00:00:00 2001 From: qian Date: Tue, 19 May 2026 00:57:57 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(help):=E5=88=9B=E5=BB=BA=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E6=96=87=E6=A1=A3=E6=97=B6=E5=88=86=E7=B1=BB=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=E9=BB=98=E8=AE=A4=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/admin/src/views/system/HelpArticlesPage.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/web/admin/src/views/system/HelpArticlesPage.vue b/web/admin/src/views/system/HelpArticlesPage.vue index c6fa8cd..caf5a54 100644 --- a/web/admin/src/views/system/HelpArticlesPage.vue +++ b/web/admin/src/views/system/HelpArticlesPage.vue @@ -53,6 +53,10 @@ async function fetchCategories() { try { const res = await request.get('/admin/help-categories', { params: { page: 1, page_size: 100, parent_id: -1 } }) categories.value = res.data?.data?.list || [] + if (categories.value.length > 0 && !categoryFilter.value) { + categoryFilter.value = categories.value[0].id + fetchList() + } } catch {} } @@ -61,7 +65,7 @@ async function fetchList() { try { const params: any = { page: pagination.current, page_size: pagination.pageSize } if (statusFilter.value) params.status = statusFilter.value - if (categoryFilter.value) params.category_id = categoryFilter.value + if (categoryFilter.value != null) params.category_id = categoryFilter.value const res = await request.get('/admin/help-articles', { params }) const data = res.data?.data articles.value = data?.list || [] @@ -75,7 +79,7 @@ const editingId = ref(null) const formLoading = ref(false) const detailLoading = ref(false) const form = reactive({ - category_id: 0, + category_id: undefined as number | undefined, title: '', slug: '', content: '', @@ -86,7 +90,7 @@ const form = reactive({ }) const keywordInput = ref('') -function resetForm() { Object.assign(form, { category_id: 0, title: '', slug: '', content: '', summary: '', status: 'draft', sort_order: 0, keywords: [] }); keywordInput.value = '' } +function resetForm() { Object.assign(form, { category_id: undefined, title: '', slug: '', content: '', summary: '', status: 'draft', sort_order: 0, keywords: [] }); keywordInput.value = '' } function openCreate() { editingId.value = null; resetForm(); showDrawer.value = true } @@ -133,7 +137,7 @@ async function deleteArticle(row: any) { }}) } -onMounted(() => { fetchCategories(); fetchList() }) +onMounted(() => { fetchCategories() })