Commit 33332d5f by qinjianhui

fix: 鼠标右键复制修改

parent ac2e1860
......@@ -7,7 +7,7 @@
:key="item.id"
class="card-grid-item"
@click="handleCardClick(item)"
@contextmenu.prevent="(e: MouseEvent) => rightClick(e)"
@contextmenu.prevent="(e: MouseEvent) => rightClick(e, item)"
>
<CommonCard
:card-item="item"
......@@ -327,6 +327,7 @@ const selectedItems = ref<operateOrderListData[]>([])
const logVisible = ref(false)
const logList = ref<LogListData[]>([])
const rightMenuRef = ref()
const rightClickItem = ref<operateOrderListData | null>(null)
const isSelected = (item: operateOrderListData) =>
selectedItems.value.some((s) => s.id === item.id)
......@@ -350,13 +351,20 @@ const copyText = (text: string) => {
ElMessage.success('复制成功')
}
const rightClick = (e: MouseEvent) => {
const rightClick = (e: MouseEvent, item: operateOrderListData) => {
rightClickItem.value = item
rightMenuRef.value?.setPosition({
x: e.clientX,
y: e.clientY,
})
}
const getRightCopyData = () => {
if (selectedItems.value.length > 0) return selectedItems.value
if (rightClickItem.value) return [rightClickItem.value]
return []
}
const rightChange = (code: string) => {
if (code === 'select-all') {
selectedItems.value = [...(cardData.value as operateOrderListData[])]
......@@ -365,24 +373,24 @@ const rightChange = (code: string) => {
selectedItems.value = []
emit('selection-change', [])
} else if (code === 'copy_shopNumber') {
const str = (cardData.value as operateOrderListData[])
.map((item) => item.shopNumber)
const str = getRightCopyData()
.map((item) => item?.shopNumber)
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有店铺单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'order-number') {
const str = cardData.value
.map((item) => (item as operateOrderListData)?.podOrderNo)
const str = getRightCopyData()
.map((item) => item?.podOrderNo)
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有订单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'operationNo') {
const str = cardData.value
.map((item) => (item as operateOrderListData)?.operationNo)
const str = getRightCopyData()
.map((item) => item?.operationNo)
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有操作单号')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment