Files
test/sf_quality/views/quality_cnc_test_view.xml
2024-10-24 09:22:35 +08:00

196 lines
9.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="sequence_quality_cnc_test" model="ir.sequence">
<field name="name">加工质检单编码规则</field>
<field name="code">quality.cnc.test</field>
<field name="prefix">QCT</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
<record id="quality_cnc_test_view_tree" model="ir.ui.view">
<field name="name">quality.cnc.test.view.tree</field>
<field name="model">quality.cnc.test</field>
<field name="arch" type="xml">
<tree sample="1">
<field name="name"/>
<field name="production_id"/>
<field name="processing_panel"/>
<field name="product_id"/>
<field name="part_number"/>
<field name="number"/>
<field name="state" widget="badge"
decoration-success="state == 'done'"
decoration-warning="state == 'waiting'"/>
<field name="result" widget="badge"
decoration-success="result == 'pass'"
decoration-danger="result == 'fail'"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="quality_cnc_test_search">
<field name="name">search.quality.cnc.test</field>
<field name="model">quality.cnc.test</field>
<field name="arch" type="xml">
<search string="加工质检">
<filter name="filter_waiting" string="待判定" domain="[('state', '=', 'waiting')]"/>
<separator/>
<field name="production_id" string="制造订单"
filter_domain="[('production_id', 'ilike', self)]"/>
<field name="product_id" string="产品"
filter_domain="[('product_id', 'ilike', self)]"/>
<searchpanel>
<field name="state" icon="fa-filter" enable_counters="1"/>
<field name="result" icon="fa-filter" enable_counters="1"/>
</searchpanel>
</search>
</field>
</record>
<record id="action_quality_cnc_test" model="ir.actions.act_window">
<field name="name">加工质检</field>
<field name="res_model">quality.cnc.test</field>
<field name="view_mode">tree,form</field>
<field name="context">{ 'search_default_filter_waiting':1}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
暂无加工质检单
</p>
</field>
</record>
<record model="ir.ui.view" id="quality_cnc_test_view_form">
<field name="name">quality.cnc.test.form.</field>
<field name="model">quality.cnc.test</field>
<field name="arch" type="xml">
<form>
<header>
<button string="合格" type="object" name="submit_pass"
class="oe_highlight" confirm="是否确认提交?"
attrs="{'invisible': [('result','!=', False)]}"/>
<button string="不合格" type="object" name="submit_fail"
class="oe_highlight" confirm="是否确认提交?"
attrs="{'invisible': [('result','!=', False)]}"/>
<field name="state" widget="statusbar"/>
<field name="result" invisible="1"/>
</header>
<sheet>
<h2>
<field name="name" readonly="1"/>
</h2>
<group>
<group>
<field name="production_id"/>
<field name="product_id"/>
<field name="production_line_id"/>
<field name="equipment_id"/>
<field name="model_file" widget="Viewer3D"/>
</group>
<group>
<field name="part_number"/>
<field name="processing_panel"/>
</group>
</group>
<notebook>
<page string="检测报告">
<field name="detection_report" string="" widget="pdf_viewer"/>
</page>
<page string="判定结果">
<group>
<field name="test_results" attrs="{'readonly': [('state','=', 'done')]}"/>
<field name="reason"
attrs="{'readonly': [('state','=', 'done')],'required': [('test_results','in', ['返工','报废'])],'invisible': [('test_results','in', ['合格',False])]}"/>
<field name="detailed_reason"
attrs="{'readonly': [('state','=', 'done')],'required': [('reason','!=', False)],'invisible': [('test_results','in', ['合格',False])]}"/>
</group>
</page>
<page string="2D图纸">
<field name="machining_drawings" string="" widget="adaptive_viewer"/>
</page>
<page string="客户质量标准">
<field name="quality_standard" string="" widget="adaptive_viewer"/>
</page>
<page string="其他" attrs="{'invisible': [('state','=', 'waiting')]}">
<group>
<field name="write_uid" widget='many2one_avatar_user' string="判定人" readonly="1"/>
<field name="write_date" string="判定时间" readonly="1"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="quality_cnc_test_view_kanban" model="ir.ui.view">
<field name="name">quality.cnc.test.view.kanban</field>
<field name="model">quality.cnc.test</field>
<field name="arch" type="xml">
<kanban sample="1" class="o_kanban_product_template">
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_card oe_kanban_global_click">
<div class="oe_kanban_details">
<div class="o_kanban_record_top mb-0">
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title">
<field name="name"/>
</strong>
</div>
</div>
<div>
<div>
<field name="production_id"/>
</div>
<div>
<field name="processing_panel"/>
</div>
<div>
<field name="test_results"
widget="label_selection"
options="{'classes': {'合格': 'success', '返工': 'warning', '报废': 'danger'}}"/>
</div>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<menuitem
id="menu_quality_cnc_test"
name="加工质检"
action="action_quality_cnc_test"
sequence="21"
parent="quality_control.menu_quality_control"
/>
<record id="action_quality_cnc_test_kanban" model="ir.actions.act_window">
<field name="name">驾驶舱</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">quality.cnc.test</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="quality_cnc_test_view_kanban"/>
<field name="search_view_id" ref="quality_cnc_test_search"/>
<field name="domain">[]</field>
<field name="context">{ 'search_default_filter_waiting':1}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
暂无加工质检单
</p>
</field>
</record>
<menuitem id="menu_quality_cnc_test_dashboard"
name="驾驶舱"
action="action_quality_cnc_test_kanban"
parent="quality_control.menu_quality_root"
sequence="5"/>
</odoo>