Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
factory_front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinjianhui
factory_front
Commits
6f9c9b9e
Commit
6f9c9b9e
authored
Jul 27, 2026
by
wusiyi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix_1001679' into release_v2.31.0
parents
12c38184
157d3e5d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
107 additions
and
93 deletions
+107
-93
src/views/order/factoryOrderNew/index.vue
+95
-88
src/views/order/podUs/PodMakeOrder.vue
+12
-5
No files found.
src/views/order/factoryOrderNew/index.vue
View file @
6f9c9b9e
...
@@ -2903,101 +2903,108 @@ const handleSeedingWall = (type: 'print' | 'sort') => {
...
@@ -2903,101 +2903,108 @@ const handleSeedingWall = (type: 'print' | 'sort') => {
podOrderVisible
.
value
=
true
podOrderVisible
.
value
=
true
}
}
const
printOrder
=
async
(
/** LODOP 单例不可并发,打印串行 */
let
printOrderChain
:
Promise
<
void
>
=
Promise
.
resolve
()
const
printOrder
=
(
data
:
OrderData
,
data
:
OrderData
,
callback
:
(
status
:
boolean
)
=>
void
,
callback
:
(
status
:
boolean
)
=>
void
,
)
=>
{
)
=>
{
const
lodop
=
getCLodop
(
null
,
null
)
const
run
=
async
()
=>
{
if
(
!
lodop
)
return
const
lodop
=
getCLodop
(
null
,
null
)
lodop
.
PRINT_INIT
(
'打印内容'
)
if
(
!
lodop
)
{
const
printerIndex
=
lodop
.
SET_PRINTER_INDEX
(
sheetPrinter
.
value
)
callback
&&
callback
(
false
)
console
.
log
(
return
'printerIndex'
,
}
printerIndex
,
lodop
.
PRINT_INIT
(
'打印内容'
)
`sheetPrinter.value:${sheetPrinter.value
}
`
,
const
printerIndex
=
lodop
.
SET_PRINTER_INDEX
(
sheetPrinter
.
value
)
)
console
.
log
(
if
(
!
printerIndex
)
{
'printerIndex'
,
ElMessage
.
error
(
'打印机设置失败'
)
printerIndex
,
callback
&&
callback
(
false
)
`sheetPrinter.value:${sheetPrinter.value
}
`
,
return
)
}
if
(
!
printerIndex
)
{
if
(
data
.
filePath
)
{
ElMessage
.
error
(
'打印机设置失败'
)
const
strURL
=
filePath
+
data
.
filePath
callback
&&
callback
(
false
)
const
isHttpsPdf
=
/
(
https
)
:
\/\/([^/]
+
)
/i
.
test
(
strURL
)
return
console
.
log
(
'[printOrder] label source'
,
{
}
id
:
data
.
id
,
if
(
data
.
filePath
)
{
hasFilePath
:
!!
data
.
filePath
,
const
strURL
=
filePath
+
data
.
filePath
hasFileData
:
!!
data
.
fileData
,
const
isHttpsPdf
=
/
(
https
)
:
\/\/([^/]
+
)
/i
.
test
(
strURL
)
isHttpsPdf
,
console
.
log
(
'[printOrder] label source'
,
{
strURL
,
id
:
data
.
id
,
}
)
hasFilePath
:
!!
data
.
filePath
,
const
pdfPayload
=
isHttpsPdf
?
downloadPDF
(
strURL
)
:
strURL
hasFileData
:
!!
data
.
fileData
,
console
.
log
(
'[printOrder] pdf payload meta'
,
{
isHttpsPdf
,
mode
:
isHttpsPdf
?
'base64'
:
'url'
,
strURL
,
length
:
pdfPayload
?.
length
||
0
,
}
)
preview
:
pdfPayload
?.
slice
(
0
,
30
),
const
pdfPayload
=
isHttpsPdf
?
downloadPDF
(
strURL
)
:
strURL
}
)
console
.
log
(
'[printOrder] pdf payload meta'
,
{
lodop
.
ADD_PRINT_PDF
(
0
,
0
,
'100%'
,
'100%'
,
pdfPayload
)
mode
:
isHttpsPdf
?
'base64'
:
'url'
,
}
else
{
length
:
pdfPayload
?.
length
||
0
,
console
.
log
(
'[printOrder] raw payload meta'
,
{
preview
:
pdfPayload
?.
slice
(
0
,
30
),
id
:
data
.
id
,
}
)
hasFilePath
:
!!
data
.
filePath
,
lodop
.
ADD_PRINT_PDF
(
0
,
0
,
'100%'
,
'100%'
,
pdfPayload
)
fileDataLength
:
data
.
fileData
?.
length
||
0
,
}
else
{
fileDataPreview
:
data
.
fileData
?.
slice
(
0
,
30
),
console
.
log
(
'[printOrder] raw payload meta'
,
{
}
)
id
:
data
.
id
,
lodop
.
SEND_PRINT_RAWDATA
(
data
.
fileData
||
''
)
hasFilePath
:
!!
data
.
filePath
,
}
fileDataLength
:
data
.
fileData
?.
length
||
0
,
console
.
log
(
'lodop.CVERSION'
,
lodop
.
CVERSION
)
fileDataPreview
:
data
.
fileData
?.
slice
(
0
,
30
),
if
(
lodop
.
CVERSION
)
{
}
)
const
startTime
=
Date
.
now
()
lodop
.
SEND_PRINT_RAWDATA
(
data
.
fileData
||
''
)
const
jobCode
=
await
lodopCall
((
lodop
)
=>
{
}
lodop
.
SET_PRINT_MODE
(
'CATCH_PRINT_STATUS'
,
true
)
console
.
log
(
'lodop.CVERSION'
,
lodop
.
CVERSION
)
return
lodop
.
PRINT
()
if
(
lodop
.
CVERSION
)
{
}
)
const
startTime
=
Date
.
now
()
console
.
log
(
'jobCode'
,
jobCode
)
const
jobCode
=
await
lodopCall
((
lodop
)
=>
{
// eslint-disable-next-line no-constant-condition
lodop
.
SET_PRINT_MODE
(
'CATCH_PRINT_STATUS'
,
true
)
while
(
true
)
{
return
lodop
.
PRINT
()
const
ok
=
await
lodopCall
((
lodop
)
=>
}
)
lodop
.
GET_VALUE
(
'PRINT_STATUS_OK'
,
jobCode
),
console
.
log
(
'jobCode'
,
jobCode
)
)
// eslint-disable-next-line no-constant-condition
console
.
log
(
'PRINT_STATUS_OK:'
,
jobCode
,
`ok: ${ok
}
`
)
while
(
true
)
{
if
(
ok
==
1
)
{
const
ok
=
await
lodopCall
((
lodop
)
=>
console
.
log
(
'打印成功'
)
lodop
.
GET_VALUE
(
'PRINT_STATUS_OK'
,
jobCode
),
// 打印状态:成功
)
callback
&&
callback
(
true
)
console
.
log
(
'PRINT_STATUS_OK:'
,
jobCode
,
`ok: ${ok
}
`
)
return
if
(
ok
==
1
)
{
}
console
.
log
(
'打印成功'
)
// 如果打印状态表示未成功或者返回了空,继续获取任务是否存在
callback
&&
callback
(
true
)
const
exist
=
await
lodopCall
((
lodop
)
=>
return
lodop
.
GET_VALUE
(
'PRINT_STATUS_EXIST'
,
jobCode
),
}
)
const
exist
=
await
lodopCall
((
lodop
)
=>
console
.
log
(
lodop
.
GET_VALUE
(
'PRINT_STATUS_EXIST'
,
jobCode
),
'[LODOP] PRINT_STATUS OK,EXIST'
,
)
jobCode
,
console
.
log
(
`ok:${ok
}
`
,
'[LODOP] PRINT_STATUS OK,EXIST'
,
`exist:${exist
}
`
,
jobCode
,
`jobCode:${jobCode
}
`
,
`ok:${ok
}
`
,
`(${Date.now() - startTime
}
ms)`
,
`exist:${exist
}
`
,
)
`jobCode:${jobCode
}
`
,
if
(
exist
==
0
)
{
`(${Date.now() - startTime
}
ms)`
,
console
.
log
(
'任务不存在了'
,
`exist:${exist
}
`
)
)
// 任务不存在了
if
(
exist
==
0
)
{
callback
&&
callback
(
true
)
console
.
log
(
'任务不存在了'
,
`exist:${exist
}
`
)
return
callback
&&
callback
(
true
)
}
return
}
await
new
Promise
((
r
)
=>
setTimeout
(
r
,
500
))
await
new
Promise
((
r
)
=>
setTimeout
(
r
,
500
))
if
(
Date
.
now
()
-
startTime
>=
30000
)
{
if
(
Date
.
now
()
-
startTime
>=
30000
)
{
console
.
log
(
'打印超时(30秒)'
)
console
.
log
(
'打印超时(30秒)'
)
ElMessage
.
error
(
'打印超时(30秒)'
)
ElMessage
.
error
(
'打印超时(30秒)'
)
callback
&&
callback
(
false
)
callback
&&
callback
(
false
)
return
return
}
}
}
}
else
{
lodop
.
PRINT
()
callback
&&
callback
(
false
)
}
}
}
else
{
lodop
.
PRINT
()
callback
&&
callback
(
false
)
}
}
printOrderChain
=
printOrderChain
.
then
(
run
,
run
)
}
}
let
_lodop
:
LODOPObject
|
null
=
null
let
_lodop
:
LODOPObject
|
null
=
null
let
_lodopCallback
:
{
[
key
:
string
]:
(
value
:
string
)
=>
void
}
=
{
}
let
_lodopCallback
:
{
[
key
:
string
]:
(
value
:
string
)
=>
void
}
=
{
}
...
...
src/views/order/podUs/PodMakeOrder.vue
View file @
6f9c9b9e
...
@@ -1251,9 +1251,6 @@ const initOrderDetailBox = async (type: 'scan' | 'manual' = 'manual') => {
...
@@ -1251,9 +1251,6 @@ const initOrderDetailBox = async (type: 'scan' | 'manual' = 'manual') => {
if
(
type
===
'manual'
&&
boxs
.
length
>
0
)
{
if
(
type
===
'manual'
&&
boxs
.
length
>
0
)
{
nextTick
(
async
()
=>
{
nextTick
(
async
()
=>
{
// 切换箱子至验货完成的箱子
boxChange
.
value
=
true
boxIndex
.
value
=
boxs
[
0
]
as
number
const
token
=
++
pickFinishedAlertToken
const
token
=
++
pickFinishedAlertToken
if
(
token
>
1
)
{
if
(
token
>
1
)
{
ElMessageBox
.
close
()
ElMessageBox
.
close
()
...
@@ -1338,7 +1335,8 @@ const nextStep = async (callback: () => void) => {
...
@@ -1338,7 +1335,8 @@ const nextStep = async (callback: () => void) => {
callback
&&
callback
()
callback
&&
callback
()
})
})
}
catch
(
error
)
{
}
catch
(
error
)
{
productionOrderRef
.
value
.
focus
()
// 取消打单完成时仍允许切换箱子 / 关闭弹窗
callback
&&
callback
()
console
.
error
(
error
)
console
.
error
(
error
)
}
}
}
else
{
}
else
{
...
@@ -1448,15 +1446,24 @@ const handlePrinterChange = (value: string) => {
...
@@ -1448,15 +1446,24 @@ const handlePrinterChange = (value: string) => {
emit
(
'set-printer'
,
value
)
emit
(
'set-printer'
,
value
)
}
}
/** 已自动打印过的订单,避免 WS 回写清掉 printResult 后重复打印 */
const
autoPrintedIds
=
new
Set
<
number
>
()
const
print
=
(
data
:
OrderData
,
forcePrint
=
false
,
callback
?:
()
=>
void
)
=>
{
const
print
=
(
data
:
OrderData
,
forcePrint
=
false
,
callback
?:
()
=>
void
)
=>
{
const
_boxIndex
=
boxIndex
.
value
const
_boxIndex
=
boxIndex
.
value
const
orderId
=
data
.
id
if
(
!
forcePrint
&&
data
.
printResult
)
{
if
(
!
forcePrint
&&
(
data
.
printResult
||
(
orderId
!=
null
&&
autoPrintedIds
.
has
(
orderId
)))
)
{
callback
&&
callback
()
callback
&&
callback
()
return
return
}
}
if
(
!
forcePrint
&&
orderId
!=
null
)
autoPrintedIds
.
add
(
orderId
)
props
.
printOrder
(
data
,
(
status
:
boolean
)
=>
{
props
.
printOrder
(
data
,
(
status
:
boolean
)
=>
{
if
(
!
status
&&
orderId
!=
null
)
autoPrintedIds
.
delete
(
orderId
)
callback
&&
callback
()
callback
&&
callback
()
const
item
=
podBoxList
.
value
?.
find
((
item
)
=>
item
.
box
===
_boxIndex
)
const
item
=
podBoxList
.
value
?.
find
((
item
)
=>
item
.
box
===
_boxIndex
)
if
(
item
&&
item
.
data
)
{
if
(
item
&&
item
.
data
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment