Compare commits
15 Commits
feature/页面
...
hotfix/解决采
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05b5e9cfd9 | ||
|
|
86dfd437cc | ||
|
|
3a92e4cfd8 | ||
|
|
b041feb297 | ||
|
|
d05a3606c3 | ||
|
|
4b5c3b383b | ||
|
|
1c34f2f15c | ||
|
|
fd5ff0904e | ||
|
|
3d355ec303 | ||
|
|
d3a1e9b341 | ||
|
|
8db80e1ed6 | ||
|
|
fc378df597 | ||
|
|
0575d89227 | ||
|
|
39afc99b8f | ||
|
|
f230ad55fb |
@@ -28,6 +28,10 @@ class PurchaseRequest(models.Model):
|
||||
origin_context.pop('search_default_draft')
|
||||
action['context'] = origin_context
|
||||
return action
|
||||
|
||||
|
||||
def button_in_progress(self):
|
||||
return self.write({"state": "in_progress"})
|
||||
|
||||
class PurchaseRequestLine(models.Model):
|
||||
_inherit = 'purchase.request.line'
|
||||
|
||||
@@ -100,6 +100,23 @@ class PurchaseRequestLineMakePurchaseOrder(models.TransientModel):
|
||||
def check_group(self, request_lines):
|
||||
# 去掉合并必须同一采购组的限制
|
||||
pass
|
||||
|
||||
def _post_process_po_line(self, item, po_line, new_pr_line):
|
||||
self.ensure_one()
|
||||
line = item.line_id
|
||||
# TODO: Check propagate_uom compatibility:
|
||||
new_qty = self.env["purchase.request.line"]._calc_new_qty(
|
||||
line, po_line=po_line, new_pr_line=new_pr_line
|
||||
)
|
||||
po_line.product_qty = new_qty
|
||||
# The quantity update triggers a compute method that alters the
|
||||
# unit price (which is what we want, to honor graduate pricing)
|
||||
# but also the scheduled date which is what we don't want.
|
||||
date_required = line.date_required
|
||||
po_line.date_planned = datetime(
|
||||
date_required.year, date_required.month, date_required.day
|
||||
)
|
||||
|
||||
|
||||
|
||||
class PurchaseRequestLineMakePurchaseOrderItem(models.TransientModel):
|
||||
|
||||
@@ -1,26 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="view_delivery_record_form_inherit_sf" model="ir.ui.view">
|
||||
<field name="name">delivery.record.form.inherit.sf</field>
|
||||
<field name="model">mrp.workorder</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_production_workorder_form_view_inherit"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[last()-3]" position="before">
|
||||
<!-- <page string="下发记录" attrs='{"invisible": [("routing_type","!=","CNC加工")]}'>-->
|
||||
<page string="下发记录" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "HDR")]}'>
|
||||
<field name="delivery_records">
|
||||
<tree create="false">
|
||||
<field name="delivery_type"/>
|
||||
<field name="delivery_time"/>
|
||||
<field name="influence_record"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="seqence_b_purchase_order" model='ir.sequence'> -->
|
||||
<!-- <field name='name'>Purchase Order</field> -->
|
||||
<!-- <field name='code'>sf_machine_connect.delivery.record</field> -->
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<record id="view_machine_info_form_inherit_sf" model="ir.ui.view">
|
||||
<field name="name">machine.info.form.inherit.sf</field>
|
||||
<field name="model">mrp.workorder</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_production_workorder_form_view_inherit"/>
|
||||
<field name="inherit_id" ref="sf_manufacturing.view_mrp_production_workorder_tray_form_inherit_sf"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[last()-3]" position="before">
|
||||
<xpath expr="//page[@name='CMR']" position="after">
|
||||
<page string="机床信息" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "MTI")]}'>
|
||||
<group string="机床信息">
|
||||
<group>
|
||||
@@ -33,6 +33,15 @@
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="下发记录" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "HDR")]}'>
|
||||
<field name="delivery_records">
|
||||
<tree create="false">
|
||||
<field name="delivery_type"/>
|
||||
<field name="delivery_time"/>
|
||||
<field name="influence_record"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -1,57 +1,72 @@
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_1">
|
||||
<field name="code">PTD</field>
|
||||
<field name="name">后置三元检测</field>
|
||||
</record>
|
||||
<data noupdate="0">
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_2">
|
||||
<field name="code">WCP</field>
|
||||
<field name="name">工件装夹</field>
|
||||
<field name="sequence">10</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_3">
|
||||
<field name="code">ITD_PP</field>
|
||||
<field name="name">前置三元检测定位参数</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_4">
|
||||
<field name="code">2D_MD</field>
|
||||
<field name="name">2D加工图纸</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_5">
|
||||
<field name="code">QIS</field>
|
||||
<field name="name">质检标准</field>
|
||||
<field name="sequence">20</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_6">
|
||||
<field name="code">WD</field>
|
||||
<field name="name">工件配送</field>
|
||||
<field name="sequence">30</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_9">
|
||||
<field name="code">CNC_P</field>
|
||||
<field name="name">CNC程序</field>
|
||||
<field name="sequence">40</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_10">
|
||||
<field name="code">CMM_P</field>
|
||||
<field name="name">CMM程序</field>
|
||||
<field name="sequence">50</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_11">
|
||||
<field name="code">MTI</field>
|
||||
<field name="name">机床信息</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_12">
|
||||
<field name="code">HDR</field>
|
||||
<field name="name">下发记录</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_13">
|
||||
<field name="code">ER</field>
|
||||
<field name="name">异常记录</field>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_1">
|
||||
<field name="code">PTD</field>
|
||||
<field name="name">后置三元检测</field>
|
||||
<field name="sequence">60</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_14">
|
||||
<field name="code">DCP</field>
|
||||
<field name="name">解除装夹</field>
|
||||
<field name="sequence">70</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_4">
|
||||
<field name="code">2D_MD</field>
|
||||
<field name="name">2D加工图纸</field>
|
||||
<field name="sequence">80</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_5">
|
||||
<field name="code">QIS</field>
|
||||
<field name="name">质检标准</field>
|
||||
<field name="sequence">90</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_15">
|
||||
<field name="code">CMR</field>
|
||||
<field name="name">开料要求</field>
|
||||
<field name="sequence">100</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_11">
|
||||
<field name="code">MTI</field>
|
||||
<field name="name">机床信息</field>
|
||||
<field name="sequence">110</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_12">
|
||||
<field name="code">HDR</field>
|
||||
<field name="name">下发记录</field>
|
||||
<field name="sequence">120</field>
|
||||
</record>
|
||||
<record model="sf.work.individuation.page" id="sf_work_individuation_page_13">
|
||||
<field name="code">ER</field>
|
||||
<field name="name">异常记录</field>
|
||||
<field name="sequence">130</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
<!-- 原生页签先不进行配置 -->
|
||||
<!-- <record model="sf.work.individuation.page" id="sf_work_individuation_page_7">-->
|
||||
|
||||
@@ -107,6 +107,8 @@ class ResMrpRoutingWorkcenter(models.Model):
|
||||
|
||||
class WorkIndividuationPage(models.Model):
|
||||
_name = 'sf.work.individuation.page'
|
||||
_order = 'sequence'
|
||||
|
||||
code = fields.Char('编号')
|
||||
name = fields.Char('名称')
|
||||
sequence = fields.Integer('序号')
|
||||
|
||||
@@ -19,6 +19,7 @@ from odoo.addons.sf_mrs_connect.models.ftp_operate import FtpController
|
||||
|
||||
class ResMrpWorkOrder(models.Model):
|
||||
_inherit = 'mrp.workorder'
|
||||
_order = 'sequence asc'
|
||||
_description = '工单'
|
||||
|
||||
product_tmpl_name = fields.Char('坯料产品名称', related='production_bom_id.bom_line_ids.product_id.name')
|
||||
@@ -1749,23 +1750,6 @@ class ResMrpWorkOrder(models.Model):
|
||||
self.check_ids.filtered(lambda ch: ch.is_inspect is True and ch.quality_state == 'waiting').write(
|
||||
{'quality_state': 'none'})
|
||||
|
||||
@api.model
|
||||
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
|
||||
aggregate_field = 'create_date:max'
|
||||
if aggregate_field not in fields:
|
||||
fields.append(aggregate_field)
|
||||
orderby = "create_date desc"
|
||||
|
||||
return super(ResMrpWorkOrder, self).read_group(
|
||||
domain,
|
||||
fields,
|
||||
groupby,
|
||||
offset=offset,
|
||||
limit=limit,
|
||||
orderby=orderby,
|
||||
lazy=lazy
|
||||
)
|
||||
|
||||
|
||||
class CNCprocessing(models.Model):
|
||||
_name = 'sf.cnc.processing'
|
||||
|
||||
@@ -755,24 +755,6 @@ class StockPicking(models.Model):
|
||||
if move_id.product_id.tracking in ['serial', 'lot'] and not move_id.move_line_nosuggest_ids:
|
||||
move_id.action_show_details()
|
||||
|
||||
@api.model
|
||||
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
|
||||
aggregate_field = 'create_date:max'
|
||||
if aggregate_field not in fields:
|
||||
fields.append(aggregate_field)
|
||||
|
||||
orderby = "create_date desc"
|
||||
|
||||
return super(StockPicking, self).read_group(
|
||||
domain,
|
||||
fields,
|
||||
groupby,
|
||||
offset=offset,
|
||||
limit=limit,
|
||||
orderby=orderby,
|
||||
lazy=lazy
|
||||
)
|
||||
|
||||
|
||||
class ReStockMove(models.Model):
|
||||
_inherit = 'stock.move'
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
<field name="inherit_id" ref="mrp.mrp_production_workorder_tree_editable_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//tree" position="attributes">
|
||||
<attribute name="default_order">create_date desc</attribute>
|
||||
<attribute name="default_order">sequence</attribute>
|
||||
<attribute name="decoration-warning">delivery_warning == 'warning'</attribute>
|
||||
<attribute name="decoration-danger">delivery_warning == 'overdue'</attribute>
|
||||
</xpath>
|
||||
|
||||
@@ -226,22 +226,6 @@
|
||||
<!-- string="返工"-->
|
||||
<!-- attrs='{"invisible": [("rework_flag","=",True)]}' confirm="是否返工"/>-->
|
||||
</xpath>
|
||||
<xpath expr="//page[1]" position="before">
|
||||
<page string="开料要求" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "CMR")]}'>
|
||||
<group>
|
||||
<group>
|
||||
<field name="product_tmpl_id_materials_id" widget="many2one"/>
|
||||
<field name="product_tmpl_id_materials_type_id" widget="many2one"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="product_tmpl_id_length"/>
|
||||
<field name="product_tmpl_id_width"/>
|
||||
<field name="product_tmpl_id_height"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//label[1]" position="before">
|
||||
<!-- -->
|
||||
<field name="production_id" invisible="0"/>
|
||||
@@ -325,6 +309,8 @@
|
||||
|
||||
|
||||
<xpath expr="//page[1]" position="before">
|
||||
<field name="results" invisible="1"/>
|
||||
<field name="individuation_page_list" invisible="1"/>
|
||||
<page string="工件装夹" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "WCP")]}'>
|
||||
<group>
|
||||
<!-- <field name="_barcode_scanned" widget="barcode_handler"/> -->
|
||||
@@ -503,7 +489,6 @@
|
||||
<field name='X_deviation_angle' readonly="1"/>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<page string="工件配送" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "WD")]}'>
|
||||
<field name="workpiece_delivery_ids">
|
||||
<tree editable="bottom">
|
||||
@@ -523,58 +508,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//form//header" position="inside">
|
||||
<button type="object" class="oe_highlight jikimo_button_confirm" name="get_three_check_datas"
|
||||
string="获取数据"
|
||||
attrs='{"invisible": ["|", ("state","!=","progress"), ("routing_type","!=","装夹预调")]}'/>
|
||||
</xpath>
|
||||
|
||||
<!-- =====原生页签,暂时不进行配置===== -->
|
||||
<!-- <xpath expr="//page[@name='components']" position="attributes">-->
|
||||
<!-- <attribute name="attrs">{"invisible": ["!", ("individuation_page_list", "ilike", "ML")]}</attribute>-->
|
||||
<!-- </xpath>-->
|
||||
<!-- <xpath expr="//page[@name='time_tracking']" position="attributes">-->
|
||||
<!-- <attribute name="attrs">{"invisible": ["!", ("individuation_page_list", "ilike", "TT")]}</attribute>-->
|
||||
<!-- </xpath>-->
|
||||
<!-- ============================= -->
|
||||
|
||||
<xpath expr="//page[1]" position="before">
|
||||
<field name="results" invisible="1"/>
|
||||
<field name="individuation_page_list" invisible="1"/>
|
||||
<page string="后置三元检测" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "PTD")]}'>
|
||||
<group>
|
||||
<field name="test_results"
|
||||
attrs='{"readonly":["&","|",("state","!=","to be detected"), "|",("routing_type","=","CNC加工"),("is_inspect", "=", True),("state","in",["done","rework"])],
|
||||
"invisible":[("results","!=",False)]}'/>
|
||||
<!-- <field name="is_remanufacture" attrs='{"invisible":[("test_results","!=","报废")]}'/>-->
|
||||
<!-- <field name="is_fetchcnc"-->
|
||||
<!-- attrs='{"invisible":["|",("test_results","=","合格"),("is_remanufacture","=",False)]}'/>-->
|
||||
<field name="reason"
|
||||
attrs='{"required":[("test_results","!=","合格")],"invisible":[("test_results","=","合格")],"readonly":[("state","in",("done", "rework"))]}'/>
|
||||
<field name="detailed_reason"
|
||||
attrs='{"required":[("test_results","!=","合格")],"invisible":[("test_results","=","合格")],"readonly":[("state","in",("done", "rework"))]}'/>
|
||||
<!-- <field name="results" readonly="1" attrs='{"invisible":[("results","!=","合格")]}'/>-->
|
||||
<field name="detection_report" attrs='{"invisible":[("results","!=",False)]}'
|
||||
widget="pdf_viewer" readonly="1"/>
|
||||
</group>
|
||||
<!-- <div class="col-12 col-lg-6 o_setting_box">-->
|
||||
<!-- <button type="object" class="oe_highlight" name="recreateManufacturingOrWorkerOrder"-->
|
||||
<!-- string="检测确认"-->
|
||||
<!-- attrs='{"invisible": ["|","|",("state","!=","progress"),("user_permissions","=",False),("results","=","合格")]}'/>-->
|
||||
<!-- </div>-->
|
||||
</page>
|
||||
<page string="2D加工图纸" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "2D_MD")]}'>
|
||||
<field name="machining_drawings" widget="adaptive_viewer"/>
|
||||
</page>
|
||||
|
||||
<page string="质检标准" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "QIS")]}'>
|
||||
<field name="quality_standard" widget="adaptive_viewer"/>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//page[1]" position="before">
|
||||
<page string="CNC程序" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "CNC_P")]}'>
|
||||
<field name="cnc_ids" widget="one2many" string="工作程序" default_order="sequence_number,id"
|
||||
readonly="0">
|
||||
@@ -610,8 +543,28 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//page[1]" position="before">
|
||||
<page string="后置三元检测" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "PTD")]}'>
|
||||
<group>
|
||||
<field name="test_results"
|
||||
attrs='{"readonly":["&","|",("state","!=","to be detected"), "|",("routing_type","=","CNC加工"),("is_inspect", "=", True),("state","in",["done","rework"])],
|
||||
"invisible":[("results","!=",False)]}'/>
|
||||
<!-- <field name="is_remanufacture" attrs='{"invisible":[("test_results","!=","报废")]}'/>-->
|
||||
<!-- <field name="is_fetchcnc"-->
|
||||
<!-- attrs='{"invisible":["|",("test_results","=","合格"),("is_remanufacture","=",False)]}'/>-->
|
||||
<field name="reason"
|
||||
attrs='{"required":[("test_results","!=","合格")],"invisible":[("test_results","=","合格")],"readonly":[("state","in",("done", "rework"))]}'/>
|
||||
<field name="detailed_reason"
|
||||
attrs='{"required":[("test_results","!=","合格")],"invisible":[("test_results","=","合格")],"readonly":[("state","in",("done", "rework"))]}'/>
|
||||
<!-- <field name="results" readonly="1" attrs='{"invisible":[("results","!=","合格")]}'/>-->
|
||||
<field name="detection_report" attrs='{"invisible":[("results","!=",False)]}'
|
||||
widget="pdf_viewer" readonly="1"/>
|
||||
</group>
|
||||
<!-- <div class="col-12 col-lg-6 o_setting_box">-->
|
||||
<!-- <button type="object" class="oe_highlight" name="recreateManufacturingOrWorkerOrder"-->
|
||||
<!-- string="检测确认"-->
|
||||
<!-- attrs='{"invisible": ["|","|",("state","!=","progress"),("user_permissions","=",False),("results","=","合格")]}'/>-->
|
||||
<!-- </div>-->
|
||||
</page>
|
||||
<page string="解除装夹" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "DCP")]}'>
|
||||
<!-- <field name="tray_id" readonly="1"/>-->
|
||||
<!-- <div class="col-12 col-lg-6 o_setting_box">-->
|
||||
@@ -625,7 +578,45 @@
|
||||
<!-- </div>-->
|
||||
|
||||
</page>
|
||||
<page string="2D加工图纸" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "2D_MD")]}'>
|
||||
<field name="machining_drawings" widget="adaptive_viewer"/>
|
||||
</page>
|
||||
<page string="质检标准" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "QIS")]}'>
|
||||
<field name="quality_standard" widget="adaptive_viewer"/>
|
||||
</page>
|
||||
<page name="CMR" string="开料要求" attrs='{"invisible": ["!", ("individuation_page_list", "ilike", "CMR")]}'>
|
||||
<group>
|
||||
<group>
|
||||
<field name="product_tmpl_id_materials_id" widget="many2one"/>
|
||||
<field name="product_tmpl_id_materials_type_id" widget="many2one"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="product_tmpl_id_length"/>
|
||||
<field name="product_tmpl_id_width"/>
|
||||
<field name="product_tmpl_id_height"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//form//header" position="inside">
|
||||
<button type="object" class="oe_highlight jikimo_button_confirm" name="get_three_check_datas"
|
||||
string="获取数据"
|
||||
attrs='{"invisible": ["|", ("state","!=","progress"), ("routing_type","!=","装夹预调")]}'/>
|
||||
</xpath>
|
||||
|
||||
<!-- =====原生页签,暂时不进行配置===== -->
|
||||
<!-- <xpath expr="//page[@name='components']" position="attributes">-->
|
||||
<!-- <attribute name="attrs">{"invisible": ["!", ("individuation_page_list", "ilike", "ML")]}</attribute>-->
|
||||
<!-- </xpath>-->
|
||||
<!-- <xpath expr="//page[@name='time_tracking']" position="attributes">-->
|
||||
<!-- <attribute name="attrs">{"invisible": ["!", ("individuation_page_list", "ilike", "TT")]}</attribute>-->
|
||||
<!-- </xpath>-->
|
||||
<!-- ============================= -->
|
||||
|
||||
|
||||
|
||||
<!-- <xpath expr="//form//sheet//group//group//div[1]" position="after">-->
|
||||
<!-- <label for="date_start" string="实际加工时间"/>-->
|
||||
<!-- <div class="oe_inline">-->
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
action="action_quotations_supply_method"
|
||||
parent="sale.sale_order_menu"
|
||||
groups="sf_base.group_production_engineer"
|
||||
sequence="20"/>
|
||||
sequence="2"/>
|
||||
|
||||
<record id="sale.menu_sale_order" model="ir.ui.menu">
|
||||
<field name="groups_id" eval="[(4, ref('sf_base.group_production_engineer'))]"/>
|
||||
|
||||
@@ -50,9 +50,6 @@
|
||||
<xpath expr="//field[@name='origin']" position="after">
|
||||
<field name="retrospect_ref"/>
|
||||
</xpath>
|
||||
<xpath expr="//tree" position="attributes">
|
||||
<attribute name="default_order">create_date desc</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@ class RePurchaseOrder(models.Model):
|
||||
contract_summary = fields.Text(string='合同概况')
|
||||
|
||||
# 选择是否为紧急采购
|
||||
urgent_purchase = fields.Selection([('no', '否'), ('yes', '是')], string='紧急采购', default='yes')
|
||||
urgent_purchase = fields.Selection([('no', '否'), ('yes', '是')], string='紧急采购', default='no')
|
||||
|
||||
@api.depends('origin')
|
||||
def _compute_purchase_type(self):
|
||||
|
||||
@@ -298,10 +298,6 @@
|
||||
<xpath expr="//field[@name='name']" position="attributes">
|
||||
<attribute name="class">purchase_order_list_name</attribute>
|
||||
</xpath>
|
||||
<!-- 修改 tree 视图的排序规则 -->
|
||||
<xpath expr="//tree" position="attributes">
|
||||
<attribute name="default_order">date_approve desc</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -14,14 +14,16 @@
|
||||
<!-- name="Orders"-->
|
||||
<!-- sequence="10">-->
|
||||
|
||||
<!-- <menuitem id="menu_sale_quotations"-->
|
||||
<!-- action="action_quotations_with_onboarding"-->
|
||||
<!-- groups="sales_team.group_sale_salesman"-->
|
||||
<!-- sequence="10"/>-->
|
||||
|
||||
<menuitem id="sale.menu_sale_quotations"
|
||||
parent="sale.sale_order_menu"
|
||||
sequence="20"/>
|
||||
|
||||
<menuitem id="sale.menu_sale_order"
|
||||
parent="sale.sale_order_menu"
|
||||
sequence="10"/>
|
||||
<!-- <menuitem id="menu_sale_order"-->
|
||||
<!-- name="Orders"-->
|
||||
<!-- action="action_orders"-->
|
||||
<!-- groups="sales_team.group_sale_salesman"-->
|
||||
<!-- sequence="20"/>-->
|
||||
|
||||
|
||||
<!-- <menuitem id="report_sales_team"-->
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
<field name="name">功能刀具组装</field>
|
||||
<field name="model">sf.functional.tool.assembly</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree create="0" delete="0" default_order="create_date desc">
|
||||
<tree create="0" delete="0">
|
||||
<field name="assembly_order_code"/>
|
||||
<field name="barcode_id" optional="hide"/>
|
||||
<field name="code" optional="hide"/>
|
||||
|
||||
Reference in New Issue
Block a user