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
9deae37e
Commit
9deae37e
authored
Nov 27, 2025
by
zhuzhequan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:pod订单(us) 添加prn文件上传下载
parent
8f57c541
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
253 additions
and
136 deletions
+253
-136
src/api/podUsOrder.ts
+17
-0
src/types/api/podUsOrder.ts
+3
-0
src/views/order/podUs/index.vue
+233
-136
No files found.
src/api/podUsOrder.ts
View file @
9deae37e
...
...
@@ -85,6 +85,23 @@ export function getCardOrderList(
},
)
}
export
function
uploadPRNFile
(
id
:
number
,
data
:
FormData
,
)
{
return
axios
.
post
<
never
,
BaseRespData
<
string
>>
(
`/factory/podBatchDownload/uploadPRNFile?id=
${
id
}
`
,
data
)
}
export
function
updatePRNDownloadStatus
(
id
:
number
)
{
return
axios
.
get
<
never
,
BaseRespData
<
string
>>
(
`/factory/podBatchDownload/updatePRNDownloadStatus?id=
${
id
}
`
)
}
export
function
confirmOrderApi
(
data
:
number
[],
productionClient
:
string
,
...
...
src/types/api/podUsOrder.ts
View file @
9deae37e
...
...
@@ -48,8 +48,11 @@ export interface SearchForm {
export
interface
PodUsOrderListData
{
id
:
number
thirdOrderNumber
?:
string
prnUrl
?:
string
factoryOrderNumber
?:
string
prnDownloadStatus
?:
boolean
shopNumber
?:
string
isUpload
?:
boolean
factoryOnlineId
?:
number
|
null
factoryNo
?:
number
|
null
factoryCode
?:
string
|
null
...
...
src/views/order/podUs/index.vue
View file @
9deae37e
...
...
@@ -379,14 +379,14 @@
<ElFormItem>
<span>
<ElButton
link
style=
"font-size: 12px"
@
click=
"resetSearchForm"
><span
title=
"重置查询条件"
>
重置
</span></ElButton
><span
title=
"重置查询条件"
>
重置
</span></ElButton
>
</span>
</ElFormItem>
<ElFormItem>
<span>
<ElButton
ref=
"searchBtnRef"
type=
"primary"
@
click=
"search"
>
查询
</ElButton
>
查询
</ElButton
>
</span>
</ElFormItem>
...
...
@@ -399,33 +399,43 @@
>
<ElDropdown>
<el-button
type=
"primary"
>
DTF排版
<el-icon
class=
"el-icon--right"
><ArrowDown
/></el-icon>
DTF排版
<el-icon
class=
"el-icon--right"
>
<ArrowDown
/>
</el-icon>
</el-button>
<
template
#
dropdown
>
<ElDropdownMenu>
<ElDropdownItem
:loading=
"tifDownloadLoading"
@
click=
"downloadTif('tiff', 42)"
>
TIF(40+2cm)
</ElDropdownItem
>
TIF(40+2cm)
</ElDropdownItem
>
<ElDropdownItem
:loading=
"tifDownloadLoading"
@
click=
"downloadTif('tiff', 60)"
>
TIF(60cm)
</ElDropdownItem
>
TIF(60cm)
</ElDropdownItem
>
<ElDropdownItem
:loading=
"pngDownloadLoading"
@
click=
"downloadTif('png', 42)"
>
PNG(40+2cm)
</ElDropdownItem
>
PNG(40+2cm)
</ElDropdownItem
>
<ElDropdownItem
:loading=
"pngDownloadLoading"
@
click=
"downloadTif('png', 60)"
>
PNG(60cm)
</ElDropdownItem
>
PNG(60cm)
</ElDropdownItem
>
</ElDropdownMenu></
template
></ElDropdown
></ElFormItem
</ElDropdownMenu>
</
template
>
</ElDropdown
>
</ElFormItem
>
<!-- <ElFormItem
v-if="
...
...
@@ -609,7 +619,7 @@
<ElFormItem
v-if=
"status === 'WAIT_SHIPMENT'"
>
<span
class=
"item"
>
<ElButton
type=
"primary"
@
click=
"completeDelivery()"
>
完成发货
</ElButton
>
完成发货
</ElButton
>
</span>
</ElFormItem>
...
...
@@ -629,7 +639,7 @@
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('createLogisticsOrder')"
>
创建物流订单
</ElDropdownItem
>
创建物流订单
</ElDropdownItem
>
<ElDropdownItem
:disabled=
"
...
...
@@ -637,7 +647,7 @@
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('getTrackingNumber')"
>
获取跟踪号
</ElDropdownItem
>
获取跟踪号
</ElDropdownItem
>
<ElDropdownItem
:disabled=
"
...
...
@@ -645,7 +655,7 @@
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('getPrintOrder')"
>
获取打印面单
</ElDropdownItem
>
获取打印面单
</ElDropdownItem
>
<ElDropdownItem
:disabled=
"
...
...
@@ -653,7 +663,7 @@
selection.some((item) => item.shipmentType !== 1)
"
@
click=
"getOrderByIdApi('cancelLogisticsOrder')"
>
取消物流订单
</ElDropdownItem
>
取消物流订单
</ElDropdownItem
>
<!--
<ElDropdownItem
:disabled=
"
...
...
@@ -690,7 +700,7 @@
>
<span
class=
"item"
>
<ElButton
type=
"primary"
@
click=
"downloadMaterial"
>
下载素材
</ElButton
>
下载素材
</ElButton
>
</span>
</ElFormItem>
...
...
@@ -766,7 +776,7 @@
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('TO_BE_CONFIRMED')"
>
待确认
</ElDropdownItem
>
待确认
</ElDropdownItem
>
<ElDropdownItem
v-if=
"
...
...
@@ -778,7 +788,7 @@
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('CREATE_LOGISTICS')"
>
待创建物流
</ElDropdownItem
>
待创建物流
</ElDropdownItem
>
<ElDropdownItem
v-if=
"status === 'PICKING' || status === 'IN_PRODUCTION'"
...
...
@@ -786,7 +796,7 @@
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('TO_BE_ARRANGE')"
>
待排单
</ElDropdownItem
>
待排单
</ElDropdownItem
>
<ElDropdownItem
v-if=
"status === 'IN_PRODUCTION'"
...
...
@@ -794,7 +804,7 @@
selection.length === 0 && cardSelection.length === 0
"
@
click=
"rejectOrder('PICKING')"
>
待拣胚
</ElDropdownItem
>
待拣胚
</ElDropdownItem
>
</ElDropdownMenu>
</
template
>
...
...
@@ -822,7 +832,7 @@
<ElFormItem
v-if=
"status === 'BATCH_DOWNLOAD'"
>
<span
class=
"item"
>
<ElButton
type=
"danger"
@
click=
"handleBatchDelete('batch')"
>
批量删除
</ElButton
>
批量删除
</ElButton
>
</span>
</ElFormItem>
...
...
@@ -850,7 +860,7 @@
blue: item.quantity && item.quantity > 0,
red: item.status === 'EXCEPTION_ORDER',
}"
>
{{ item.quantity }}
</span
>
{{ item.quantity }}
</span
>
<span
v-if=
"
...
...
@@ -859,9 +869,9 @@
interceptionStatus.shipment['0'])
"
class=
"tabs-node-quantity"
>
+{{
>
+{{
(interceptionStatus.production['0'] || 0) +
(interceptionStatus.shipment['0'] || 0) || ''
(interceptionStatus.shipment['0'] || 0) || ''
}}
</span
>
</div>
...
...
@@ -931,11 +941,11 @@
@
click=
"handleWaitTrackCommand(1)"
>
<span
class=
"sub-status-item-label"
>
{{
trackRegisterCount[0]?.name
}}
</span>
trackRegisterCount[0]?.name
}}
</span>
<span
class=
"tabs-node_count"
>
{{
trackRegisterCount[0]?.count || 0
}}
</span>
trackRegisterCount[0]?.count || 0
}}
</span>
</div>
<div
class=
"sub-status-item"
...
...
@@ -943,11 +953,11 @@
@
click=
"handleWaitTrackCommand(2)"
>
<span
class=
"sub-status-item-label"
>
{{
trackRegisterCount[1]?.name
}}
</span>
trackRegisterCount[1]?.name
}}
</span>
<span
class=
"tabs-node_count blue"
>
{{
trackRegisterCount[1]?.count || 0
}}
</span>
trackRegisterCount[1]?.count || 0
}}
</span>
</div>
<div
class=
"sub-status-item"
...
...
@@ -955,11 +965,11 @@
@
click=
"handleWaitTrackCommand(3)"
>
<span
class=
"sub-status-item-label"
>
{{
trackRegisterCount[2]?.name
}}
</span>
trackRegisterCount[2]?.name
}}
</span>
<span
class=
"tabs-node_count green"
>
{{
trackRegisterCount[2]?.count || 0
}}
</span>
trackRegisterCount[2]?.count || 0
}}
</span>
</div>
<div
class=
"sub-status-item"
...
...
@@ -967,11 +977,11 @@
@
click=
"handleWaitTrackCommand(4)"
>
<span
class=
"sub-status-item-label"
>
{{
trackRegisterCount[3]?.name
}}
</span>
trackRegisterCount[3]?.name
}}
</span>
<span
class=
"tabs-node_count yellow"
>
{{
trackRegisterCount[3]?.count || 0
}}
</span>
trackRegisterCount[3]?.count || 0
}}
</span>
</div>
<div
class=
"sub-status-item"
...
...
@@ -979,11 +989,11 @@
@
click=
"handleWaitTrackCommand(5)"
>
<span
class=
"sub-status-item-label"
>
{{
trackRegisterCount[4]?.name
}}
</span>
trackRegisterCount[4]?.name
}}
</span>
<span
class=
"tabs-node_count red"
>
{{
trackRegisterCount[4]?.count || 0
}}
</span>
trackRegisterCount[4]?.count || 0
}}
</span>
</div>
</div>
<div
v-if=
"status === 'INTERCEPTED'"
class=
"sub-status mb-10"
>
...
...
@@ -996,7 +1006,7 @@
<span
v-if=
"interceptionStatus.production['0']"
class=
"tabs-node_count blue"
>
{{ interceptionStatus.production['0'] }}
</span
>
{{ interceptionStatus.production['0'] }}
</span
>
</div>
<div
...
...
@@ -1008,7 +1018,7 @@
<span
v-if=
"interceptionStatus.production['1']"
class=
"tabs-node_count blue"
>
{{ interceptionStatus.production['1'] }}
</span
>
{{ interceptionStatus.production['1'] }}
</span
>
</div>
<div
...
...
@@ -1020,7 +1030,7 @@
<span
v-if=
"interceptionStatus.production['2']"
class=
"tabs-node_count red"
>
{{ interceptionStatus.production['2'] }}
</span
>
{{ interceptionStatus.production['2'] }}
</span
>
</div>
<div
...
...
@@ -1032,7 +1042,7 @@
<span
v-if=
"interceptionStatus.shipment['0']"
class=
"tabs-node_count blue"
>
{{ interceptionStatus.shipment['0'] }}
</span
>
{{ interceptionStatus.shipment['0'] }}
</span
>
</div>
<div
...
...
@@ -1044,7 +1054,7 @@
<span
v-if=
"interceptionStatus.shipment['1']"
class=
"tabs-node_count blue"
>
{{ interceptionStatus.shipment['1'] }}
</span
>
{{ interceptionStatus.shipment['1'] }}
</span
>
</div>
<div
...
...
@@ -1056,7 +1066,7 @@
<span
v-if=
"interceptionStatus.shipment['2']"
class=
"tabs-node_count red"
>
{{ interceptionStatus.shipment['2'] }}
</span
>
{{ interceptionStatus.shipment['2'] }}
</span
>
</div>
</div>
...
...
@@ -1255,7 +1265,7 @@
</div>
<div
class=
"goods-item-info-item"
>
<span
class=
"goods-item-info-item-label"
>
第三方生产单号:
</span
>
第三方生产单号:
</span
>
<span
class=
"goods-item-info-item-value"
...
...
@@ -1305,14 +1315,14 @@
>
<!-- <span class="goods-item-info-item-label">补胚状态:</span> -->
<el-tag
size=
"small"
effect=
"dark"
type=
"danger"
>
补胚中
>
补胚中
</el-tag>
</div>
</div>
<div
class=
"goods-item-info"
>
<div
class=
"goods-item-info-item"
>
<span
class=
"goods-item-info-item-label"
>
商品单价($):
</span
>
商品单价($):
</span
>
<span
class=
"goods-item-info-item-value"
>
{{ item.productPrice }}
...
...
@@ -1339,14 +1349,14 @@
<div
class=
"goods-item-info-item"
>
<span
class=
"goods-item-info-item-label"
>
{{
status === 'EXCEPTION_ORDER' ||
status === 'PICKING' ||
status === 'TO_BE_CONFIRMED' ||
status === 'STOCK_OUT' ||
status === 'CREATE_LOGISTICS'
? '数量:'
: '已生产数量:'
}}
</span>
status === 'EXCEPTION_ORDER' ||
status === 'PICKING' ||
status === 'TO_BE_CONFIRMED' ||
status === 'STOCK_OUT' ||
status === 'CREATE_LOGISTICS'
? '数量:'
: '已生产数量:'
}}
</span>
<span
class=
"goods-item-info-item-value"
>
{{
status === 'EXCEPTION_ORDER' ||
...
...
@@ -1417,7 +1427,7 @@
type=
"success"
style=
"height: 23px"
@
click=
"applyForReplenishment(item)"
>
申请补胚
>
申请补胚
</el-button>
</div>
...
...
@@ -1436,7 +1446,7 @@
type=
"primary"
style=
"height: 23px; padding: 0"
@
click=
"downloadMaterialItem(item)"
>
下载素材
>
下载素材
</el-button>
<el-button
...
...
@@ -1445,7 +1455,7 @@
type=
"warning"
style=
"height: 23px; margin: 0"
@
click=
"showArrange(3, item)"
>
排版
>
排版
</el-button>
</div>
<div
...
...
@@ -1465,7 +1475,7 @@
type=
"success"
style=
"height: 23px"
@
click=
"printProductionOrder(1, item)"
>
打印生产单
>
打印生产单
</el-button>
</div>
</div>
...
...
@@ -1569,9 +1579,9 @@
{{
row
.
source
?
{
'jomall-erp'
:
'erp推送'
,
'third-party'
:
'第三方推送'
,
}
[
row
.
source
as
'jomall-erp'
|
'third-party'
]
'jomall-erp'
:
'erp推送'
,
'third-party'
:
'第三方推送'
,
}
[
row
.
source
as
'jomall-erp'
|
'third-party'
]
:
''
}}
<
/span
>
...
...
@@ -1687,17 +1697,17 @@
<
el
-
timeline
-
item
:
color
=
"row.createTime ? '#409EFF' : ''"
:
timestamp
=
"row.createTime"
>
创建时间
>
创建时间
<
/el-timeline-item
>
<
el
-
timeline
-
item
:
color
=
"row.startStockingTime ? '#E6A23C' : ''"
:
timestamp
=
"row.startStockingTime"
>
确认时间
>
确认时间
<
/el-timeline-item
>
<
el
-
timeline
-
item
:
color
=
"row.finishTime ? '#67C23A' : ''"
:
timestamp
=
"row.finishTime"
>
发货时间
>
发货时间
<
/el-timeline-item
>
<
el
-
timeline
-
item
v
-
if
=
"status === 'IN_TRANSIT'"
...
...
@@ -1781,6 +1791,26 @@
{{
row
.
automaticComposing
?
'是'
:
'否'
}}
<
/div
>
<
/template
>
<
template
#
prn
=
"{ row
}
"
>
<
div
style
=
"display: flex"
>
<
span
:
title
=
"fileName(row)"
class
=
"flex-1"
>
{{
fileName
(
row
)
}}
<
/span
>
<
el
-
link
:
disabled
=
"row.isUpload"
underline
=
"never"
type
=
"success"
@
click
=
"uploadFile(row)"
>
上传
<
/el-link
>
<
el
-
icon
v
-
if
=
"row.isUpload"
style
=
"right: 0;top:5px;"
class
=
"is-loading"
>
<
Loading
/>
<
/el-icon
>
<
el
-
link
:
disabled
=
"!row.prnUrl"
style
=
"margin-left: 8px"
underline
=
"never"
type
=
"primary"
@
click
=
"downloadRowProFile(row)"
>
下载
<
/el-link
>
<
el
-
icon
v
-
if
=
"row.prnDownloadStatus"
style
=
"right: -2px"
class
=
"check-icon"
>
<
CircleCheckFilled
/>
<
/el-icon
>
<
/div
>
<
/template
>
<
template
#
composingParam
=
"{ row
}
"
>
<
div
style
=
"white-space: pre-line"
>
{{
row
.
composingParam
?.
split
(
';'
).
join
(
'
\
n'
)
}}
...
...
@@ -1809,7 +1839,7 @@
下载
<
/ElButton
>
<
el
-
icon
v
-
if
=
"row.downloadStatus"
class
=
"check-icon"
><
CircleCheckFilled
><
CircleCheckFilled
/><
/el-icon
>
<
/span
>
<!--
<
span
class
=
"operate-item"
>
...
...
@@ -1825,36 +1855,39 @@
<
span
class
=
"operate-item"
>
<
ElButton
link
title
=
"打印拣货单"
type
=
"primary"
@
click
=
"printPickingOrderItem(row, 1)"
>
打印
拣货单
拣货单
<
/ElButton
>
<
el
-
icon
v
-
if
=
"row.printPickOrder"
class
=
"check-icon"
><
CircleCheckFilled
><
CircleCheckFilled
/><
/el-icon
>
<
/span
>
<
span
class
=
"operate-item"
>
<
ElButton
link
title
=
"打印生产单"
type
=
"primary"
@
click
=
"printPickingOrderItem(row, 2)"
>
打印
生产单
生产单
<
/ElButton
>
<
el
-
icon
v
-
if
=
"row.printProductOrder"
class
=
"check-icon"
><
CircleCheckFilled
><
CircleCheckFilled
/><
/el-icon
>
<
/span
>
<
span
class
=
"operate-item"
>
<
ElButton
:
disabled
=
"row.productNum > 50"
link
title
=
"重新排版"
type
=
"warning"
:
loading
=
"reComposingLoadingMap[row.id]"
@
click
=
"showArrange(1, row)"
>
重
新排版
重
排
<
/ElButton
>
<
/span
>
<
span
class
=
"operate-item"
>
...
...
@@ -1896,7 +1929,7 @@
class
=
"operate-item"
>
<
ElButton
link
type
=
"warning"
@
click
=
"updateTrackingNumber(row)"
>
修改跟踪号
<
/ElButto
n
>
修改跟踪号
<
/ElButto
n
>
<
/span
>
<!--
<
span
...
...
@@ -1972,7 +2005,7 @@
class
=
"operate-item"
>
<
ElButton
link
type
=
"primary"
@
click
=
"logTrajectory(row)"
>
物流轨迹
<
/ElButto
n
>
物流轨迹
<
/ElButto
n
>
<
/span
>
<
/div
>
...
...
@@ -1994,8 +2027,8 @@
<
div
v
-
for
=
"(cardItem) in tableData as ProductList[]"
:
key
=
"cardItem.id"
class
=
"card-list-item"
ref
=
"cardRefs"
class
=
"card-list-item"
@
click
=
"cardClick(cardItem)"
@
mouseleave
=
"handleChangeImages(null, cardItem)"
>
...
...
@@ -2043,26 +2076,27 @@
type
=
"primary"
:
title
=
"item.name || ''"
style
=
"margin-bottom: 2px"
>
{{
item
.
name
||
''
}}
<
/el-ta
g
>
{{
item
.
name
||
''
}}
<
/el-ta
g
>
<
/div
>
<
/template
>
<
div
class
=
"flex
"
v
-
if
=
"cardItem.customTagList?.length
"
ref
=
"tagRefs"
class
=
"flex"
style
=
"gap: 5px; overflow: hidden"
v
-
if
=
"cardItem.customTagList?.length"
>
<
el
-
tag
size
=
"small"
type
=
"primary"
v
-
for
=
"(item, index) in cardItem.customTagList.slice(
0,
3,
)"
:
key
=
"index"
><
span
style
=
"
size
=
"small"
type
=
"primary"
><
span
style
=
"
width: 50px;
text-align: center;
overflow: hidden;
...
...
@@ -2070,15 +2104,16 @@
text-overflow: ellipsis;
display: inline-block;
"
:
title
=
"item.name || ''"
>
{{
item
.
name
||
''
}}
<
/spa
n
><
/el-ta
g
:
title
=
"item.name || ''"
>
{{
item
.
name
||
''
}}
<
/spa
n
><
/el-ta
g
>
<
el
-
tag
v
-
if
=
"cardItem.customTagList?.slice(3)?.length"
size
=
"small"
type
=
"primary"
v
-
if
=
"cardItem.customTagList?.slice(3)?.length"
>+
{{
cardItem
.
customTagList
.
slice
(
3
).
length
}}
<
/el-ta
g
>+
{{
cardItem
.
customTagList
.
slice
(
3
).
length
}}
<
/el-ta
g
>
<
/div
>
<
/el-tooltip
>
...
...
@@ -2163,7 +2198,7 @@
:
title
=
"`商品名称:${cardItem?.productName || ''
}
`"
>
<
span
class
=
"grid-item-value"
>
{{
cardItem
?.
productName
}}
>
{{
cardItem
?.
productName
}}
<
/span
>
<
/div
>
<
div
...
...
@@ -2306,7 +2341,7 @@
<
/div
>
<
div
v
-
if
=
"cardItem.isReplenishment"
class
=
"grid-item"
>
<
el
-
tag
size
=
"small"
type
=
"danger"
effect
=
"dark"
>
补胚中
>
补胚中
<
/el-tag
>
<
/div
>
<
/div
>
...
...
@@ -2319,10 +2354,10 @@
<
div
class
=
"pagination"
>
<
div
class
=
"total"
>
<
span
>
已选择
>
已选择
<
span
style
=
"color: red"
>
{{
selection
.
length
||
cardSelection
.
length
}}
<
/span
>
selection
.
length
||
cardSelection
.
length
}}
<
/span
>
条数据
<
/spa
n
>
<
/div
>
...
...
@@ -2339,15 +2374,15 @@
><
/ElPagination
>
<
div
class
=
"pageSize"
>
<
span
>
自定义条数
>
自定义条数
<
span
><
el
-
input
v
-
model
=
"pageSize"
type
=
"number"
style
=
"width: 100px"
clearable
@
blur
=
"inputBlur"
><
/el-inpu
t
><
el
-
input
v
-
model
=
"pageSize"
type
=
"number"
style
=
"width: 100px"
clearable
@
blur
=
"inputBlur"
><
/el-inpu
t
><
/span
>
条
/
页
<
/spa
n
>
...
...
@@ -2459,7 +2494,7 @@
link
style
=
"margin-left: 10px"
@
click
=
"changeChinaTime('Asia/Shanghai')"
>
北京时间
>
北京时间
<
/el-button
>
<
el
-
button
:
type
=
"timeType === 'America/New_York' ? 'primary' : ''"
...
...
@@ -2467,7 +2502,7 @@
link
style
=
"margin-left: 10px"
@
click
=
"changeChinaTime('America/New_York')"
>
新泽西时间
>
新泽西时间
<
/el-button
>
<
el
-
button
:
type
=
"timeType === 'America/Los_Angeles' ? 'primary' : ''"
...
...
@@ -2475,7 +2510,7 @@
link
style
=
"margin-left: 10px"
@
click
=
"changeChinaTime('America/Los_Angeles')"
>
洛杉矶时间
>
洛杉矶时间
<
/el-button
>
<
/div
>
<
/div
>
...
...
@@ -2639,8 +2674,8 @@
v
-
model
:
form
=
"currentRow"
v
-
model
:
visible
=
"updateAddVisible"
:
country
-
list
=
"countryList"
@
success
=
"search"
:
type
=
"updateAddressType"
@
success
=
"search"
><
/UpdateAddress
>
<
ElDialog
v
-
model
=
"exceptionDialogVisible"
...
...
@@ -2774,7 +2809,7 @@
:
loading
=
"exportLoading"
type
=
"primary"
@
click
=
"submitExportForm"
>
确认
<
/el-butto
n
>
确认
<
/el-butto
n
>
<
/span
>
<
/template
>
...
...
@@ -2842,7 +2877,8 @@
typesettingVisible = false
}
"
>
取消
<
/el-butto
n
>
取消
<
/el-butto
n
>
<
el
-
button
type
=
"primary"
@
click
=
"submitTypesetting"
>
确认
<
/el-button
>
<
/template
>
...
...
@@ -2903,6 +2939,7 @@ import {
}
from
'@element-plus/icons-vue'
import
{
getCardOrderList
,
uploadPRNFile
,
getOrderList
,
getOrderTabData
,
confirmOrderApi
,
...
...
@@ -2964,7 +3001,7 @@ import {
getCustomTagListApi
,
getLogisticsWayApi
,
printNormalPickPdfApi
,
reissueOrderApi
reissueOrderApi
,
updatePRNDownloadStatus
,
}
from
'@/api/podUsOrder'
import
{
BaseRespData
}
from
'@/types/api'
...
...
@@ -2997,6 +3034,7 @@ import { showConfirm } from '@/utils/ui'
import
{
DocumentCopy
,
EditPen
,
Loading
,
CircleCheckFilled
,
}
from
'@element-plus/icons-vue'
import
{
Column
,
ElFormItem
}
from
'element-plus'
...
...
@@ -3025,7 +3063,7 @@ import {
declare
global
{
interface
Window
{
ActiveXObject
:
{
new
(
type
:
string
):
XMLHttpRequest
new
(
type
:
string
):
XMLHttpRequest
}
VBS_BinaryToArray
:
{
(
data
:
unknown
):
{
toArray
():
number
[]
}
...
...
@@ -3134,10 +3172,10 @@ const submitExportForm = async () => {
...
params
,
...(
resourceType
===
2
?
{
...
searchForm
.
value
,
startTime
:
timeRange
.
value
?.[
0
]
||
null
,
endTime
:
timeRange
.
value
?.[
1
]
||
null
,
}
...
searchForm
.
value
,
startTime
:
timeRange
.
value
?.[
0
]
||
null
,
endTime
:
timeRange
.
value
?.[
1
]
||
null
,
}
:
{
}
),
}
)
ElMessage
.
success
(
'请求成功,请稍后到右上角[我的下载]中查看'
)
...
...
@@ -3552,6 +3590,12 @@ const tableColumns = computed(() => {
prop
:
'automaticComposing'
,
slot
:
'automaticComposing'
,
align
:
'center'
,
}
,
{
label
:
'PRN文件'
,
width
:
300
,
prop
:
'automaticComposing'
,
slot
:
'prn'
,
align
:
'right'
,
}
,
{
label
:
'排版参数'
,
...
...
@@ -3563,7 +3607,7 @@ const tableColumns = computed(() => {
{
label
:
'操作'
,
slot
:
'operate'
,
width
:
3
5
0
,
width
:
3
0
0
,
align
:
'center'
,
fixed
:
'right'
,
prop
:
'operate'
,
...
...
@@ -3789,16 +3833,16 @@ const loadTabData = async () => {
// 发货拦截数量
const
shipmentCount
=
(
statusRes
.
data
as
InterceptStateGroupData
)?.
shipment
?
Object
.
values
(
(
statusRes
.
data
as
InterceptStateGroupData
).
shipment
,
).
reduce
((
sum
:
number
,
value
:
unknown
)
=>
sum
+
(
Number
(
value
)
||
0
),
0
)
(
statusRes
.
data
as
InterceptStateGroupData
).
shipment
,
).
reduce
((
sum
:
number
,
value
:
unknown
)
=>
sum
+
(
Number
(
value
)
||
0
),
0
)
:
0
// 生产拦截数量
const
productionCount
=
(
statusRes
.
data
as
InterceptStateGroupData
)
?.
production
?
Object
.
values
(
(
statusRes
.
data
as
InterceptStateGroupData
).
production
,
).
reduce
((
sum
:
number
,
value
:
unknown
)
=>
sum
+
(
Number
(
value
)
||
0
),
0
)
(
statusRes
.
data
as
InterceptStateGroupData
).
production
,
).
reduce
((
sum
:
number
,
value
:
unknown
)
=>
sum
+
(
Number
(
value
)
||
0
),
0
)
:
0
tabsNav
.
value
.
splice
(
completeIndex
+
1
,
0
,
{
...
...
@@ -3967,7 +4011,10 @@ watch(
}
,
{
deep
:
true
,
immediate
:
true
}
,
// 添加immediate确保初始化时执行
)
const
fileName
=
(
row
:
PodUsOrderListData
)
=>
{
if
(
!
row
.
prnUrl
)
return
''
return
row
.
prnUrl
.
split
(
'/'
)[
row
.
prnUrl
.
split
(
'/'
).
length
-
1
]
}
const
search
=
()
=>
{
selection
.
value
=
[]
cardSelection
.
value
=
[]
...
...
@@ -4145,6 +4192,37 @@ const productionClientVisible = ref(false)
// productionClientVisible.value = true
//
}
const
downloadRowProFile
=
async
(
row
:
PodUsOrderListData
)
=>
{
const
url
=
`https://factory.jomalls.com/upload/factory`
+
row
.
prnUrl
window
.
open
(
url
,
'_blank'
)
await
updatePRNDownloadStatus
(
row
.
id
,
)
search
()
}
const
uploadFile
=
(
row
:
PodUsOrderListData
)
=>
{
const
input
=
document
.
createElement
(
'input'
)
input
.
style
.
display
=
'none'
input
.
type
=
'file'
input
.
multiple
=
false
input
?.
click
()
row
.
isUpload
=
true
input
.
onchange
=
async
function
()
{
try
{
if
(
input
.
files
&&
input
.
files
.
length
)
{
const
fm
=
new
FormData
()
fm
.
append
(
'file'
,
input
.
files
?.[
0
])
const
res
=
await
uploadPRNFile
(
row
.
id
,
fm
)
row
.
prnUrl
=
res
.
message
}
}
finally
{
row
.
isUpload
=
false
}
}
}
const
downloadTif
=
async
(
type
:
string
,
templateWidth
:
number
)
=>
{
if
(
!
cardSelection
.
value
.
length
)
{
return
ElMessage
.
warning
(
'请选择数据'
)
...
...
@@ -4189,8 +4267,8 @@ const downloadTif = async (type: string, templateWidth: number) => {
a
.
href
=
window
.
URL
.
createObjectURL
(
blob
)
a
.
target
=
'_blank'
a
.
download
=
(
res
.
message
as
string
).
split
(
'/'
)[
(
res
.
message
as
string
).
split
(
'/'
).
length
-
1
]
(
res
.
message
as
string
).
split
(
'/'
).
length
-
1
]
a
.
click
()
pngDownloadLoading
.
value
=
false
}
)
...
...
@@ -5200,8 +5278,8 @@ const rejectOrder = async (type: string) => {
orderStatus
:
type
,
productList
:
selection
.
value
.
length
?
selection
.
value
.
flatMap
(
(
item
:
PodUsOrderListData
)
=>
item
.
productList
||
[],
)
(
item
:
PodUsOrderListData
)
=>
item
.
productList
||
[],
)
:
cardSelection
.
value
,
reasonStr
:
value
,
}
)
...
...
@@ -6188,8 +6266,8 @@ const interceptChange = async (status: boolean) => {
?
1
:
3
:
interceptCurrent
.
value
===
1
?
2
:
4
?
2
:
4
try
{
const
res
=
await
interceptUpdateApi
({
orderIds
:
selection
.
value
.
map
((
item
)
=>
item
.
id
),
...
...
@@ -6412,11 +6490,11 @@ const printNormal = async () => {
selection
.
value
.
forEach
((
s
)
=>
{
s
.
productList
&&
s
.
productList
.
forEach
((
p
)
=>
{
if
(
p
.
productMark
===
'normal'
||
p
.
productMark
===
'custom_normal'
)
{
arr
.
push
(
p
.
id
)
}
}
)
s
.
productList
.
forEach
((
p
)
=>
{
if
(
p
.
productMark
===
'normal'
||
p
.
productMark
===
'custom_normal'
)
{
arr
.
push
(
p
.
id
)
}
}
)
}
)
console
.
log
(
3661
,
arr
)
...
...
@@ -6562,6 +6640,7 @@ const printNormal = async () => {
background
:
rgb
(
255
243
205
);
color
:
rgb
(
91
,
99
,
18
);
}
.
empty
{
height
:
100
%
;
display
:
flex
;
...
...
@@ -6765,13 +6844,16 @@ const printNormal = async () => {
color
:
white
;
font
-
weight
:
bold
;
}
.
triangle
-
container
-
wrap
{
position
:
absolute
;
top
:
0
;
right
:
0
;
}
.
triangle
-
container
{
position
:
relative
;
.
triangle
-
marker
{
width
:
0
;
height
:
0
;
...
...
@@ -6779,6 +6861,7 @@ const printNormal = async () => {
border
-
right
:
18
px
solid
#
e74c3c
;
border
-
top
:
18
px
solid
#
e74c3c
;
}
.
content
{
position
:
absolute
;
top
:
0
;
...
...
@@ -6790,13 +6873,16 @@ const printNormal = async () => {
font
-
size
:
12
px
;
}
}
.
triangle
-
container
-
wrap
{
position
:
absolute
;
top
:
0
;
right
:
0
;
}
.
triangle
-
container
{
position
:
relative
;
.
triangle
-
marker
{
width
:
0
;
height
:
0
;
...
...
@@ -6804,6 +6890,7 @@ const printNormal = async () => {
border
-
right
:
18
px
solid
#
e74c3c
;
border
-
top
:
18
px
solid
#
e74c3c
;
}
.
content
{
position
:
absolute
;
top
:
0
;
...
...
@@ -6839,8 +6926,8 @@ const printNormal = async () => {
}
.
el
-
timeline
>
.
el
-
timeline
-
item
:
first
-
child
.
el
-
timeline
-
item__timestamp
.
is
-
top
{
>
.
el
-
timeline
-
item
:
first
-
child
.
el
-
timeline
-
item__timestamp
.
is
-
top
{
color
:
#
409
eff
;
}
...
...
@@ -6849,6 +6936,7 @@ const printNormal = async () => {
justify
-
content
:
space
-
between
;
align
-
items
:
center
;
}
.
tabs
-
node
-
quantity
{
position
:
relative
;
color
:
red
;
...
...
@@ -6856,6 +6944,7 @@ const printNormal = async () => {
top
:
-
10
px
;
right
:
0
px
;
}
.
operate
-
item
{
position
:
relative
;
}
...
...
@@ -6867,4 +6956,12 @@ const printNormal = async () => {
top
:
30
%
;
transform
:
translateY
(
-
50
%
);
}
.
flex
-
1
{
flex
:
1
;
flex
-
shrink
:
0
;
overflow
:
hidden
;
text
-
overflow
:
ellipsis
;
white
-
space
:
nowrap
;
}
<
/style
>
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