From 5acd35774f1205da0b7596b043f8796c83825fbb Mon Sep 17 00:00:00 2001 From: v Date: Mon, 25 Aug 2025 22:45:07 +0800 Subject: [PATCH] up. --- .../admin/system/ConfigController.php | 10 +- z_ele/src/api/system/config/index.ts | 13 +- z_ele/src/api/system/config/model/index.ts | 13 +- z_ele/src/enum/config-item-type.ts | 83 ++-- .../components/config-form-list.vue | 66 ++-- z_ele/src/views/system/config-set/index.vue | 145 ++----- .../system/config/components/config-edit.vue | 253 +++++++----- .../config/components/config-select.vue | 72 ++++ z_ele/src/views/system/config/index.vue | 365 ++++++++++-------- 9 files changed, 567 insertions(+), 453 deletions(-) create mode 100644 z_ele/src/views/system/config/components/config-select.vue diff --git a/app/controller/admin/system/ConfigController.php b/app/controller/admin/system/ConfigController.php index 8e79fe9..f1ead3d 100644 --- a/app/controller/admin/system/ConfigController.php +++ b/app/controller/admin/system/ConfigController.php @@ -16,9 +16,9 @@ class ConfigController extends BaseController 'group'=> $this->request->get('group/s','') ]); - $list = CurdService::getList($this->request, $model)->toArray(); + $data = CurdService::getList($this->request, $model)->toArray(); - $data = list_build_tree($list); +// $data = list_build_tree($list); return $this->writeSuccess('success', $data); } @@ -43,9 +43,9 @@ class ConfigController extends BaseController 'comments' => '', 'group'=> '' ]); - $data['item_bind'] = $this->request->post('itemBind'); - $data['item_style'] = $this->request->post('itemStyle'); - $data['item_class'] = $this->request->post('itemClass'); + $data['item_bind'] = $this->request->post('itemBind','{}'); + $data['item_style'] = $this->request->post('itemStyle',''); + $data['item_class'] = $this->request->post('itemClass',''); $user = new SysConfig(); diff --git a/z_ele/src/api/system/config/index.ts b/z_ele/src/api/system/config/index.ts index c2258b8..4c37775 100644 --- a/z_ele/src/api/system/config/index.ts +++ b/z_ele/src/api/system/config/index.ts @@ -19,7 +19,7 @@ export async function configData(params: ConfigParam) { /** * 查询配置列表 */ -export async function listConfig(params?: ConfigParam) { +export async function listConfigs(params?: ConfigParam) { const res = await request.get>('/system/config', { params }); @@ -29,7 +29,6 @@ export async function listConfig(params?: ConfigParam) { return Promise.reject(new Error(res.data.message)); } - /** * 添加配置 */ @@ -56,19 +55,23 @@ export async function updateConfig(data: Config) { * 修改配置状态 */ export async function updateConfigStatus(id: number, status: number) { - const res = await request.put>('/system/config/status', {id, status}); + const res = await request.put>('/system/config/status', { + id, + status + }); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } - /** * 批量删除配置 */ export async function removeConfigs(ids: number[]) { - const res = await request.delete>('/system/config/batch', {data: ids}); + const res = await request.delete>('/system/config/batch', { + data: ids + }); if (res.data.code === 0) { return res.data.message; } diff --git a/z_ele/src/api/system/config/model/index.ts b/z_ele/src/api/system/config/model/index.ts index 6f9a7ab..6b37141 100644 --- a/z_ele/src/api/system/config/model/index.ts +++ b/z_ele/src/api/system/config/model/index.ts @@ -4,12 +4,17 @@ import type { PageParam } from '@/api'; * 角色 */ export interface Config { - + id?: number; + pid?: number; + title?: string; + type?: string; + comments?: string; + itemStyle?: string; + itemBind?: string; + itemClass?: string; } /** * 角色搜索条件 */ -export interface ConfigParam extends PageParam { - -} +export interface ConfigParam extends PageParam {} diff --git a/z_ele/src/enum/config-item-type.ts b/z_ele/src/enum/config-item-type.ts index 460e46c..ec2a015 100644 --- a/z_ele/src/enum/config-item-type.ts +++ b/z_ele/src/enum/config-item-type.ts @@ -2,50 +2,51 @@ * 配置类型 */ export enum ItemType { - SEPARATOR = "-", - ALERT = "alert", - CARD = "card", - COLLAPSE = "collapse", - TABS = "tabs", - TEXT = "text", - TEXTAREA = "textarea", - PASSWORD = "password", - CHECKBOX = "checkbox", - RADIO = "radio", - DATE = "date", - DATETIME = "datetime", - TIME = "time", - SWITCH = "switch", - HIDDEN = "hidden", - RANGE = "range", - DATE_RANGE = "date_range", - DATETIME_RANGE = "datetime_range", - TIME_RANGE = "time_range", - NUMBER = "number" + SEPARATOR = 'separator', + ALERT = 'alert', + CARD = 'card', + COLLAPSE = 'collapse', + TABS = 'tabs', + TABS_ITEM = 'tabs_item', + TEXT = 'text', + TEXTAREA = 'textarea', + PASSWORD = 'password', + CHECKBOX = 'checkbox', + RADIO = 'radio', + DATE = 'date', + DATETIME = 'datetime', + TIME = 'time', + SWITCH = 'switch', + HIDDEN = 'hidden', + RANGE = 'range', + DATE_RANGE = 'date_range', + DATETIME_RANGE = 'datetime_range', + TIME_RANGE = 'time_range', + NUMBER = 'number' } export const ItemLabels: Record = { - [ItemType.SEPARATOR]: "分割线", - [ItemType.ALERT]: "提示", - [ItemType.CARD]: "卡片", - [ItemType.COLLAPSE]: "折叠面板", - [ItemType.TABS]: "Tabs", - [ItemType.TEXT]: "单行文本", - [ItemType.TEXTAREA]: "多行文本", - [ItemType.PASSWORD]: "密码", - [ItemType.CHECKBOX]: "复选框", - [ItemType.RADIO]: "单选按钮", - [ItemType.DATE]: "日期", - [ItemType.DATETIME]: "日期+时间", - [ItemType.TIME]: "时间", - [ItemType.SWITCH]: "开关", - [ItemType.HIDDEN]: "隐藏", - [ItemType.TIME_SECOND]: "时间", - [ItemType.RANGE]: "范围", - [ItemType.DATE_RANGE]: "日期范围", - [ItemType.DATETIME_RANGE]: "日期时间范围", - [ItemType.TIME_RANGE]: "时间范围", - [ItemType.NUMBER]: "数字", + [ItemType.SEPARATOR]: '分割线', + [ItemType.ALERT]: '提示', + [ItemType.CARD]: '卡片', + [ItemType.COLLAPSE]: '折叠面板', + [ItemType.TABS]: 'Tabs', + [ItemType.TABS_ITEM]: 'Tabs子项', + [ItemType.TEXT]: '单行文本', + [ItemType.TEXTAREA]: '多行文本', + [ItemType.PASSWORD]: '密码', + [ItemType.CHECKBOX]: '复选框', + [ItemType.RADIO]: '单选按钮', + [ItemType.DATE]: '日期', + [ItemType.DATETIME]: '日期+时间', + [ItemType.TIME]: '时间', + [ItemType.SWITCH]: '开关', + [ItemType.HIDDEN]: '隐藏', + [ItemType.RANGE]: '范围', + [ItemType.DATE_RANGE]: '日期范围', + [ItemType.DATETIME_RANGE]: '日期时间范围', + [ItemType.TIME_RANGE]: '时间范围', + [ItemType.NUMBER]: '数字' }; export function getItemLabel(type: ItemType): string { diff --git a/z_ele/src/views/system/config-set/components/config-form-list.vue b/z_ele/src/views/system/config-set/components/config-form-list.vue index 873ba17..a220476 100644 --- a/z_ele/src/views/system/config-set/components/config-form-list.vue +++ b/z_ele/src/views/system/config-set/components/config-form-list.vue @@ -1,34 +1,54 @@