You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ERPNext V14资产仪表盘前端定制:找不到对应HTML文件求助

ERPNext 14 资产仪表盘前端定制方案

完全可以对这类页面进行定制,无需局限于默认页面。你找不到HTML文件是因为ERPNext(基于Frappe框架)的页面大多是通过Doctype配置和客户端脚本动态渲染的,并非传统静态HTML文件,以下是具体实现方案:

1. 轻量定制:用客户端脚本实现侧边悬浮栏

这是最推荐的方式,无需修改核心文件,且升级ERPNext不会丢失定制内容:

  • 进入系统后台,打开「系统设置」→「客户端脚本」
  • 新建脚本,选择「Asset」作为对应Doctype,脚本类型选「列表/仪表盘」
  • 写入以下示例代码(可根据需求调整样式和内容):
// 针对资产仪表盘页面添加侧边悬浮栏
frappe.listview_settings['Asset'].on_render = function(listview) {
    // 避免重复创建元素
    if ($('#custom-asset-sidebar').length) return;
    
    // 创建悬浮栏DOM元素
    const sidebar = $(`
        <div id="custom-asset-sidebar" style="
            position: fixed;
            right: 20px;
            top: 120px;
            width: 260px;
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 2px 12px rgba(0,0,0,0.1);
            padding: 16px;
            z-index: 9999;
        ">
            <h5 style="margin-top:0; border-bottom:1px solid #eee; padding-bottom:8px;">资产快捷操作</h5>
            <button class="btn btn-sm btn-primary" onclick="frappe.new_doc('Asset')">新增资产</button>
            <p style="margin-top:12px; font-size:13px;">这里可以添加自定义内容、快捷按钮或统计信息</p>
        </div>
    `);
    
    // 将悬浮栏添加到页面
    $('body').append(sidebar);
};
  • 保存后刷新资产仪表盘页面,即可看到自定义悬浮栏。

2. 深度定制:通过自定义App扩展页面结构

如果需要更复杂的页面改造(比如修改仪表盘布局框架),建议创建自定义App来扩展:

  • 用frappe new-app custom_asset命令创建自定义App并安装
  • 在自定义App中,通过Frappe的Hook系统(hooks.py)注册自定义JS/CSS文件,覆盖或扩展现有仪表盘的渲染逻辑
  • 如需修改页面模板,可参考Frappe核心的dashboard页面结构(位于frappe/core/page/dashboard),在自定义App中创建同名页面进行替换

注意事项

  • 绝对不要直接修改ERPNext核心目录下的文件,否则后续版本升级会覆盖你的定制内容
  • ERPNext 14基于Frappe v14,前端依赖jQuery和Bootstrap 4,自定义脚本需兼容这些库
  • 若针对的是特定的「Dashboard View」而非列表视图,可通过监听frappe.dashboard相关的初始化事件来注入自定义元素

内容的提问来源于stack exchange,提问作者Aaron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:07:04