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
ef941f44
Commit
ef941f44
authored
Jun 22, 2026
by
wusiyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 工厂订单new支持批量复制订单号到筛选框进行筛选 #1009627
parent
3e0881e1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
98 additions
and
4 deletions
+98
-4
src/components/RightClickMenu.vue
+6
-2
src/views/order/factoryOrderNew/index.vue
+92
-2
No files found.
src/components/RightClickMenu.vue
View file @
ef941f44
...
@@ -4,8 +4,8 @@
...
@@ -4,8 +4,8 @@
class=
"right-click-menu"
class=
"right-click-menu"
:style=
"
{ left: position.x + 'px', top: position.y + 'px' }"
:style=
"
{ left: position.x + 'px', top: position.y + 'px' }"
>
>
<div
class=
"menu-item"
@
click=
"onChangeCopy('select-all')"
>
全部选择
</div>
<div
v-if=
"showSelectionMenu"
class=
"menu-item"
@
click=
"onChangeCopy('select-all')"
>
全部选择
</div>
<div
class=
"menu-item"
@
click=
"onChangeCopy('cancel-select')"
>
取消选择
</div>
<div
v-if=
"showSelectionMenu"
class=
"menu-item"
@
click=
"onChangeCopy('cancel-select')"
>
取消选择
</div>
<div
<div
v-if=
"showCopySubShopNumber"
v-if=
"showCopySubShopNumber"
class=
"menu-item"
class=
"menu-item"
...
@@ -48,6 +48,10 @@ defineProps({
...
@@ -48,6 +48,10 @@ defineProps({
type
:
Boolean
,
type
:
Boolean
,
default
:
true
,
default
:
true
,
},
},
showSelectionMenu
:
{
type
:
Boolean
,
default
:
true
,
},
})
})
const
setPosition
=
({
x
,
y
}:
{
x
:
number
;
y
:
number
})
=>
{
const
setPosition
=
({
x
,
y
}:
{
x
:
number
;
y
:
number
})
=>
{
...
...
src/views/order/factoryOrderNew/index.vue
View file @
ef941f44
...
@@ -796,6 +796,7 @@
...
@@ -796,6 +796,7 @@
v
-
loading
=
"loading"
v
-
loading
=
"loading"
element
-
loading
-
text
=
"加载中..."
element
-
loading
-
text
=
"加载中..."
class
=
"table-list flex-1 overflow-hidden"
class
=
"table-list flex-1 overflow-hidden"
@
contextmenu
.
prevent
=
"rightClick"
>
>
<
TableView
<
TableView
ref
=
"tableRef"
ref
=
"tableRef"
...
@@ -956,6 +957,7 @@
...
@@ -956,6 +957,7 @@
:
paginated
-
data
=
"operationOrderList"
:
paginated
-
data
=
"operationOrderList"
:
columns
=
"operationOrderColumns"
:
columns
=
"operationOrderColumns"
serial
-
numberable
serial
-
numberable
@
row
-
contextmenu
=
"handleOperationOrderContextMenu"
/>
/>
<
/div
>
<
/div
>
<
/el-tab-pane
>
<
/el-tab-pane
>
...
@@ -1179,6 +1181,31 @@
...
@@ -1179,6 +1181,31 @@
:
warehouse
-
list
=
"warehouseList"
:
warehouse
-
list
=
"warehouseList"
:
selected
-
rows
=
"selectedRows"
:
selected
-
rows
=
"selectedRows"
/>
/>
<
RightClickMenu
ref
=
"rightMenuRef"
:
show
-
copy
-
count
=
"false"
:
show
-
copy
-
sub
-
shop
-
number
=
"false"
:
show
-
copy
-
shop
-
number
=
"rightClickContext === 'main'"
:
show
-
selection
-
menu
=
"rightClickContext === 'main'"
@
on
-
change
=
"rightChange"
>
<
template
#
default
>
<
div
v
-
if
=
"rightClickContext === 'main'"
class
=
"menu-item"
@
click
=
"rightChange('order-number')"
>
复制订单编号
<
/div
>
<
div
v
-
if
=
"rightClickContext === 'operation'"
class
=
"menu-item"
@
click
=
"rightChange('operationNo')"
>
复制操作单号
<
/div
>
<
/template
>
<
/RightClickMenu
>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
...
@@ -1194,6 +1221,7 @@ import {
...
@@ -1194,6 +1221,7 @@ import {
import
{
computed
,
nextTick
,
onMounted
,
ref
}
from
'vue'
import
{
computed
,
nextTick
,
onMounted
,
ref
}
from
'vue'
import
splitDiv
from
'@/components/splitDiv/splitDiv.vue'
import
splitDiv
from
'@/components/splitDiv/splitDiv.vue'
import
TableView
from
'@/components/TableView.vue'
import
TableView
from
'@/components/TableView.vue'
import
RightClickMenu
from
'@/components/RightClickMenu.vue'
import
ResultInfo
from
'@/views/order/components/ResultInfo.vue'
import
ResultInfo
from
'@/views/order/components/ResultInfo.vue'
import
type
{
BaseRespData
}
from
'@/types/api'
import
type
{
BaseRespData
}
from
'@/types/api'
import
type
{
import
type
{
...
@@ -1650,11 +1678,73 @@ const handleSuspendTabClick = (value: number) => {
...
@@ -1650,11 +1678,73 @@ const handleSuspendTabClick = (value: number) => {
// statusCurrentPageRef.value = 1
// statusCurrentPageRef.value = 1
// refreshTableList()
// refreshTableList()
//
}
//
}
const
handleCopyCell
=
(
e
:
Event
,
text
?:
string
)
=>
{
const
handleCopyCell
=
(
e
:
Event
|
null
,
text
?:
string
)
=>
{
e
.
stopPropagation
()
e
&&
e
.
stopPropagation
()
if
(
text
)
window
.
navigator
.
clipboard
.
writeText
(
text
)
if
(
text
)
window
.
navigator
.
clipboard
.
writeText
(
text
)
ElMessage
.
success
(
'复制成功'
)
ElMessage
.
success
(
'复制成功'
)
}
}
const
rightMenuRef
=
ref
()
const
rightClickContext
=
ref
<
'main'
|
'operation'
>
(
'main'
)
const
operationRightClickItem
=
ref
<
operateOrderListData
|
null
>
(
null
)
const
rightClick
=
(
e
:
MouseEvent
)
=>
{
rightClickContext
.
value
=
'main'
operationRightClickItem
.
value
=
null
rightMenuRef
.
value
?.
setPosition
({
x
:
e
.
clientX
,
y
:
e
.
clientY
,
}
)
}
const
handleOperationOrderContextMenu
=
(
row
:
unknown
,
_column
:
unknown
,
event
:
Event
,
)
=>
{
event
.
preventDefault
()
rightClickContext
.
value
=
'operation'
operationRightClickItem
.
value
=
null
rightMenuRef
.
value
?.
setPosition
({
x
:
(
event
as
MouseEvent
).
clientX
,
y
:
(
event
as
MouseEvent
).
clientY
,
}
)
}
const
rightChange
=
async
(
code
:
string
)
=>
{
if
(
code
===
'select-all'
)
{
tableRef
.
value
?.
toggleAllSelection
()
return
}
if
(
code
===
'cancel-select'
)
{
tableRef
.
value
?.
clearSelection
()
return
}
const
targetRows
=
selectedRows
.
value
if
(
code
===
'copy_shopNumber'
)
{
const
str
=
targetRows
.
map
((
item
)
=>
item
.
shopNumber
)
.
filter
(
Boolean
)
.
join
(
','
)
handleCopyCell
(
null
,
str
)
}
else
if
(
code
===
'order-number'
)
{
const
str
=
targetRows
.
map
((
item
)
=>
item
.
factoryOrderNumber
)
.
filter
(
Boolean
)
.
join
(
','
)
handleCopyCell
(
null
,
str
)
}
else
if
(
code
===
'operationNo'
)
{
const
str
=
operationOrderList
.
value
.
map
((
item
)
=>
item
?.
operationNo
)
.
filter
(
Boolean
)
.
join
(
','
)
if
(
!
str
)
return
ElMessage
.
warning
(
'当前数据没有操作单号'
)
handleCopyCell
(
null
,
str
)
}
}
const
mainColumns
=
computed
(()
=>
[
const
mainColumns
=
computed
(()
=>
[
{
{
prop
:
'factoryOrderNumber'
,
prop
:
'factoryOrderNumber'
,
...
...
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