- 优化财务仪表板数据展示 - 增强账户管理功能 - 改进预算和分类管理 - 完善报表和统计分析 - 优化交易管理界面 - 更新Workspace工作区 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
128 lines
4.4 KiB
HTML
128 lines
4.4 KiB
HTML
<!doctype html>
|
|
<html lang="zh">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
<meta name="renderer" content="webkit" />
|
|
<meta name="description" content="A Modern Back-end Management System" />
|
|
<meta name="keywords" content="Vben Admin Vue3 Vite" />
|
|
<meta name="author" content="Vben" />
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
|
|
/>
|
|
<!-- 由 vite 注入 VITE_APP_TITLE 变量,在 .env 文件内配置 -->
|
|
<title><%= VITE_APP_TITLE %></title>
|
|
<link rel="icon" href="/favicon.ico" />
|
|
<script>
|
|
// 生产环境下注入百度统计
|
|
if (window._VBEN_ADMIN_PRO_APP_CONF_) {
|
|
var _hmt = _hmt || [];
|
|
(function () {
|
|
var hm = document.createElement('script');
|
|
hm.src =
|
|
'https://hm.baidu.com/hm.js?b38e689f40558f20a9a686d7f6f33edf';
|
|
var s = document.getElementsByTagName('script')[0];
|
|
s.parentNode.insertBefore(hm, s);
|
|
})();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script>
|
|
// Flatten FinWise Pro menu - Remove parent menu and show children directly
|
|
(function () {
|
|
console.log('[FinWise] Script loaded');
|
|
|
|
function flattenFinWiseProMenu() {
|
|
console.log('[FinWise] flattenFinWiseProMenu called');
|
|
const submenus = document.querySelectorAll('.vben-sub-menu');
|
|
console.log('[FinWise] Found submenus:', submenus.length);
|
|
let finwiseMenu = null;
|
|
|
|
submenus.forEach((menu) => {
|
|
const titleEl = menu.querySelector('.vben-sub-menu-content__title');
|
|
if (titleEl && titleEl.textContent) {
|
|
console.log('[FinWise] Menu title:', titleEl.textContent.trim());
|
|
if (titleEl.textContent.includes('FinWise Pro')) {
|
|
finwiseMenu = menu;
|
|
console.log('[FinWise] Found FinWise Pro menu!');
|
|
}
|
|
}
|
|
});
|
|
|
|
if (!finwiseMenu) {
|
|
console.log('[FinWise] FinWise Pro menu not found');
|
|
return;
|
|
}
|
|
|
|
const parentMenu = finwiseMenu.parentElement;
|
|
const childrenUL = finwiseMenu.querySelector('.vben-menu');
|
|
|
|
if (!childrenUL || !parentMenu) {
|
|
console.log('[FinWise] No children or parent');
|
|
return;
|
|
}
|
|
|
|
// Check if already processed
|
|
if (finwiseMenu.style.display === 'none') {
|
|
console.log('[FinWise] Already processed');
|
|
return;
|
|
}
|
|
|
|
// Move all children to the parent menu
|
|
const children = Array.from(childrenUL.children);
|
|
console.log('[FinWise] Moving', children.length, 'children');
|
|
children.forEach((child) => {
|
|
parentMenu.insertBefore(child, finwiseMenu);
|
|
});
|
|
|
|
// Hide the FinWise Pro submenu
|
|
finwiseMenu.style.display = 'none';
|
|
console.log('[FinWise] Successfully flattened menu!');
|
|
}
|
|
|
|
// Run after DOM loads
|
|
const delays = [
|
|
500, 1000, 1500, 2000, 2500, 3000, 4000, 5000, 6000, 7000, 8000,
|
|
];
|
|
console.log('[FinWise] Setting up delays:', delays);
|
|
|
|
if (document.readyState === 'loading') {
|
|
console.log('[FinWise] Waiting for DOMContentLoaded');
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
console.log('[FinWise] DOMContentLoaded fired');
|
|
delays.forEach((delay) => {
|
|
setTimeout(flattenFinWiseProMenu, delay);
|
|
});
|
|
});
|
|
} else {
|
|
console.log('[FinWise] DOM already loaded');
|
|
delays.forEach((delay) => {
|
|
setTimeout(flattenFinWiseProMenu, delay);
|
|
});
|
|
}
|
|
|
|
// Watch for DOM changes
|
|
setTimeout(function () {
|
|
console.log('[FinWise] Setting up MutationObserver');
|
|
const observer = new MutationObserver(function () {
|
|
setTimeout(flattenFinWiseProMenu, 200);
|
|
});
|
|
|
|
const body = document.body;
|
|
if (body) {
|
|
observer.observe(body, {
|
|
childList: true,
|
|
subtree: true,
|
|
});
|
|
console.log('[FinWise] MutationObserver active');
|
|
}
|
|
}, 500);
|
|
})();
|
|
</script>
|
|
<script type="module" src="/src/main.ts"></script>
|
|
</body>
|
|
</html>
|