This commit is contained in:
@@ -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 // 通道流量阈值开关
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user