Accept Merge Request #301: (feature/坯料排程 -> develop)
Merge Request: 看板视图一句标签进行筛选基础功能已完成 Created By: @马广威 Accepted By: @马广威 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/301?initial=true
This commit is contained in:
@@ -6,6 +6,9 @@ from odoo.addons.resource.models.resource import Intervals
|
||||
|
||||
class ResWorkcenter(models.Model):
|
||||
_inherit = "mrp.workcenter"
|
||||
|
||||
# 生产线显示
|
||||
production_line_show = fields.Char(string='生产线')
|
||||
equipment_id = fields.Many2one('maintenance.equipment', string='设备')
|
||||
machine_tool_id = fields.Many2one('sf.machine_tool', string='机床')
|
||||
production_line_id = fields.Many2one('sf.production.line', string='生产线')
|
||||
|
||||
@@ -15,8 +15,33 @@ class CustomKanbanController extends KanbanController {
|
||||
this.workOrders = await this.getAllWorkOrders();
|
||||
console.log('lines', this.workOrders);
|
||||
}
|
||||
buttonClick(ev) {
|
||||
const button = ev.currentTarget;
|
||||
const id = button.getAttribute('data-id');
|
||||
|
||||
console.log('true_id', id);
|
||||
const context = {production_line_show: 'shengchanxian1'}
|
||||
this.env.services.rpc('/web/dataset/call_kw', {
|
||||
model: 'mrp.workcenter',
|
||||
method: 'search_read',
|
||||
args: [[], ['id']],
|
||||
kwargs: {}
|
||||
}).then((records) => {
|
||||
const ids = records.map(record => record.id);
|
||||
const context = {production_line_show: id};
|
||||
this.env.services.rpc('/web/dataset/call_kw', {
|
||||
model: 'mrp.workcenter',
|
||||
method: 'write',
|
||||
args: [ids, context],
|
||||
kwargs: {}
|
||||
}).then((response) => {
|
||||
console.log('response', response);
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
async getAllWorkOrders() {
|
||||
const response = await this.env.services.rpc('/web/dataset/call_kw',{
|
||||
model: 'sf.production.line',
|
||||
@@ -24,7 +49,14 @@ class CustomKanbanController extends KanbanController {
|
||||
args: [],
|
||||
kwargs: {},
|
||||
});
|
||||
// const response1 = await this.env.services.rpc('/web/dataset/call_kw',{
|
||||
// model: 'mrp.workcenter',
|
||||
// method: 'search_read',
|
||||
// args: [],
|
||||
// kwargs: {},
|
||||
// });
|
||||
console.log('response', response);
|
||||
// console.log('response1', response1);
|
||||
// 你可以在这里处理响应,例如将其存储在控制器的状态中
|
||||
return response;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
.alerts {
|
||||
.choosekanban {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-top: 1vw !important;
|
||||
}
|
||||
|
||||
.alerts>div {
|
||||
width: 3vw;
|
||||
height: 1.5vw;
|
||||
border: 1px solid grey;
|
||||
border-radius: 5px;
|
||||
margin: 0 0.5vw;
|
||||
justify-content: center;
|
||||
.choosekanban > button {
|
||||
width: 4vw !important;
|
||||
height: 2vw !important;
|
||||
border: none !important;
|
||||
margin-left: 16px !important;
|
||||
}
|
||||
|
||||
.alerts>div:nth-child(1) {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
@@ -1,18 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<templates>
|
||||
<t t-name="sf_manufacturing.CustomKanbanView1" t-inherit="web.KanbanView" owl="1">
|
||||
<!-- <xpath expr="//Layout" position="before"> -->
|
||||
<!-- <div> -->
|
||||
<!-- Hello world ! -->
|
||||
<!-- </div> -->
|
||||
<!-- </xpath> -->
|
||||
<xpath expr="//t[@t-component='props.Renderer']" position="before">
|
||||
<div class="alerts">
|
||||
<!-- <t t-foreach="env['mrp.workcenter'].get_dynamic_data()" t-as="i" t-key="i"> -->
|
||||
<div class="choosekanban">
|
||||
<!-- <t t-foreach="env['mrp.workcenter'].get_dynamic_data()" t-as="i" t-key="i"> -->
|
||||
<t t-foreach="workOrders" t-as="i" t-key="i">
|
||||
<div>
|
||||
<button t-on-click="buttonClick" t-att-data-id="i.name">
|
||||
<t t-esc="i.name"></t>
|
||||
</div>
|
||||
</button>
|
||||
</t>
|
||||
</div>
|
||||
</xpath>
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
<xpath expr="//field[@name='alternative_workcenter_ids']" position="after">
|
||||
<field name="production_line_id"/>
|
||||
<field name="equipment_id"/>
|
||||
<field name="production_line_show"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='resource_calendar_id']" position="after">
|
||||
<field name="is_process_outsourcing"/>
|
||||
@@ -101,18 +102,173 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_view_kanban_inherit_maintenance" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.view.kanban.inherit.maintenance</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='plan_order']" position="after">
|
||||
<div>
|
||||
<a name="%(maintenance.hr_equipment_request_action)d" type="action">Maintenance</a>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="mrp_workcenter_view_kanban_inherit_maintenance" model="ir.ui.view"> -->
|
||||
<!-- <field name="name">mrp.workcenter.view.kanban.inherit.maintenance</field> -->
|
||||
<!-- <field name="model">mrp.workcenter</field> -->
|
||||
<!-- <field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/> -->
|
||||
<!-- <field name="arch" type="xml"> -->
|
||||
<!-- <xpath expr="//div[@name='plan_order']" position="after"> -->
|
||||
<!-- <div> -->
|
||||
<!-- <a name="%(maintenance.hr_equipment_request_action)d" type="action">Maintenance</a> -->
|
||||
<!-- </div> -->
|
||||
<!-- </xpath> -->
|
||||
<!-- </field> -->
|
||||
<!-- </record> -->
|
||||
<!-- 继承原有的看板视图 -->
|
||||
<record id="mrp_workcenter_kanban_inherit1" model="ir.ui.view">
|
||||
<field name="name">mrp.workcenter.kanban.inherit</field>
|
||||
<field name="model">mrp.workcenter</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//kanban" position="replace">
|
||||
<kanban class="oe_background_grey o_kanban_dashboard o_workcenter_kanban" create="0" sample="1" js_class="custom_kanban1">
|
||||
<field name="name"/>
|
||||
<field name="color"/>
|
||||
<field name="workorder_count"/>
|
||||
<field name="working_state"/>
|
||||
<field name="oee_target"/>
|
||||
<field name="production_line_show"/>
|
||||
<field name="production_line_id"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box" t-if="record.production_line_id.value == record.production_line_show.raw_value">
|
||||
<div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''}">
|
||||
<div t-attf-class="o_kanban_card_header o_kanban_record_top">
|
||||
<div class="o_kanban_record_headings o_kanban_card_header_title">
|
||||
<span class="o_primary ml8" style="display: inline-block">
|
||||
<field name="name"/>
|
||||
<field name="production_line_show"/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="o_kanban_manage_button_section">
|
||||
<a class="o_kanban_manage_toggle_button" href="#"><i class="fa fa-ellipsis-v" role="img" aria-label="Manage" title="Manage"/></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container o_kanban_card_content">
|
||||
<div class="row mb16">
|
||||
<div class="col-6 o_kanban_primary_left">
|
||||
<div class="btn-group" name="o_wo">
|
||||
<t t-if="record.workorder_count.raw_value > 0">
|
||||
<button class="btn btn-primary" name="action_work_order" type="object" context="{'search_default_ready': 1, 'search_default_progress': 1}">
|
||||
<span>WORK ORDERS</span>
|
||||
</button>
|
||||
</t>
|
||||
<t t-if="record.workorder_count.raw_value <= 0">
|
||||
<button class="btn btn-warning" name="%(mrp.act_product_mrp_production_workcenter)d" type="action">
|
||||
<span>PLAN ORDERS</span>
|
||||
</button>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 o_kanban_primary_right">
|
||||
<div class="row" t-if="record.workorder_ready_count.raw_value > 0">
|
||||
<div class="col-8">
|
||||
<a name="action_work_order" type="object" context="{'search_default_ready': 1}">
|
||||
To Launch
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<field name="workorder_ready_count"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" t-if="record.workorder_progress_count.raw_value > 0">
|
||||
<div class="col-8">
|
||||
<a name="action_work_order" type="object" context="{'search_default_progress': 1}">
|
||||
In Progress
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<field name="workorder_progress_count"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" t-if="record.workorder_late_count.raw_value > 0">
|
||||
<div class="col-8">
|
||||
<a name="action_work_order" type="object" context="{'search_default_late': 1}">
|
||||
Late
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<field name="workorder_late_count"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" t-if="record.oee.raw_value > 0">
|
||||
<div class="col-6">
|
||||
<a name="%(mrp.mrp_workcenter_productivity_report_oee)d" type="action">
|
||||
OEE
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6 text-end">
|
||||
<span t-att-class="record.oee_target.raw_value and (record.oee.raw_value < record.oee_target.raw_value) and 'text-danger' or (record.oee.raw_value > record.oee_target.raw_value) and 'text-success' or 'text-warning'">
|
||||
<strong>
|
||||
<field name="oee" widget="integer"/>%
|
||||
</strong>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 o_kanban_primary_left" style="position:absolute; bottom:10px;" name="wc_stages">
|
||||
<a name="%(mrp.act_mrp_block_workcenter)d" type="action" class="o_status float-end"
|
||||
title="No workorder currently in progress. Click to mark work center as blocked."
|
||||
aria-label="No workorder currently in progress. Click to mark work center as blocked."
|
||||
attrs="{'invisible': [('working_state','in',('blocked','done'))]}"/>
|
||||
<a name="unblock" type="object" class=" o_status o_status_red float-end"
|
||||
title="Workcenter blocked, click to unblock."
|
||||
aria-label="Workcenter blocked, click to unblock."
|
||||
attrs="{'invisible': [('working_state','in',('normal','done'))]}"/>
|
||||
<a name="%(mrp.act_mrp_block_workcenter)d" type="action" class="o_status o_status_green float-end"
|
||||
title="Work orders in progress. Click to block work center."
|
||||
aria-label="Work orders in progress. Click to block work center."
|
||||
attrs="{'invisible': [('working_state','in',('normal','blocked'))]}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div><div class="container o_kanban_card_manage_pane dropdown-menu" role="menu">
|
||||
<div class="row">
|
||||
<div class="col-6 o_kanban_card_manage_section o_kanban_manage_view">
|
||||
<div role="menuitem" class="o_kanban_card_manage_title">
|
||||
<span>Actions</span>
|
||||
</div>
|
||||
<div role="menuitem" name="plan_order">
|
||||
<a name="action_work_order" type="object">Plan Orders</a>
|
||||
</div>
|
||||
<div>
|
||||
<a name="%(maintenance.hr_equipment_request_action)d" type="action">Maintenance</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 o_kanban_card_manage_section o_kanban_manage_new">
|
||||
<div role="menuitem" class="o_kanban_card_manage_title">
|
||||
<span>Reporting</span>
|
||||
</div>
|
||||
<div role="menuitem">
|
||||
<a name="%(mrp.mrp_workcenter_productivity_report_oee)d" type="action">OEE</a>
|
||||
</div>
|
||||
<div role="menuitem">
|
||||
<a name="%(mrp.mrp_workorder_workcenter_report)d" type="action" context="{'search_default_thisyear':True}">
|
||||
Performance
|
||||
</a>
|
||||
</div>
|
||||
<div role="menuitem">
|
||||
<a name="action_work_order" type="object" context="{'search_default_waiting': 1}">Waiting Availability</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div t-if="widget.editable" class="o_kanban_card_manage_settings row">
|
||||
<div role="menuitem" aria-haspopup="true" class="col-8">
|
||||
<ul role="menu" class="oe_kanban_colorpicker" data-field="color"/>
|
||||
</div>
|
||||
<div role="menuitem" class="text-end">
|
||||
<a type="edit">Settings</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- MRP.PRODUCTION -->
|
||||
<record id="mrp_production_view_form_inherit_maintenance" model="ir.ui.view">
|
||||
@@ -140,6 +296,4 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user