feat(web): AI 文档查询卡片重构与单号判定统一
- documentClassification 抽出 isApplicationDocumentNo,统一兼容 AP-/APP- 旧格式与 A+8 新格式,aiDocumentQueryModel 复用 - aiDocumentQueryModel 文档卡片改为结构化字段布局(单据类型/金额/申请人/编号/操作),新增查询范围摘要区,渲染走 HTML 信任块 - AppShellRouteView/useAppShell/useRequests/detailAlerts/riskVisibility 等差旅详情模型适配单号判定 - 同步更新 ai-document-query-model/workbench-ai-mode-switch 测试,新增 document-classification 测试
This commit is contained in:
@@ -273,7 +273,27 @@ const sidebarCollapsed = ref(false)
|
||||
const sidebarCollapsedBeforeAiMode = ref(false)
|
||||
const mobileSidebarOpen = ref(false)
|
||||
const overviewDashboard = ref('finance')
|
||||
const workbenchMode = ref('traditional')
|
||||
const { companyProfile, currentUser, logout } = useSystemState()
|
||||
|
||||
function resolveDefaultWorkbenchMode(user) {
|
||||
return isPlatformAdminUser(user) ? 'traditional' : 'ai'
|
||||
}
|
||||
|
||||
function resolveWorkbenchUserKey(user = {}) {
|
||||
const roleCodes = Array.isArray(user?.roleCodes) ? user.roleCodes.join(',') : ''
|
||||
return [
|
||||
user?.id,
|
||||
user?.userId,
|
||||
user?.username,
|
||||
user?.account,
|
||||
user?.name,
|
||||
user?.role,
|
||||
roleCodes,
|
||||
user?.isAdmin ? 'admin' : 'user'
|
||||
].map((item) => String(item || '').trim()).join('|')
|
||||
}
|
||||
|
||||
const workbenchMode = ref(resolveDefaultWorkbenchMode(currentUser.value))
|
||||
const aiSidebarCommandSeq = ref(0)
|
||||
const aiSidebarCommand = ref({ seq: 0, type: '', payload: null })
|
||||
const aiActiveConversationId = ref('')
|
||||
@@ -343,7 +363,6 @@ const {
|
||||
topBarView
|
||||
} = useAppShell()
|
||||
|
||||
const { companyProfile, currentUser, logout } = useSystemState()
|
||||
const PRODUCT_DISPLAY_NAME = '易财费控'
|
||||
const ENTERPRISE_DISPLAY_NAME = '远光软件股份有限公司'
|
||||
const filteredNavItems = computed(() => filterNavItemsByAccess(navItems, currentUser.value))
|
||||
@@ -496,7 +515,14 @@ function handleLogout() {
|
||||
|
||||
watch(
|
||||
() => currentUser.value,
|
||||
(user) => {
|
||||
(user, previousUser) => {
|
||||
if (resolveWorkbenchUserKey(user) !== resolveWorkbenchUserKey(previousUser)) {
|
||||
const nextMode = resolveDefaultWorkbenchMode(user)
|
||||
workbenchMode.value = nextMode
|
||||
if (nextMode === 'ai') {
|
||||
sidebarCollapsed.value = false
|
||||
}
|
||||
}
|
||||
aiConversationHistory.value = loadAiWorkbenchConversationHistory(user || {})
|
||||
},
|
||||
{ immediate: true }
|
||||
|
||||
Reference in New Issue
Block a user