fix: 改进成功消息等待策略,修复测试失败问题

- 添加waitForSuccessMessage()方法到UserManagementPage和RoleManagementPage
- 改进submitForm()方法,添加等待时间
- 更新测试用例使用新的等待方法
- 增加错误消息检测和日志输出
- 修复权限选择器问题(使用.el-tree替代固定value)
This commit is contained in:
张翔
2026-04-04 10:03:19 +08:00
parent 0e367a8873
commit f882599072
35 changed files with 874 additions and 95 deletions
@@ -22,6 +22,13 @@
>
搜索
</el-button>
<el-button
type="success"
@click="handleExport"
>
<el-icon><Download /></el-icon>
导出
</el-button>
</div>
</div>
</template>
@@ -177,6 +184,41 @@ const handleSearch = () => {
fetchData()
}
const handleExport = async () => {
try {
loading.value = true
const params = new URLSearchParams()
if (searchKeyword.value) {
params.append('keyword', searchKeyword.value)
}
const response = await fetch(`/api/logs/operation/export?${params.toString()}`, {
method: 'GET',
headers: {
'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}
})
if (!response.ok) {
throw new Error('导出失败')
}
const blob = await response.blob()
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a')
link.href = url
link.download = `operation_logs_${new Date().toISOString().slice(0, 19).replace(/[:-]/g, '')}.xlsx`
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(url)
} catch (error) {
console.error('导出失败:', error)
} finally {
loading.value = false
}
}
const handleSortChange = ({ prop, order }: any) => {
sortInfo.sort = prop
sortInfo.order = order === 'ascending' ? 'asc' : 'desc'