优化更新

This commit is contained in:
2026-01-21 14:11:42 +08:00
parent 431d2c7071
commit 638c846aed
3 changed files with 602 additions and 562 deletions
+92 -92
View File
@@ -1,231 +1,231 @@
import request from "@/utils/request"; import request from '@/utils/request'
export default { export default {
version: { version: {
url: `system/index/version`, url: `system/index/version`,
name: "获取最新版本号", name: '获取最新版本号',
get: async function () { get: async function () {
return await request.get(this.url); return await request.get(this.url)
}, },
}, },
clearcache: { clearcache: {
url: `system/index/clearcache`, url: `system/index/clearcache`,
name: "清除缓存", name: '清除缓存',
post: async function () { post: async function () {
return await request.post(this.url); return await request.post(this.url)
}, },
}, },
info: { info: {
url: `system/index/info`, url: `system/index/info`,
name: "系统信息", name: '系统信息',
get: function (data) { get: function (data) {
return request.get(this.url, data); return request.get(this.url, data)
}, },
}, },
setting: { setting: {
list: { list: {
url: `system/setting/index`, url: `system/setting/index`,
name: "获取配置信息", name: '获取配置信息',
get: function (params) { get: function (params) {
return request.get(this.url, params); return request.get(this.url, params)
}, },
}, },
fields: { fields: {
url: `system/setting/fields`, url: `system/setting/fields`,
name: "获取配置字段", name: '获取配置字段',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
add: { add: {
url: `system/setting/add`, url: `system/setting/add`,
name: "保存配置信息", name: '保存配置信息',
post: function (data) { post: function (data) {
return request.post(this.url, data); return request.post(this.url, data)
}, },
}, },
edit: { edit: {
url: `system/setting/edit`, url: `system/setting/edit`,
name: "编辑配置信息", name: '编辑配置信息',
post: function (data) { post: function (data) {
return request.put(this.url, data); return request.put(this.url, data)
}, },
}, },
save: { save: {
url: `system/setting/save`, url: `system/setting/save`,
name: "保存配置信息", name: '保存配置信息',
post: function (data) { post: function (data) {
return request.put(this.url, data); return request.put(this.url, data)
}, },
}, },
}, },
dictionary: { dictionary: {
category: { category: {
url: `system/dict/category`, url: `system/dict/category`,
name: "获取字典树", name: '获取字典树',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
editcate: { editcate: {
url: `system/dict/editcate`, url: `system/dict/editcate`,
name: "编辑字典树", name: '编辑字典树',
post: async function (data = {}) { post: async function (data = {}) {
return await request.put(this.url, data); return await request.put(this.url, data)
}, },
}, },
addcate: { addcate: {
url: `system/dict/addcate`, url: `system/dict/addcate`,
name: "添加字典树", name: '添加字典树',
post: async function (data = {}) { post: async function (data = {}) {
return await request.post(this.url, data); return await request.post(this.url, data)
}, },
}, },
delCate: { delCate: {
url: `system/dict/deletecate`, url: `system/dict/deletecate`,
name: "删除字典树", name: '删除字典树',
post: async function (data = {}) { post: async function (data = {}) {
return await request.delete(this.url, data); return await request.delete(this.url, data)
}, },
}, },
list: { list: {
url: `system/dict/lists`, url: `system/dict/lists`,
name: "字典明细", name: '字典明细',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
get: { get: {
url: `system/dict/detail`, url: `system/dict/detail`,
name: "获取字典数据", name: '获取字典数据',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
edit: { edit: {
url: `system/dict/edit`, url: `system/dict/edit`,
name: "编辑字典明细", name: '编辑字典明细',
post: async function (data = {}) { post: async function (data = {}) {
return await request.put(this.url, data); return await request.put(this.url, data)
}, },
}, },
add: { add: {
url: `system/dict/add`, url: `system/dict/add`,
name: "添加字典明细", name: '添加字典明细',
post: async function (data = {}) { post: async function (data = {}) {
return await request.post(this.url, data); return await request.post(this.url, data)
}, },
}, },
delete: { delete: {
url: `system/dict/delete`, url: `system/dict/delete`,
name: "删除字典明细", name: '删除字典明细',
post: async function (data = {}) { post: async function (data = {}) {
return await request.delete(this.url, data); return await request.delete(this.url, data)
}, },
}, },
detail: { detail: {
url: `system/dict/detail`, url: `system/dict/detail`,
name: "字典明细", name: '字典明细',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
alldic: { alldic: {
url: `system/dict/all`, url: `system/dict/all`,
name: "全部字典", name: '全部字典',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
}, },
area: { area: {
list: { list: {
url: `system/area/index`, url: `system/area/index`,
name: "地区列表", name: '地区列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, { params })
}, },
}, },
add: { add: {
url: `system/area/add`, url: `system/area/add`,
name: "地区添加", name: '地区添加',
post: async function (params) { post: async function (params) {
return await request.post(this.url, params); return await request.post(this.url, params)
}, },
}, },
edit: { edit: {
url: `system/area/edit`, url: `system/area/edit`,
name: "地区编辑", name: '地区编辑',
post: async function (params) { post: async function (params) {
return await request.put(this.url, params); return await request.put(this.url, params)
}, },
}, },
}, },
app: { app: {
list: { list: {
url: `system/app/list`, url: `system/app/list`,
name: "应用列表", name: '应用列表',
get: async function () { get: async function () {
return await request.get(this.url); return await request.get(this.url)
}, },
}, },
}, },
client: { client: {
list: { list: {
url: `system/client/index`, url: `system/client/index`,
name: "客户端列表", name: '客户端列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
add: { add: {
url: `system/client/add`, url: `system/client/add`,
name: "客户端添加", name: '客户端添加',
post: async function (params) { post: async function (params) {
return await request.post(this.url, params); return await request.post(this.url, params)
}, },
}, },
edit: { edit: {
url: `system/client/edit`, url: `system/client/edit`,
name: "客户端编辑", name: '客户端编辑',
post: async function (params) { post: async function (params) {
return await request.put(this.url, params); return await request.put(this.url, params)
}, },
}, },
delete: { delete: {
url: `system/client/delete`, url: `system/client/delete`,
name: "客户端删除", name: '客户端删除',
post: async function (params) { post: async function (params) {
return await request.delete(this.url, params); return await request.delete(this.url, params)
}, },
}, },
menu: { menu: {
list: { list: {
url: `system/menu/index`, url: `system/menu/index`,
name: "客户端菜单列表", name: '客户端菜单列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
add: { add: {
url: `system/menu/add`, url: `system/menu/add`,
name: "客户端菜单添加", name: '客户端菜单添加',
post: async function (params) { post: async function (params) {
return await request.post(this.url, params); return await request.post(this.url, params)
}, },
}, },
edit: { edit: {
url: `system/menu/edit`, url: `system/menu/edit`,
name: "客户端菜单编辑", name: '客户端菜单编辑',
post: async function (params) { post: async function (params) {
return await request.put(this.url, params); return await request.put(this.url, params)
}, },
}, },
delete: { delete: {
url: `system/menu/delete`, url: `system/menu/delete`,
name: "客户端菜单删除", name: '客户端菜单删除',
post: async function (params) { post: async function (params) {
return await request.delete(this.url, params); return await request.delete(this.url, params)
}, },
}, },
}, },
@@ -233,109 +233,109 @@ export default {
log: { log: {
list: { list: {
url: `system/log/index`, url: `system/log/index`,
name: "日志列表", name: '日志列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
my: { my: {
url: `system/log/my`, url: `system/log/my`,
name: "我的日志", name: '我的日志',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
delete: { delete: {
url: `system/log/delete`, url: `system/log/delete`,
name: "日志删除", name: '日志删除',
post: async function (params) { post: async function (params) {
return await request.delete(this.url, params); return await request.delete(this.url, params)
}, },
}, },
}, },
tasks: { tasks: {
list: { list: {
url: `system/tasks/index`, url: `system/tasks/index`,
name: "任务列表", name: '任务列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
delete: { delete: {
url: `system/tasks/delete`, url: `system/tasks/delete`,
name: "任务删除", name: '任务删除',
post: async function (params) { post: async function (params) {
return await request.delete(this.url, params); return await request.delete(this.url, params)
}, },
}, },
}, },
crontab: { crontab: {
list: { list: {
url: `system/crontab/index`, url: `system/crontab/index`,
name: "定时任务列表", name: '定时任务列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
add: { add: {
url: `system/crontab/add`, url: `system/crontab/add`,
name: "定时任务添加", name: '定时任务添加',
post: async function (params) { post: async function (params) {
return await request.post(this.url, params); return await request.post(this.url, params)
}, },
}, },
edit: { edit: {
url: `system/crontab/edit`, url: `system/crontab/edit`,
name: "定时任务编辑", name: '定时任务编辑',
post: async function (params) { post: async function (params) {
return await request.put(this.url, params); return await request.put(this.url, params)
}, },
}, },
delete: { delete: {
url: `system/crontab/delete`, url: `system/crontab/delete`,
name: "定时任务删除", name: '定时任务删除',
post: async function (params) { post: async function (params) {
return await request.delete(this.url, params); return await request.delete(this.url, params)
}, },
}, },
log: { log: {
url: `system/crontab/log`, url: `system/crontab/log`,
name: "定时任务日志", name: '定时任务日志',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
reload: { reload: {
url: `system/crontab/reload`, url: `system/crontab/reload`,
name: "定时任务重载", name: '定时任务重载',
post: async function (params) { post: async function (params) {
return await request.put(this.url, params); return await request.put(this.url, params)
}, },
}, },
}, },
modules: { modules: {
list: { list: {
url: `system/modules/index`, url: `system/modules/index`,
name: "模块列表", name: '模块列表',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
update: { update: {
url: `system/modules/update`, url: `system/modules/update`,
name: "更新模块", name: '更新模块',
post: async function (params) { post: async function (params) {
return await request.post(this.url, params); return await request.post(this.url, params)
}, },
}, },
}, },
sms: { sms: {
count: { count: {
url: `system/sms/count`, url: `system/sms/count`,
name: "短信发送统计", name: '短信发送统计',
get: async function (params) { get: async function (params) {
return await request.get(this.url, params); return await request.get(this.url, params)
}, },
}, },
}, },
}; }
File diff suppressed because it is too large Load Diff
+30 -61
View File
@@ -1,11 +1,10 @@
<template> <template>
<div class="system-area"> <div class="system-area">
<sc-table ref="tableRef" :columns="columns" :data-source="dataSource" :loading="loading" <sc-table ref="tableRef" :columns="columns" :data-source="dataSource" :loading="loading"
:pagination="pagination" @refresh="loadData" @change="handleTableChange" :pagination="pagination" @refresh="loadData" @change="handleTableChange" :row-selection="rowSelection"
@selection-change="handleSelectionChange" :show-action-column="true" :show-action="true" :actions="actions" :show-index="true" :show-striped="true">
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: handleSelectionChange }">
<!-- 工具栏左侧 --> <!-- 工具栏左侧 -->
<template #toolbar-left> <template #toolLeft>
<a-button type="primary" @click="handleAdd"> <a-button type="primary" @click="handleAdd">
<template #icon> <template #icon>
<PlusOutlined /> <PlusOutlined />
@@ -31,16 +30,6 @@
<template #level="{ text }"> <template #level="{ text }">
<a-tag color="blue">{{ getLevelText(text) }}</a-tag> <a-tag color="blue">{{ getLevelText(text) }}</a-tag>
</template> </template>
<!-- 操作列 -->
<template #action="{ record }">
<a-button size="small" type="link" @click="handleEdit(record)">
{{ $t('common.edit') }}
</a-button>
<a-button size="small" type="link" danger @click="handleDelete(record)">
{{ $t('common.delete') }}
</a-button>
</template>
</sc-table> </sc-table>
<!-- 添加/编辑弹窗 --> <!-- 添加/编辑弹窗 -->
@@ -50,9 +39,9 @@
</template> </template>
<script setup> <script setup>
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted, computed } from 'vue'
import { message, Modal } from 'ant-design-vue' import { message, Modal } from 'ant-design-vue'
import { EnvironmentOutlined, PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue' import { PlusOutlined, DeleteOutlined } from '@ant-design/icons-vue'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import systemApi from '@/api/system' import systemApi from '@/api/system'
import ScTable from '@/components/scTable/index.vue' import ScTable from '@/components/scTable/index.vue'
@@ -71,15 +60,7 @@ const dataSource = ref([])
const loading = ref(false) const loading = ref(false)
// 分页 // 分页
const pagination = reactive({ const pagination = reactive(false)
current: 1,
pageSize: 10,
total: 0,
showSizeChanger: true,
showQuickJumper: true,
showTotal: (total) => `${total}`,
pageSizeOptions: ['10', '20', '50', '100'],
})
// 选中的行 // 选中的行
const selectedRowKeys = ref([]) const selectedRowKeys = ref([])
@@ -89,8 +70,25 @@ const modalVisible = ref(false)
const isEdit = ref(false) const isEdit = ref(false)
const currentData = ref({}) const currentData = ref({})
// 行操作配置 // 行选择配置
const rowActions = ref([]) const rowSelection = computed(() => ({
selectedRowKeys: selectedRowKeys.value,
onChange: (selectedKeys) => {
selectedRowKeys.value = selectedKeys
},
}))
// 操作列配置
const actions = computed(() => [
{
label: t('common.edit'),
onClick: handleEdit,
},
{
label: t('common.delete'),
onClick: handleDelete,
},
])
// 添加 // 添加
const handleAdd = () => { const handleAdd = () => {
@@ -112,14 +110,6 @@ const getLevelText = (level) => {
// 列配置 // 列配置
const columns = ref([ const columns = ref([
{
title: 'ID',
dataIndex: 'id',
key: 'id',
width: 80,
fixed: 'left',
sorter: true,
},
{ {
title: t('common.areaName'), title: t('common.areaName'),
dataIndex: 'title', dataIndex: 'title',
@@ -165,11 +155,10 @@ const loadData = async () => {
try { try {
loading.value = true loading.value = true
const params = { const params = {
page: pagination.current, is_tree: 1,
pageSize: pagination.pageSize,
} }
const res = await systemApi.area.list.get(params) const res = await systemApi.area.list.get(params)
if (res.code === 200 || res.code === 1) { if (res.code === 1) {
dataSource.value = res.data.list || res.data || [] dataSource.value = res.data.list || res.data || []
pagination.total = res.data.total || 0 pagination.total = res.data.total || 0
} }
@@ -182,17 +171,12 @@ const loadData = async () => {
} }
// 表格变化处理 // 表格变化处理
const handleTableChange = (params) => { const handleTableChange = ({ pagination: newPagination }) => {
if (params.current) pagination.current = params.current if (newPagination.current) pagination.current = newPagination.current
if (params.pageSize) pagination.pageSize = params.pageSize if (newPagination.pageSize) pagination.pageSize = newPagination.pageSize
loadData() loadData()
} }
// 行选择变化处理
const handleSelectionChange = (selectedKeys) => {
selectedRowKeys.value = selectedKeys
}
// 编辑 // 编辑
const handleEdit = (record) => { const handleEdit = (record) => {
isEdit.value = true isEdit.value = true
@@ -225,21 +209,6 @@ const handleDelete = (record) => {
}) })
} }
// 初始化行操作配置(必须在 handleEdit 和 handleDelete 定义之后)
rowActions.value = [
{
key: 'edit',
label: t('common.edit'),
handler: handleEdit,
},
{
key: 'delete',
label: t('common.delete'),
danger: true,
handler: handleDelete,
},
]
// 批量删除 // 批量删除
const handleBatchDelete = () => { const handleBatchDelete = () => {
if (selectedRowKeys.value.length === 0) { if (selectedRowKeys.value.length === 0) {