diff --git a/src/App.vue b/src/App.vue index 65a0637..6828423 100644 --- a/src/App.vue +++ b/src/App.vue @@ -21,6 +21,7 @@ :class="{ 'chat-main': activeView === 'chat', 'overview-main': activeView === 'overview', + 'workbench-main': activeView === 'workbench', 'requests-main': activeView === 'requests', 'approval-main': activeView === 'approval', 'policies-main': activeView === 'policies' @@ -42,7 +43,7 @@ /> + + +
+ + +
+ + +
+ AI 报销助手 +

描述费用或上传票据,AI 直接帮你判断怎么报

+

自动识别报销类别、核对附件完整性,并生成可继续提交的报销草稿。

+ +
+ 例如:我昨天请客户吃饭花了 860 元,还打车去了客户公司 + +
+ +
+ + +
+ {{ item }} +
+
+
+
+ +
+
+
+

今日待办

+ {{ todoItems.length }} 项 +
+ +
+
+
+ +
+ +
+ {{ item.title }} +

{{ item.suggestion }}

+
+ + +
+
+
+ +
+
+

报销进度

+ +
+ +
+
+
+ +
+ +
+
+ {{ item.title }} + {{ item.amount }} +
+

提交时间:{{ item.date }}

+
+ + {{ item.status }} +
+
+
+
+ +
+
+

最新报销制度

+ +
+ +
+
+ 制度名称 + 摘要 + 发布日期 + 状态 + +
+ +
+ {{ item.name }} + {{ item.summary }} + {{ item.date }} + + {{ item.status }} + + +
+
+
+
+ + + + + diff --git a/src/components/layout/SidebarRail.vue b/src/components/layout/SidebarRail.vue index e8c0e9b..8f563a5 100644 --- a/src/components/layout/SidebarRail.vue +++ b/src/components/layout/SidebarRail.vue @@ -51,6 +51,7 @@ const emit = defineEmits(['navigate', 'openChat']) const sidebarMeta = { overview: { label: '总览' }, + workbench: { label: '个人工作台' }, requests: { label: '差旅申请/报销' }, approval: { label: '审批中心', badge: '12' }, chat: { label: 'AI助手' }, diff --git a/src/composables/useNavigation.js b/src/composables/useNavigation.js index 0fcc27c..cf6c84f 100644 --- a/src/composables/useNavigation.js +++ b/src/composables/useNavigation.js @@ -10,6 +10,14 @@ export const navItems = [ title: '企业报销智能运营台', desc: '面向财务共享中心的审批、风控、SLA与自动化运营看板' }, + { + id: 'workbench', + label: '个人工作台', + navHint: '今日待办与报销进度', + icon: icons.workspace, + title: '个人工作台', + desc: '集中处理今日待办、查看报销进度,并快速进入 AI 报销助手' + }, { id: 'requests', label: '差旅申请/报销', diff --git a/src/data/icons.js b/src/data/icons.js index 3a5824b..02837c4 100644 --- a/src/data/icons.js +++ b/src/data/icons.js @@ -2,6 +2,7 @@ const iconPath = (content) => ` + + @@ -131,11 +133,14 @@ import TrendChart from '../components/charts/TrendChart.vue' import DonutChart from '../components/charts/DonutChart.vue' import BarChart from '../components/charts/BarChart.vue' import GaugeChart from '../components/charts/GaugeChart.vue' +import PersonalWorkbench from '../components/business/PersonalWorkbench.vue' defineProps({ filteredRequests: { type: Array, required: true } }) +const emit = defineEmits(['ask']) + const activeTrendRange = ref(trendRanges[0]) const activeDepartmentRange = ref(departmentRangeOptions[0]) diff --git a/src/views/PersonalWorkbenchView.vue b/src/views/PersonalWorkbenchView.vue new file mode 100644 index 0000000..fdbfaf7 --- /dev/null +++ b/src/views/PersonalWorkbenchView.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/views/RequestsView.vue b/src/views/RequestsView.vue index 10c1929..f11ab3c 100644 --- a/src/views/RequestsView.vue +++ b/src/views/RequestsView.vue @@ -68,7 +68,6 @@ - @@ -81,7 +80,6 @@ 当前节点 审批状态 商旅状态 - 操作 @@ -95,14 +93,6 @@ {{ row.node }} {{ row.approval }} {{ row.travel }} - -
- - -
- @@ -580,24 +570,6 @@ tbody tr:last-child td { color: #475569; } -.row-actions { - display: inline-flex; - align-items: center; - gap: 12px; -} - -.row-actions button { - border: 0; - background: transparent; - color: #2563eb; - font-size: 13px; - font-weight: 800; -} - -.row-actions button:hover { - color: #059669; -} - .list-foot { display: grid; grid-template-columns: 1fr auto 1fr;