feat: 用户列表代理商查询、商品续费、VNC节点access_mode、IDC信息展示、新购订单table修复
- 用户列表新增通过IDC代理商uid查询用户信息 - 用户商品详情新增续费功能(admin/good/user_goods/renew) - VNC节点管理新增access_mode和use_ssl参数 - 用户详情左栏新增IDC平台信息展示 - 新购订单选择商品后所属表不再被覆盖,固定为good Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -39,6 +39,18 @@
|
||||
<span class="host-addr">{{ row.ip || '-' }}:{{ row.port || '-' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="访问方案" width="110">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.access_mode === 'token'" type="warning" size="small">Token传参</el-tag>
|
||||
<el-tag v-else size="small">域名解析</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="SSL" width="70">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.use_ssl" type="success" size="small">是</el-tag>
|
||||
<span v-else class="text-muted">否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Token" min-width="140" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.token" class="token-mask">{{ maskToken(row.token) }}</span>
|
||||
@@ -81,7 +93,16 @@
|
||||
<el-input v-model="formData.port" placeholder="如 6080" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Token">
|
||||
<el-input v-model="formData.token" placeholder="认证Token(可选)" show-password />
|
||||
<el-input v-model="formData.token" placeholder="节点鉴权Token(可选)" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="访问方案">
|
||||
<el-select v-model="formData.access_mode" style="width: 100%">
|
||||
<el-option label="域名解析 (domain)" value="domain" />
|
||||
<el-option label="Token传参 (token)" value="token" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="使用SSL">
|
||||
<el-switch v-model="formData.use_ssl" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
@@ -224,7 +245,7 @@ const handleSearch = () => { queryParams.page = 1; loadList() }
|
||||
const formDialogVisible = ref(false)
|
||||
const formType = ref('add')
|
||||
const formRef = ref(null)
|
||||
const formData = reactive({ id: undefined, name: '', ip: '', port: '', token: '' })
|
||||
const formData = reactive({ id: undefined, name: '', ip: '', port: '', token: '', access_mode: 'domain', use_ssl: false })
|
||||
const formRules = {
|
||||
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
|
||||
ip: [{ required: true, message: '请输入IP地址', trigger: 'blur' }],
|
||||
@@ -233,14 +254,15 @@ const formRules = {
|
||||
|
||||
const handleAdd = () => {
|
||||
formType.value = 'add'
|
||||
Object.assign(formData, { id: undefined, name: '', ip: '', port: '', token: '' })
|
||||
Object.assign(formData, { id: undefined, name: '', ip: '', port: '', token: '', access_mode: 'domain', use_ssl: false })
|
||||
formDialogVisible.value = true
|
||||
}
|
||||
|
||||
const handleEdit = (row) => {
|
||||
formType.value = 'edit'
|
||||
Object.assign(formData, {
|
||||
id: row.id, name: row.name || '', ip: row.ip || '', port: row.port || '', token: row.token || ''
|
||||
id: row.id, name: row.name || '', ip: row.ip || '', port: row.port || '', token: row.token || '',
|
||||
access_mode: row.access_mode || 'domain', use_ssl: !!row.use_ssl
|
||||
})
|
||||
formDialogVisible.value = true
|
||||
}
|
||||
@@ -251,10 +273,12 @@ const handleSubmit = () => {
|
||||
submitLoading.value = true
|
||||
try {
|
||||
let res
|
||||
const payload = { service_id: serviceId.value, name: formData.name, ip: formData.ip, port: formData.port, token: formData.token, access_mode: formData.access_mode, use_ssl: formData.use_ssl }
|
||||
if (formType.value === 'add') {
|
||||
res = await addVncNode({ service_id: serviceId.value, name: formData.name, ip: formData.ip, port: formData.port, token: formData.token })
|
||||
res = await addVncNode(payload)
|
||||
} else {
|
||||
res = await updateVncNode({ service_id: serviceId.value, id: formData.id, name: formData.name, ip: formData.ip, port: formData.port, token: formData.token })
|
||||
payload.id = formData.id
|
||||
res = await updateVncNode(payload)
|
||||
}
|
||||
if (res?.data?.code === 200) {
|
||||
ElMessage.success(formType.value === 'add' ? '创建成功' : '修改成功')
|
||||
|
||||
Reference in New Issue
Block a user