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
017a793e
Commit
017a793e
authored
Jun 24, 2025
by
zhuzhequan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!43
parents
11821a4f
b704e3b1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
257 additions
and
67 deletions
+257
-67
auto-imports.d.ts
+16
-1
components.d.ts
+1
-1
src/api/podUsOrder.ts
+26
-2
src/types/api/podUsOrder.ts
+9
-1
src/views/order/podUs/index.vue
+205
-62
No files found.
auto-imports.d.ts
View file @
017a793e
...
...
@@ -88,6 +88,21 @@ declare global {
// for type re-export
declare
global
{
// @ts-ignore
export
type
{
Component
,
ComponentPublicInstance
,
ComputedRef
,
DirectiveBinding
,
ExtractDefaultPropTypes
,
ExtractPropTypes
,
ExtractPublicPropTypes
,
InjectionKey
,
PropType
,
Ref
,
MaybeRef
,
MaybeRefOrGetter
,
VNode
,
WritableComputedRef
}
from
'vue'
export
type
{
Component
,
ComponentPublicInstance
,
ComputedRef
,
DirectiveBinding
,
ExtractDefaultPropTypes
,
ExtractPropTypes
,
ExtractPublicPropTypes
,
InjectionKey
,
PropType
,
Ref
,
MaybeRef
,
MaybeRefOrGetter
,
VNode
,
WritableComputedRef
,
}
from
'vue'
import
(
'vue'
)
}
components.d.ts
View file @
017a793e
...
...
@@ -32,13 +32,13 @@ declare module 'vue' {
ElImage
:
typeof
import
(
'element-plus/es'
)[
'ElImage'
]
ElInput
:
typeof
import
(
'element-plus/es'
)[
'ElInput'
]
ElInputNumber
:
typeof
import
(
'element-plus/es'
)[
'ElInputNumber'
]
ElLink
:
typeof
import
(
'element-plus/es'
)[
'ElLink'
]
ElMenu
:
typeof
import
(
'element-plus/es'
)[
'ElMenu'
]
ElMenuItem
:
typeof
import
(
'element-plus/es'
)[
'ElMenuItem'
]
ElOption
:
typeof
import
(
'element-plus/es'
)[
'ElOption'
]
ElPagination
:
typeof
import
(
'element-plus/es'
)[
'ElPagination'
]
ElPopover
:
typeof
import
(
'element-plus/es'
)[
'ElPopover'
]
ElRadio
:
typeof
import
(
'element-plus/es'
)[
'ElRadio'
]
ElRadioButton
:
typeof
import
(
'element-plus/es'
)[
'ElRadioButton'
]
ElRadioGroup
:
typeof
import
(
'element-plus/es'
)[
'ElRadioGroup'
]
ElRow
:
typeof
import
(
'element-plus/es'
)[
'ElRow'
]
ElSelect
:
typeof
import
(
'element-plus/es'
)[
'ElSelect'
]
...
...
src/api/podUsOrder.ts
View file @
017a793e
...
...
@@ -355,9 +355,9 @@ export function updateSelfLogistics(params: {
}
// 更改物流
export
function
composingDesignImages
(
data
:
number
[])
{
export
function
composingDesignImages
(
data
:
number
[]
,
type
:
string
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'factory/podJomallOrderUs/composingDesignImages'
,
`factory/podJomallOrderUs/composingDesignImages?type=
${
type
}
`
,
data
,
)
}
...
...
@@ -370,6 +370,15 @@ export function updateLogisticsToPickingApi(params: { ids: string }) {
},
)
}
// 转至待排单
export
function
updateLogisticsToArrangeApi
(
params
:
{
ids
:
string
})
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
`factory/podJomallOrderUs/updateLogisticsToArrange`
,
{
params
,
},
)
}
//创建物流订单
export
function
createLogisticsOrdersApi
(
orderIds
:
(
string
|
number
)[])
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -419,3 +428,18 @@ export function toOutOfStockApi(ids: number[]) {
ids
,
)
}
// 排单完成
export
function
arrangeFinishApi
(
ids
:
number
[])
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
`factory/podJomallOrderProductUs/arrangeFinish`
,
ids
,
)
}
// 获取工艺
export
function
getListCraftApi
()
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
`factory/podJomallOrderProductUs/listCraft`
,
)
}
src/types/api/podUsOrder.ts
View file @
017a793e
...
...
@@ -15,6 +15,7 @@ export interface SearchForm {
factorySubOrderNumber
:
string
status
:
string
customizedQuantity
:
string
multi
:
boolean
|
null
startTime
:
string
|
null
endTime
:
string
|
null
exceptionHandling
:
number
|
undefined
...
...
@@ -22,7 +23,9 @@ export interface SearchForm {
productionClient
:
string
warehouseId
:
string
|
number
thirdSkuCode
:
string
supplierProductNo
:
string
supplierProductNo
:
string
batchArrangeNumber
:
string
craftCode
:
string
}
export
interface
PodUsOrderListData
{
id
:
number
...
...
@@ -109,6 +112,7 @@ export interface ProductList {
thirdSkuCode
?:
string
|
null
supplierProductNo
?:
string
|
null
replenishmentSumNum
?:
number
|
null
batchArrangeNumber
?:
string
|
null
}
export
interface
cardImages
{
title
:
string
...
...
@@ -179,3 +183,7 @@ export interface LogisticsFormData {
expressSheetUrl
:
string
expressSheet
:
File
|
null
}
export
interface
CraftListData
{
craftName
:
string
craftCode
:
string
}
src/views/order/podUs/index.vue
View file @
017a793e
...
...
@@ -30,21 +30,46 @@
>
</el-date-picker>
</ElFormItem>
<ElFormItem
label=
"定制类型"
>
<ElFormItem
label=
"类型"
>
<el-radio-group
v-model=
"searchForm.customizedQuantity"
>
<el-radio-button
label=
"single"
>
单面
</el-radio-button>
<el-radio-button
label=
"multiple"
>
多面
</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem
label=
"数量"
>
<el-radio-group
v-model=
"searchForm.multi"
>
<el-radio-button
:label=
"false"
>
单件
</el-radio-button>
<el-radio-button
:label=
"true"
>
多件
</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem
label=
"工艺"
>
<ElSelect
v-model=
"searchForm.customizedQuantity"
placeholder=
"定制类型"
v-model=
"searchForm.craftCode"
clearable
style=
"width: 100px"
filterable
placeholder=
"请输入工艺"
style=
"width: 150px"
>
<ElOption
label=
"单面"
value=
"single"
/>
<ElOption
label=
"多面"
value=
"multiple"
/>
<el-option
v-for=
"item in craftList"
:key=
"item.craftCode"
:label=
"item.craftName"
:value=
"item.craftCode"
></el-option>
</ElSelect>
</ElFormItem>
<ElFormItem
label=
"库存SKU"
>
<ElInput
v-model
.
trim=
"searchForm.thirdSkuCode"
placeholder=
"库存SKU"
clearable
style=
"width: 150px"
></ElInput>
</ElFormItem>
<ElFormItem
label=
"供应货号"
>
<ElInput
v-model=
"searchForm.supplierProductNo"
placeholder=
"
生产单
号"
placeholder=
"
供应货
号"
clearable
style=
"width: 150px"
/>
...
...
@@ -65,6 +90,14 @@
style=
"width: 150px"
/>
</ElFormItem>
<ElFormItem
label=
"批次号"
>
<ElInput
v-model=
"searchForm.batchArrangeNumber"
placeholder=
"批次号"
clearable
style=
"width: 150px"
/>
</ElFormItem>
<ElFormItem
label=
"店铺单号"
>
<ElInput
v-model=
"searchForm.shopNumber"
...
...
@@ -74,10 +107,6 @@
/>
</ElFormItem>
<ElFormItem>
<ElButton
type=
"primary"
@
click=
"search"
>
查询
</ElButton>
</ElFormItem>
<ElFormItem>
<ElPopover
placement=
"bottom"
width=
"600"
trigger=
"click"
>
<ElForm
:model=
"searchForm"
...
...
@@ -165,22 +194,14 @@
style=
"width: 150px"
></ElInput>
</ElFormItem>
<ElFormItem
label=
"Base SKU"
>
<
!--
<
ElFormItem
label=
"Base SKU"
>
<ElInput
v-model
.
trim=
"searchForm.baseSku"
placeholder=
" Base SKU"
clearable
style=
"width: 150px"
></ElInput>
</ElFormItem>
<ElFormItem
label=
"库存SKU"
>
<ElInput
v-model
.
trim=
"searchForm.thirdSkuCode"
placeholder=
"库存SKU"
clearable
style=
"width: 150px"
></ElInput>
</ElFormItem>
</ElFormItem>
-->
<ElFormItem
label=
"物流跟踪号"
>
<ElInput
v-model
.
trim=
"searchForm.logisticsTracking"
...
...
@@ -207,12 +228,22 @@
</ElForm>
<template
#
reference
>
<el-button
type=
"warning"
@
click=
"searchVisible = !searchVisible"
>
<el-icon
v-if=
"searchVisible"
><CaretTop
/></el-icon>
<el-icon
v-else
><CaretBottom
/></el-icon>
<el-icon
v-if=
"searchVisible"
>
<CaretTop
/>
</el-icon>
<el-icon
v-else
>
<CaretBottom
/>
</el-icon>
</el-button>
</
template
>
</ElPopover>
</ElFormItem>
<ElFormItem>
<ElButton
type=
"primary"
@
click=
"search"
>
查询
</ElButton>
</ElFormItem>
<ElFormItem>
<ElButton
type=
"danger"
@
click=
"resetSearchForm"
>
清空
</ElButton>
</ElFormItem>
</ElForm>
</div>
<div
class=
"header-filter-tab"
>
...
...
@@ -296,11 +327,20 @@
<div
class=
"operation-box mb-10"
>
<span
v-if=
"status === 'PICKING'"
class=
"item"
>
<ElButton
:loading=
"downloadLoading"
:loading=
"tifDownloadLoading"
type=
"warning"
@
click=
"downloadTif('tiff', 'tiff')"
>
TIF排版
</ElButton>
</span>
<span
v-if=
"status === 'PICKING'"
class=
"item"
>
<ElButton
:loading=
"pngDownloadLoading"
type=
"warning"
@
click=
"downloadTif"
@
click=
"downloadTif
('png', 'composingPNG')
"
>
排版
PNG
排版
</ElButton>
</span>
<span
v-if=
"status === 'TO_BE_CONFIRMED'"
class=
"item"
>
...
...
@@ -393,7 +433,7 @@
</span>
<span
v-if=
"status === 'CREATE_LOGISTICS'"
class=
"item"
>
<ElButton
type=
"warning"
@
click=
"logisticsToPicking"
>
转至待
拣胚
转至待
排单
</ElButton>
</span>
<span
...
...
@@ -433,7 +473,9 @@
转至待创建物流
</ElButton>
</span>
<span
v-if=
"status === 'TO_BE_ARRANGE'"
class=
"item"
>
<ElButton
type=
"warning"
@
click=
"arrangeFinish"
>
排单完成
</ElButton>
</span>
<span
class=
"item"
>
<ElButton
type=
"primary"
@
click=
"downloadMaterial"
>
下载素材
</ElButton>
</span>
...
...
@@ -456,7 +498,8 @@
v-if=
"
status !== 'IN_PRODUCTION' &&
status !== 'PICKING' &&
status !== 'TO_BE_REPLENISHMENT'
status !== 'TO_BE_REPLENISHMENT' &&
status !== 'TO_BE_ARRANGE'
"
v-loading=
"loading"
element-loading-text=
"加载中..."
...
...
@@ -600,8 +643,8 @@
>
<!--
<span
class=
"goods-item-info-item-label"
>
补胚状态:
</span>
-->
<el-tag
size=
"small"
effect=
"dark"
type=
"danger"
>
补胚中
</el-tag
>
>
补胚中
</el-tag
>
</div>
</div>
<div
class=
"goods-item-info"
>
...
...
@@ -667,8 +710,8 @@
size=
"small"
type=
"success"
@
click=
"applyForReplenishment(item)"
>
申请补胚
</el-button
>
>
申请补胚
</el-button
>
<!-- f -->
</div>
<div
class=
"goods-item-info-item"
>
...
...
@@ -1088,18 +1131,27 @@
<
/div
>
<
div
class
=
"grid-item"
>
<
span
class
=
"grid-item-label"
>
供应货号:
<
/span
>
<
span
title
=
"供应货号"
class
=
"grid-item-value"
>
<
span
:
title
=
"`供应货号: ${cardItem?.supplierProductNo
}
`"
class
=
"grid-item-value"
>
{{
cardItem
?.
supplierProductNo
}}
<
/span
>
<
/div
>
<
div
class
=
"grid-item"
title
=
"店铺单号"
>
<
span
class
=
"grid-item-value"
>
<
span
class
=
"grid-item-value"
@
click
=
"copy(cardItem?.shopNumber || '')"
>
{{
cardItem
?.
shopNumber
}}
<
/span
>
<
/div
>
<
div
class
=
"grid-item"
title
=
"订单号"
>
<
span
class
=
"grid-item-value"
>
<
span
class
=
"grid-item-value"
@
click
=
"copy(cardItem?.factoryOrderNumber || '')"
>
{{
cardItem
?.
factoryOrderNumber
}}
<
/span
>
<
/div
>
...
...
@@ -1115,10 +1167,22 @@
{{
cardItem
?.
thirdSubOrderNumber
}}
<
/span
>
<
/div
>
<
div
class
=
"grid-item"
title
=
"批次号"
v
-
if
=
"cardItem.batchArrangeNumber"
>
<
span
class
=
"grid-item-value"
@
click
=
"copy(cardItem?.batchArrangeNumber || '')"
>
{{
cardItem
?.
batchArrangeNumber
}}
<
/span
>
<
/div
>
<
div
v
-
if
=
"cardItem.isReplenishment"
class
=
"grid-item"
>
<
el
-
tag
size
=
"small"
type
=
"danger"
effect
=
"dark"
>
补胚中
<
/el-ta
g
>
>
补胚中
<
/el-tag
>
<
/div
>
<
/div
>
<
/template
>
...
...
@@ -1515,7 +1579,8 @@ import {
composingDesignImages
,
changeLogisticsApi
,
createLogisticsOrderApi
,
updateLogisticsToPickingApi
,
// updateLogisticsToPickingApi,
updateLogisticsToArrangeApi
,
createLogisticsOrdersApi
,
syncReceiverAddress
,
refreshAddressApi
,
...
...
@@ -1527,6 +1592,8 @@ import {
applyForReplenishmentApi
,
replenishmentSuccessApi
,
toOutOfStockApi
,
arrangeFinishApi
,
getListCraftApi
,
}
from
'@/api/podUsOrder'
import
{
BaseRespData
}
from
'@/types/api'
...
...
@@ -1547,6 +1614,7 @@ import {
AddressInfo
,
LogisticsData
,
LogisticsFormData
,
CraftListData
,
}
from
'@/types/api/podUsOrder'
import
usePageList
from
'@/utils/hooks/usePageList'
import
{
useValue
}
from
'@/utils/hooks/useValue'
...
...
@@ -1606,7 +1674,8 @@ const logistics = {
const
logisticsForm
=
ref
<
LogisticsFormData
>
(
logistics
)
const
resultRefs
=
ref
<
InstanceType
<
typeof
ResultInfo
>
|
null
>
(
null
)
const
confirmDialogShow
=
ref
(
false
)
const
downloadLoading
=
ref
(
false
)
const
tifDownloadLoading
=
ref
(
false
)
const
pngDownloadLoading
=
ref
(
false
)
const
isChangeWay
=
ref
(
false
)
const
confirmData
=
ref
([])
const
logisticsWayData
=
ref
([])
...
...
@@ -1615,7 +1684,7 @@ const confirmSelectionData = ref<LogisticsData[]>([])
const
confirmRowData
=
ref
<
ProductList
|
null
>
(
null
)
const
status
=
ref
(
'TO_BE_CONFIRMED'
)
const
detailData
=
ref
({
}
)
const
[
searchForm
]
=
useValue
<
SearchForm
>
({
const
[
searchForm
,
resetSearchForm
]
=
useValue
<
SearchForm
>
({
timeType
:
null
,
shopNumber
:
''
,
shipmentType
:
''
,
...
...
@@ -1627,6 +1696,7 @@ const [searchForm] = useValue<SearchForm>({
factorySubOrderNumber
:
''
,
status
:
''
,
customizedQuantity
:
''
,
multi
:
null
,
startTime
:
null
,
endTime
:
null
,
exceptionHandling
:
undefined
,
...
...
@@ -1635,6 +1705,8 @@ const [searchForm] = useValue<SearchForm>({
warehouseId
:
''
,
thirdSkuCode
:
''
,
supplierProductNo
:
''
,
batchArrangeNumber
:
''
,
craftCode
:
''
,
}
)
const
exceptionStatus
=
ref
(
1
)
const
userMarkList
=
ref
<
string
[]
>
([])
...
...
@@ -1886,7 +1958,7 @@ const {
pageSize
,
total
,
data
:
tableData
,
refresh
:
search
,
refresh
,
onCurrentPageChange
:
handleCurrentChange
,
onPageSizeChange
:
handleSizeChange
,
}
=
usePageList
({
...
...
@@ -1894,7 +1966,8 @@ const {
if
(
status
.
value
!==
'IN_PRODUCTION'
&&
status
.
value
!==
'PICKING'
&&
status
.
value
!==
'TO_BE_REPLENISHMENT'
status
.
value
!==
'TO_BE_REPLENISHMENT'
&&
status
.
value
!==
'TO_BE_ARRANGE'
)
{
return
getOrderList
(
{
...
...
@@ -1937,6 +2010,11 @@ const {
}
,
}
)
const
search
=
()
=>
{
selection
.
value
=
[]
cardSelection
.
value
=
[]
refresh
()
}
const
currentChange
=
(
row
:
LogisticsData
)
=>
{
if
(
row
)
{
confirmSelectionData
.
value
=
[
row
]
...
...
@@ -2105,20 +2183,33 @@ const productionClientVisible = ref(false)
// productionClientVisible.value = true
//
}
const
downloadTif
=
async
()
=>
{
const
downloadTif
=
async
(
type
:
string
,
dir
:
string
)
=>
{
if
(
!
cardSelection
.
value
.
length
)
{
return
ElMessage
.
warning
(
'请选择数据'
)
}
downloadLoading
.
value
=
true
if
(
type
===
'tiff'
)
{
tifDownloadLoading
.
value
=
true
}
else
{
pngDownloadLoading
.
value
=
true
}
try
{
const
res
=
await
composingDesignImages
(
cardSelection
.
value
.
map
((
el
)
=>
el
.
id
),
type
,
)
window
.
open
(
'https://ps.jomalls.com/tiff/'
+
res
.
message
,
'_blank'
)
downloadLoading
.
value
=
false
window
.
open
(
`https://ps.jomalls.com/${dir
}
/`
+
res
.
message
,
'_blank'
)
if
(
type
===
'tiff'
)
{
tifDownloadLoading
.
value
=
true
}
else
{
pngDownloadLoading
.
value
=
true
}
}
catch
(
e
)
{
console
.
log
(
e
)
downloadLoading
.
value
=
false
if
(
type
===
'tiff'
)
{
tifDownloadLoading
.
value
=
true
}
else
{
pngDownloadLoading
.
value
=
true
}
}
}
...
...
@@ -2436,7 +2527,8 @@ const rightChange = async (code: string) => {
const
flat
=
status
.
value
!==
'IN_PRODUCTION'
&&
status
.
value
!==
'PICKING'
&&
status
.
value
!==
'TO_BE_REPLENISHMENT'
status
.
value
!==
'TO_BE_REPLENISHMENT'
&&
status
.
value
!==
'TO_BE_ARRANGE'
if
(
code
===
'select-all'
)
{
if
(
flat
)
{
tableRef
.
value
?.
toggleAllSelection
()
...
...
@@ -2517,6 +2609,44 @@ const downloadMaterial = async () => {
loading
.
close
()
}
}
// 排单完成
const
arrangeFinish
=
async
()
=>
{
const
selectedIds
=
cardSelection
.
value
.
map
((
item
)
=>
item
.
id
)
if
(
selectedIds
.
length
===
0
)
{
return
ElMessage
({
message
:
'请选择订单'
,
type
:
'warning'
,
offset
:
window
.
innerHeight
/
2
,
}
)
}
try
{
await
ElMessageBox
.
confirm
(
'确定排单完成吗?'
,
'提示'
,
{
cancelButtonText
:
'取消'
,
confirmButtonText
:
'确认'
,
type
:
'warning'
,
}
)
}
catch
{
return
}
const
loading
=
ElLoading
.
service
({
fullscreen
:
true
,
text
:
'操作中...'
,
background
:
'rgba(0, 0, 0, 0.3)'
,
}
)
try
{
const
res
=
await
arrangeFinishApi
(
selectedIds
)
if
(
res
.
code
!==
200
)
return
ElMessage
.
success
(
'操作成功'
)
search
()
loadTabData
()
}
catch
(
e
)
{
console
.
error
(
e
)
}
finally
{
loading
.
close
()
}
}
const
logList
=
ref
<
LogListData
[]
>
([])
const
logVisible
=
ref
(
false
)
const
operationLog
=
async
(
id
:
number
,
e
:
MouseEvent
|
null
)
=>
{
...
...
@@ -2616,7 +2746,7 @@ const getOrderByIdApi = async (type: string) => {
factoryOrderNumber
?:
string
message
:
string
}
[])
||
[]
resultRefs
.
value
?.
showDialog
()
resultRefs
.
value
?.
showDialog
()
}
else
if
(
isString
(
res
.
data
))
{
window
.
open
(
filePath
+
res
.
data
)
}
...
...
@@ -2777,7 +2907,7 @@ const stockOutCheck = async () => {
)
tableData
.
value
=
[...
success
,
...
others
]
// 等待DOM更新后再设置选中状态
await
nextTick
()
// 更新补货成功的行ID
...
...
@@ -2828,21 +2958,21 @@ const toBePicking = async () => {
loading
.
close
()
}
}
//转至待
拣胚
//转至待
排单
const
logisticsToPicking
=
async
()
=>
{
if
(
selection
.
value
.
length
===
0
)
{
return
ElMessage
.
warning
(
'请选择数据'
)
}
if
(
selection
.
value
.
some
(
(
el
)
=>
el
.
trackingNumber
==
null
||
String
(
el
.
trackingNumber
).
trim
()
===
''
,
)
)
{
return
ElMessage
.
warning
(
'选中数据中有未创建物流的订单,请先创建物流'
)
}
//
if (
//
selection.value.some(
//
(el) =>
//
el.trackingNumber == null || String(el.trackingNumber).trim() === '',
//
)
//
)
{
//
return ElMessage.warning('选中数据中有未创建物流的订单,请先创建物流')
//
}
try
{
await
ElMessageBox
.
confirm
(
'确定转至待
拣胚
吗?'
,
'提示'
,
{
await
ElMessageBox
.
confirm
(
'确定转至待
排单
吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
...
...
@@ -2856,7 +2986,7 @@ const logisticsToPicking = async () => {
background
:
'rgba(0, 0, 0, 0.3)'
,
}
)
try
{
const
res
=
await
updateLogisticsTo
Picking
Api
({
const
res
=
await
updateLogisticsTo
Arrange
Api
({
ids
:
selection
.
value
.
map
((
item
)
=>
item
.
id
).
join
(
','
),
}
)
if
(
res
.
code
!==
200
)
return
...
...
@@ -3097,6 +3227,18 @@ const loadWarehouseList = async () => {
console
.
error
(
e
)
}
}
// 获取工艺列表
const
craftList
=
ref
<
CraftListData
[]
>
([])
const
loadCraftList
=
async
()
=>
{
try
{
const
res
=
await
getListCraftApi
()
if
(
res
.
code
!==
200
)
return
craftList
.
value
=
res
.
data
}
catch
(
e
)
{
console
.
error
(
e
)
}
}
const
refreshMaterial
=
async
()
=>
{
if
(
status
.
value
===
'PICKING'
||
status
.
value
===
'TO_BE_REPLENISHMENT'
)
{
if
(
cardSelection
.
value
.
length
===
0
)
{
...
...
@@ -3144,6 +3286,7 @@ onMounted(() => {
getUserMark
()
loadProductionClient
()
loadWarehouseList
()
loadCraftList
()
}
)
const
expressSheetUpload
=
async
(
file
:
File
)
=>
{
...
...
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