- 入库登记「所属工厂」默认选中总部(SELF),出库不变 - 编辑生产订单改为仅更新字段:改单号同步关联出入库 order_ref、保留已录入调入数量与已入账流水(移除冲销逻辑) - 生产订单列表/详情按最终订单号(WO+YYYYMMDD+序号)降序排序 - 生产订单详情库存/缺口改用「下单前库存快照」(按下单时间截断),缺口=库存-需求,升序使缺料排前 - 生产工厂列显示「编号 · 公司名称」 - 详情列表列序调整:下单前库存置需求左边、调入数量置缺口右边;状态右侧新增「工厂库存」列(=缺口+调入数量) - 状态「缺料/充足」徽标强制单行显示(.badge white-space:nowrap) - 已调入(已入账)数量可编辑:保存/确认后按新值自动撤销原流水并从原来源厂重新入账,源厂库存不足判定缺料保留原入账,系统总库存不变
34 lines
1.6 KiB
HTML
34 lines
1.6 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}生产订单{% endblock %}
|
|
{% block content %}
|
|
<div class="toolbar">
|
|
<h3 style="margin:0">生产订单 ({{ data|length }})</h3>
|
|
<a class="btn primary" href="{{ url_for('order_new') }}">+ 新建订单</a>
|
|
</div>
|
|
<table class="tbl">
|
|
<thead><tr><th>订单号</th><th>BOM</th><th>接单量</th><th>生产工厂</th><th>状态</th><th>经手人</th><th>操作</th></tr></thead>
|
|
<tbody>
|
|
{% for d in data %}
|
|
<tr>
|
|
<td>{{ d.o.order_no }}</td>
|
|
<td>{{ d.bom.code if d.bom else '-' }} ({{ d.bom.name if d.bom else '' }})</td>
|
|
<td class="num">{{ '%.2f'|format(d.o.qty) }}</td>
|
|
<td>{% if d.factory %}{{ d.factory.code }}{% if d.factory.name %} · {{ d.factory.name }}{% endif %}{% else %}未指定{% endif %}</td>
|
|
<td><span class="badge {{ 'ok' if d.o.status=='picked' else 'warn' }}">{{ '已领料' if d.o.status=='picked' else '待领料' }}</span></td>
|
|
<td>{{ d.o.operator or '-' }}</td>
|
|
<td class="row-actions">
|
|
<a href="{{ url_for('order_detail', oid=d.o.id) }}">查看</a>
|
|
<a href="{{ url_for('order_edit', oid=d.o.id) }}">编辑</a>
|
|
<form method="post" action="{{ url_for('order_delete', oid=d.o.id) }}" style="display:inline"
|
|
onsubmit="return confirm('确认删除生产订单 {{ d.o.order_no }}? 关联出入库流水将保留。');">
|
|
<button class="link-danger" type="submit">删除</button>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr><td colspan="7" class="muted">还没有生产订单</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endblock %}
|