Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/加工质检添加权限

# Conflicts:
#	sf_quality/views/quality_cnc_test_view.xml
This commit is contained in:
jinling.yang
2024-10-17 11:03:08 +08:00
12 changed files with 3703 additions and 77 deletions

View File

@@ -31,19 +31,31 @@ class SfQualityCncTest(models.Model):
("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因")
detailed_reason = fields.Text('详细原因')
# machining_drawings = fields.Binary(related='workorder_id.machining_drawings', string='2D加工图纸', readonly=True)
# quality_standard = fields.Binary(related='workorder_id.quality_standard', string='质检标准', readonly=True)
def submit_pass(self):
self.write({'result': 'pass', 'test_results': self.test_results, 'state': 'done'})
if self.test_results in ['返工', '报废']:
raise UserError(_('请重新选择【判定结果】-【检测结果】'))
self.write({'result': 'pass', 'test_results': '合格', 'state': 'done'})
self.workorder_id.write({'test_results': self.test_results})
self.workorder_id.button_finish()
def submit_fail(self):
if not self.reason and not self.detailed_reason and not self.test_results:
if not self.test_results:
raise UserError(_('请填写【判定结果】里的信息'))
else:
self.write({'result': 'fail', 'test_results': self.test_results, 'state': 'done'})
self.workorder_id.write(
{'test_results': self.test_results, 'reason': self.reason, 'detailed_reason': self.detailed_reason})
self.workorder_id.button_finish()
if self.test_results == '合格':
raise UserError(_('请重新选择【判定结果】-【检测结果】'))
self.write({'result': 'fail', 'test_results': self.test_results, 'state': 'done'})
self.workorder_id.write(
{'test_results': self.test_results, 'reason': self.reason, 'detailed_reason': self.detailed_reason})
self.workorder_id.button_finish()
@api.onchange('test_results')
def _onchange_test_results(self):
if self.test_results == '合格':
self.reason = False
self.detailed_reason = False
class SfQualityWorkOrder(models.Model):

View File

@@ -5,7 +5,7 @@
<field name="name">加工质检单编码规则</field>
<field name="code">quality.cnc.test</field>
<field name="prefix">QCT</field>
<field name="padding">4</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
@@ -20,8 +20,12 @@
<field name="product_id"/>
<field name="part_number"/>
<field name="number"/>
<field name="state"/>
<field name="result"/>
<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>
@@ -87,7 +91,6 @@
<group>
<field name="part_number"/>
<field name="processing_panel"/>
<field name="detection_report"/>
</group>
</group>
<notebook>
@@ -97,17 +100,19 @@
<page string="判定结果">
<group>
<field name="test_results" attrs="{'readonly': [('state','=', 'done')]}"/>
<field name="reason" attrs="{'readonly': [('state','=', 'done')]}"/>
<field name="detailed_reason" 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="detection_report" string="" widget="pdf_viewer"/>-->
<!-- <field name="machining_drawings" string="" widget="pdf_viewer"/>-->
</page>
<page string="客户质量标准">
<!-- <field name="detection_report" string="" widget="pdf_viewer"/>-->
<!-- <field name="quality_standard" string=""/>-->
</page>
<page string="其他" attrs="{'readonly': [('state','=', 'done')]}">
<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"/>
@@ -169,7 +174,7 @@
<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,form</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>

View File

@@ -34,36 +34,36 @@
</field>
</record>
<record model="ir.ui.view" id="quality_point_view_form_inherit_sf">
<field name="name">quality.point.form.inherit.sf</field>
<field name="model">quality.point</field>
<field name="inherit_id" ref="quality.quality_point_view_form"/>
<field name="arch" type="xml">
<!-- <xpath expr="//sheet//group//group//field[@name='title']" position="replace"> -->
<!-- <field name="title" class="custom_required" required="1"/> -->
<!-- </xpath> -->
<xpath expr="//sheet//group//group//field[@name='title']" position="attributes">
<attribute name="class">custom_required</attribute>
<attribute name="required">1</attribute>
</xpath>
<xpath expr="//sheet//group//group//field[@name='picking_type_ids']" position="attributes">
<attribute name="class">custom_required</attribute>
<attribute name="required">1</attribute>
</xpath>
</field>
</record>
<!-- <record model="ir.ui.view" id="quality_point_view_form_inherit_sf">-->
<!-- <field name="name">quality.point.form.inherit.sf</field>-->
<!-- <field name="model">quality.point</field>-->
<!-- <field name="inherit_id" ref="quality.quality_point_view_form"/>-->
<!-- <field name="arch" type="xml">-->
<!-- &lt;!&ndash; <xpath expr="//sheet//group//group//field[@name='title']" position="replace"> &ndash;&gt;-->
<!-- &lt;!&ndash; <field name="title" class="custom_required" required="1"/> &ndash;&gt;-->
<!-- &lt;!&ndash; </xpath> &ndash;&gt;-->
<!-- <xpath expr="//sheet//group//group//field[@name='title']" position="attributes">-->
<!-- <attribute name="class">custom_required</attribute>-->
<!-- <attribute name="required">1</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//sheet//group//group//field[@name='picking_type_ids']" position="attributes">-->
<!-- <attribute name="class">custom_required</attribute>-->
<!-- <attribute name="required">1</attribute>-->
<!-- </xpath>-->
<!-- </field>-->
<!-- </record>-->
<record model="ir.ui.view" id="sf_quality_point_view_form_inherit_quality_control">
<field name="name">sf.quality.point.form.inherit.sf</field>
<field name="model">quality.point</field>
<field name="inherit_id" ref="quality_control.quality_point_view_form_inherit_quality_control"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='measure_on']" position="attributes">
<attribute name="class">custom_required</attribute>
</xpath>
<xpath expr="//field[@name='measure_frequency_type']" position="attributes">
<attribute name="class">custom_required</attribute>
</xpath>
</field>
</record>
<!-- <record model="ir.ui.view" id="sf_quality_point_view_form_inherit_quality_control">-->
<!-- <field name="name">sf.quality.point.form.inherit.sf</field>-->
<!-- <field name="model">quality.point</field>-->
<!-- <field name="inherit_id" ref="quality_control.quality_point_view_form_inherit_quality_control"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <xpath expr="//field[@name='measure_on']" position="attributes">-->
<!-- <attribute name="class">custom_required</attribute>-->
<!-- </xpath>-->
<!-- <xpath expr="//field[@name='measure_frequency_type']" position="attributes">-->
<!-- <attribute name="class">custom_required</attribute>-->
<!-- </xpath>-->
<!-- </field>-->
<!-- </record>-->
</odoo>