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
f2798f7f
Commit
f2798f7f
authored
Jul 30, 2026
by
qinjianhui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!291
parents
d8ce7fa2
6c4e5824
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
65 additions
and
21 deletions
+65
-21
components.d.ts
+4
-1
package-lock.json
+1
-0
src/api/order.ts
+1
-0
src/api/podCnOrder.ts
+5
-1
src/components/TableView.vue
+1
-1
src/types/api/order/factoryOrderNew.ts
+5
-0
src/views/order/factoryOrderNew/component/PickCompleteDialog.vue
+12
-6
src/views/order/factoryOrderNew/hooks/useOrderDictionaries.ts
+8
-4
src/views/order/factoryOrderNew/index.vue
+28
-7
src/views/order/index.vue
+0
-1
No files found.
components.d.ts
View file @
f2798f7f
...
...
@@ -24,19 +24,22 @@ declare module 'vue' {
ElCollapseItem
:
typeof
import
(
'element-plus/es'
)[
'ElCollapseItem'
]
ElConfigProvider
:
typeof
import
(
'element-plus/es'
)[
'ElConfigProvider'
]
ElDatePicker
:
typeof
import
(
'element-plus/es'
)[
'ElDatePicker'
]
ElDescriptions
:
typeof
import
(
'element-plus/es'
)[
'ElDescriptions'
]
ElDescriptionsItem
:
typeof
import
(
'element-plus/es'
)[
'ElDescriptionsItem'
]
ElDialog
:
typeof
import
(
'element-plus/es'
)[
'ElDialog'
]
ElDivider
:
typeof
import
(
'element-plus/es'
)[
'ElDivider'
]
ElDrawer
:
typeof
import
(
'element-plus/es'
)[
'ElDrawer'
]
ElDropdown
:
typeof
import
(
'element-plus/es'
)[
'ElDropdown'
]
ElDropdownItem
:
typeof
import
(
'element-plus/es'
)[
'ElDropdownItem'
]
ElDropdownMenu
:
typeof
import
(
'element-plus/es'
)[
'ElDropdownMenu'
]
ElEmpty
:
typeof
import
(
'element-plus/es'
)[
'ElEmpty'
]
ElForm
:
typeof
import
(
'element-plus/es'
)[
'ElForm'
]
ElFormItem
:
typeof
import
(
'element-plus/es'
)[
'ElFormItem'
]
ElIcon
:
typeof
import
(
'element-plus/es'
)[
'ElIcon'
]
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'
]
ElInputNumber
:
typeof
import
(
'element-plus/es'
)[
'ElInputNumber'
]
ElOption
:
typeof
import
(
'element-plus/es'
)[
'ElOption'
]
ElPagination
:
typeof
import
(
'element-plus/es'
)[
'ElPagination'
]
ElPopover
:
typeof
import
(
'element-plus/es'
)[
'ElPopover'
]
...
...
package-lock.json
View file @
f2798f7f
...
...
@@ -6559,6 +6559,7 @@
"resolved"
:
"https://registry.npmmirror.com/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz"
,
"integrity"
:
"sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg=="
,
"dev"
:
true
,
"license"
:
"MIT"
,
"dependencies"
:
{
"chalk"
:
"^4.1.2"
,
"debug"
:
"^4.3.3"
,
...
...
src/api/order.ts
View file @
f2798f7f
...
...
@@ -804,6 +804,7 @@ export function getFactoryOrderFlowConfigApi() {
'report/factory-order-flow-config/get-config'
,
)
}
// 配货分拣 商品类目
export
function
getCategoryListApi
()
{
return
axios
.
get
<
never
,
BaseRespData
<
OperatorList
[]
>>
(
...
...
src/api/podCnOrder.ts
View file @
f2798f7f
...
...
@@ -553,7 +553,11 @@ export function getListCraftApi() {
`factory/podJomallOrderProductCn/listCraft`
,
)
}
export
function
getPodOrderCraftApi
()
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
`factory/podOrder/listCraft`
,
)
}
// 批量下载 列表
export
function
batchDownloadApi
(
params
:
SearchForm
,
...
...
src/components/TableView.vue
View file @
f2798f7f
...
...
@@ -56,7 +56,7 @@
</div>
</
template
>
</ElTableColumn>
<RenderColumn
v-
else
:col=
"column"
>
<RenderColumn
v-
if=
"column.type !== 'expand' && !column.hidden"
:col=
"column"
>
<
template
v-for=
"(_, name) of slots"
#[
name
]="
scope
"
>
<slot
:name=
"name"
v-bind=
"scope"
/>
</
template
>
...
...
src/types/api/order/factoryOrderNew.ts
View file @
f2798f7f
...
...
@@ -5,7 +5,12 @@ export interface StatusTreeNode {
unit
?:
string
// 数量单位
children
:
StatusTreeNode
[]
|
null
}
export
interface
CraftData
{
name
:
string
id
:
number
|
string
warehouseName
:
string
}
export
interface
SearchForm
{
status
?:
string
operationStatus
?:
string
|
string
[]
...
...
src/views/order/factoryOrderNew/component/PickCompleteDialog.vue
View file @
f2798f7f
...
...
@@ -496,12 +496,18 @@ const handleCreateInbound = async () => {
background
:
'rgba(0, 0, 0, 0.3)'
,
})
try
{
const
skus
=
selections
.
value
.
map
((
r
)
=>
r
.
thirdSkuCode
as
string
)
const
res
=
await
getBySkuAndUserMarkApi
(
firstWid
,
skus
.
join
(
','
),
null
)
if
(
res
.
code
!==
200
)
return
otherPurchaseData
.
value
=
res
.
data
.
map
((
item
:
InterskuList
)
=>
mapInterskuToProduct
(
item
),
)
warehouseList
.
value
=
[]
otherPurchaseData
.
value
=
[]
for
(
const
item
of
selections
.
value
){
if
(
item
.
thirdSkuCode
){
const
userMark
=
item
.
thirdSkuCode
.
includes
(
'JM'
)?
null
:
item
.
thirdSkuCode
.
slice
(
0
,
4
)
const
res
=
await
getBySkuAndUserMarkApi
(
firstWid
,
item
.
thirdSkuCode
,
userMark
)
if
(
res
.
code
!==
200
)
return
otherPurchaseData
.
value
=
otherPurchaseData
.
value
.
concat
(
res
.
data
.
map
((
r
:
InterskuList
)
=>
mapInterskuToProduct
(
r
),
)
)
}
}
await
fetchReceiptLocationList
(
''
)
const
listRes
=
await
warehouseInfoGetAll
()
warehouseList
.
value
=
listRes
.
data
||
[]
...
...
src/views/order/factoryOrderNew/hooks/useOrderDictionaries.ts
View file @
f2798f7f
...
...
@@ -29,7 +29,7 @@ const processTypeMap: Record<string, string> = {
QT
:
'其他'
,
}
export
function
useOrderDictionaries
()
{
export
function
useOrderDictionaries
(
dontLoadCraft
?:
boolean
)
{
const
userMarkList
=
ref
<
string
[]
>
([])
const
receiverCountryList
=
ref
<
{
countryCode
:
string
;
nameCn
:
string
}[]
>
([])
const
customTagList
=
ref
<
{
id
:
string
;
name
:
string
}[]
>
([])
...
...
@@ -136,16 +136,20 @@ export function useOrderDictionaries() {
}
const
loadAllDictionaries
=
async
()
=>
{
await
Promise
.
all
([
loadCraftList
(),
const
arr
=
[
getUserMark
(),
getCustomTagList
(),
getLogisticsCompanyAllCodelist
(),
])
]
if
(
!
dontLoadCraft
){
arr
.
unshift
(
loadCraftList
())
}
await
Promise
.
all
(
arr
)
}
return
{
userMarkList
,
processTypeMap
,
receiverCountryList
,
customTagList
,
allCodelist
,
...
...
src/views/order/factoryOrderNew/index.vue
View file @
f2798f7f
...
...
@@ -172,7 +172,7 @@
<
ElFormItem
label
=
"工艺"
label
-
width
=
"50px"
>
<
LogisticsWaySelect
v
-
model
=
"searchForm.craftCode"
:
company
-
list
=
"
c
raftList"
:
company
-
list
=
"
podC
raftList"
:
start
-
width
=
"'150px'"
search
-
placeholder
=
"搜索工艺名称"
start
-
placeholder
=
"请选择工艺名称"
...
...
@@ -1281,10 +1281,11 @@ import type { BaseRespData } from '@/types/api'
import
type
{
FactoryOrderNewListData
,
ProductListData
,
CraftData
,
ExportParams
,
operateOrderListData
,
}
from
'@/types/api/order/factoryOrderNew'
import
type
{
AddressInfo
}
from
'@/types/api/podCnOrder'
import
type
{
AddressInfo
,
CraftListData
}
from
'@/types/api/podCnOrder'
import
platformJson
from
'../../../json/platform.json'
import
{
refreshProductInfoApi
,
...
...
@@ -1365,10 +1366,11 @@ import { useOrderBatchActions } from './hooks/useOrderBatchActions'
import
{
ElButton
,
ElTag
}
from
'element-plus'
import
OrderInventoryDetailDialog
from
'./component/OrderInventoryDialog.vue'
import
{
downloadByUrl
}
from
'@/utils/index.ts'
import
{
getPodOrderCraftApi
}
from
'@/api/podCnOrder.ts'
const
resultInfo
=
ref
<
ResultInfoDataItem
[]
>
([])
const
resultRefs
=
ref
()
const
podCraftList
=
ref
<
CraftData
[]
>
([])
const
statusSidebarCollapsed
=
ref
(
false
)
const
toggleStatusSidebar
=
()
=>
{
statusSidebarCollapsed
.
value
=
!
statusSidebarCollapsed
.
value
...
...
@@ -1398,13 +1400,13 @@ const {
receiverCountryList
,
customTagList
,
allCodelist
,
craftList
,
warehouseList
,
processTypeMap
,
productTypeGroups
,
getReceiverCountryList
,
loadWarehouseList
,
loadAllDictionaries
,
}
=
useOrderDictionaries
()
}
=
useOrderDictionaries
(
true
)
const
refreshCurrentViewProxy
=
ref
<
()
=>
void
>
(()
=>
{
}
)
let
getFactoryOrderSearchVisibilityContext
:
()
=>
FactoryOrderSearchQueryVisibilityContext
=
...
...
@@ -1521,6 +1523,17 @@ const getListQueryPayload = () => {
return
payload
}
const
getCraft
=
async
()
=>
{
const
res
=
await
getPodOrderCraftApi
()
const
data
:
CraftListData
[]
=
res
.
data
podCraftList
.
value
=
data
.
map
((
item
:
CraftListData
)
=>
({
id
:
item
.
craftCode
,
name
:
item
.
craftName
,
warehouseName
:
processTypeMap
[
item
.
craftType
]
??
'其他'
,
}
))
}
getCraft
()
const
{
subLoading
,
activeTab
,
...
...
@@ -1917,11 +1930,19 @@ const mainColumns = computed(() => [
}
,
{
prop
:
'statusName'
,
label
:
status
.
value
!==
'SUSPEND'
?
'订单状态'
:
'挂起前状态'
,
label
:
'挂起前状态'
,
minWidth
:
120
,
hidden
:
status
.
value
!==
'SUSPEND'
,
align
:
'center'
}
,
{
prop
:
'statusName'
,
hidden
:
status
.
value
===
'SUSPEND'
,
label
:
'订单状态'
,
minWidth
:
120
,
align
:
'center'
,
render
:
(
row
:
FactoryOrderNewListData
)
=>
{
return
<
span
>
{
row
.
pause
?
'挂起'
:
row
.
statusName
}
<
/span
>
return
<
span
>
{
row
.
pause
?
'挂起'
:
row
.
statusName
}
<
/span
>
}
,
}
,
{
...
...
src/views/order/index.vue
View file @
f2798f7f
...
...
@@ -198,7 +198,6 @@
>
<ElButton
:disabled=
"
selection.find((item) => item.manuscriptStatus !== 30) ||
selection.length !== 1
"
type=
"warning"
...
...
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