Commit 33332d5f by qinjianhui

fix: 鼠标右键复制修改

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