feat: 手动实名和套餐列表退款
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m53s

This commit is contained in:
sexygoat
2026-04-23 18:13:07 +08:00
parent 719db517f2
commit cd2ca96873
12 changed files with 539 additions and 180 deletions

View File

@@ -553,6 +553,14 @@
:current-policy="currentRealnamePolicy"
@confirm="handleConfirmRealnamePolicy"
/>
<!-- 更新实名状态对话框 -->
<UpdateRealnameStatusDialog
v-model="updateRealnameStatusDialogVisible"
:asset-identifier="currentUpdateRealnameStatusIccid"
:current-realname-status="currentUpdateRealnameStatus"
@success="handleUpdateRealnameStatusSuccess"
/>
</ElCard>
</div>
</ArtTableFullScreen>
@@ -572,6 +580,7 @@
import { ElMessage, ElTag, ElIcon, ElMessageBox } from 'element-plus'
import { Loading } from '@element-plus/icons-vue'
import RealnamePolicyDialog from '@/components/device/RealnamePolicyDialog.vue'
import UpdateRealnameStatusDialog from '@/components/business/UpdateRealnameStatusDialog.vue'
import type { FormInstance, FormRules } from 'element-plus'
import type { SearchFormItem } from '@/types'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
@@ -711,6 +720,11 @@
const currentRealnamePolicyIccid = ref('')
const currentRealnamePolicy = ref('none')
// 更新实名状态对话框
const updateRealnameStatusDialogVisible = ref(false)
const currentUpdateRealnameStatusIccid = ref('')
const currentUpdateRealnameStatus = ref<number>(0)
// 显示实名认证策略对话框
const handleShowRealnamePolicy = async (iccid: string, currentPolicy?: string) => {
currentRealnamePolicyIccid.value = iccid
@@ -754,6 +768,18 @@
}
}
// 显示更新实名状态对话框
const handleShowUpdateRealnameStatus = (iccid: string, realnameStatus: number) => {
currentUpdateRealnameStatusIccid.value = iccid
currentUpdateRealnameStatus.value = realnameStatus
updateRealnameStatusDialogVisible.value = true
}
// 更新实名状态成功
const handleUpdateRealnameStatusSuccess = async () => {
await getTableData()
}
// 更多操作右键菜单
const moreMenuRef = ref<InstanceType<typeof ArtMenuRight>>()
@@ -1393,6 +1419,14 @@
})
}
if (hasAuth('iot_card:update_realname_status')) {
actions.push({
label: '更新实名状态',
handler: () => handleCardOperation('update-realname-status', row.iccid, row),
type: 'primary'
})
}
if (hasAuth('iot_card:clear_series')) {
actions.push({
label: '清除关联',
@@ -1875,6 +1909,9 @@
case 'realname-policy':
handleShowRealnamePolicy(iccid, row?.realname_policy)
break
case 'update-realname-status':
handleShowUpdateRealnameStatus(iccid, row?.real_name_status)
break
case 'clear-series':
handleClearSingleCardSeries(iccid)
break