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
09328fe8
Commit
09328fe8
authored
Apr 27, 2026
by
qinjianhui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 称重弹框重开时缓存上次未保存数据,按跟踪号/店铺单号命中缓存免调接口
parent
884223e2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
18 deletions
+28
-18
src/views/order/components/WeightDialog.vue
+1
-0
src/views/order/components/weigh.ts
+27
-18
No files found.
src/views/order/components/WeightDialog.vue
View file @
09328fe8
...
...
@@ -370,6 +370,7 @@ const weightGet = async () => {
const
open
=
()
=>
{
isweight
.
value
=
true
weight
.
stashToCache
()
tableData
.
value
=
[]
selectType
.
value
=
'trackingNumber'
logisticsCompanyCode
.
value
=
''
...
...
src/views/order/components/weigh.ts
View file @
09328fe8
...
...
@@ -55,6 +55,7 @@ type AudioFiles = Record<AudioKey, string>
class
Weigh
extends
Lock
{
public
weightInput
:
boolean
public
list
:
WeighItem
[]
public
cachedList
:
WeighItem
[]
public
selectType
:
string
private
audios
:
AudioFiles
private
audioElements
:
Map
<
AudioKey
,
HTMLAudioElement
>
...
...
@@ -64,6 +65,7 @@ class Weigh extends Lock {
this
.
weightInput
=
true
this
.
selectType
=
'trackingNumber'
this
.
list
=
[]
this
.
cachedList
=
[]
this
.
audios
=
{
weight_warning
:
new
URL
(
'@/assets/audio/weight_warning.mp3'
,
...
...
@@ -102,22 +104,32 @@ class Weigh extends Lock {
clear
():
void
{
this
.
list
=
[]
this
.
cachedList
=
[]
this
.
weightInput
=
true
this
.
selectType
=
'trackingNumber'
}
stashToCache
():
void
{
if
(
this
.
list
.
length
)
{
this
.
cachedList
=
[...
this
.
list
]
}
this
.
list
=
[]
this
.
weightInput
=
true
}
updatedList
(
data
:
WeighItem
[])
{
this
.
weightInput
=
true
this
.
list
=
[...
data
]
}
// 去重逻辑优化
private
deduplicate
(
value
:
string
,
callback
?:
(
list
:
WeighItem
[])
=>
void
,
):
boolean
{
const
existingIndex
=
this
.
list
.
findIndex
(
(
item
)
=>
item
.
trackingNumber
===
value
,
(
item
)
=>
item
.
trackingNumber
===
value
||
(
this
.
selectType
===
'shopNumber'
&&
item
.
shopNumber
===
value
),
)
if
(
existingIndex
!==
-
1
)
{
...
...
@@ -233,12 +245,23 @@ class Weigh extends Lock {
this
.
playAudio
(
'weight_warning'
,
'请录入重量'
)
return
}
// 去重检查
if
(
this
.
deduplicate
(
value
,
callback
))
{
return
}
const
cachedItem
=
this
.
cachedList
.
find
(
(
item
)
=>
(
this
.
selectType
===
'trackingNumber'
&&
item
.
trackingNumber
===
value
)
||
(
this
.
selectType
===
'shopNumber'
&&
item
.
shopNumber
===
value
),
)
if
(
cachedItem
)
{
this
.
list
=
[
cachedItem
,
...
this
.
list
]
this
.
weightInput
=
!!
cachedItem
.
outWarehouseWeight
callback
?.(
this
.
list
)
this
.
playAudio
(
'weight_search_success'
)
return
}
try
{
const
response
=
await
apiCall
(
params
)
console
.
log
(
211
,
response
)
...
...
@@ -250,20 +273,6 @@ class Weigh extends Lock {
return
}
// const waitWeighingList = data.filter(
// (el) => el.status === 'WAIT_WEIGHING',
// )
// if (waitWeighingList.length === 0) {
// this.playAudio(
// 'weight_search_error',
// `必须是待称重状态的订单下的${
// this.selectType === 'trackingNumber' ? '跟踪号' : '店铺单号'
// }才能使用`,
// )
// return
// }
if
(
this
.
list
?.
length
)
{
const
firstLogisticsCode
=
data
[
0
]?.
logisticsCompanyCode
...
...
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