diff --git a/sf_base/models/tool_other_features.py b/sf_base/models/tool_other_features.py
index f67e69fd..5bd597ae 100644
--- a/sf_base/models/tool_other_features.py
+++ b/sf_base/models/tool_other_features.py
@@ -22,7 +22,8 @@ class ToolMaterialsBasicParameters(models.Model):
handle_diameter = fields.Float('柄部直径(mm)')
handle_length = fields.Float('柄部长度(mm)')
blade_tip_diameter = fields.Integer('刀尖直径(mm)')
- blade_tip_working_size = fields.Char('刀尖处理尺寸(R半径mm/倒角度)', size=20)
+ blade_tip_working_size = fields.Char('刀尖倒角度(°)', size=20)
+ tip_r_size = fields.Float('刀尖R角(mm)')
blade_tip_taper = fields.Integer('刀尖锥度(°)')
blade_diameter = fields.Float('刃部直径(mm)')
blade_length = fields.Float('刃部长度(mm)')
diff --git a/sf_base/static/src/js/custom_barcode_handlers.js b/sf_base/static/src/js/custom_barcode_handlers.js
index 220d2cbb..18db64e7 100644
--- a/sf_base/static/src/js/custom_barcode_handlers.js
+++ b/sf_base/static/src/js/custom_barcode_handlers.js
@@ -30,6 +30,7 @@ patch(barcodeGenericHandlers, "start", {
"O-CMD.PAGER-FIRST": () => updatePager("first"),
"O-CMD.PAGER-LAST": () => updatePager("last"),
"O-CMD.CONFIRM": () => customClickOnButton(".jikimo_button_confirm"),
+ "O-CMD.FLUSHED": () => customClickOnButton(".jikimo_button_flushed"),
};
barcode.bus.addEventListener("barcode_scanned", (ev) => {
diff --git a/sf_base/views/tool_basic_param.xml b/sf_base/views/tool_basic_param.xml
index d138eeb8..06bb80bb 100644
--- a/sf_base/views/tool_basic_param.xml
+++ b/sf_base/views/tool_basic_param.xml
@@ -15,6 +15,7 @@
+
@@ -95,6 +96,7 @@
+
@@ -139,6 +141,7 @@
+
diff --git a/sf_base/views/tool_views.xml b/sf_base/views/tool_views.xml
index b90d1a5c..8b429f89 100644
--- a/sf_base/views/tool_views.xml
+++ b/sf_base/views/tool_views.xml
@@ -222,6 +222,7 @@
+
diff --git a/sf_dlm_management/views/product_template_management_view.xml b/sf_dlm_management/views/product_template_management_view.xml
index caefcb34..f53c5e2b 100644
--- a/sf_dlm_management/views/product_template_management_view.xml
+++ b/sf_dlm_management/views/product_template_management_view.xml
@@ -191,6 +191,8 @@
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'readonly': [('id', '!=', False)]}"/>
+
+ string="获取数据" attrs='{"invisible": [("state","!=","progress"), ("routing_type","!=","装夹预调")]}'/>
diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py
index e106bbf2..25d30333 100644
--- a/sf_mrs_connect/models/sync_common.py
+++ b/sf_mrs_connect/models/sync_common.py
@@ -2438,6 +2438,7 @@ class CuttingToolBasicParameters(models.Model):
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
+ 'tip_r_size': integral_tool_item['tip_r_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
@@ -2459,6 +2460,7 @@ class CuttingToolBasicParameters(models.Model):
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
+ 'tip_r_size': integral_tool_item['tip_r_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
@@ -2789,6 +2791,7 @@ class CuttingToolBasicParameters(models.Model):
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
+ 'tip_r_size': integral_tool_item['tip_r_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
@@ -2810,6 +2813,7 @@ class CuttingToolBasicParameters(models.Model):
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
+ 'tip_r_size': integral_tool_item['tip_r_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py
index d9ab1536..cbdc1d22 100644
--- a/sf_tool_management/models/base.py
+++ b/sf_tool_management/models/base.py
@@ -357,6 +357,8 @@ class FunctionalToolAssembly(models.Model):
"""
智能工厂组装单处扫码校验刀具物料
"""
+ if 'O-CMD' in barcode:
+ return ''
for record in self:
tool_assembly_id = self.env['sf.functional.tool.assembly'].browse(self.ids)
lot_ids = self.env['stock.lot'].sudo().search([('rfid', '=', barcode)])
@@ -835,7 +837,7 @@ class FunctionalToolAssembly(models.Model):
if options == '刀柄+整体式刀具':
if not integral_ids:
- raise ValidationError('功能刀具清单的BOM未配置[刀柄]信息,请先配置BOM再开始组装!')
+ raise ValidationError('功能刀具清单的BOM未配置[整体式刀具]信息,请先配置BOM再开始组装!')
return {'options': options, 'handle_ids': handle_ids, 'integral_ids': integral_ids}
elif options == '刀柄+刀杆+刀片':
if not blade_ids:
diff --git a/sf_tool_management/models/stock.py b/sf_tool_management/models/stock.py
index 32719520..9f0d9f82 100644
--- a/sf_tool_management/models/stock.py
+++ b/sf_tool_management/models/stock.py
@@ -298,8 +298,8 @@ class SfShelfLocationLot(models.Model):
brand_id = fields.Many2one('sf.machine.brand', '品牌', related='product_id.brand_id')
cutting_tool_blade_diameter = fields.Float('刃部直径(mm)', related='product_id.cutting_tool_blade_diameter')
- cutting_tool_blade_tip_working_size = fields.Char('刀尖R角(mm)',
- related='product_id.cutting_tool_blade_tip_working_size')
+ cutting_tool_blade_tip_working_size = fields.Float('刀尖R角(mm)',
+ related='product_id.cutting_tool_blade_tip_r_size')
cutting_tool_blade_radius = fields.Char('刀尖圆弧半径(mm)',
related='product_id.cutting_tool_blade_tip_circular_arc_radius')
cutting_tool_cutter_arbor_diameter = fields.Float('刀杆直径(mm)',
diff --git a/sf_tool_management/views/stock.xml b/sf_tool_management/views/stock.xml
index c0942282..60e94886 100644
--- a/sf_tool_management/views/stock.xml
+++ b/sf_tool_management/views/stock.xml
@@ -18,8 +18,7 @@
@@ -62,6 +61,7 @@
+
@@ -86,6 +86,7 @@
+
@@ -111,6 +112,7 @@
+
@@ -135,6 +137,7 @@
+
diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml
index 2a68ce8e..130936d8 100644
--- a/sf_tool_management/views/tool_base_views.xml
+++ b/sf_tool_management/views/tool_base_views.xml
@@ -478,9 +478,9 @@
class="btn-primary"/>
+ class="btn-primary jikimo_button_confirm"/>
diff --git a/vista_backend_theme/static/src/scss/theme.scss b/vista_backend_theme/static/src/scss/theme.scss
index 22923a40..a7555c7f 100644
--- a/vista_backend_theme/static/src/scss/theme.scss
+++ b/vista_backend_theme/static/src/scss/theme.scss
@@ -1029,4 +1029,61 @@ div.dropdown-menu.bootstrap-datetimepicker-widget {
.o_searchview .o_searchview_icon {
z-index: 9999 !important;
margin-top: 12px;
+}
+
+
+// 自定义的下拉
+.o_menu_sections_fix{
+ display: flex!important;
+ align-items: center;
+}
+.custom_dropdown {
+ position: relative;
+ .title {
+ color: #1f2631;
+ padding: 0 12px;
+ line-height: var(--o-navbar-height);
+ margin: 0;
+ cursor: pointer;
+ display: block;
+ }
+ .custom_dropdown_fixed {
+ position: absolute;
+ top: var(--o-navbar-height);
+ z-index: 1000;
+ padding: 0.5rem 0;
+ margin: 0;
+ font-size: 1.08333333rem;
+ color: #495057;
+ text-align: left;
+ background-color: #FFFFFF;
+ box-shadow: 0 1rem 1.1rem rgba(0, 0, 0, 0.1);
+ border-radius: 0.25rem;
+ display: none;
+ a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: 400;
+ color: #495057;
+ text-align: inherit;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+ &:hover {
+ color: #00005A !important;
+ background-color: #ebf0fd;
+ transition: all 0.3s linear;
+ }
+ }
+ }
+ &:hover {
+ .title {
+ background-color: rgba(0, 0, 0, 0.08);
+ transition: all .3s;
+ }
+ .custom_dropdown_fixed{
+ display: block;
+ }
+ }
}
\ No newline at end of file
diff --git a/vista_backend_theme/static/src/xml/top_bar.xml b/vista_backend_theme/static/src/xml/top_bar.xml
index ba29b398..05b399b6 100644
--- a/vista_backend_theme/static/src/xml/top_bar.xml
+++ b/vista_backend_theme/static/src/xml/top_bar.xml
@@ -24,10 +24,28 @@
-