This commit is contained in:
1136
package-lock.json
generated
1136
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -53,10 +53,10 @@
|
||||
"@vueuse/core": "^11.0.0",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "next",
|
||||
"axios": "^1.7.5",
|
||||
"axios": "1.13.5",
|
||||
"crypto-js": "^4.2.0",
|
||||
"echarts": "^5.4.0",
|
||||
"element-plus": "^2.8.0",
|
||||
"element-plus": "2.11.3",
|
||||
"file-saver": "^2.0.5",
|
||||
"highlight.js": "^11.10.0",
|
||||
"md-editor-v3": "^4.17.0",
|
||||
@@ -68,7 +68,7 @@
|
||||
"qrcode.vue": "^3.6.0",
|
||||
"vue": "^3.5.12",
|
||||
"vue-draggable-plus": "^0.6.0",
|
||||
"vue-i18n": "^9.14.0",
|
||||
"vue-i18n": "11.1.10",
|
||||
"vue-router": "^4.4.2",
|
||||
"vue3-count-to": "^1.1.2",
|
||||
"xgplayer": "^3.0.20",
|
||||
@@ -106,7 +106,7 @@
|
||||
"typescript-eslint": "^8.9.0",
|
||||
"unplugin-auto-import": "^0.18.3",
|
||||
"unplugin-vue-components": "^0.27.4",
|
||||
"vite": "^6.1.0",
|
||||
"vite": "7.1.11",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-imagemin": "^0.6.1",
|
||||
"vue-demi": "^0.14.9",
|
||||
|
||||
@@ -19,6 +19,7 @@ export interface Carrier {
|
||||
carrier_name: string
|
||||
carrier_type: CarrierType
|
||||
description?: string
|
||||
data_reset_day?: number | null // 上游流量重置日(1-28)
|
||||
status: number
|
||||
created_at: string
|
||||
updated_at: string
|
||||
@@ -37,12 +38,14 @@ export interface CreateCarrierParams {
|
||||
carrier_name: string
|
||||
carrier_type: CarrierType
|
||||
description?: string
|
||||
data_reset_day?: number | null // 上游流量重置日(1-28)
|
||||
}
|
||||
|
||||
// 更新运营商请求参数
|
||||
export interface UpdateCarrierParams {
|
||||
carrier_name?: string
|
||||
description?: string
|
||||
data_reset_day?: number | null // 上游流量重置日(1-28)
|
||||
}
|
||||
|
||||
// 更新运营商状态参数
|
||||
|
||||
@@ -85,6 +85,7 @@ export interface DeviceCardBinding {
|
||||
carrier_name: string // 运营商名称
|
||||
slot_position: number // 插槽位置 (1-4)
|
||||
status: number // 卡状态 (1:在库, 2:已分销, 3:已激活, 4:已停用)
|
||||
network_status: number // 网络状态 (0:停机, 1:开机)
|
||||
bind_time: string | null // 绑定时间
|
||||
is_current?: boolean // 是否为设备当前使用的卡
|
||||
}
|
||||
|
||||
@@ -413,10 +413,10 @@
|
||||
</ElTableColumn>
|
||||
<ElTableColumn prop="iccid" label="ICCID" min-width="180" />
|
||||
<ElTableColumn prop="msisdn" label="接入号" width="140" />
|
||||
<ElTableColumn prop="status" label="状态" width="100" align="center">
|
||||
<ElTableColumn prop="network_status" label="网络状态" width="100" align="center">
|
||||
<template #default="{ row }">
|
||||
<ElTag :type="getCardStatusTagType(row.status)">
|
||||
{{ getCardStatusText(row.status) }}
|
||||
<ElTag :type="getNetworkStatusTagType(row.network_status)">
|
||||
{{ getNetworkStatusText(row.network_status) }}
|
||||
</ElTag>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -1072,6 +1072,29 @@
|
||||
return textMap[status] || '未知'
|
||||
}
|
||||
|
||||
// 获取网络状态标签类型
|
||||
const getNetworkStatusTagType = (networkStatus: number) => {
|
||||
// 0: 停机 (danger 红色)
|
||||
// 1: 开机 - 正常/异常 (success 绿色 / warning 黄色)
|
||||
if (networkStatus === 0) {
|
||||
return 'danger' // 停机 - 红色
|
||||
} else if (networkStatus === 1) {
|
||||
return 'success' // 开机正常 - 绿色
|
||||
}
|
||||
return 'info' // 未知状态
|
||||
}
|
||||
|
||||
// 获取网络状态文本
|
||||
const getNetworkStatusText = (networkStatus: number) => {
|
||||
// 0: 停机
|
||||
// 1: 开机 - 显示为"正常"
|
||||
const textMap: Record<number, string> = {
|
||||
0: '停机',
|
||||
1: '正常' // 开机显示为"正常"
|
||||
}
|
||||
return textMap[networkStatus] || '未知'
|
||||
}
|
||||
|
||||
// 获取设备状态标签类型
|
||||
const getDeviceStatusTagType = (status: number) => {
|
||||
const typeMap: Record<number, any> = {
|
||||
|
||||
@@ -105,6 +105,20 @@
|
||||
placeholder="请输入运营商描述"
|
||||
/>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="流量重置日" prop="data_reset_day">
|
||||
<ElInputNumber
|
||||
v-model="form.data_reset_day"
|
||||
:min="1"
|
||||
:max="28"
|
||||
:step="1"
|
||||
controls-position="right"
|
||||
placeholder="请输入流量重置日"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<div style="margin-top: 5px; font-size: 12px; color: #909399">
|
||||
运营商每月清零网关计数器的日期(1-28日),默认为1日
|
||||
</div>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="实名链接类型" prop="realname_link_type">
|
||||
<ElSelect
|
||||
v-model="form.realname_link_type"
|
||||
@@ -270,6 +284,27 @@
|
||||
],
|
||||
carrier_type: [{ required: true, message: '请选择运营商类型', trigger: 'change' }],
|
||||
description: [{ max: 500, message: '描述不能超过500个字符', trigger: 'blur' }],
|
||||
data_reset_day: [
|
||||
{
|
||||
validator: (rule: any, value: any, callback: any) => {
|
||||
if (value === null || value === undefined || value === '') {
|
||||
callback() // 允许为空
|
||||
} else {
|
||||
const numValue = Number(value)
|
||||
if (isNaN(numValue)) {
|
||||
callback(new Error('请输入有效的数字'))
|
||||
} else if (!Number.isInteger(numValue)) {
|
||||
callback(new Error('请输入整数'))
|
||||
} else if (numValue < 1 || numValue > 28) {
|
||||
callback(new Error('流量重置日必须在1-28之间'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
realname_link_type: [{ required: true, message: '请选择实名链接类型', trigger: 'change' }],
|
||||
realname_link_template: [
|
||||
{
|
||||
@@ -292,6 +327,7 @@
|
||||
carrier_name: '',
|
||||
carrier_type: null,
|
||||
description: '',
|
||||
data_reset_day: 1,
|
||||
realname_link_type: 'none',
|
||||
realname_link_template: ''
|
||||
})
|
||||
@@ -433,6 +469,7 @@
|
||||
form.carrier_name = row.carrier_name
|
||||
form.carrier_type = row.carrier_type
|
||||
form.description = row.description
|
||||
form.data_reset_day = row.data_reset_day || 1
|
||||
form.realname_link_type = row.realname_link_type || 'none'
|
||||
form.realname_link_template = row.realname_link_template || ''
|
||||
} else {
|
||||
@@ -441,6 +478,7 @@
|
||||
form.carrier_name = ''
|
||||
form.carrier_type = null
|
||||
form.description = ''
|
||||
form.data_reset_day = 1
|
||||
form.realname_link_type = 'none'
|
||||
form.realname_link_template = ''
|
||||
}
|
||||
@@ -493,7 +531,8 @@
|
||||
carrier_code: form.carrier_code,
|
||||
carrier_name: form.carrier_name,
|
||||
carrier_type: form.carrier_type as CarrierType,
|
||||
description: form.description || undefined
|
||||
description: form.description || undefined,
|
||||
data_reset_day: form.data_reset_day || null
|
||||
}
|
||||
|
||||
if (dialogType.value === 'add') {
|
||||
@@ -502,7 +541,8 @@
|
||||
} else {
|
||||
const updateData = {
|
||||
carrier_name: form.carrier_name,
|
||||
description: form.description || undefined
|
||||
description: form.description || undefined,
|
||||
data_reset_day: form.data_reset_day || null
|
||||
}
|
||||
await CarrierService.updateCarrier(form.id, updateData)
|
||||
ElMessage.success('修改成功')
|
||||
|
||||
Reference in New Issue
Block a user