新增
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m7s

This commit is contained in:
sexygoat
2026-03-19 18:32:02 +08:00
parent 407287f538
commit f06d8c9133
22 changed files with 2260 additions and 117 deletions

View File

@@ -662,6 +662,7 @@
const moreMenuRef = ref<InstanceType<typeof ArtMenuRight>>()
const cardOperationMenuRef = ref<InstanceType<typeof ArtMenuRight>>()
const currentOperatingIccid = ref<string>('')
const currentOperatingCard = ref<StandaloneIotCard | null>(null)
// 店铺相关
const targetShopLoading = ref(false)
@@ -1563,6 +1564,13 @@
})
}
if (hasAuth('iot_card:manual_deactivate')) {
items.push({
key: 'manual-deactivate',
label: '手动停用'
})
}
return items
})
@@ -1601,10 +1609,11 @@
}
// 显示卡操作菜单
const showCardOperationMenu = (e: MouseEvent, iccid: string) => {
const showCardOperationMenu = (e: MouseEvent, iccid: string, card?: StandaloneIotCard) => {
e.preventDefault()
e.stopPropagation()
currentOperatingIccid.value = iccid
currentOperatingCard.value = card || null
cardOperationMenuRef.value?.show(e)
}
@@ -1660,6 +1669,9 @@
case 'stop-card':
handleStopCard(iccid)
break
case 'manual-deactivate':
handleManualDeactivate()
break
}
}
@@ -1810,9 +1822,42 @@
})
}
// 手动停用 IoT 卡(资产层面的停用)
const handleManualDeactivate = () => {
const card = currentOperatingCard.value
if (!card) {
ElMessage.error('未找到卡片信息')
return
}
ElMessageBox.confirm(
`确定要手动停用卡片 ${card.iccid} 吗?此操作将在资产管理层面停用该卡。`,
'确认手动停用',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}
)
.then(async () => {
try {
const res = await CardService.deactivateIotCard(card.id)
if (res.code === 0) {
ElMessage.success('手动停用成功')
getTableData()
}
} catch (error: any) {
console.error('手动停用失败:', error)
}
})
.catch(() => {
// 用户取消
})
}
// 处理表格行右键菜单
const handleRowContextMenu = (row: StandaloneIotCard, column: any, event: MouseEvent) => {
showCardOperationMenu(event, row.iccid)
showCardOperationMenu(event, row.iccid, row)
}
</script>