检测报告发布流程

This commit is contained in:
mgw
2025-03-13 14:10:06 +08:00
parent c6ae4d933c
commit 04b255d5c6
10 changed files with 283 additions and 8 deletions

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- 创建采购合同文件夹 -->
<record id="documents_purchase_contracts_folder" model="documents.folder">
<field name="name">出厂检验报告</field>
<field name="description">存放出厂检验报告相关文件</field>
<field name="sequence">11</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 定义页眉模板 -->
<template id="report_quality_header">
<div class="header">
<div class="pdf-viewer-toolbar">
<img t-if="o.company_id.favicon" t-att-src="image_data_uri(o.company_id.favicon)" style="max-height: 70px;" alt="Logo"/>
<div class="float-right" style="text-align: right;">
<!-- 使用完整URL的二维码生成方式 -->
<t t-set="base_url" t-value="request.env['ir.config_parameter'].sudo().get_param('web.base.url')"/>
<t t-set="report_url" t-value="'%s/web#id=%s&amp;model=quality.check&amp;view_type=form' % (base_url, o.id)"/>
<img t-att-src="'/report/barcode/QR/%s' % report_url" style="width:80px;height:80px"/>
<div style="font-size: 20px;">
<strong>报告编号: </strong><span t-field="o.name"/>
</div>
</div>
</div>
</div>
</template>
<!-- 定义页脚模板 -->
<template id="report_quality_footer">
<div class="footer">
<div class="row">
<div class="col-4">
<p>售后服务: <span t-field="o.company_id.phone"/></p>
<p>公司名称: <span t-field="o.company_id.name"/></p>
<p>公司网址: <span t-field="o.company_id.website"/></p>
<p>公司邮箱: <span t-field="o.company_id.email"/></p>
<p>加工工厂: <span t-field="o.company_id.factory_name"/></p>
</div>
</div>
<div class="text-center">
<span><span class="page"/> 页/共 <span class="topage"/></span>
</div>
</div>
</template>
<template id="report_quality_inspection">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="web.basic_layout">
<!-- 调用自定义页眉 -->
<t t-call="sf_quality.report_quality_header"/>
<div class="page">
<div class="text-center">
<h2>出厂检验报告</h2>
</div>
<!-- <div class="col-6">
<div t-if="o.company_id.favicon" class="float-right">
<img t-att-src="image_data_uri(o.company_id.favicon)" style="max-height: 45px;" alt="Logo"/>
</div>
</div> -->
<!-- </div> -->
<table class="table table-sm o_main_table mt-4" style="border: 1px solid black;">
<tr>
<td style="width: 15%; border: 1px solid black;"><strong>产品名称:</strong></td>
<td style="width: 35%; border: 1px solid black;"><span t-field="o.product_id.name"/></td>
<td style="width: 15%; border: 1px solid black;"><strong>材料:</strong></td>
<td style="width: 35%; border: 1px solid black;"><span t-field="o.material_name"/></td>
</tr>
<tr>
<td style="border: 1px solid black;"><strong>图号:</strong></td>
<td style="border: 1px solid black;"><span t-field="o.part_number"/></td>
<td style="border: 1px solid black;"><strong>日期:</strong></td>
<td style="border: 1px solid black;"><span t-field="o.write_date"/></td>
</tr>
<tr>
<td style="border: 1px solid black;"><strong>总数量:</strong></td>
<td style="border: 1px solid black;"><span t-field="o.total_qty"/></td>
<td style="border: 1px solid black;"><strong>检验数量:</strong></td>
<td style="border: 1px solid black;"><span t-field="o.check_qty"/></td>
</tr>
</table>
<h4 class="text-center mt-4">检验结果</h4>
<table class="table table-sm mt-2" style="border: 1px solid black;">
<thead>
<tr>
<th style="border: 1px solid black;">检测项目</th>
<th style="border: 1px solid black;" colspan="5">测量值</th>
<th style="border: 1px solid black;">判定</th>
<th style="border: 1px solid black;">备注</th>
</tr>
<tr>
<th style="border: 1px solid black;"></th>
<th style="border: 1px solid black;">1</th>
<th style="border: 1px solid black;">2</th>
<th style="border: 1px solid black;">3</th>
<th style="border: 1px solid black;">4</th>
<th style="border: 1px solid black;">5</th>
<th style="border: 1px solid black;"></th>
<th style="border: 1px solid black;"></th>
</tr>
</thead>
<tbody>
<tr t-foreach="o.measure_line_ids" t-as="line">
<td style="border: 1px solid black;"><span t-field="line.measure_item"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_value1"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_value2"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_value3"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_value4"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_value5"/></td>
<td style="border: 1px solid black;"><span t-field="line.measure_result"/></td>
<td style="border: 1px solid black;"><span t-field="line.remark"/></td>
</tr>
</tbody>
</table>
<div class="row mt-4">
<div class="col-12">
<h5>检验结论:
<span t-if="o.report_result == 'OK'" style="margin-left: 20px;">☑ 合格</span>
<span t-else="" style="margin-left: 20px;">□ 合格</span>
<span t-if="o.report_result == 'NG'" style="margin-left: 40px;">☑ 不合格</span>
<span t-else="" style="margin-left: 40px;">□ 不合格</span>
</h5>
</div>
</div>
<div class="row mt-4">
<div class="col-6">
<p><strong>操作员: </strong> <span t-field="o.measure_operator"/></p>
</div>
<div class="col-6">
<p><strong>质检员: </strong> <span t-field="o.quality_manager"/></p>
</div>
</div>
<div class="row mt-5">
<div class="col-12 text-center">
<p>(以下空白)</p>
</div>
</div>
<!-- 调用自定义页脚 -->
<t t-call="sf_quality.report_quality_footer"/>
</div>
</t>
</t>
</t>
</template>
</odoo>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_report_quality_inspection" model="ir.actions.report">
<field name="name">出厂检验报告</field>
<field name="model">quality.check</field> <!-- 请替换为实际的模型名称 -->
<field name="report_type">qweb-pdf</field>
<field name="report_name">sf_quality.report_quality_inspection</field>
<field name="report_file">sf_quality.report_quality_inspection</field>
<field name="print_report_name">'QC-' + object.name + '.pdf'</field>
<field name="binding_model_id" ref="model_quality_check"/> <!-- 请替换为实际的模型ID引用 -->
<field name="binding_type">report</field>
</record>
<!-- 定义HTML预览报告动作 -->
<record id="action_report_quality_inspection_preview" model="ir.actions.report">
<field name="name">预览检验报告</field>
<field name="model">quality.inspection</field>
<field name="report_type">qweb-html</field>
<field name="report_name">sf_quality.report_quality_inspection</field>
<field name="binding_type">report</field>
</record>
</odoo>