- 入库登记「所属工厂」默认选中总部(SELF),出库不变 - 编辑生产订单改为仅更新字段:改单号同步关联出入库 order_ref、保留已录入调入数量与已入账流水(移除冲销逻辑) - 生产订单列表/详情按最终订单号(WO+YYYYMMDD+序号)降序排序 - 生产订单详情库存/缺口改用「下单前库存快照」(按下单时间截断),缺口=库存-需求,升序使缺料排前 - 生产工厂列显示「编号 · 公司名称」 - 详情列表列序调整:下单前库存置需求左边、调入数量置缺口右边;状态右侧新增「工厂库存」列(=缺口+调入数量) - 状态「缺料/充足」徽标强制单行显示(.badge white-space:nowrap) - 已调入(已入账)数量可编辑:保存/确认后按新值自动撤销原流水并从原来源厂重新入账,源厂库存不足判定缺料保留原入账,系统总库存不变
35 lines
1.8 KiB
HTML
35 lines
1.8 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ '编辑生产订单' if o else '新建生产订单' }}{% endblock %}
|
|
{% block content %}
|
|
<form method="post" class="card form-card" style="max-width:520px"
|
|
action="{{ url_for('order_edit', oid=o.id) if o else url_for('order_new') }}"
|
|
{% if o %}onsubmit="return confirm('确认保存修改?已录入的调入数量与已入账流水将保持不变。');"{% endif %}>
|
|
<h3>{{ '编辑生产订单' if o else '新建生产订单' }}</h3>
|
|
<label>订单号 {% if o %}(单号不可重复){% else %}(留空自动生成){% endif %}</label>
|
|
<input name="order_no" value="{{ o.order_no if o else '' }}" placeholder="如 WO20260911xxx">
|
|
<label>BOM 型号 *</label>
|
|
<select name="bom_id" required>
|
|
<option value="">-- 选择 BOM --</option>
|
|
{% for b in boms %}
|
|
<option value="{{ b.id }}" {% if o and o.bom_id == b.id %}selected{% endif %}>{{ b.code }} ({{ b.name or '-' }})</option>
|
|
{% endfor %}
|
|
</select>
|
|
<label>接单量 (台/套) *</label>
|
|
<input name="qty" type="number" step="0.01" min="0.01" required value="{{ '%.2f'|format(o.qty) if o else '' }}">
|
|
<label>生产工厂</label>
|
|
<select name="factory_id">
|
|
<option value="">-- 不指定(汇总库存校验)--</option>
|
|
{% for f in factories %}
|
|
<option value="{{ f.id }}" {% if o and o.factory_id == f.id %}selected{% endif %}>{{ f.code }} · {{ f.name }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
<label>备注</label>
|
|
<input name="remark" value="{{ o.remark if o else '' }}" placeholder="选填">
|
|
<div class="row-actions">
|
|
<button class="primary">{{ '保存修改' if o else '生成订单' }}</button>
|
|
<a class="btn" href="{{ url_for('orders') }}">取消</a>
|
|
</div>
|
|
<p class="small muted">生成后可在订单详情页按 BOM 展开领料需求, 并手动录入每个物料的「调入数量」。</p>
|
|
</form>
|
|
{% endblock %}
|