Compare commits

...

3 Commits

5 changed files with 68 additions and 22 deletions

View File

@@ -11,10 +11,11 @@ class Printer(models.Model):
class TableStyle(models.Model):
_name = 'table.style'
_name = 'label.style'
_description = '标签样式'
name = fields.Char(string='名称', required=True)
zpl_code = fields.Text(string='zpl指令')
# todo
@@ -25,4 +26,5 @@ class PrinterConfiguration(models.Model):
name = fields.Char(string='名称', required=True)
printer_id = fields.Many2one('printer', string='打印机')
model = fields.Many2one('ir.model', string='模型名称')
label_id = fields.Many2one('label.style', '标签')
# # 其他相关字段...

View File

@@ -43,19 +43,19 @@ class PrintingUtils(models.AbstractModel):
zpl_code += "^CI28\n"
# 设置二维码位置
zpl_code += "^FO50,50\n" # 调整二维码位置,使其与资产编号在同一行
zpl_code += f"^BQN,2,6^FDLM,B0093{code}^FS\n"
zpl_code += "^FO50,260\n" # 调整二维码位置,使其与资产编号在同一行
zpl_code += f"^BQN,2,5^FDLM,B0093{code}^FS\n"
# 设置资产编号文本位置
zpl_code += "^FO300,60\n" # 资产编号文本的位置,与二维码在同一行
zpl_code += "^A1N,45,45^FD编码名称: ^FS\n"
# # 设置资产编号文本位置
# zpl_code += "^FO300,60\n" # 资产编号文本的位置,与二维码在同一行
# zpl_code += "^A1N,45,45^FD编码名称: ^FS\n"
# 设置{code}文本位置
# 假设{code}文本需要位于资产编号和二维码下方,中间位置
# 设置{code}文本位置并启用自动换行
zpl_code += "^FO300,120\n" # {code}文本的起始位置
zpl_code += "^FB400,4,0,L,0\n" # 定义一个宽度为500点的文本框最多4行左对齐
zpl_code += f"^A1N,40,40^FD{code}^FS\n"
zpl_code += "^FO240,10\n" # {code}文本的起始位置
zpl_code += "^FB600,10,0,L,0\n" # 定义一个宽度为500点的文本框最多4行左对齐
zpl_code += f"^A1B,40,40^FD{code}^FS\n"
# 在{code}文本框周围绘制线框
# 假设线框的外部尺寸为宽度500点高度200点

View File

@@ -208,6 +208,7 @@ access_sf_machine_brand_tags_group_purchase_director,sf_machine_brand_tags_group
access_printer,printer,model_printer,base.group_user,1,1,1,1
access_printer_configuration,printer.configuration,model_printer_configuration,base.group_user,1,1,1,1
access_label_style,label.style,model_label_style,base.group_user,1,1,1,1
access_group_sf_mrp_user,sf_tool_inventory,model_sf_tool_inventory,base.group_user,1,1,1,0
access_group_sf_mrp_user_admin,sf_tool_inventory_admin,model_sf_tool_inventory,base.group_system,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
208 access_sf_multi_mounting_type_group_purchase_director access_sf_fixture_material_group_purchase_director sf_multi_mounting_type_group_purchase_director sf_fixture_material_group_purchase_director model_sf_multi_mounting_type model_sf_fixture_material sf_base.group_purchase_director 1 0 0 0
209 access_sf_fixture_model_group_purchase_director access_sf_multi_mounting_type_group_purchase_director sf_fixture_model_group_purchase_director sf_multi_mounting_type_group_purchase_director model_sf_fixture_model model_sf_multi_mounting_type sf_base.group_purchase_director 1 0 0 0
210 access_sf_fixture_materials_basic_parameters_group_purchase_director access_sf_fixture_model_group_purchase_director sf_fixture_materials_basic_parameters_group_purchase_director sf_fixture_model_group_purchase_director model_sf_fixture_materials_basic_parameters model_sf_fixture_model sf_base.group_purchase_director 1 0 0 0
211 access_sf_fixture_materials_basic_parameters_group_purchase_director sf_fixture_materials_basic_parameters_group_purchase_director model_sf_fixture_materials_basic_parameters sf_base.group_purchase_director 1 0 0 0
212 access_sf_machine_tool_type_group_purchase_director sf_machine_tool_type_group_purchase_director model_sf_machine_tool_type sf_base.group_purchase_director 1 0 0 0
213 access_sf_fixture_material_group_sale_director sf_fixture_material_group_sale_director model_sf_fixture_material sf_base.group_sale_director 1 0 0 0
214 access_sf_multi_mounting_type_group_sale_director sf_multi_mounting_type_group_sale_director model_sf_multi_mounting_type sf_base.group_sale_director 1 0 0 0

