feat(admin): 订单管理重构、设置管理增强、短信签名模板管理及通知渠道优化
- 订单列表重构为卡片式布局并新增筛选功能 - 设置管理支持struct/struct_list类型配置 - 新增短信签名和模板独立管理页面 - 通知渠道新增短信渠道配置 - 产品参数管理优化 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
<path d="M8 21h8M12 17v4"/>
|
||||
</svg>
|
||||
<span class="name-text">{{ row.name }}</span>
|
||||
<el-tag v-if="row.default" type="success" size="small" effect="dark" style="margin-left: 6px">默认</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -73,13 +74,15 @@
|
||||
<el-table-column prop="CreatedAt" label="创建时间" width="170" align="center">
|
||||
<template #default="{ row }">{{ formatTime(row.CreatedAt) }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200" align="center" fixed="right">
|
||||
<el-table-column label="操作" width="320" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button link type="success" size="small" @click="openConsole(row)">控制台</el-button>
|
||||
<el-button v-if="!row.default" link type="warning" size="small" @click="handleSetDefault(row)">设为默认</el-button>
|
||||
<el-button link type="primary" size="small" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button link type="primary" size="small" @click="goToGoods(row)">额度商品</el-button>
|
||||
<el-popconfirm title="确认删除该服务?" @confirm="handleDelete(row)">
|
||||
<el-popconfirm :title="row.default ? '该服务为默认服务,删除前请先设置其他服务为默认' : '确认删除该服务?'" :disabled="row.default" @confirm="handleDelete(row)">
|
||||
<template #reference>
|
||||
<el-button link type="danger" size="small">删除</el-button>
|
||||
<el-button link type="danger" size="small" :disabled="row.default">删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
@@ -137,7 +140,8 @@ import {
|
||||
getSmsServiceList,
|
||||
createSmsService,
|
||||
updateSmsService,
|
||||
deleteSmsService
|
||||
deleteSmsService,
|
||||
setDefaultSmsService
|
||||
} from '@/api/admin/smsService.js'
|
||||
|
||||
const router = useRouter()
|
||||
@@ -270,6 +274,28 @@ const handleDelete = async (row) => {
|
||||
}
|
||||
}
|
||||
|
||||
const handleSetDefault = async (row) => {
|
||||
try {
|
||||
const params = new URLSearchParams()
|
||||
params.append('id', row.id)
|
||||
const res = await setDefaultSmsService(params)
|
||||
if (res.data.code === 200) {
|
||||
ElMessage.success(`已将「${row.name}」设为默认短信服务`)
|
||||
fetchList()
|
||||
} else {
|
||||
ElMessage.error(res.data.message || '设置失败')
|
||||
}
|
||||
} catch (e) {
|
||||
ElMessage.error('设置默认服务失败')
|
||||
}
|
||||
}
|
||||
|
||||
const openConsole = (row) => {
|
||||
const base = (row.host || '').replace(/\/+$/, '')
|
||||
if (!base) return ElMessage.warning('该服务未配置地址')
|
||||
window.open(`${base}/login?serverToken=${encodeURIComponent(row.serviceToken || '')}`, '_blank')
|
||||
}
|
||||
|
||||
const goToGoods = (row) => {
|
||||
router.push({ path: '/sms/goods', query: { service_id: row.id, service_name: row.name } })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user