fetch(modify):修复API的URL
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m1s

This commit is contained in:
sexygoat
2026-02-03 10:04:59 +08:00
parent 06cde977ad
commit 2c6fe4375b
17 changed files with 225 additions and 205 deletions

View File

@@ -165,9 +165,9 @@
import type { FormRules } from 'element-plus'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import ArtButtonTable from '@/components/core/forms/ArtButtonTable.vue'
import { PlatformAccountService, RoleService } from '@/api/modules'
import { AccountService, RoleService } from '@/api/modules'
import type { SearchFormItem } from '@/types'
import type { PlatformRole, PlatformAccountResponse } from '@/types/api'
import type { PlatformRole, PlatformAccount } from '@/types/api'
import { formatDateTime } from '@/utils/business/format'
import { CommonStatus, getStatusText, STATUS_SELECT_OPTIONS } from '@/config/constants'
@@ -202,7 +202,7 @@
})
// 表格数据
const tableData = ref<PlatformAccountResponse[]>([])
const tableData = ref<PlatformAccount[]>([])
// 表格实例引用
const tableRef = ref()
@@ -268,7 +268,7 @@
]
// 显示对话框
const showDialog = (type: string, row?: PlatformAccountResponse) => {
const showDialog = (type: string, row?: PlatformAccount) => {
dialogVisible.value = true
dialogType.value = type
@@ -284,7 +284,7 @@
formData.user_type = row.user_type
formData.enterprise_id = row.enterprise_id || null
formData.shop_id = row.shop_id || null
formData.status = row.status
formData.status = row.status as CommonStatus
formData.password = ''
} else {
formData.id = 0
@@ -299,7 +299,7 @@
}
// 删除账号
const deleteAccount = (row: PlatformAccountResponse) => {
const deleteAccount = (row: PlatformAccount) => {
ElMessageBox.confirm(`确定要删除平台账号 ${row.username} 吗?`, '删除平台账号', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -307,7 +307,7 @@
})
.then(async () => {
try {
await PlatformAccountService.deletePlatformAccount(row.ID)
await AccountService.deleteAccount(row.ID)
ElMessage.success('删除成功')
getAccountList()
} catch (error) {
@@ -320,7 +320,7 @@
}
// 显示修改密码对话框
const showPasswordDialog = (row: PlatformAccountResponse) => {
const showPasswordDialog = (row: PlatformAccount) => {
currentAccountId.value = row.ID
passwordForm.new_password = ''
passwordDialogVisible.value = true
@@ -346,7 +346,7 @@
{
prop: 'user_type',
label: '账号类型',
formatter: (row: PlatformAccountResponse) => {
formatter: (row: PlatformAccount) => {
const typeMap: Record<number, string> = {
1: '超级管理员',
2: '平台用户',
@@ -359,7 +359,7 @@
{
prop: 'status',
label: '状态',
formatter: (row: PlatformAccountResponse) => {
formatter: (row: PlatformAccount) => {
return h(ElSwitch, {
modelValue: row.status,
activeValue: CommonStatus.ENABLED,
@@ -375,14 +375,14 @@
{
prop: 'CreatedAt',
label: '创建时间',
formatter: (row: PlatformAccountResponse) => formatDateTime(row.CreatedAt)
formatter: (row: PlatformAccount) => formatDateTime(row.CreatedAt)
},
{
prop: 'operation',
label: '操作',
width: 240,
fixed: 'right',
formatter: (row: PlatformAccountResponse) => {
formatter: (row: PlatformAccount) => {
return h('div', { style: 'display: flex; gap: 8px;' }, [
h(ArtButtonTable, {
icon: '&#xe72b;',
@@ -444,7 +444,7 @@
}
// 显示分配角色对话框
const showRoleDialog = async (row: PlatformAccountResponse) => {
const showRoleDialog = async (row: PlatformAccount) => {
currentAccountId.value = row.ID
selectedRoles.value = []
@@ -453,7 +453,7 @@
await loadAllRoles()
// 先加载当前账号的角色,再打开对话框
const res = await PlatformAccountService.getPlatformAccountRoles(row.ID)
const res = await AccountService.getAccountRoles(row.ID)
if (res.code === 0) {
// 提取角色ID数组
const roles = res.data || []
@@ -470,9 +470,7 @@
const handleAssignRoles = async () => {
roleSubmitLoading.value = true
try {
await PlatformAccountService.assignRolesToPlatformAccount(currentAccountId.value, {
role_ids: selectedRoles.value
})
await AccountService.assignRolesToAccount(currentAccountId.value, selectedRoles.value)
ElMessage.success('分配角色成功')
roleDialogVisible.value = false
// 刷新列表以更新角色显示
@@ -492,9 +490,10 @@
if (valid) {
passwordSubmitLoading.value = true
try {
await PlatformAccountService.changePlatformAccountPassword(currentAccountId.value, {
new_password: passwordForm.new_password
})
await AccountService.updateAccountPassword(
currentAccountId.value,
passwordForm.new_password
)
ElMessage.success('修改密码成功')
passwordDialogVisible.value = false
} catch (error) {
@@ -512,12 +511,13 @@
try {
const params = {
page: pagination.currentPage,
page_size: pagination.pageSize,
pageSize: pagination.pageSize,
user_type: 2, // 筛选平台账号
username: searchForm.username || undefined,
phone: searchForm.phone || undefined,
status: searchForm.status
}
const res = await PlatformAccountService.getPlatformAccounts(params)
const res = await AccountService.getAccounts(params)
if (res.code === 0) {
tableData.value = res.data.items || []
pagination.total = res.data.total || 0
@@ -611,16 +611,15 @@
data.enterprise_id = formData.enterprise_id
}
await PlatformAccountService.createPlatformAccount(data)
await AccountService.createAccount(data)
ElMessage.success('新增成功')
} else {
const data: any = {
username: formData.username,
phone: formData.phone,
status: formData.status
phone: formData.phone
}
await PlatformAccountService.updatePlatformAccount(formData.id, data)
await AccountService.updateAccount(formData.id, data)
ElMessage.success('更新成功')
}
@@ -652,7 +651,7 @@
// 先更新UI
row.status = newStatus
try {
await PlatformAccountService.updatePlatformAccount(row.ID, { status: newStatus })
await AccountService.updateAccountStatus(row.ID, newStatus as 0 | 1)
ElMessage.success('状态切换成功')
} catch (error) {
// 切换失败,恢复原状态

View File

@@ -126,9 +126,9 @@
import type { FormRules } from 'element-plus'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import ArtButtonTable from '@/components/core/forms/ArtButtonTable.vue'
import { ShopAccountService, ShopService } from '@/api/modules'
import { AccountService, ShopService } from '@/api/modules'
import type { SearchFormItem } from '@/types'
import type { ShopAccountResponse, ShopResponse } from '@/types/api'
import type { PlatformAccount, ShopResponse } from '@/types/api'
import { formatDateTime } from '@/utils/business/format'
import { CommonStatus, getStatusText, STATUS_SELECT_OPTIONS } from '@/config/constants'
@@ -163,7 +163,7 @@
})
// 表格数据
const tableData = ref<ShopAccountResponse[]>([])
const tableData = ref<PlatformAccount[]>([])
// 表格实例引用
const tableRef = ref()
@@ -243,14 +243,14 @@
]
// 显示对话框
const showDialog = (type: string, row?: ShopAccountResponse) => {
const showDialog = (type: string, row?: PlatformAccount) => {
dialogType.value = type
if (type === 'edit' && row) {
formData.id = row.id
formData.id = row.ID
formData.username = row.username
formData.phone = row.phone
formData.shop_id = row.shop_id
formData.shop_id = row.shop_id || 0
formData.password = ''
} else {
formData.id = 0
@@ -269,8 +269,8 @@
}
// 显示修改密码对话框
const showPasswordDialog = (row: ShopAccountResponse) => {
currentAccountId.value = row.id
const showPasswordDialog = (row: PlatformAccount) => {
currentAccountId.value = row.ID
passwordForm.new_password = ''
// 重置表单验证状态
@@ -282,12 +282,12 @@
}
// 状态切换处理
const handleStatusChange = async (row: ShopAccountResponse, newStatus: number) => {
const handleStatusChange = async (row: PlatformAccount, newStatus: number) => {
const oldStatus = row.status
// 先更新UI
row.status = newStatus
try {
await ShopAccountService.updateShopAccountStatus(row.id, { status: newStatus })
await AccountService.updateAccountStatus(row.ID, newStatus as 0 | 1)
ElMessage.success('状态切换成功')
} catch (error) {
// 切换失败,恢复原状态
@@ -318,7 +318,7 @@
{
prop: 'status',
label: '状态',
formatter: (row: ShopAccountResponse) => {
formatter: (row: PlatformAccount) => {
return h(ElSwitch, {
modelValue: row.status,
activeValue: CommonStatus.ENABLED,
@@ -334,14 +334,14 @@
{
prop: 'created_at',
label: '创建时间',
formatter: (row: ShopAccountResponse) => formatDateTime(row.created_at)
formatter: (row: PlatformAccount) => formatDateTime(row.CreatedAt)
},
{
prop: 'operation',
label: '操作',
width: 120,
fixed: 'right',
formatter: (row: ShopAccountResponse) => {
formatter: (row: PlatformAccount) => {
return h('div', { style: 'display: flex; gap: 8px;' }, [
h(ArtButtonTable, {
icon: '&#xe722;',
@@ -447,9 +447,10 @@
if (valid) {
passwordSubmitLoading.value = true
try {
await ShopAccountService.updateShopAccountPassword(currentAccountId.value, {
new_password: passwordForm.new_password
})
await AccountService.updateAccountPassword(
currentAccountId.value,
passwordForm.new_password
)
ElMessage.success('重置密码成功')
passwordDialogVisible.value = false
} catch (error) {
@@ -467,13 +468,14 @@
try {
const params = {
page: pagination.currentPage,
page_size: pagination.pageSize,
pageSize: pagination.pageSize,
user_type: 3, // 筛选代理账号
username: searchForm.username || undefined,
phone: searchForm.phone || undefined,
shop_id: searchForm.shop_id,
status: searchForm.status
}
const res = await ShopAccountService.getShopAccounts(params)
const res = await AccountService.getAccounts(params)
if (res.code === 0) {
tableData.value = res.data.items || []
pagination.total = res.data.total || 0
@@ -536,17 +538,18 @@
username: formData.username,
password: formData.password,
phone: formData.phone,
user_type: 3, // 代理账号
shop_id: formData.shop_id
}
await ShopAccountService.createShopAccount(data)
await AccountService.createAccount(data)
ElMessage.success('新增成功')
} else {
const data = {
username: formData.username
}
await ShopAccountService.updateShopAccount(formData.id, data)
await AccountService.updateAccount(formData.id, data)
ElMessage.success('更新成功')
}