View File

@@ -38,6 +38,7 @@
<field name="name"/>
<field name="printer_id"/>
<field name="model"/>
<field name="label_id"/>
<!-- 其他字段... -->
</tree>
</field>
@@ -53,6 +54,36 @@
<field name="name"/>
<field name="printer_id"/>
<field name="model"/>
<field name="label_id"/>
<!-- 其他字段... -->
</group>
</sheet>
</form>
</field>
</record>
<record id="view_label_style_tree" model="ir.ui.view">
<field name="name">label.style.tree</field>
<field name="model">label.style</field>
<field name="arch" type="xml">
<tree string="label style">
<field name="name"/>
<!-- <field name="zpl_code"/> -->
<!-- 其他字段... -->
</tree>
</field>
</record>
<record id="view_label_style_form" model="ir.ui.view">
<field name="name">label.style.form</field>
<field name="model">label.style</field>
<field name="arch" type="xml">
<form string="label style">
<sheet>
<group>
<field name="name"/>
<field name="zpl_code"/>
<!-- 其他字段... -->
</group>
</sheet>
@@ -74,6 +105,11 @@
<field name="res_model">printer.configuration</field>
<field name="view_mode">tree,form</field>
</record>
<record id="action_label_style" model="ir.actions.act_window">
<field name="name">标签样式</field>
<field name="res_model">label.style</field>
<field name="view_mode">tree,form,kanban</field>
</record>
<!-- Add a menu item for the printer configuration -->
<!-- <record id="menu_printer_configuration" model="ir.ui.menu"> -->
@@ -108,5 +144,12 @@
sequence="2"
parent="printer_main_menu"/>
<menuitem
id="menu_label_style"
name="标签样式"
action="action_label_style"
sequence="3"
parent="printer_main_menu"/>
</data>
</odoo>

View File

@@ -416,19 +416,19 @@ class ShelfLocation(models.Model):
host = printer_config.printer_id.ip_address
port = printer_config.printer_id.port
self.print_qr_code(barcode, host, port)
# 获取当前wizard的视图ID或其他标识信息
view_id = self.env.context.get('view_id')
# 构造返回wizard页面的action字典
action = {
'type': 'ir.actions.act_window',
'name': '返回 Wizard',
'res_model': 'sf.shelf', # 替换为你的wizard模型名称
'view_mode': 'form',
'view_id': view_id, # 如果需要基于特定的视图返回
'target': 'new', # 如果需要在新的窗口或标签页打开
'res_id': self.shelf_id, # 如果你想要返回当前记录的视图
}
return action
# # 获取当前wizard的视图ID或其他标识信息
# view_id = self.env.context.get('view_id')
# # 构造返回wizard页面的action字典
# action = {
# 'type': 'ir.actions.act_window',
# 'name': '返回 Wizard',
# 'res_model': 'sf.shelf', # 替换为你的wizard模型名称
# 'view_mode': 'form',
# 'view_id': view_id, # 如果需要基于特定的视图返回
# 'target': 'new', # 如果需要在新的窗口或标签页打开
# 'res_id': self.shelf_id, # 如果你想要返回当前记录的视图
# }
# return action
# # 仓库类别selection库区、库位、货位
# location_type = fields.Selection([