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
012b8e9c
Commit
012b8e9c
authored
Aug 07, 2026
by
wusiyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 订单添加质检流程 #1009863
parent
1e686a98
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
51 additions
and
16 deletions
+51
-16
src/api/factoryOrderNew.ts
+10
-0
src/types/api/factoryOrderNew/index.ts
+1
-0
src/views/order/components/FastProduction.vue
+0
-0
src/views/order/factoryOrderNew/component/QualityFailDialog.vue
+11
-3
src/views/order/factoryOrderNew/index.vue
+29
-13
No files found.
src/api/factoryOrderNew.ts
View file @
012b8e9c
...
...
@@ -591,6 +591,16 @@ export function getByOperationNoLogApi(operationNo: string) {
)
}
// 快捷质检 查询
export
function
getQualityScanByOperationNoApi
(
operationNo
:
string
)
{
return
axios
.
get
<
never
,
BaseRespData
<
operateOrderListData
>>
(
'factory/podOrderOperation/qualityByOperationNo'
,
{
params
:
{
operationNo
},
},
)
}
// 校验库存
export
function
checkInventoryApi
(
id
:
number
|
string
,
status
:
string
)
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
src/types/api/factoryOrderNew/index.ts
View file @
012b8e9c
...
...
@@ -313,6 +313,7 @@ export interface QualityParams {
qualityIssues
:
string
qualify_problem_type
:
number
|
string
qualityPassed
:
boolean
source
?:
number
// 0 列表页,1 快捷质检
}
/** 质检不通过原因 */
...
...
src/views/order/components/FastProduction.vue
View file @
012b8e9c
This diff is collapsed.
Click to expand it.
src/views/order/factoryOrderNew/component/QualityFailDialog.vue
View file @
012b8e9c
...
...
@@ -68,6 +68,7 @@ const emit = defineEmits<{
const
visible
=
ref
(
false
)
const
submitLoading
=
ref
(
false
)
const
qualityPassed
=
ref
(
true
)
const
source
=
ref
(
0
)
// 0 列表页,1 快捷质检
const
formRef
=
ref
<
FormInstance
>
()
const
updateParams
=
ref
<
{
id
:
number
;
version
?:
number
}[]
>
([])
const
reasonOptions
=
ref
<
QualityTypeItem
[]
>
([])
...
...
@@ -110,13 +111,17 @@ const handleReasonChange = () => {
formRef
.
value
?.
clearValidate
(
'qualify_problem_type'
)
}
/** qualityPassed: true 质检通过,false 质检不通过 */
const
open
=
(
rows
:
{
id
:
number
;
version
?:
number
}[],
passed
:
boolean
)
=>
{
const
open
=
(
rows
:
{
id
:
number
;
version
?:
number
}[],
passed
:
boolean
,
sourceType
:
number
=
0
,
)
=>
{
updateParams
.
value
=
rows
.
map
((
row
)
=>
({
id
:
row
.
id
,
version
:
row
.
version
,
}))
qualityPassed
.
value
=
passed
source
.
value
=
sourceType
form
.
reasonKey
=
undefined
form
.
qualify_problem_type
=
''
visible
.
value
=
true
...
...
@@ -147,10 +152,13 @@ const handleSubmit = async () => {
?
form
.
qualify_problem_type
:
(
form
.
reasonKey
as
number
|
string
),
qualityPassed
:
qualityPassed
.
value
,
source
:
source
.
value
,
}
const
res
=
await
qualityPodOrderOperationApi
(
params
)
if
(
res
.
code
!==
200
)
return
ElMessage
.
success
(
'操作成功'
)
if
(
source
.
value
!==
1
)
{
ElMessage
.
success
(
'操作成功'
)
}
visible
.
value
=
false
emit
(
'success'
)
}
catch
(
e
)
{
...
...
src/views/order/factoryOrderNew/index.vue
View file @
012b8e9c
...
...
@@ -638,7 +638,9 @@
>
<
/span
>
<
span
v
-
if
=
"['IN_PRODUCTION'].includes(status)"
class
=
"item"
>
<
ElButton
type
=
"success"
@
click
=
"handleQuickProduction()"
<
ElButton
type
=
"success"
@
click
=
"handleQuickProduction('productionScan')"
>
快捷生产
<
/ElButto
n
>
<
/span
>
...
...
@@ -765,7 +767,12 @@
<
/span
>
<!--
待质检
-->
<
span
v
-
if
=
"status === 'PENDING_QUALITY'"
class
=
"item"
>
<
ElButton
type
=
"primary"
@
click
=
"() => {
}
"
>
快捷质检
<
/ElButton
>
<
ElButton
type
=
"primary"
@
click
=
"handleQuickProduction('qualityScan')"
>
快捷质检
<
/ElButton
>
<
/span
>
<
span
v
-
if
=
"status === 'PENDING_QUALITY'"
class
=
"item"
>
<
ElButton
type
=
"success"
@
click
=
"handleQuality(true)"
>
...
...
@@ -1147,11 +1154,16 @@
pending
-
order
-
label
=
"操作单号"
please
-
scan
-
tip
=
"请扫码操作单号"
search
-
input
-
audio
-
tip
=
"请录入操作单号"
history
-
storage
-
key
=
"historyFactoryOrderNewData"
:
history
-
storage
-
key
=
"
fastKey === 'qualityScan'
? 'historyFactoryOrderNewQualityData'
: 'historyFactoryOrderNewData'
"
tracking
-
placeholder
=
"扫描枪输入操作单号"
:
query
-
api
=
"getOperationByNo"
:
complete
-
api
=
"completeOperationById"
:
download
-
api
=
"downloadOperationById"
:
print
-
api
=
"printOperationById"
@
on
-
success
=
"handleFastProductionSuccess"
@
close
=
"fastClose"
/>
...
...
@@ -1371,6 +1383,7 @@ import {
completeDeliveryApi
,
productionScanApi
,
getByOperationNoLogApi
,
getQualityScanByOperationNoApi
,
listByNoPodOrderApi
,
orderWeighingPodOrderApi
,
finishShipmentPodOrderApi
,
...
...
@@ -2638,7 +2651,6 @@ const suspendDialogRef = ref<InstanceType<typeof SuspendDialog>>()
const
pickCompleteDialogRef
=
ref
<
InstanceType
<
typeof
PickCompleteDialog
>>
()
const
pickFailDialogRef
=
ref
<
InstanceType
<
typeof
PickFailDialog
>>
()
const
qualityFailDialogRef
=
ref
<
InstanceType
<
typeof
QualityFailDialog
>>
()
const
fastQualifyRef
=
ref
<
InstanceType
<
typeof
FastQualify
>>
()
const
operateDetailsDialogRef
=
ref
()
const
arrangeDialogRef
=
ref
<
InstanceType
<
typeof
ArrangeDialog
>>
()
const
createLogisticDialogRef
=
ref
()
...
...
@@ -3515,7 +3527,9 @@ const handleReplenishFail = () => {
}
)
}
const
getOperationByNo
=
(
operationNo
:
string
)
=>
getByOperationNoLogApi
(
operationNo
)
as
Promise
<
{
data
?:
unknown
}
>
(
fastKey
.
value
===
'qualityScan'
?
getQualityScanByOperationNoApi
(
operationNo
)
:
getByOperationNoLogApi
(
operationNo
))
as
Promise
<
{
data
?:
unknown
}
>
const
completeOperationById
=
(
ids
:
number
[],
detailData
?:
Record
<
string
,
unknown
>
,
...
...
@@ -3530,8 +3544,13 @@ const completeOperationById = (
const
downloadOperationById
=
(
ids
:
number
[])
=>
downloadOperationMaterialApi
(
ids
)
const
printOperationById
=
(
ids
:
number
[])
=>
printNewPodOrderProductionOrderApi
(
ids
)
as
Promise
<
{
code
?:
number
message
?:
string
}
>
const
handleFastProductionSuccess
=
(
data
:
ResultInfoDataItem
[])
=>
{
if
(
fastKey
.
value
===
'productionScan'
)
{
if
(
fastKey
.
value
===
'productionScan'
||
fastKey
.
value
===
'qualityScan'
)
{
ElMessage
.
success
(
'操作成功'
)
return
}
...
...
@@ -3584,11 +3603,11 @@ const handleViewDetail = async (item: operateOrderListData) => {
}
}
const
isLimitScan
=
ref
(
false
)
const
handleQuickProduction
=
()
=>
{
detailVisible
.
value
=
true
fastKey
.
value
=
'productionScan'
const
handleQuickProduction
=
(
key
:
string
)
=>
{
fastKey
.
value
=
key
isLimitScan
.
value
=
true
detailData
.
value
=
{
}
detailVisible
.
value
=
true
}
const
handleSinglePrint
=
()
=>
{
podDistributionOrderVisible
.
value
=
true
...
...
@@ -3696,12 +3715,9 @@ const handleGetOrderInventoryDetail = async () => {
const
handleQuality
=
(
qualityPassed
:
boolean
)
=>
{
if
(
!
ensureSelection
())
return
const
rows
=
isCardLayout
.
value
?
cardSelectList
.
value
:
selectedRows
.
value
qualityFailDialogRef
.
value
?.
open
(
rows
,
qualityPassed
)
qualityFailDialogRef
.
value
?.
open
(
rows
,
qualityPassed
,
0
)
}
const
handleFastQualify
=
()
=>
{
fastQualifyRef
.
value
?.
open
()
}
const
isEnableSorting
=
ref
(
false
)
// 获取功能开关
const
getFunctionSwitch
=
async
()
=>
{
...
...
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