diff --git a/apps/web-antd/src/views/demo/demo/api/index.ts b/apps/web-antd/src/views/demo/demo/api/index.ts new file mode 100755 index 00000000..4590457c --- /dev/null +++ b/apps/web-antd/src/views/demo/demo/api/index.ts @@ -0,0 +1,60 @@ +import type { DemoForm, DemoQuery, DemoVO } from './model'; + +import type { ID, IDS, PageResult } from '#/api/common'; + +import { commonExport } from '#/api/helper'; +import { requestClient } from '#/api/request'; + +/** + * 查询测试单表列表 + * @param params + * @returns 测试单表列表 + */ +export function demoList(params?: DemoQuery) { + return requestClient.get>('/demo/demo/list', { params }); +} + +/** + * 导出测试单表列表 + * @param params + * @returns 测试单表列表 + */ +export function demoExport(params?: DemoQuery) { + return commonExport('/demo/demo/export', params ?? {}); +} + +/** + * 查询测试单表详情 + * @param id id + * @returns 测试单表详情 + */ +export function demoInfo(id: ID) { + return requestClient.get(`/demo/demo/${id}`); +} + +/** + * 新增测试单表 + * @param data + * @returns void + */ +export function demoAdd(data: DemoForm) { + return requestClient.postWithMsg('/demo/demo', data); +} + +/** + * 更新测试单表 + * @param data + * @returns void + */ +export function demoUpdate(data: DemoForm) { + return requestClient.putWithMsg('/demo/demo', data); +} + +/** + * 删除测试单表 + * @param id id + * @returns void + */ +export function demoRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/demo/demo/${id}`); +} diff --git a/apps/web-antd/src/views/demo/demo/api/model.d.ts b/apps/web-antd/src/views/demo/demo/api/model.d.ts new file mode 100755 index 00000000..e7f69c48 --- /dev/null +++ b/apps/web-antd/src/views/demo/demo/api/model.d.ts @@ -0,0 +1,82 @@ +import type { BaseEntity, PageQuery } from '#/api/common'; + +export interface DemoVO { + /** + * 主键 + */ + id: number | string; + + /** + * 排序号 + */ + orderNum: number; + + /** + * key键 + */ + testKey: string; + + /** + * 值 + */ + value: string; + + /** + * 版本 + */ + version: number; +} + +export interface DemoForm extends BaseEntity { + /** + * 主键 + */ + id?: number | string; + + /** + * 排序号 + */ + orderNum?: number; + + /** + * key键 + */ + testKey?: string; + + /** + * 值 + */ + value?: string; + + /** + * 版本 + */ + version?: number; +} + +export interface DemoQuery extends PageQuery { + /** + * 排序号 + */ + orderNum?: number; + + /** + * key键 + */ + testKey?: string; + + /** + * 值 + */ + value?: string; + + /** + * 版本 + */ + version?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/views/demo/demo/data.ts b/apps/web-antd/src/views/demo/demo/data.ts new file mode 100755 index 00000000..d745d5e9 --- /dev/null +++ b/apps/web-antd/src/views/demo/demo/data.ts @@ -0,0 +1,91 @@ +import type { FormSchemaGetter, VxeGridProps } from '#/adapter'; + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'orderNum', + label: '排序号', + }, + { + component: 'Input', + fieldName: 'testKey', + label: 'key键', + }, + { + component: 'Input', + fieldName: 'value', + label: '值', + }, + { + component: 'Input', + fieldName: 'version', + label: '版本', + }, +]; + +export const columns: VxeGridProps['columns'] = [ + { type: 'checkbox', width: 60 }, + { + title: '主键', + field: 'id', + }, + { + title: '排序号', + field: 'orderNum', + }, + { + title: 'key键', + field: 'testKey', + }, + { + title: '值', + field: 'value', + }, + { + title: '版本', + field: 'version', + }, + { + field: 'action', + fixed: 'right', + slots: { default: 'action' }, + title: '操作', + width: 180, + }, +]; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: '主键', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '排序号', + fieldName: 'orderNum', + component: 'Input', + rules: 'required', + }, + { + label: 'key键', + fieldName: 'testKey', + component: 'Input', + rules: 'required', + }, + { + label: '值', + fieldName: 'value', + component: 'Input', + rules: 'required', + }, + { + label: '版本', + fieldName: 'version', + component: 'Input', + rules: 'required', + }, +]; diff --git a/apps/web-antd/src/views/demo/demo/demo-modal.vue b/apps/web-antd/src/views/demo/demo/demo-modal.vue new file mode 100755 index 00000000..758cc031 --- /dev/null +++ b/apps/web-antd/src/views/demo/demo/demo-modal.vue @@ -0,0 +1,87 @@ + + + diff --git a/apps/web-antd/src/views/demo/demo/index.vue b/apps/web-antd/src/views/demo/demo/index.vue index 06372a15..bf6ea62e 100644 --- a/apps/web-antd/src/views/demo/demo/index.vue +++ b/apps/web-antd/src/views/demo/demo/index.vue @@ -1,9 +1,183 @@ diff --git a/apps/web-antd/src/views/demo/tree/api/index.ts b/apps/web-antd/src/views/demo/tree/api/index.ts new file mode 100755 index 00000000..3df12a26 --- /dev/null +++ b/apps/web-antd/src/views/demo/tree/api/index.ts @@ -0,0 +1,50 @@ +import type { TreeForm, TreeQuery, TreeVO } from './model'; + +import type { ID, IDS } from '#/api/common'; + +import { requestClient } from '#/api/request'; + +/** + * 查询测试树列表 + * @param params + * @returns 测试树列表 + */ +export function treeList(params?: TreeQuery) { + return requestClient.get('/demo/tree/list', { params }); +} + +/** + * 查询测试树详情 + * @param id id + * @returns 测试树详情 + */ +export function treeInfo(id: ID) { + return requestClient.get(`/demo/tree/${id}`); +} + +/** + * 新增测试树 + * @param data + * @returns void + */ +export function treeAdd(data: TreeForm) { + return requestClient.postWithMsg('/demo/tree', data); +} + +/** + * 更新测试树 + * @param data + * @returns void + */ +export function treeUpdate(data: TreeForm) { + return requestClient.putWithMsg('/demo/tree', data); +} + +/** + * 删除测试树 + * @param id id + * @returns void + */ +export function treeRemove(id: ID | IDS) { + return requestClient.deleteWithMsg(`/demo/tree/${id}`); +} diff --git a/apps/web-antd/src/views/demo/tree/api/model.d.ts b/apps/web-antd/src/views/demo/tree/api/model.d.ts new file mode 100755 index 00000000..87ba83db --- /dev/null +++ b/apps/web-antd/src/views/demo/tree/api/model.d.ts @@ -0,0 +1,102 @@ +import type { BaseEntity } from '#/api/common'; + +export interface TreeVO { + /** + * 主键 + */ + id: number | string; + + /** + * 父id + */ + parentId: number | string; + + /** + * 部门id + */ + deptId: number | string; + + /** + * 用户id + */ + userId: number | string; + + /** + * 值 + */ + treeName: string; + + /** + * 版本 + */ + version: number; + + /** + * 子对象 + */ + children: TreeVO[]; +} + +export interface TreeForm extends BaseEntity { + /** + * 主键 + */ + id?: number | string; + + /** + * 父id + */ + parentId?: number | string; + + /** + * 部门id + */ + deptId?: number | string; + + /** + * 用户id + */ + userId?: number | string; + + /** + * 值 + */ + treeName?: string; + + /** + * 版本 + */ + version?: number; +} + +export interface TreeQuery { + /** + * 父id + */ + parentId?: number | string; + + /** + * 部门id + */ + deptId?: number | string; + + /** + * 用户id + */ + userId?: number | string; + + /** + * 值 + */ + treeName?: string; + + /** + * 版本 + */ + version?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/apps/web-antd/src/views/demo/tree/data.ts b/apps/web-antd/src/views/demo/tree/data.ts new file mode 100755 index 00000000..5eaca015 --- /dev/null +++ b/apps/web-antd/src/views/demo/tree/data.ts @@ -0,0 +1,106 @@ +import type { FormSchemaGetter, VxeGridProps } from '#/adapter'; + +export const querySchema: FormSchemaGetter = () => [ + { + component: 'Input', + fieldName: 'parentId', + label: '父id', + }, + { + component: 'Input', + fieldName: 'deptId', + label: '部门id', + }, + { + component: 'Input', + fieldName: 'userId', + label: '用户id', + }, + { + component: 'Input', + fieldName: 'treeName', + label: '值', + }, + { + component: 'Input', + fieldName: 'version', + label: '版本', + }, +]; + +export const columns: VxeGridProps['columns'] = [ + { + title: '主键', + field: 'id', + treeNode: true, + }, + { + title: '父id', + field: 'parentId', + }, + { + title: '部门id', + field: 'deptId', + }, + { + title: '用户id', + field: 'userId', + }, + { + title: '值', + field: 'treeName', + }, + { + title: '版本', + field: 'version', + }, + { + field: 'action', + fixed: 'right', + slots: { default: 'action' }, + title: '操作', + width: 180, + }, +]; + +export const modalSchema: FormSchemaGetter = () => [ + { + label: '主键', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '父id', + fieldName: 'parentId', + component: 'TreeSelect', + rules: 'required', + }, + { + label: '部门id', + fieldName: 'deptId', + component: 'Input', + rules: 'required', + }, + { + label: '用户id', + fieldName: 'userId', + component: 'Input', + rules: 'required', + }, + { + label: '值', + fieldName: 'treeName', + component: 'Input', + rules: 'required', + }, + { + label: '版本', + fieldName: 'version', + component: 'Input', + rules: 'required', + }, +]; diff --git a/apps/web-antd/src/views/demo/tree/index.vue b/apps/web-antd/src/views/demo/tree/index.vue index 06372a15..95adccca 100644 --- a/apps/web-antd/src/views/demo/tree/index.vue +++ b/apps/web-antd/src/views/demo/tree/index.vue @@ -1,9 +1,147 @@ diff --git a/apps/web-antd/src/views/demo/tree/tree-modal.vue b/apps/web-antd/src/views/demo/tree/tree-modal.vue new file mode 100755 index 00000000..00907d4d --- /dev/null +++ b/apps/web-antd/src/views/demo/tree/tree-modal.vue @@ -0,0 +1,104 @@ + + +