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
e24b3539
Commit
e24b3539
authored
Apr 13, 2026
by
qinjianhui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 客户标签查询修改
parent
6c3d16b0
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
45 deletions
+71
-45
src/api/factoryOrderNew.ts
+6
-0
src/types/api/factoryOrderNew.ts
+2
-0
src/types/api/order/factoryOrderNew.ts
+3
-0
src/views/order/factoryOrderNew/hooks/useOrderDictionaries.ts
+3
-2
src/views/order/factoryOrderNew/hooks/useOrderSearchForm.ts
+7
-1
src/views/order/factoryOrderNew/index.vue
+50
-42
No files found.
src/api/factoryOrderNew.ts
View file @
e24b3539
...
@@ -574,3 +574,9 @@ export function batchCheckPrintPodOrder(ids: string) {
...
@@ -574,3 +574,9 @@ export function batchCheckPrintPodOrder(ids: string) {
`/factory/podOrder/batchCheckPrintPodOrder?ids=
${
ids
}
`
,
`/factory/podOrder/batchCheckPrintPodOrder?ids=
${
ids
}
`
,
)
)
}
}
export
function
getCustomTagListPodOrderApi
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
`factory/podOrder/getCustomTagList`
,
)
}
src/types/api/factoryOrderNew.ts
View file @
e24b3539
...
@@ -28,6 +28,8 @@ export interface SearchForm {
...
@@ -28,6 +28,8 @@ export interface SearchForm {
replaceShipment
?:
number
|
string
replaceShipment
?:
number
|
string
shipmentType
?:
number
|
string
shipmentType
?:
number
|
string
tagsIdArr
?:
string
[]
tagsIdArr
?:
string
[]
/** list_page 查询:客户标签 id,逗号分隔(由 tagsIdArr 转换) */
tagsId
?:
string
source
?:
string
source
?:
string
size
?:
string
size
?:
string
logisticsCompanyCode
?:
string
logisticsCompanyCode
?:
string
...
...
src/types/api/order/factoryOrderNew.ts
View file @
e24b3539
...
@@ -28,6 +28,8 @@ export interface SearchForm {
...
@@ -28,6 +28,8 @@ export interface SearchForm {
replaceShipment
?:
number
|
string
replaceShipment
?:
number
|
string
shipmentType
?:
number
|
string
shipmentType
?:
number
|
string
tagsIdArr
?:
string
[]
tagsIdArr
?:
string
[]
/** list_page 查询:客户标签 id,逗号分隔(由 tagsIdArr 转换) */
tagsId
?:
string
source
?:
string
source
?:
string
size
?:
string
size
?:
string
logisticsCompanyCode
?:
string
logisticsCompanyCode
?:
string
...
@@ -91,6 +93,7 @@ export interface FactoryOrderNewListData {
...
@@ -91,6 +93,7 @@ export interface FactoryOrderNewListData {
totalCustomsValue
?:
number
totalCustomsValue
?:
number
statusName
?:
string
statusName
?:
string
thirdOrderNumber
?:
string
thirdOrderNumber
?:
string
customTagList
?:
{
id
:
string
;
name
:
string
}[]
}
}
export
interface
ProductListData
{
export
interface
ProductListData
{
...
...
src/views/order/factoryOrderNew/hooks/useOrderDictionaries.ts
View file @
e24b3539
import
{
ref
}
from
'vue'
import
{
ref
}
from
'vue'
import
{
getListCraftApi
,
getCustomTagListCnApi
,
allErpCodeListApi
}
from
'@/api/podCnOrder'
import
{
getListCraftApi
,
allErpCodeListApi
}
from
'@/api/podCnOrder'
import
{
getUserMarkList
,
loadWarehouseListApi
}
from
'@/api/common'
import
{
getUserMarkList
,
loadWarehouseListApi
}
from
'@/api/common'
import
{
getAllCountryApi
}
from
'@/api/logistics'
import
{
getAllCountryApi
}
from
'@/api/logistics'
import
type
{
ProductTypeGroup
}
from
'../component/productTypeFilterTypes'
import
type
{
ProductTypeGroup
}
from
'../component/productTypeFilterTypes'
...
@@ -12,6 +12,7 @@ import {
...
@@ -12,6 +12,7 @@ import {
import
type
{
IAllList
}
from
'@/types/api/podUsOrder'
import
type
{
IAllList
}
from
'@/types/api/podUsOrder'
import
type
{
CraftListData
}
from
'@/types/api/podCnOrder'
import
type
{
CraftListData
}
from
'@/types/api/podCnOrder'
import
type
{
WarehouseListData
}
from
'@/types'
import
type
{
WarehouseListData
}
from
'@/types'
import
{
getCustomTagListPodOrderApi
}
from
'@/api/factoryOrderNew'
interface
LogisticsCodeItem
{
interface
LogisticsCodeItem
{
code
:
string
code
:
string
...
@@ -91,7 +92,7 @@ export function useOrderDictionaries() {
...
@@ -91,7 +92,7 @@ export function useOrderDictionaries() {
const
getCustomTagList
=
async
()
=>
{
const
getCustomTagList
=
async
()
=>
{
try
{
try
{
const
res
=
await
getCustomTagList
Cn
Api
()
const
res
=
await
getCustomTagList
PodOrder
Api
()
if
(
res
.
code
!==
200
)
return
if
(
res
.
code
!==
200
)
return
customTagList
.
value
=
res
.
data
customTagList
.
value
=
res
.
data
}
catch
(
_e
)
{
}
catch
(
_e
)
{
...
...
src/views/order/factoryOrderNew/hooks/useOrderSearchForm.ts
View file @
e24b3539
...
@@ -59,11 +59,17 @@ export function useOrderSearchForm(refreshCurrentView: () => void) {
...
@@ -59,11 +59,17 @@ export function useOrderSearchForm(refreshCurrentView: () => void) {
}
}
const
getQueryPayload
=
()
=>
{
const
getQueryPayload
=
()
=>
{
const
{
productMarkList
:
rawProductMarks
,
...
rest
}
=
searchForm
.
value
const
{
productMarkList
:
rawProductMarks
,
tagsIdArr
,
...
rest
}
=
searchForm
.
value
const
markQuery
=
normalizeProductMarkListForQuery
(
rawProductMarks
)
const
markQuery
=
normalizeProductMarkListForQuery
(
rawProductMarks
)
const
tagsId
=
Array
.
isArray
(
tagsIdArr
)
&&
tagsIdArr
.
length
>
0
?
tagsIdArr
.
join
(
','
)
:
undefined
return
{
return
{
...
rest
,
...
rest
,
...
markQuery
,
...
markQuery
,
...(
tagsId
!==
undefined
?
{
tagsId
}
:
{}),
startTime
:
dateRange
.
value
?.[
0
]
||
null
,
startTime
:
dateRange
.
value
?.[
0
]
||
null
,
endTime
:
dateRange
.
value
?.[
1
]
||
null
,
endTime
:
dateRange
.
value
?.[
1
]
||
null
,
}
}
...
...
src/views/order/factoryOrderNew/index.vue
View file @
e24b3539
...
@@ -255,27 +255,7 @@
...
@@ -255,27 +255,7 @@
><
/ElOption
>
><
/ElOption
>
<
/ElSelect
>
<
/ElSelect
>
<
/ElFormItem
>
<
/ElFormItem
>
<
ElFormItem
label
=
"是否代发"
>
<
ElFormItem
label
=
"物流类型"
>
<
ElSelect
v
-
model
=
"searchForm.replaceShipment"
placeholder
=
"是否代发"
clearable
:
teleported
=
"false"
style
=
"width: 150px"
@
change
=
"changeReplaceShipment"
>
<
ElOption
v
-
for
=
"(item, index) in ['不代发', '代发']"
:
key
=
"index"
:
value
=
"index"
:
label
=
"item"
><
/ElOption
>
<
/ElSelect
>
<
/ElFormItem
>
<
ElFormItem
v
-
if
=
"searchForm.replaceShipment === 0"
label
=
"物流类型"
>
<
ElSelect
<
ElSelect
v
-
model
=
"searchForm.shipmentType"
v
-
model
=
"searchForm.shipmentType"
placeholder
=
"物流类型"
placeholder
=
"物流类型"
...
@@ -286,7 +266,7 @@
...
@@ -286,7 +266,7 @@
<
ElOption
<
ElOption
v
-
for
=
"(item, index) in [
v
-
for
=
"(item, index) in [
'自有物流',
'自有物流',
'
工厂
物流',
'
九猫统筹
物流',
'自提',
'自提',
]"
]"
:
key
=
"index"
:
key
=
"index"
...
@@ -295,22 +275,23 @@
...
@@ -295,22 +275,23 @@
><
/ElOption
>
><
/ElOption
>
<
/ElSelect
>
<
/ElSelect
>
<
/ElFormItem
>
<
/ElFormItem
>
<
ElFormItem
<
ElFormItem
label
=
"客户标签"
>
v
-
if
=
"searchForm.replaceShipment === 1"
label
=
"物流类型"
>
<
ElSelect
<
ElSelect
v
-
model
=
"searchForm.
shipmentType
"
v
-
model
=
"searchForm.
tagsIdArr
"
placeholder
=
"
物流类型
"
placeholder
=
"
请选择客户标签
"
clearable
clearable
filterable
multiple
collapse
-
tags
collapse
-
tags
-
tooltip
:
teleported
=
"false"
:
teleported
=
"false"
style
=
"width: 150px"
style
=
"width: 150px"
>
>
<
ElOption
<
ElOption
v
-
for
=
"
(item, index) in ['自有物流', '九猫统筹物流']
"
v
-
for
=
"
item in customTagList
"
:
key
=
"i
ndex
"
:
key
=
"i
tem.id
"
:
value
=
"i
ndex
"
:
value
=
"i
tem.id
"
:
label
=
"item"
:
label
=
"item
.name
"
><
/ElOption
>
><
/ElOption
>
<
/ElSelect
>
<
/ElSelect
>
<
/ElFormItem
>
<
/ElFormItem
>
...
@@ -720,7 +701,7 @@
...
@@ -720,7 +701,7 @@
修改地址
修改地址
<
/ElButton
>
<
/ElButton
>
<
ElButton
<
ElButton
v
-
if
=
"showPendingLogisticsRefreshAddress(
row
)"
v
-
if
=
"showPendingLogisticsRefreshAddress()"
type
=
"primary"
type
=
"primary"
link
link
size
=
"small"
size
=
"small"
...
@@ -796,7 +777,7 @@
...
@@ -796,7 +777,7 @@
<
CreateLogisticDialog
<
CreateLogisticDialog
ref
=
"createLogisticDialogRef"
ref
=
"createLogisticDialogRef"
:
new
-
order
-
selection
=
"selectedRows"
:
new
-
order
-
selection
=
"selectedRows"
@
show
-
result
=
"
handleFastProduction
Success"
@
show
-
result
=
"
createLogistics
Success"
/>
/>
<
UpdateCustomDeclarationInfoDialog
<
UpdateCustomDeclarationInfoDialog
v
-
model
=
"updateCustomsDialogVisible"
v
-
model
=
"updateCustomsDialogVisible"
...
@@ -965,6 +946,7 @@ import { useOrderSearchForm } from './hooks/useOrderSearchForm'
...
@@ -965,6 +946,7 @@ import { useOrderSearchForm } from './hooks/useOrderSearchForm'
import
{
useOrderStatusTree
}
from
'./hooks/useOrderStatusTree'
import
{
useOrderStatusTree
}
from
'./hooks/useOrderStatusTree'
import
{
useOrderListAndDetail
}
from
'./hooks/useOrderListAndDetail'
import
{
useOrderListAndDetail
}
from
'./hooks/useOrderListAndDetail'
import
{
useOrderBatchActions
}
from
'./hooks/useOrderBatchActions'
import
{
useOrderBatchActions
}
from
'./hooks/useOrderBatchActions'
import
{
ElTag
}
from
'element-plus'
const
resultInfo
=
ref
<
ResultInfoDataItem
[]
>
([])
const
resultInfo
=
ref
<
ResultInfoDataItem
[]
>
([])
const
resultRefs
=
ref
()
const
resultRefs
=
ref
()
...
@@ -976,6 +958,7 @@ const cardLayoutRef = ref<InstanceType<typeof CardLayout>>()
...
@@ -976,6 +958,7 @@ const cardLayoutRef = ref<InstanceType<typeof CardLayout>>()
const
{
const
{
userMarkList
,
userMarkList
,
receiverCountryList
,
receiverCountryList
,
customTagList
,
allCodelist
,
allCodelist
,
craftList
,
craftList
,
warehouseList
,
warehouseList
,
...
@@ -1100,11 +1083,8 @@ const receiverAddressForm = ref<AddressInfo>({
...
@@ -1100,11 +1083,8 @@ const receiverAddressForm = ref<AddressInfo>({
const
showPendingLogisticsUpdateAddress
=
(
row
:
FactoryOrderNewListData
)
=>
const
showPendingLogisticsUpdateAddress
=
(
row
:
FactoryOrderNewListData
)
=>
status
.
value
===
'PENDING_CREATE_LOGISTICS'
&&
row
.
shipmentType
===
1
status
.
value
===
'PENDING_CREATE_LOGISTICS'
&&
row
.
shipmentType
===
1
const
showPendingLogisticsRefreshAddress
=
(
row
:
FactoryOrderNewListData
)
=>
{
const
showPendingLogisticsRefreshAddress
=
()
=>
{
if
(
status
.
value
!==
'PENDING_CREATE_LOGISTICS'
)
return
false
if
(
status
.
value
!==
'PENDING_CREATE_LOGISTICS'
)
return
false
if
(
row
.
replaceShipment
===
1
)
return
true
if
(
row
.
replaceShipment
===
0
&&
row
.
shipmentType
===
1
)
return
true
return
false
}
}
const
submitFactoryOrderReceiverAddress
=
(
data
:
AddressInfo
)
=>
const
submitFactoryOrderReceiverAddress
=
(
data
:
AddressInfo
)
=>
...
@@ -1200,9 +1180,22 @@ const mainColumns = [
...
@@ -1200,9 +1180,22 @@ const mainColumns = [
align
:
'center'
,
align
:
'center'
,
}
,
}
,
{
{
prop
:
'tagsIdList'
,
label
:
'客户标签'
,
label
:
'客户标签'
,
minWidth
:
160
,
minWidth
:
120
,
align
:
'center'
,
render
:
(
row
:
FactoryOrderNewListData
)
=>
{
return
(
<
div
style
=
"display: flex; flex-direction: column; gap: 5px;"
>
{
row
?.
customTagList
?.
map
((
item
)
=>
{
return
(
<
div
key
=
{
item
.
id
}
class
=
"tag-item"
>
<
ElTag
type
=
"success"
>
{
item
.
name
}
<
/ElTag
>
<
/div
>
)
}
)
}
<
/div
>
)
}
,
}
,
}
,
{
{
prop
:
'logisticsWayName'
,
prop
:
'logisticsWayName'
,
...
@@ -1213,7 +1206,7 @@ const mainColumns = [
...
@@ -1213,7 +1206,7 @@ const mainColumns = [
return
(
return
(
<
div
>
<
div
>
{
row
.
shipmentType
===
0
&&
<
span
>
自有物流
<
/span>
}
{
row
.
shipmentType
===
0
&&
<
span
>
自有物流
<
/span>
}
{
row
.
shipmentType
===
1
&&
<
span
>
工厂
物流
<
/span>
}
{
row
.
shipmentType
===
1
&&
<
span
>
九猫统筹
物流
<
/span>
}
{
row
.
shipmentType
===
2
&&
<
span
>
自提
<
/span>
}
{
row
.
shipmentType
===
2
&&
<
span
>
自提
<
/span>
}
<
/div
>
<
/div
>
)
)
...
@@ -1524,7 +1517,6 @@ const { ensureSelection, executeBatchAction } = useOrderBatchActions({
...
@@ -1524,7 +1517,6 @@ const { ensureSelection, executeBatchAction } = useOrderBatchActions({
getIds
:
getSelectedIds
,
getIds
:
getSelectedIds
,
refreshCurrentView
,
refreshCurrentView
,
}
)
}
)
const
handleEditRemark
=
async
(
row
:
ProductListData
)
=>
{
const
handleEditRemark
=
async
(
row
:
ProductListData
)
=>
{
try
{
try
{
const
{
value
}
=
await
ElMessageBox
.
prompt
(
'请输入备注'
,
'提示'
,
{
const
{
value
}
=
await
ElMessageBox
.
prompt
(
'请输入备注'
,
'提示'
,
{
...
@@ -1993,10 +1985,26 @@ const completeOperationById = (ids: number[]) => completeDeliveryApi(ids)
...
@@ -1993,10 +1985,26 @@ const completeOperationById = (ids: number[]) => completeDeliveryApi(ids)
const
downloadOperationById
=
(
ids
:
number
[])
=>
const
downloadOperationById
=
(
ids
:
number
[])
=>
downloadOperationMaterialApi
(
ids
)
downloadOperationMaterialApi
(
ids
)
const
handleFastProductionSuccess
=
(
data
:
ResultInfoDataItem
[])
=>
{
const
handleFastProductionSuccess
=
(
data
:
ResultInfoDataItem
[])
=>
{
const
result
=
data
[
0
]
if
(
!
result
.
status
)
{
ElMessageBox
.
alert
(
`操作单号 ${result.factoryOrderNumber
}
${result.message
}
`
,
'提示'
,
{
type
:
'error'
,
}
,
)
return
}
}
const
createLogisticsSuccess
=
(
data
:
ResultInfoDataItem
[])
=>
{
const
isSuccess
=
data
.
every
((
item
)
=>
item
.
status
)
const
isSuccess
=
data
.
every
((
item
)
=>
item
.
status
)
if
(
!
isSuccess
)
{
if
(
!
isSuccess
)
{
resultInfo
.
value
=
data
.
filter
((
item
)
=>
!
item
.
status
)
resultInfo
.
value
=
data
.
filter
((
item
)
=>
!
item
.
status
)
resultRefs
.
value
?.
showDialog
()
resultRefs
.
value
?.
showDialog
()
}
else
{
ElMessage
.
success
(
'操作成功'
)
refreshCurrentView
()
}
}
}
}
const
fastClose
=
()
=>
{
const
fastClose
=
()
=>
{
...
...
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