Compare commits
3 Commits
master_sf_
...
feature/打印
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21691d8816 | ||
|
|
19dd425422 | ||
|
|
38e99a0f26 |
@@ -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', '标签')
|
||||
# # 其他相关字段...
|
||||
|
||||
@@ -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点
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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([
|
||||
|
||||
Reference in New Issue
Block a user