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
0
Merge Requests
0
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
3a36ae3a
Commit
3a36ae3a
authored
Aug 02, 2025
by
linjinhong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/newTask-lin' into dev
parents
f4a56ad5
a85d1012
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
157 additions
and
4 deletions
+157
-4
src/api/podUsOrder.ts
+11
-0
src/views/order/podUs/index.vue
+146
-4
No files found.
src/api/podUsOrder.ts
View file @
3a36ae3a
...
...
@@ -505,3 +505,14 @@ export function updateToWaitShipmentApi(params: {
params
,
)
}
// 驳回
export
function
rejectToApi
(
params
:
{
orderStatus
:
string
productList
:
ProductList
[]
reasonStr
:
string
})
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
`factory/podJomallOrderUs/rejectTo`
,
params
,
)
}
src/views/order/podUs/index.vue
View file @
3a36ae3a
...
...
@@ -412,7 +412,7 @@
<ElDropdownMenu>
<ElDropdownItem
:disabled=
"
selection.length === 0
||
(selection.length === 0 && cardSelection.length === 0)
||
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('createLogisticsOrder')"
...
...
@@ -420,7 +420,7 @@
>
<ElDropdownItem
:disabled=
"
selection.length === 0
||
(selection.length === 0 && cardSelection.length === 0)
||
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('getTrackingNumber')"
...
...
@@ -428,7 +428,7 @@
>
<ElDropdownItem
:disabled=
"
selection.length === 0
||
(selection.length === 0 && cardSelection.length === 0)
||
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('getPrintOrder')"
...
...
@@ -436,7 +436,7 @@
>
<ElDropdownItem
:disabled=
"
selection.length === 0
||
(selection.length === 0 && cardSelection.length === 0)
||
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('cancelLogisticsOrder')"
...
...
@@ -488,6 +488,61 @@
刷新商品信息
</ElButton>
</span>
<span
v-if=
"
status === 'STOCK_OUT' ||
status === 'CREATE_LOGISTICS' ||
status === 'TO_BE_ARRANGE' ||
status === 'PICKING' ||
status === 'IN_PRODUCTION'
"
class=
"item"
>
<ElDropdown>
<el-button
type=
"warning"
>
驳回至
<el-icon
class=
"el-icon--right"
><ArrowDown
/></el-icon>
</el-button>
<
template
#
dropdown
>
<ElDropdownMenu>
<ElDropdownItem
:disabled=
"
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('TO_BE_CONFIRMED')"
>
待确认
</ElDropdownItem
>
<ElDropdownItem
v-if=
"
status === 'IN_PRODUCTION' ||
status === 'TO_BE_ARRANGE' ||
status === 'PICKING'
"
:disabled=
"
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('CREATE_LOGISTICS')"
>
待创建物流
</ElDropdownItem
>
<ElDropdownItem
v-if=
"status === 'PICKING' || status === 'IN_PRODUCTION'"
:disabled=
"
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('TO_BE_ARRANGE')"
>
待排单
</ElDropdownItem
>
<ElDropdownItem
v-if=
"status === 'IN_PRODUCTION'"
:disabled=
"
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('PICKING')"
>
待拣胚
</ElDropdownItem
>
</ElDropdownMenu>
</
template
>
</ElDropdown>
</span>
<span
v-if=
"status === 'COMPLETE'"
class=
"item"
>
<ElButton
type=
"success"
@
click=
"exportData"
>
导出
</ElButton>
</span>
...
...
@@ -573,6 +628,43 @@
<span
class=
"sub-status-item-label"
>
待同步
</span>
</div>
</div>
<div
v-if=
"status === 'EXCEPTION_ORDER1'"
class=
"sub-status mb-10"
>
<div
class=
"sub-status-item"
:class=
"exceptionStatus === 1 ? 'sub-active' : ''"
@
click=
"handleExceptionCommand(1)"
>
<span
class=
"sub-status-item-label"
>
生产拦截申请
</span>
</div>
<div
class=
"sub-status-item"
:class=
"exceptionStatus === 2 ? 'sub-active' : ''"
@
click=
"handleExceptionCommand(2)"
>
<span
class=
"sub-status-item-label"
>
生产拦截成功
</span>
</div>
<div
class=
"sub-status-item"
:class=
"exceptionStatus === 3 ? 'sub-active' : ''"
@
click=
"handleExceptionCommand(3)"
>
<span
class=
"sub-status-item-label"
>
生产拦截申请
</span>
</div>
<div
class=
"sub-status-item"
:class=
"exceptionStatus === 3 ? 'sub-active' : ''"
@
click=
"handleExceptionCommand(3)"
>
<span
class=
"sub-status-item-label"
>
生产拦截成功
</span>
</div>
<div
class=
"sub-status-item"
:class=
"exceptionStatus === 3 ? 'sub-active' : ''"
@
click=
"handleExceptionCommand(3)"
>
<span
class=
"sub-status-item-label"
>
生产拦截失败
</span>
</div>
</div>
<div
v-if=
"
status !== 'IN_PRODUCTION' &&
...
...
@@ -2032,6 +2124,7 @@ import {
batchDownloadRecomposingApi
,
updateToWaitShipmentApi
,
exportPodUSInfo
,
rejectToApi
,
}
from
'@/api/podUsOrder'
import
{
BaseRespData
}
from
'@/types/api'
...
...
@@ -3556,6 +3649,55 @@ const getOrderByIdApi = async (type: string) => {
ElMessage
.
warning
(
'未知操作类型'
)
}
}
// 驳回
const
rejectOrder
=
async
(
type
:
string
)
=>
{
if
(
selection
.
value
.
length
===
0
&&
cardSelection
.
value
.
length
===
0
)
{
return
ElMessage
.
warning
(
'请选择数据'
)
}
const
loading
=
ElLoading
.
service
({
fullscreen
:
true
,
text
:
'操作中...'
,
background
:
'rgba(0, 0, 0, 0.3)'
,
}
)
try
{
const
{
value
}
=
await
ElMessageBox
.
prompt
(
'驳回确认'
,
{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
inputType
:
'textarea'
,
inputPlaceholder
:
'驳回原因'
,
inputPattern
:
/
\S
+/
,
// 非空验证,至少一个非空白字符
inputErrorMessage
:
'内容不能为空'
,
}
)
const
res
=
await
rejectToApi
({
orderStatus
:
type
,
productList
:
selection
.
value
.
length
?
selection
.
value
.
flatMap
(
(
item
:
PodUsOrderListData
)
=>
item
.
productList
||
[],
)
:
cardSelection
.
value
,
reasonStr
:
value
,
}
)
if
(
res
.
code
!==
200
)
return
resultInfo
.
value
=
res
.
data
resultInfo
.
value
=
resultInfo
.
value
.
filter
((
item
)
=>
!
item
.
status
)
if
(
!
resultInfo
.
value
.
length
)
{
ElMessage
.
success
(
'操作成功'
)
search
()
loadTabData
()
}
else
{
resultRefs
.
value
?.
showDialog
()
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
finally
{
loading
.
close
()
}
}
const
handleStockOut
=
async
(
row
:
PodUsOrderListData
)
=>
{
wayDialogTitle
.
value
=
`切换物流(当前物流方式:${row.logisticsWayName
}
)`
...
...
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