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
02099e7c
Commit
02099e7c
authored
Nov 13, 2025
by
qinjianhui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!99
parents
b20ff136
1cf1eea5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
277 additions
and
6 deletions
+277
-6
src/api/podCnOrder.ts
+1
-1
src/views/order/podCN/components/ChangeWayDialog.vue
+218
-0
src/views/order/podCN/index.vue
+58
-5
No files found.
src/api/podCnOrder.ts
View file @
02099e7c
...
@@ -312,7 +312,7 @@ export function getSuperPodBoxListApi(factoryNo: number | string) {
...
@@ -312,7 +312,7 @@ export function getSuperPodBoxListApi(factoryNo: number | string) {
}
}
// 超级播种墙配货 获取pod订单拣货箱子详情
// 超级播种墙配货 获取pod订单拣货箱子详情
export
function
printNormalPdf
(
ids
:
string
)
{
export
function
printNormalPdf
(
ids
:
string
)
{
return
axios
.
get
<
never
,
BaseRespData
<
string
>>
(
return
axios
.
get
<
never
,
BaseRespData
<
string
>>
(
'factory/podJomallOrderCn/printPickPdf'
,
'factory/podJomallOrderCn/printPickPdf'
,
{
params
:
{
ids
}
},
{
params
:
{
ids
}
},
...
...
src/views/order/podCN/components/ChangeWayDialog.vue
0 → 100644
View file @
02099e7c
<
template
>
<el-dialog
v-model=
"isChangeWay"
:close-on-click-modal=
"false"
:title=
"wayDialogTitle"
>
<el-table
ref=
"changeWayRef"
v-loading=
"isChangeWayLoading"
height=
"400px"
class=
"production-client-table"
:data=
"logisticsWayData"
border
highlight-current-row
@
row-click=
"(v:LogisticsData) =>rowClick(v, wayDialogTitle)"
>
<el-table-column
label=
"序号"
width=
"60"
align=
"center"
type=
"index"
></el-table-column>
<el-table-column
label=
"物流名称"
align=
"center"
prop=
"logisticsWayName"
></el-table-column>
<el-table-column
label=
"发货仓库"
align=
"center"
prop=
"warehouseName"
></el-table-column>
<el-table-column
label=
"物流编码"
align=
"center"
prop=
"logisticsWayCode"
></el-table-column>
<el-table-column
label=
"所在分区"
align=
"center"
prop=
"partition"
></el-table-column>
<el-table-column
label=
"状态"
align=
"center"
>
<template
#
default=
"
{ row }">
<b
v-if=
"row.status"
style=
"color: green"
>
成功
</b>
<b
v-else-if=
"!row.status"
style=
"color: red"
>
失败
</b>
</
template
>
</el-table-column>
<el-table-column
label=
"预计运费(¥)"
align=
"center"
prop=
"payFreight"
>
</el-table-column>
</el-table>
<
template
#
footer
>
<el-button
:disabled=
"isChangeWayLoading"
@
click=
"cancelWayDialog"
>
取消
</el-button>
<el-button
:loading=
"isChangeWayLoading"
type=
"primary"
@
click=
"changeWaySubmit(wayDialogTitle)"
>
确定
</el-button>
</
template
>
</el-dialog>
</template>
<
script
lang=
"ts"
setup
>
import
{
PodCnOrderListData
,
LogisticsData
}
from
'@/types/api/podCnOrder'
const
isChangeWay
=
ref
(
false
)
const
isChangeWayLoading
=
ref
(
false
)
const
changeWayRow
=
ref
<
LogisticsData
>
({}
as
LogisticsData
)
const
logisticsWayData
=
ref
([])
const
changeWayRef
=
ref
()
const
wayDialogTitle
=
ref
(
''
)
const
props
=
withDefaults
(
defineProps
<
{
rowData
:
PodCnOrderListData
|
null
getTableFn
?:
(...
args
:
any
[])
=>
any
submitFn
?:
(...
args
:
any
[])
=>
any
changeLogisticsApi
?:
(...
args
:
any
[])
=>
any
}
>
(),
{
rowData
:
()
=>
({}
as
PodCnOrderListData
),
getTableFn
:
()
=>
{},
submitFn
:
()
=>
{},
changeLogisticsApi
:
()
=>
{},
},
)
const
rowClick
=
(
row
:
LogisticsData
,
title
?:
string
)
=>
{
console
.
log
(
title
,
'title'
)
try
{
// if (title == '创建物流订单') {
// changeWayRow.value = row
// } else {
// if (row.logisticsWayId === selection.value[0]?.logisticsWayId) {
// ElMessage.warning('不能选择相同的物流方式')
// changeWayRow.value = {} as LogisticsData
// changeWayRef.value?.setCurrentRow()
// return
// }
changeWayRow
.
value
=
row
// }
}
catch
(
error
)
{
console
.
log
(
error
)
}
}
const
cancelWayDialog
=
()
=>
{
changeWayRow
.
value
=
{}
as
LogisticsData
changeWayRef
.
value
?.
setCurrentRow
()
isChangeWay
.
value
=
false
logisticsWayData
.
value
=
[]
}
//确认物流
const
changeWaySubmit
=
async
(
title
:
string
)
=>
{
console
.
log
(
'title'
,
title
)
console
.
log
(
'changeWayRow'
,
changeWayRow
.
value
)
console
.
log
(
'rowData'
,
props
.
rowData
)
const
{
changeLogisticsApi
,
submitFn
}
=
props
if
(
!
changeWayRow
.
value
?.
logisticsWayId
)
{
return
ElMessage
.
warning
(
'请选择一条物流方式'
)
}
if
(
!
changeWayRow
.
value
.
status
)
{
return
ElMessage
.
warning
(
'请选择状态为成功的物流方式'
)
}
let
Fn
if
(
title
!==
'创建物流订单'
)
{
if
(
changeWayRow
.
value
?.
logisticsWayId
===
props
.
rowData
?.
logisticsWayId
)
{
return
ElMessage
.
warning
(
'更改的物流方式不能相同'
)
}
Fn
=
changeLogisticsApi
}
else
{
Fn
=
submitFn
}
isChangeWayLoading
.
value
=
true
try
{
const
params
=
{
updateByIdParam
:
{
id
:
props
.
rowData
?.
id
||
''
,
dataVersion
:
props
.
rowData
?.
version
as
number
,
},
logisticsTrialCalculation
:
{
...
changeWayRow
.
value
},
}
await
Fn
(
params
)
isChangeWay
.
value
=
false
isChangeWayLoading
.
value
=
false
ElMessage
.
success
(
'操作成功'
)
emits
(
'confirm'
)
}
catch
(
error
)
{
console
.
log
(
error
)
}
finally
{
isChangeWayLoading
.
value
=
false
logisticsWayData
.
value
=
[]
}
}
const
showDialog
=
async
()
=>
{
const
{
rowData
,
getTableFn
}
=
props
try
{
if
(
rowData
)
{
wayDialogTitle
.
value
=
`切换物流(当前物流方式:
${
rowData
.
logisticsWayName
||
'空'
}
)`
isChangeWay
.
value
=
true
isChangeWayLoading
.
value
=
true
const
{
data
}
=
await
getTableFn
(
rowData
.
id
as
number
)
logisticsWayData
.
value
=
data
}
}
catch
(
error
)
{
console
.
error
(
error
)
}
finally
{
isChangeWayLoading
.
value
=
false
}
}
const
emits
=
defineEmits
<
{
(
e
:
'confirm'
):
void
}
>
()
defineExpose
({
showDialog
,
})
</
script
>
<
style
lang=
"scss"
scoped
>
.production-client-table
{
::v-deep(.current-row
>
td.el-table__cell)
{
background-color
:
#409eff
;
color
:
white
;
&
>
td.el-table__cell
{
color
:
white
!important
;
background-color
:
#409eff
;
}
//
&
:hover
{
//
color
:
#808285
;
//
}
}
:deep
()
{
.current-row
{
&:hover
{
td.el-table__cell
{
color
:
#808285
;
}
}
}
}
}
</
style
>
src/views/order/podCN/index.vue
View file @
02099e7c
...
@@ -612,8 +612,7 @@
...
@@ -612,8 +612,7 @@
<!-- 代发:0.自有物流 1.工厂物流; 不代发: 0.自提 1.快递-->
<!-- 代发:0.自有物流 1.工厂物流; 不代发: 0.自提 1.快递-->
<
template
<
template
v-if=
"
v-if=
"
(status === 'CREATE_LOGISTICS' && shipmentArea === 1) ||
status === 'CREATE_LOGISTICS' || status === 'WAIT_SHIPMENT'
status === 'WAIT_SHIPMENT'
"
"
#
dropdown
#
dropdown
>
>
...
@@ -1387,6 +1386,18 @@
...
@@ -1387,6 +1386,18 @@
{{
row
.
warehouseName
}}
{{
row
.
warehouseName
}}
<
/span
>
<
/span
>
<
/div
>
<
/div
>
<
div
v
-
if
=
"row.status !== 'TO_BE_CONFIRMED'"
class
=
"order-detail-item"
>
<
span
class
=
"order-detail-item-label"
>
物流方式
:
<
/span
>
<
span
class
=
"order-detail-item-value"
:
title
=
"row.logisticsWayName"
>
{{
row
.
logisticsWayName
}}
<
/span
>
<
/div
>
<
div
class
=
"order-detail-item"
>
<
div
class
=
"order-detail-item"
>
<
span
class
=
"order-detail-item-label"
>
收货人
:
<
/span
>
<
span
class
=
"order-detail-item-label"
>
收货人
:
<
/span
>
<
span
class
=
"order-detail-item-value"
:
title
=
"row.receiverName"
>
<
span
class
=
"order-detail-item-value"
:
title
=
"row.receiverName"
>
...
@@ -1685,6 +1696,18 @@
...
@@ -1685,6 +1696,18 @@
<
/span
>
<
/span
>
<
span
<
span
v
-
if
=
"
v
-
if
=
"
(status === 'WAIT_SHIPMENT' ||
status === 'CREATE_LOGISTICS') &&
row.shipmentType === 1
"
class
=
"operate-item"
>
<
ElButton
link
type
=
"primary"
@
click
=
"handleStockOut(row)"
>
更换物流
<
/ElButton
>
<
/span
>
<
span
v
-
if
=
"
(row.replaceShipment === 1 &&
(row.replaceShipment === 1 &&
['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)) ||
['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)) ||
(row.replaceShipment === 0 &&
(row.replaceShipment === 0 &&
...
@@ -2487,6 +2510,19 @@
...
@@ -2487,6 +2510,19 @@
<
el
-
button
type
=
"primary"
@
click
=
"submitTypesetting"
>
确认
<
/el-button
>
<
el
-
button
type
=
"primary"
@
click
=
"submitTypesetting"
>
确认
<
/el-button
>
<
/template
>
<
/template
>
<
/ElDialog
>
<
/ElDialog
>
<
ChangeWayDialog
ref
=
"changeWayDialogRef"
:
row
-
data
=
"currentItem"
:
get
-
table
-
fn
=
"getLogisticsCalculation"
:
submit
-
fn
=
"createLogisticsOrdersApi"
:
change
-
logistics
-
api
=
"changeLogisticsApi"
@
confirm
=
"
() => {
search()
loadTabData()
}
"
><
/ChangeWayDialog
>
<
/template
>
<
/template
>
<
script
setup
lang
=
"ts"
>
<
script
setup
lang
=
"ts"
>
import
{
getUserMarkList
}
from
'@/api/common'
import
{
getUserMarkList
}
from
'@/api/common'
...
@@ -2552,10 +2588,11 @@ import {
...
@@ -2552,10 +2588,11 @@ import {
batchDownloadRecomposingApi
,
batchDownloadRecomposingApi
,
getCustomTagListCnApi
,
getCustomTagListCnApi
,
printNormalPdf
,
printNormalPdf
,
changeLogisticsApi
,
}
from
'@/api/podCnOrder'
}
from
'@/api/podCnOrder'
import
{
BaseRespData
}
from
'@/types/api'
import
{
BaseRespData
}
from
'@/types/api'
import
ChangeWayDialog
from
'./components/ChangeWayDialog.vue'
import
UpdateAddress
from
'./components/updateAddress.vue'
import
UpdateAddress
from
'./components/updateAddress.vue'
import
{
useEnterKeyTrigger
}
from
'@/utils/hooks/useEnterKeyTrigger.ts'
import
{
useEnterKeyTrigger
}
from
'@/utils/hooks/useEnterKeyTrigger.ts'
...
@@ -4552,8 +4589,14 @@ const getOrderByIdApi = async (type: string) => {
...
@@ -4552,8 +4589,14 @@ const getOrderByIdApi = async (type: string) => {
message
:
'创建物流订单'
,
message
:
'创建物流订单'
,
Fn
:
createLogisticsOrdersApi
,
Fn
:
createLogisticsOrdersApi
,
}
,
}
,
getTrackingNumber
:
{
message
:
'获取跟踪号'
,
Fn
:
getTrackingNumberApi
}
,
getTrackingNumber
:
{
getPrintOrder
:
{
message
:
'获取打印面单'
,
Fn
:
getfaceSimplexFileApi
}
,
message
:
'获取跟踪号'
,
Fn
:
getTrackingNumberApi
,
}
,
getPrintOrder
:
{
message
:
'获取打印面单'
,
Fn
:
getfaceSimplexFileApi
,
}
,
cancelLogisticsOrder
:
{
cancelLogisticsOrder
:
{
message
:
'取消物流订单'
,
message
:
'取消物流订单'
,
Fn
:
cancelLogisticsOrderApi
,
Fn
:
cancelLogisticsOrderApi
,
...
@@ -5326,6 +5369,16 @@ const getTagName = (row: ProductList) => {
...
@@ -5326,6 +5369,16 @@ const getTagName = (row: ProductList) => {
:
''
:
''
}
}
const
currentItem
=
ref
<
PodCnOrderListData
|
null
>
(
null
)
const
changeWayDialogRef
=
ref
()
const
handleStockOut
=
async
(
row
:
PodCnOrderListData
)
=>
{
currentItem
.
value
=
row
nextTick
(()
=>
{
changeWayDialogRef
.
value
?.
showDialog
()
}
)
}
useRouter
().
beforeEach
((
to
,
from
,
next
)
=>
{
useRouter
().
beforeEach
((
to
,
from
,
next
)
=>
{
handleBeforeRouteLeave
(
to
,
from
,
next
)
handleBeforeRouteLeave
(
to
,
from
,
next
)
}
)
}
)
...
...
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