Files
Inventory-Management-System/templates/base.html
T
star 5060d027e5 feat: 多工厂/厂间调拨/替代料/流水台账折叠 + 重写 README
- 多工厂(factory 表) + 顶栏工厂下拉过滤, 库存按厂聚合
- 厂间调拨(transfer): 源厂减+目标厂加, 总库存不变, 双向流水对账
- 替代料关系(substitute): 出库/BOM领料/生产领料缺料时提示可替代料
- 流水台账(ledger): 入出按日期合并折叠, 按日期导出同一 Excel
- 生产订单增强: 编辑/删除(级联清关联流水)/调入数量/确认调入=厂间调拨
- 入库新增送货日期字段; 出库物料编码扫码定位
- 重写 README 补全全部模块; .gitignore 排除 dist_pkg/build_pkg/*.db
- 停止跟踪 instance/app.db(运行时自动生成)
2026-09-29 11:17:48 +08:00

53 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}物料入库系统{% endblock %}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<header class="topbar">
<div class="brand">📦 物料入库系统 <span class="ver">M1+M2+M3</span></div>
<form class="factory-switch" method="post" action="{{ url_for('set_factory') }}">
<label for="facSel">工厂</label>
<select id="facSel" name="factory_id" onchange="this.form.submit()">
<option value="all">全部工厂(汇总)</option>
{% for f in factories %}
<option value="{{ f.id }}" {% if current_factory_id == f.id %}selected{% endif %}>{{ f.code }} · {{ f.name }}</option>
{% endfor %}
</select>
</form>
<nav>
<a href="{{ url_for('dashboard') }}">库存看板</a>
<a href="{{ url_for('materials') }}">物料</a>
<a href="{{ url_for('inbound') }}">入库</a>
<a href="{{ url_for('outbound') }}">出库</a>
<a href="{{ url_for('ledger') }}">流水</a>
{% if g.user and g.user.role in ('admin','manager') %}
<a href="{{ url_for('boms') }}">BOM</a>
<a href="{{ url_for('orders') }}">生产订单</a>
<a href="{{ url_for('report') }}">报表</a>
<a href="{{ url_for('logs') }}">日志</a>
<a href="{{ url_for('factories') }}">工厂</a>
<a href="{{ url_for('transfers') }}">调拨</a>
<a href="{{ url_for('substitutes') }}">替代料</a>
{% endif %}
{% if g.user and g.user.role == 'admin' %}
<a href="{{ url_for('users') }}">用户</a>
{% endif %}
{% if g.user %}<span class="who">{{ g.user.display_name or g.user.username }} ({{ g.user.role }})</span>
<a href="{{ url_for('logout') }}">退出</a>{% endif %}
</nav>
</header>
<main>
{% with msgs = get_flashed_messages(with_categories=true) %}
{% for cat, msg in msgs %}
<div class="flash {{ cat }}">{{ msg }}</div>
{% endfor %}
{% endwith %}
{% block content %}{% endblock %}
</main>
</body>
</html>