- 订单列表页「导出 Excel」(/orders/export): 导出全部生产订单(订单号/BOM/接单量/工厂/状态/经手人/下单时间/备注) - 订单详情页「导出 Excel」(/order/<id>/export): 导出派工单, 含「订单信息」+「领料明细」双 sheet - 订单详情页「打印」按钮: window.print() + @media print 样式(隐藏导航/按钮, 输入框转纯文本, 隐藏提示), 输出干净派工单
35 lines
1.7 KiB
HTML
35 lines
1.7 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>
|
|
<a class="btn" href="{{ url_for('orders_export') }}">导出 Excel</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 '-' }}{% if d.bom and d.bom.name %} · {{ d.bom.name }}{% endif %}</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 %}
|