fix:some
All checks were successful
构建并部署前端到测试环境 / deploy (push) Successful in 55s

This commit is contained in:
luo
2026-10-20 17:35:12 +08:00
parent 6dedd9f852
commit 22e796ba23
3 changed files with 173 additions and 9 deletions

View File

@@ -63,6 +63,7 @@ export interface UpdateCarrierParams {
description?: string | null
data_reset_day?: number | null // 上游流量重置日(1-28)
realname_control_enabled?: CarrierRealnameControlEnabled // 通道实名管控 (0:不管控, 1:管控)
realname_control_confirm?: boolean // 从不管控改为管控时,确认未实名开机卡将在下次评估时被停机
realname_link_type?: string | null // 实名链接类型
realname_link_template?: string | null // 实名链接模板
traffic_threshold_enabled?: CarrierTrafficThresholdEnabled | null // 通道流量阈值开关

View File

@@ -206,7 +206,13 @@
import { CarrierService } from '@/api/modules'
import { ElMessage, ElMessageBox, ElTag, ElSwitch, ElButton } from 'element-plus'
import type { FormInstance, FormRules } from 'element-plus'
import type { Carrier, CarrierType, CreateCarrierParams } from '@/types/api'
import type {
Carrier,
CarrierType,
CarrierRealnameControlEnabled,
CreateCarrierParams,
UpdateCarrierParams
} from '@/types/api'
import type { SearchFormItem } from '@/types'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import { useAuth } from '@/composables/useAuth'
@@ -592,6 +598,7 @@
}
const dialogType = ref('add')
const originalRealnameControlEnabled = ref<CarrierRealnameControlEnabled>(0)
// 显示新增/编辑对话框
const showDialog = (type: string, row?: any) => {
@@ -606,6 +613,7 @@
form.description = row.description
form.data_reset_day = row.data_reset_day || 1
form.realname_control_enabled = row.realname_control_enabled ?? 0
originalRealnameControlEnabled.value = form.realname_control_enabled
form.traffic_threshold_mode = getThresholdMode(row.traffic_threshold_enabled)
form.traffic_threshold_unit = row.traffic_threshold_unit ?? null
form.traffic_threshold_value = row.traffic_threshold_value ?? null
@@ -619,6 +627,7 @@
form.description = ''
form.data_reset_day = 1
form.realname_control_enabled = 0
originalRealnameControlEnabled.value = 0
form.traffic_threshold_mode = 'unconfigured'
form.traffic_threshold_unit = null
form.traffic_threshold_value = null
@@ -713,7 +722,7 @@
// 提交表单
const handleSubmit = async (formEl: FormInstance | undefined) => {
if (!formEl) return
if (!formEl || submitLoading.value) return
if (
canConfigureTrafficThreshold.value &&
@@ -727,7 +736,7 @@
}
await formEl.validate(async (valid) => {
if (valid) {
if (valid && !submitLoading.value) {
submitLoading.value = true
try {
const data: CreateCarrierParams = {
@@ -747,7 +756,7 @@
await CarrierService.createCarrier(data)
ElMessage.success('新增成功')
} else {
const updateData = {
const updateData: UpdateCarrierParams = {
carrier_name: form.carrier_name,
description: form.description || undefined,
data_reset_day: form.data_reset_day || null,
@@ -757,6 +766,27 @@
...getTrafficThresholdPayload(),
...getRealnameControlPayload()
}
if (
canConfigureRealnameControl.value &&
originalRealnameControlEnabled.value === 0 &&
updateData.realname_control_enabled === 1
) {
try {
await ElMessageBox.confirm(
'开启通道实名管控后,该通道未实名的开机卡会在下一次评估时被停机。确认开启吗?',
'确认开启通道实名管控',
{
type: 'warning',
confirmButtonText: '确认开启',
cancelButtonText: '取消',
closeOnClickModal: false
}
)
} catch {
return
}
updateData.realname_control_confirm = true
}
await CarrierService.updateCarrier(form.id, updateData)
ElMessage.success('修改成功')
}
@@ -798,6 +828,7 @@
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 24px;
align-items: start;
:deep(.el-form-item) {
margin-right: 0;
@@ -808,7 +839,7 @@
grid-column: 1 / -1;
}
@media (max-width: 640px) {
@media (width <= 640px) {
.carrier-form-grid {
grid-template-columns: minmax(0, 1fr);
}