Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
ddf115d6
提交
ddf115d6
authored
9月 17, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、已使用的托盘不能删除
2、批量创建托盘时,点击确认并打印的话,生成的托盘需要变为已打印,且向导关闭
上级
d909a2e9
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
36 行增加
和
3 行删除
+36
-3
cc_pallet.py
ccs_pallet/models/cc_pallet.py
+14
-0
pallet_batch_wizard.py
ccs_pallet/wizard/pallet_batch_wizard.py
+21
-2
pallet_print_wizard.py
ccs_pallet/wizard/pallet_print_wizard.py
+1
-1
没有找到文件。
ccs_pallet/models/cc_pallet.py
浏览文件 @
ddf115d6
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
import
logging
import
logging
from
odoo
import
models
,
fields
,
api
,
_
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
ValidationError
# 获取日志
# 获取日志
_logger
=
logging
.
getLogger
(
__name__
)
_logger
=
logging
.
getLogger
(
__name__
)
...
@@ -191,3 +192,16 @@ class CcPallet(models.Model):
...
@@ -191,3 +192,16 @@ class CcPallet(models.Model):
'target'
:
'new'
,
'target'
:
'new'
,
'context'
:
{},
'context'
:
{},
}
}
def
print_labels_success
(
self
):
for
pallet
in
self
:
pallet
.
print_state
=
'printed'
def
unlink
(
self
):
"""
已使用的托盘需要控制不能删除
"""
for
pallet
in
self
:
if
pallet
.
usage_state
==
'used'
:
raise
ValidationError
(
_
(
'Pallet
%
s has been used, cannot be deleted!'
)
%
pallet
.
name
)
return
super
(
CcPallet
,
self
)
.
unlink
()
ccs_pallet/wizard/pallet_batch_wizard.py
浏览文件 @
ddf115d6
...
@@ -78,9 +78,28 @@ class PalletBatchWizard(models.TransientModel):
...
@@ -78,9 +78,28 @@ class PalletBatchWizard(models.TransientModel):
pallets
=
self
.
env
[
'cc.pallet'
]
.
search
([
pallets
=
self
.
env
[
'cc.pallet'
]
.
search
([
(
'id'
,
'in'
,
result
[
'domain'
][
0
][
2
])
(
'id'
,
'in'
,
result
[
'domain'
][
0
][
2
])
])
])
#修改为已打印
pallets
.
print_labels_success
()
# 生成打印文件
# 获取系统参数中的本地域名
return
self
.
_generate_print_report
(
pallets
)
web_base_url
=
self
.
env
[
'ir.config_parameter'
]
.
sudo
()
.
get_param
(
'web.base.url'
,
'http://localhost:8069'
)
# 生成打印URL
report_url
=
f
"{web_base_url}/report/pdf/ccs_pallet.action_pallet_label_report/{','.join(map(str, pallets.ids))}"
# 使用客户端动作处理打印和关闭向导
# return {
# 'type': 'ir.actions.client',
# 'tag': 'print_and_close',
# 'params': {
# 'report_url': report_url
# }
# }
# 在新窗口中打开打印
import
webbrowser
webbrowser
.
open_new_tab
(
report_url
)
return
{
'type'
:
'ir.actions.act_window_close'
}
# 生成打印报告
# 生成打印报告
def
_generate_print_report
(
self
,
pallets
):
def
_generate_print_report
(
self
,
pallets
):
...
...
ccs_pallet/wizard/pallet_print_wizard.py
浏览文件 @
ddf115d6
...
@@ -24,7 +24,7 @@ class PalletPrintWizard(models.TransientModel):
...
@@ -24,7 +24,7 @@ class PalletPrintWizard(models.TransientModel):
raise
UserError
(
_
(
'Please select pallets to print'
))
raise
UserError
(
_
(
'Please select pallets to print'
))
# 更新打印状态为已打印
# 更新打印状态为已打印
self
.
pallet_ids
.
write
({
'print_state'
:
'printed'
}
)
self
.
pallet_ids
.
print_labels_success
(
)
# 生成打印报告
# 生成打印报告
return
self
.
_generate_print_report
()
return
self
.
_generate_print_report
()
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论