Files
X-Financial/web/src/views/scripts/HermesEmployeeSettingsPanel.js
caoxiaozhu 8a4a777be7 feat: 新增员工行为画像算法与费用风险标签体系
后端新增员工行为画像算法模块,支持标签规则引擎和评分计算,
完善员工模型、银行信息、序列化和导入逻辑,优化报销审批流
和工作流常量,增强 Hermes 同步和知识同步能力,前端新增费
用画像详情弹窗、雷达图和风险卡片组件,完善登录页和工作台
样式,优化文档中心和归档中心交互,补充单元测试。
2026-05-28 12:09:49 +08:00

62 lines
1.9 KiB
JavaScript

import { computed } from 'vue'
import { HERMES_SIMPLE_TASKS } from '../../utils/hermesEmployeeSettingsModel.js'
export default {
name: 'HermesEmployeeSettingsPanel',
props: {
hermesForm: {
type: Object,
required: true
}
},
emits: ['toggle-master', 'toggle-flag', 'toggle-task', 'update-task-time'],
setup(props) {
const TASK_METADATA = {
knowledgeAggregation: { icon: 'mdi-sync', color: 'indigo' },
ruleReviewDigest: { icon: 'mdi-bell-ring-outline', color: 'warning' },
riskSummary: { icon: 'mdi-shield-search', color: 'danger' },
employee_behavior_profile_scan: { icon: 'mdi-account-search-outline', color: 'primary' },
global_risk_scan: { icon: 'mdi-shield-search', color: 'danger' },
weekly_expense_report: { icon: 'mdi-chart-box-outline', color: 'success' },
archiveDigest: { icon: 'mdi-archive-outline', color: 'info' },
dailyStats: { icon: 'mdi-chart-line', color: 'success' },
monthlyStats: { icon: 'mdi-chart-bar', color: 'primary' },
yearlyStats: { icon: 'mdi-chart-pie', color: 'secondary' }
}
function getTaskIcon(taskId) {
return TASK_METADATA[taskId]?.icon || 'mdi-cog-outline'
}
function getTaskColorClass(taskId) {
return TASK_METADATA[taskId]?.color || 'default'
}
function isTaskOn(taskId) {
return Boolean(
props.hermesForm?.masterEnabled &&
props.hermesForm?.capabilities?.[taskId] &&
props.hermesForm?.schedules?.[taskId]?.enabled
)
}
function taskTime(taskId) {
return props.hermesForm?.schedules?.[taskId]?.time || '09:00'
}
const activeTasksCount = computed(() => {
return HERMES_SIMPLE_TASKS.filter(task => isTaskOn(task.id)).length
})
return {
HERMES_SIMPLE_TASKS,
isTaskOn,
taskTime,
getTaskIcon,
getTaskColorClass,
activeTasksCount
}
}
}