From daa190b7e3a55dda2389e05c7f2c93294239fb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BA=A2=E4=B8=BD?= <1181930680@qq.com> Date: Mon, 15 Jul 2024 15:50:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/content/layout.ts | 67 ++++++++ src/api/content/layoutItem.ts | 60 +++++++ src/views/content/layout/columns.ts | 28 ++++ src/views/content/layout/edit.vue | 105 ++++++++++++ src/views/content/layout/index.vue | 156 ++++++++++++++++++ src/views/content/layout/querySchemas.ts | 11 ++ src/views/content/layoutItem/columns.ts | 28 ++++ src/views/content/layoutItem/edit.vue | 145 +++++++++++++++++ src/views/content/layoutItem/index.vue | 158 +++++++++++++++++++ src/views/content/layoutItem/querySchemas.ts | 46 ++++++ 10 files changed, 804 insertions(+) create mode 100644 src/api/content/layout.ts create mode 100644 src/api/content/layoutItem.ts create mode 100644 src/views/content/layout/columns.ts create mode 100644 src/views/content/layout/edit.vue create mode 100644 src/views/content/layout/index.vue create mode 100644 src/views/content/layout/querySchemas.ts create mode 100644 src/views/content/layoutItem/columns.ts create mode 100644 src/views/content/layoutItem/edit.vue create mode 100644 src/views/content/layoutItem/index.vue create mode 100644 src/views/content/layoutItem/querySchemas.ts diff --git a/src/api/content/layout.ts b/src/api/content/layout.ts new file mode 100644 index 0000000..a5f3c54 --- /dev/null +++ b/src/api/content/layout.ts @@ -0,0 +1,67 @@ +import { http } from '@/utils/http/axios'; + +/** + * @description: 列表 + */ +export function getLayoutList(params?) { + return http.request({ + url: '/layout/page', + method: 'GET', + params, + }); +} +export function getLayoutAllList(params?) { + return http.request({ + url: '/layout/list', + method: 'GET', + params, + }); +} +/** + * @description: 根据ID获取详情 + */ +export function getLayoutDetail(layoutId) { + return http.request({ + url: '/layout/detail/'+layoutId, + method: 'get', + }); +} +/** + * @description: 添加 + */ +export function layoutAdd(data:any) { + return http.request({ + url: '/layout/add', + method: 'POST', + data, + }); +} +/** + * @description: 更新 + */ +export function layoutUpdate(data:any) { + return http.request({ + url: '/layout/update', + method: 'PUT', + data + }); +} +/** + * @description: 删除 + */ +export function layoutDelete(layoutId) { + return http.request({ + url: '/layout/delete/'+layoutId, + method: 'DELETE', + }); +} +/** + * @description: 批量删除 + */ +export function layoutBatchDelete(data:any) { + return http.request({ + url: '/layout/batchDelete', + method: 'DELETE', + data + }); +} \ No newline at end of file diff --git a/src/api/content/layoutItem.ts b/src/api/content/layoutItem.ts new file mode 100644 index 0000000..a9edaa3 --- /dev/null +++ b/src/api/content/layoutItem.ts @@ -0,0 +1,60 @@ +import { http } from '@/utils/http/axios'; + +/** + * @description: 列表 + */ +export function getLayoutList(params?) { + return http.request({ + url: '/layout/item/page', + method: 'GET', + params, + }); +} +/** + * @description: 根据ID获取详情 + */ +export function getLayoutDetail(layoutId) { + return http.request({ + url: '/layout/item/detail/'+layoutId, + method: 'get', + }); +} +/** + * @description: 添加 + */ +export function layoutAdd(data:any) { + return http.request({ + url: '/layout/item/add', + method: 'POST', + data, + }); +} +/** + * @description: 更新 + */ +export function layoutUpdate(data:any) { + return http.request({ + url: '/layout/item/update', + method: 'PUT', + data + }); +} +/** + * @description: 删除 + */ +export function layoutDelete(layoutId) { + return http.request({ + url: '/layout/item/delete/'+layoutId, + method: 'DELETE', + }); +} +/** + * @description: 批量删除 + */ +export function layoutBatchDelete(data:any) { + return http.request({ + url: '/layout/item/batchDelete', + method: 'DELETE', + data + }); +} \ No newline at end of file diff --git a/src/views/content/layout/columns.ts b/src/views/content/layout/columns.ts new file mode 100644 index 0000000..caf7018 --- /dev/null +++ b/src/views/content/layout/columns.ts @@ -0,0 +1,28 @@ +import { h } from 'vue'; +import { ElTag } from 'element-plus'; + +export const columns = [ + { + type: 'selection', + }, + { + label: '位置编号', + prop: 'location', + }, + { + label: '位置描述', + prop: 'description', + }, + { + label: '排序', + prop: 'sort', + }, + { + label: '创建人', + prop: 'createUser', + }, + { + label: '创建时间', + prop: 'createTime', + }, +]; diff --git a/src/views/content/layout/edit.vue b/src/views/content/layout/edit.vue new file mode 100644 index 0000000..381e868 --- /dev/null +++ b/src/views/content/layout/edit.vue @@ -0,0 +1,105 @@ + + diff --git a/src/views/content/layout/index.vue b/src/views/content/layout/index.vue new file mode 100644 index 0000000..138294d --- /dev/null +++ b/src/views/content/layout/index.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/views/content/layout/querySchemas.ts b/src/views/content/layout/querySchemas.ts new file mode 100644 index 0000000..c685264 --- /dev/null +++ b/src/views/content/layout/querySchemas.ts @@ -0,0 +1,11 @@ +import { FormSchema } from '@/components/Form/index'; +export const schemas: FormSchema[] = [ + { + field: 'description', + component: 'Input', + label: '页面描述', + componentProps: { + placeholder: '请输入页面位置描述', + }, + } +]; diff --git a/src/views/content/layoutItem/columns.ts b/src/views/content/layoutItem/columns.ts new file mode 100644 index 0000000..caf7018 --- /dev/null +++ b/src/views/content/layoutItem/columns.ts @@ -0,0 +1,28 @@ +import { h } from 'vue'; +import { ElTag } from 'element-plus'; + +export const columns = [ + { + type: 'selection', + }, + { + label: '位置编号', + prop: 'location', + }, + { + label: '位置描述', + prop: 'description', + }, + { + label: '排序', + prop: 'sort', + }, + { + label: '创建人', + prop: 'createUser', + }, + { + label: '创建时间', + prop: 'createTime', + }, +]; diff --git a/src/views/content/layoutItem/edit.vue b/src/views/content/layoutItem/edit.vue new file mode 100644 index 0000000..4b3ad64 --- /dev/null +++ b/src/views/content/layoutItem/edit.vue @@ -0,0 +1,145 @@ + + diff --git a/src/views/content/layoutItem/index.vue b/src/views/content/layoutItem/index.vue new file mode 100644 index 0000000..799ec32 --- /dev/null +++ b/src/views/content/layoutItem/index.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/views/content/layoutItem/querySchemas.ts b/src/views/content/layoutItem/querySchemas.ts new file mode 100644 index 0000000..112b4b6 --- /dev/null +++ b/src/views/content/layoutItem/querySchemas.ts @@ -0,0 +1,46 @@ +import { FormSchema } from '@/components/Form/index'; +import { getLayoutAllList } from '@/api/content/layout'; +export const loadSelectData = async(res)=> { + //这里可以进行数据转换处理 + return (await getLayoutAllList({ ...res })).map((item, index) => { + return { + ...item, + label:item.name, + value:item.id, + index, + }; + }); +} +export const schemas: FormSchema[] = [ + { + field: 'layoutId', + component: 'BasicSelect', + label: '页面布局', + componentProps: { + placeholder: '请选择页面布局', + block:true, + request: loadSelectData, + onChange: (e: any) => { + console.log(e); + }, + }, + }, + { + field: 'type', + component: 'Select', + label: '页面类型', + componentProps: { + placeholder: '请选择页面类型', + options: [ + { + label: 'CMS文章', + value: '1', + }, + { + label: '通知公告', + value: '2', + }, + ], + }, + }, +];