Explorar el Código

新增 数据字典新增支持连续新增和排序功能,查询列表新增排序列显示,字典表单的编码和值更改为非必填项
新增 数据字典类型新增支持排序功能,查询列表新增排序列显示
调整 将dictionary重命名为dict
更新 admin接口

zhontai hace 2 años
padre
commit
bf48804617

+ 55 - 35
src/api/admin/DictionaryType.ts → src/api/admin/Dict.ts

@@ -11,23 +11,24 @@
 
 import { AxiosResponse } from 'axios'
 import {
-  DictionaryTypeAddInput,
-  DictionaryTypeUpdateInput,
-  PageInputDictionaryTypeGetPageDto,
-  ResultOutputDictionaryTypeGetOutput,
+  DictAddInput,
+  DictUpdateInput,
+  PageInputDictGetPageDto,
+  ResultOutputDictGetOutput,
+  ResultOutputDictionaryStringListDictGetListDto,
   ResultOutputInt64,
-  ResultOutputPageOutputDictionaryTypeListOutput,
+  ResultOutputPageOutputDictGetPageOutput,
 } from './data-contracts'
 import { ContentType, HttpClient, RequestParams } from './http-client'
 
-export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
+export class DictApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name Get
    * @summary 查询
-   * @request GET:/api/admin/dictionary-type/get
+   * @request GET:/api/admin/dict/get
    * @secure
    */
   get = (
@@ -37,8 +38,8 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
     },
     params: RequestParams = {}
   ) =>
-    this.request<ResultOutputDictionaryTypeGetOutput, any>({
-      path: `/api/admin/dictionary-type/get`,
+    this.request<ResultOutputDictGetOutput, any>({
+      path: `/api/admin/dict/get`,
       method: 'GET',
       query: query,
       secure: true,
@@ -48,15 +49,15 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name GetPage
    * @summary 查询分页
-   * @request POST:/api/admin/dictionary-type/get-page
+   * @request POST:/api/admin/dict/get-page
    * @secure
    */
-  getPage = (data: PageInputDictionaryTypeGetPageDto, params: RequestParams = {}) =>
-    this.request<ResultOutputPageOutputDictionaryTypeListOutput, any>({
-      path: `/api/admin/dictionary-type/get-page`,
+  getPage = (data: PageInputDictGetPageDto, params: RequestParams = {}) =>
+    this.request<ResultOutputPageOutputDictGetPageOutput, any>({
+      path: `/api/admin/dict/get-page`,
       method: 'POST',
       body: data,
       secure: true,
@@ -67,15 +68,34 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
+   * @name GetList
+   * @summary 查询列表
+   * @request POST:/api/admin/dict/get-list
+   * @secure
+   */
+  getList = (data: string[], params: RequestParams = {}) =>
+    this.request<ResultOutputDictionaryStringListDictGetListDto, any>({
+      path: `/api/admin/dict/get-list`,
+      method: 'POST',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      format: 'json',
+      ...params,
+    })
+  /**
+   * No description
+   *
+   * @tags dict
    * @name Add
    * @summary 新增
-   * @request POST:/api/admin/dictionary-type/add
+   * @request POST:/api/admin/dict/add
    * @secure
    */
-  add = (data: DictionaryTypeAddInput, params: RequestParams = {}) =>
+  add = (data: DictAddInput, params: RequestParams = {}) =>
     this.request<ResultOutputInt64, any>({
-      path: `/api/admin/dictionary-type/add`,
+      path: `/api/admin/dict/add`,
       method: 'POST',
       body: data,
       secure: true,
@@ -86,15 +106,15 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name Update
    * @summary 修改
-   * @request PUT:/api/admin/dictionary-type/update
+   * @request PUT:/api/admin/dict/update
    * @secure
    */
-  update = (data: DictionaryTypeUpdateInput, params: RequestParams = {}) =>
+  update = (data: DictUpdateInput, params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary-type/update`,
+      path: `/api/admin/dict/update`,
       method: 'PUT',
       body: data,
       secure: true,
@@ -104,10 +124,10 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name Delete
    * @summary 彻底删除
-   * @request DELETE:/api/admin/dictionary-type/delete
+   * @request DELETE:/api/admin/dict/delete
    * @secure
    */
   delete = (
@@ -118,7 +138,7 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
     params: RequestParams = {}
   ) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary-type/delete`,
+      path: `/api/admin/dict/delete`,
       method: 'DELETE',
       query: query,
       secure: true,
@@ -127,15 +147,15 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name BatchDelete
    * @summary 批量彻底删除
-   * @request PUT:/api/admin/dictionary-type/batch-delete
+   * @request PUT:/api/admin/dict/batch-delete
    * @secure
    */
   batchDelete = (data: number[], params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary-type/batch-delete`,
+      path: `/api/admin/dict/batch-delete`,
       method: 'PUT',
       body: data,
       secure: true,
@@ -145,10 +165,10 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name SoftDelete
    * @summary 删除
-   * @request DELETE:/api/admin/dictionary-type/soft-delete
+   * @request DELETE:/api/admin/dict/soft-delete
    * @secure
    */
   softDelete = (
@@ -159,7 +179,7 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
     params: RequestParams = {}
   ) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary-type/soft-delete`,
+      path: `/api/admin/dict/soft-delete`,
       method: 'DELETE',
       query: query,
       secure: true,
@@ -168,15 +188,15 @@ export class DictionaryTypeApi<SecurityDataType = unknown> extends HttpClient<Se
   /**
    * No description
    *
-   * @tags dictionary-type
+   * @tags dict
    * @name BatchSoftDelete
    * @summary 批量删除
-   * @request PUT:/api/admin/dictionary-type/batch-soft-delete
+   * @request PUT:/api/admin/dict/batch-soft-delete
    * @secure
    */
   batchSoftDelete = (data: number[], params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary-type/batch-soft-delete`,
+      path: `/api/admin/dict/batch-soft-delete`,
       method: 'PUT',
       body: data,
       secure: true,

+ 35 - 35
src/api/admin/Dictionary.ts → src/api/admin/DictType.ts

@@ -11,23 +11,23 @@
 
 import { AxiosResponse } from 'axios'
 import {
-  DictionaryAddInput,
-  DictionaryUpdateInput,
-  PageInputDictionaryGetPageDto,
-  ResultOutputDictionaryGetOutput,
+  DictTypeAddInput,
+  DictTypeUpdateInput,
+  PageInputDictTypeGetPageDto,
+  ResultOutputDictTypeGetOutput,
   ResultOutputInt64,
-  ResultOutputPageOutputDictionaryListOutput,
+  ResultOutputPageOutputDictTypeGetPageOutput,
 } from './data-contracts'
 import { ContentType, HttpClient, RequestParams } from './http-client'
 
-export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
+export class DictTypeApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name Get
    * @summary 查询
-   * @request GET:/api/admin/dictionary/get
+   * @request GET:/api/admin/dict-type/get
    * @secure
    */
   get = (
@@ -37,8 +37,8 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
     },
     params: RequestParams = {}
   ) =>
-    this.request<ResultOutputDictionaryGetOutput, any>({
-      path: `/api/admin/dictionary/get`,
+    this.request<ResultOutputDictTypeGetOutput, any>({
+      path: `/api/admin/dict-type/get`,
       method: 'GET',
       query: query,
       secure: true,
@@ -48,15 +48,15 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name GetPage
    * @summary 查询分页
-   * @request POST:/api/admin/dictionary/get-page
+   * @request POST:/api/admin/dict-type/get-page
    * @secure
    */
-  getPage = (data: PageInputDictionaryGetPageDto, params: RequestParams = {}) =>
-    this.request<ResultOutputPageOutputDictionaryListOutput, any>({
-      path: `/api/admin/dictionary/get-page`,
+  getPage = (data: PageInputDictTypeGetPageDto, params: RequestParams = {}) =>
+    this.request<ResultOutputPageOutputDictTypeGetPageOutput, any>({
+      path: `/api/admin/dict-type/get-page`,
       method: 'POST',
       body: data,
       secure: true,
@@ -67,15 +67,15 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name Add
    * @summary 新增
-   * @request POST:/api/admin/dictionary/add
+   * @request POST:/api/admin/dict-type/add
    * @secure
    */
-  add = (data: DictionaryAddInput, params: RequestParams = {}) =>
+  add = (data: DictTypeAddInput, params: RequestParams = {}) =>
     this.request<ResultOutputInt64, any>({
-      path: `/api/admin/dictionary/add`,
+      path: `/api/admin/dict-type/add`,
       method: 'POST',
       body: data,
       secure: true,
@@ -86,15 +86,15 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name Update
    * @summary 修改
-   * @request PUT:/api/admin/dictionary/update
+   * @request PUT:/api/admin/dict-type/update
    * @secure
    */
-  update = (data: DictionaryUpdateInput, params: RequestParams = {}) =>
+  update = (data: DictTypeUpdateInput, params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary/update`,
+      path: `/api/admin/dict-type/update`,
       method: 'PUT',
       body: data,
       secure: true,
@@ -104,10 +104,10 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name Delete
    * @summary 彻底删除
-   * @request DELETE:/api/admin/dictionary/delete
+   * @request DELETE:/api/admin/dict-type/delete
    * @secure
    */
   delete = (
@@ -118,7 +118,7 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
     params: RequestParams = {}
   ) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary/delete`,
+      path: `/api/admin/dict-type/delete`,
       method: 'DELETE',
       query: query,
       secure: true,
@@ -127,15 +127,15 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name BatchDelete
    * @summary 批量彻底删除
-   * @request PUT:/api/admin/dictionary/batch-delete
+   * @request PUT:/api/admin/dict-type/batch-delete
    * @secure
    */
   batchDelete = (data: number[], params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary/batch-delete`,
+      path: `/api/admin/dict-type/batch-delete`,
       method: 'PUT',
       body: data,
       secure: true,
@@ -145,10 +145,10 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name SoftDelete
    * @summary 删除
-   * @request DELETE:/api/admin/dictionary/soft-delete
+   * @request DELETE:/api/admin/dict-type/soft-delete
    * @secure
    */
   softDelete = (
@@ -159,7 +159,7 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
     params: RequestParams = {}
   ) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary/soft-delete`,
+      path: `/api/admin/dict-type/soft-delete`,
       method: 'DELETE',
       query: query,
       secure: true,
@@ -168,15 +168,15 @@ export class DictionaryApi<SecurityDataType = unknown> extends HttpClient<Securi
   /**
    * No description
    *
-   * @tags dictionary
+   * @tags dict-type
    * @name BatchSoftDelete
    * @summary 批量删除
-   * @request PUT:/api/admin/dictionary/batch-soft-delete
+   * @request PUT:/api/admin/dict-type/batch-soft-delete
    * @secure
    */
   batchSoftDelete = (data: number[], params: RequestParams = {}) =>
     this.request<AxiosResponse, any>({
-      path: `/api/admin/dictionary/batch-soft-delete`,
+      path: `/api/admin/dict-type/batch-soft-delete`,
       method: 'PUT',
       body: data,
       secure: true,

+ 18 - 18
src/api/admin/User.ts

@@ -127,6 +127,24 @@ export class UserApi<SecurityDataType = unknown> extends HttpClient<SecurityData
       format: 'json',
       ...params,
     })
+  /**
+   * No description
+   *
+   * @tags user
+   * @name Update
+   * @summary 修改用户
+   * @request PUT:/api/admin/user/update
+   * @secure
+   */
+  update = (data: UserUpdateInput, params: RequestParams = {}) =>
+    this.request<AxiosResponse, any>({
+      path: `/api/admin/user/update`,
+      method: 'PUT',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      ...params,
+    })
   /**
    * No description
    *
@@ -164,24 +182,6 @@ export class UserApi<SecurityDataType = unknown> extends HttpClient<SecurityData
       type: ContentType.Json,
       ...params,
     })
-  /**
-   * No description
-   *
-   * @tags user
-   * @name Update
-   * @summary 修改用户
-   * @request PUT:/api/admin/user/update
-   * @secure
-   */
-  update = (data: UserUpdateInput, params: RequestParams = {}) =>
-    this.request<AxiosResponse, any>({
-      path: `/api/admin/user/update`,
-      method: 'PUT',
-      body: data,
-      secure: true,
-      type: ContentType.Json,
-      ...params,
-    })
   /**
    * No description
    *

+ 146 - 46
src/api/admin/data-contracts.ts

@@ -345,15 +345,18 @@ export type DataScope = 1 | 2 | 3 | 4 | 5
  */
 export type DataType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
 
-/** 添加 */
-export interface DictionaryAddInput {
+/** 添加字典 */
+export interface DictAddInput {
   /**
    * 字典类型Id
    * @format int64
    */
-  dictionaryTypeId?: number
-  /** 字典名称 */
-  name?: string | null
+  dictTypeId?: number
+  /**
+   * 字典名称
+   * @minLength 1
+   */
+  name: string
   /** 字典编码 */
   code?: string | null
   /** 字典值 */
@@ -362,24 +365,53 @@ export interface DictionaryAddInput {
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
 }
 
-export interface DictionaryGetOutput {
+export interface DictGetListDto {
+  /** 字典类型编码 */
+  dictTypeCode?: string | null
   /**
-   * 字典类型Id
+   * 主键Id
    * @format int64
    */
-  dictionaryTypeId?: number
+  id?: number
   /** 字典名称 */
   name?: string | null
   /** 字典编码 */
   code?: string | null
   /** 字典值 */
   value?: string | null
+}
+
+export interface DictGetOutput {
+  /**
+   * 字典类型Id
+   * @format int64
+   */
+  dictTypeId?: number
+  /**
+   * 字典名称
+   * @minLength 1
+   */
+  name: string
+  /** 字典编码 */
+  code?: string | null
+  /** 字典值 */
+  value?: string | null
   /** 描述 */
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
   /**
    * 主键Id
    * @format int64
@@ -387,17 +419,17 @@ export interface DictionaryGetOutput {
   id: number
 }
 
-export interface DictionaryGetPageDto {
+export interface DictGetPageDto {
   /**
    * 字典类型Id
    * @format int64
    */
-  dictionaryTypeId?: number
+  dictTypeId?: number
   /** 字典名称 */
   name?: string | null
 }
 
-export interface DictionaryListOutput {
+export interface DictGetPageOutput {
   /**
    * 主键Id
    * @format int64
@@ -411,29 +443,50 @@ export interface DictionaryListOutput {
   value?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
 }
 
-/** 添加 */
-export interface DictionaryTypeAddInput {
-  /** 字典名称 */
-  name?: string | null
-  /** 字典编码 */
+/** 添加字典类型 */
+export interface DictTypeAddInput {
+  /**
+   * 字典类型名称
+   * @minLength 1
+   */
+  name: string
+  /** 字典类型编码 */
   code?: string | null
   /** 描述 */
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
 }
 
-export interface DictionaryTypeGetOutput {
-  /** 字典名称 */
-  name?: string | null
-  /** 字典编码 */
+export interface DictTypeGetOutput {
+  /**
+   * 字典类型名称
+   * @minLength 1
+   */
+  name: string
+  /** 字典类型编码 */
   code?: string | null
   /** 描述 */
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
   /**
    * 主键Id
    * @format int64
@@ -441,12 +494,12 @@ export interface DictionaryTypeGetOutput {
   id: number
 }
 
-export interface DictionaryTypeGetPageDto {
+export interface DictTypeGetPageDto {
   /** 字典名称 */
   name?: string | null
 }
 
-export interface DictionaryTypeListOutput {
+export interface DictTypeGetPageOutput {
   /**
    * 主键Id
    * @format int64
@@ -458,18 +511,31 @@ export interface DictionaryTypeListOutput {
   code?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
 }
 
 /** 修改 */
-export interface DictionaryTypeUpdateInput {
-  /** 字典名称 */
-  name?: string | null
-  /** 字典编码 */
+export interface DictTypeUpdateInput {
+  /**
+   * 字典类型名称
+   * @minLength 1
+   */
+  name: string
+  /** 字典类型编码 */
   code?: string | null
   /** 描述 */
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
   /**
    * 主键Id
    * @format int64
@@ -478,14 +544,17 @@ export interface DictionaryTypeUpdateInput {
 }
 
 /** 修改 */
-export interface DictionaryUpdateInput {
+export interface DictUpdateInput {
   /**
    * 字典类型Id
    * @format int64
    */
-  dictionaryTypeId?: number
-  /** 字典名称 */
-  name?: string | null
+  dictTypeId?: number
+  /**
+   * 字典名称
+   * @minLength 1
+   */
+  name: string
   /** 字典编码 */
   code?: string | null
   /** 字典值 */
@@ -494,6 +563,11 @@ export interface DictionaryUpdateInput {
   description?: string | null
   /** 启用 */
   enabled?: boolean
+  /**
+   * 排序
+   * @format int32
+   */
+  sort?: number
   /**
    * 主键Id
    * @format int64
@@ -1196,7 +1270,7 @@ export interface PageInputApiGetPageDto {
 }
 
 /** 分页信息输入 */
-export interface PageInputDictionaryGetPageDto {
+export interface PageInputDictGetPageDto {
   /**
    * 当前页标
    * @format int32
@@ -1208,11 +1282,11 @@ export interface PageInputDictionaryGetPageDto {
    */
   pageSize?: number
   dynamicFilter?: DynamicFilterInfo
-  filter?: DictionaryGetPageDto
+  filter?: DictGetPageDto
 }
 
 /** 分页信息输入 */
-export interface PageInputDictionaryTypeGetPageDto {
+export interface PageInputDictTypeGetPageDto {
   /**
    * 当前页标
    * @format int32
@@ -1224,7 +1298,7 @@ export interface PageInputDictionaryTypeGetPageDto {
    */
   pageSize?: number
   dynamicFilter?: DynamicFilterInfo
-  filter?: DictionaryTypeGetPageDto
+  filter?: DictTypeGetPageDto
 }
 
 /** 分页信息输入 */
@@ -1352,25 +1426,25 @@ export interface PageOutputApiEntity {
 }
 
 /** 分页信息输出 */
-export interface PageOutputDictionaryListOutput {
+export interface PageOutputDictGetPageOutput {
   /**
    * 数据总数
    * @format int64
    */
   total?: number
   /** 数据 */
-  list?: DictionaryListOutput[] | null
+  list?: DictGetPageOutput[] | null
 }
 
 /** 分页信息输出 */
-export interface PageOutputDictionaryTypeListOutput {
+export interface PageOutputDictTypeGetPageOutput {
   /**
    * 数据总数
    * @format int64
    */
   total?: number
   /** 数据 */
-  list?: DictionaryTypeListOutput[] | null
+  list?: DictTypeGetPageOutput[] | null
 }
 
 /** 分页信息输出 */
@@ -2138,25 +2212,37 @@ export interface ResultOutputCaptchaData {
 }
 
 /** 结果输出 */
-export interface ResultOutputDictionaryGetOutput {
+export interface ResultOutputDictGetOutput {
   /** 是否成功标记 */
   success?: boolean
   /** 编码 */
   code?: string | null
   /** 消息 */
   msg?: string | null
-  data?: DictionaryGetOutput
+  data?: DictGetOutput
 }
 
 /** 结果输出 */
-export interface ResultOutputDictionaryTypeGetOutput {
+export interface ResultOutputDictTypeGetOutput {
   /** 是否成功标记 */
   success?: boolean
   /** 编码 */
   code?: string | null
   /** 消息 */
   msg?: string | null
-  data?: DictionaryTypeGetOutput
+  data?: DictTypeGetOutput
+}
+
+/** 结果输出 */
+export interface ResultOutputDictionaryStringListDictGetListDto {
+  /** 是否成功标记 */
+  success?: boolean
+  /** 编码 */
+  code?: string | null
+  /** 消息 */
+  msg?: string | null
+  /** 数据 */
+  data?: Record<string, DictGetListDto[] | null>
 }
 
 /** 结果输出 */
@@ -2423,7 +2509,7 @@ export interface ResultOutputPageOutputApiEntity {
 }
 
 /** 结果输出 */
-export interface ResultOutputPageOutputDictionaryListOutput {
+export interface ResultOutputPageOutputDictGetPageOutput {
   /** 是否成功标记 */
   success?: boolean
   /** 编码 */
@@ -2431,11 +2517,11 @@ export interface ResultOutputPageOutputDictionaryListOutput {
   /** 消息 */
   msg?: string | null
   /** 分页信息输出 */
-  data?: PageOutputDictionaryListOutput
+  data?: PageOutputDictGetPageOutput
 }
 
 /** 结果输出 */
-export interface ResultOutputPageOutputDictionaryTypeListOutput {
+export interface ResultOutputPageOutputDictTypeGetPageOutput {
   /** 是否成功标记 */
   success?: boolean
   /** 编码 */
@@ -2443,7 +2529,7 @@ export interface ResultOutputPageOutputDictionaryTypeListOutput {
   /** 消息 */
   msg?: string | null
   /** 分页信息输出 */
-  data?: PageOutputDictionaryTypeListOutput
+  data?: PageOutputDictTypeGetPageOutput
 }
 
 /** 结果输出 */
@@ -2980,6 +3066,8 @@ export interface StaffAddInput {
    * @format date-time
    */
   entryTime?: string | null
+  /** 企业微信名片 */
+  workWeChatCard?: string | null
   /** 个人简介 */
   introduce?: string | null
 }
@@ -3379,6 +3467,11 @@ export interface Track {
 
 /** 添加 */
 export interface UserAddInput {
+  /**
+   * 用户Id
+   * @format int64
+   */
+  id?: number
   /**
    * 账号
    * @minLength 1
@@ -3418,6 +3511,11 @@ export interface UserAddInput {
 
 /** 添加会员 */
 export interface UserAddMemberInput {
+  /**
+   * 会员Id
+   * @format int64
+   */
+  id?: number
   /**
    * 账号
    * @minLength 1
@@ -3765,6 +3863,8 @@ export interface UserStaffEntity {
    * @format date-time
    */
   entryTime?: string | null
+  /** 企业微信名片 */
+  workWeChatCard?: string | null
   /** 个人简介 */
   introduce?: string | null
 }

+ 18 - 13
src/views/admin/dictionary/components/dictionary-form.vue → src/views/admin/dict/components/dict-form.vue

@@ -9,22 +9,27 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="编码">
+            <el-form-item label="编码" prop="code">
               <el-input v-model="form.code" autocomplete="off" />
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="字典值">
+            <el-form-item label="字典值" prop="value">
               <el-input v-model="form.value" autocomplete="off" />
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="启用">
+            <el-form-item label="排序" prop="sort">
+              <el-input-number v-model="form.sort" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+            <el-form-item label="启用" prop="enabled">
               <el-switch v-model="form.enabled" />
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="说明">
+            <el-form-item label="说明" prop="description">
               <el-input v-model="form.description" clearable type="textarea" />
             </el-form-item>
           </el-col>
@@ -47,8 +52,8 @@
 
 <script lang="ts" setup name="admin/dict/form">
 import { reactive, toRefs, getCurrentInstance, ref } from 'vue'
-import { DictionaryAddInput, DictionaryUpdateInput } from '/@/api/admin/data-contracts'
-import { DictionaryApi } from '/@/api/admin/Dictionary'
+import { DictAddInput, DictUpdateInput } from '/@/api/admin/data-contracts'
+import { DictApi } from '/@/api/admin/Dict'
 import eventBus from '/@/utils/mitt'
 import { FormInstance } from 'element-plus'
 
@@ -65,8 +70,8 @@ const formRef = ref<FormInstance>()
 const state = reactive({
   showDialog: false,
   sureLoading: false,
-  form: {} as DictionaryAddInput & DictionaryUpdateInput,
-  contiAdd: true,
+  form: {} as DictAddInput & DictUpdateInput,
+  contiAdd: false,
 })
 const { form } = toRefs(state)
 
@@ -74,15 +79,15 @@ const { form } = toRefs(state)
 const open = async (row: any = {}) => {
   if (row.id > 0) {
     state.contiAdd = false
-    const res = await new DictionaryApi().get({ id: row.id }, { loading: true }).catch(() => {
+    const res = await new DictApi().get({ id: row.id }, { loading: true }).catch(() => {
       proxy.$modal.closeLoading()
     })
 
     if (res?.success) {
-      state.form = res.data as DictionaryAddInput & DictionaryUpdateInput
+      state.form = res.data as DictAddInput & DictUpdateInput
     }
   } else {
-    state.form = { dictionaryTypeId: row.dictionaryTypeId, enabled: true } as DictionaryAddInput & DictionaryUpdateInput
+    state.form = { dictTypeId: row.dictTypeId, enabled: true } as DictAddInput & DictUpdateInput
   }
   state.showDialog = true
 }
@@ -100,11 +105,11 @@ const onSure = () => {
     state.sureLoading = true
     let res = {} as any
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new DictionaryApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+      res = await new DictApi().update(state.form, { showSuccessMessage: true }).catch(() => {
         state.sureLoading = false
       })
     } else {
-      res = await new DictionaryApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+      res = await new DictApi().add(state.form, { showSuccessMessage: true }).catch(() => {
         state.sureLoading = false
       })
     }

+ 13 - 8
src/views/admin/dictionary/components/dictionary-type-form.vue → src/views/admin/dict/components/dict-type-form.vue

@@ -13,6 +13,11 @@
               <el-input v-model="form.code" autocomplete="off" />
             </el-form-item>
           </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+            <el-form-item label="排序">
+              <el-input-number v-model="form.sort" />
+            </el-form-item>
+          </el-col>
           <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
             <el-form-item label="启用">
               <el-switch v-model="form.enabled" />
@@ -37,8 +42,8 @@
 
 <script lang="ts" setup name="admin/dictType/form">
 import { reactive, toRefs, getCurrentInstance, ref } from 'vue'
-import { DictionaryTypeAddInput, DictionaryTypeUpdateInput } from '/@/api/admin/data-contracts'
-import { DictionaryTypeApi } from '/@/api/admin/DictionaryType'
+import { DictTypeAddInput, DictTypeUpdateInput } from '/@/api/admin/data-contracts'
+import { DictTypeApi } from '/@/api/admin/DictType'
 import eventBus from '/@/utils/mitt'
 
 defineProps({
@@ -54,22 +59,22 @@ const formRef = ref()
 const state = reactive({
   showDialog: false,
   sureLoading: false,
-  form: {} as DictionaryTypeAddInput & DictionaryTypeUpdateInput,
+  form: {} as DictTypeAddInput & DictTypeUpdateInput,
 })
 const { form } = toRefs(state)
 
 // 打开对话框
 const open = async (row: any = {}) => {
   if (row.id > 0) {
-    const res = await new DictionaryTypeApi().get({ id: row.id }, { loading: true }).catch(() => {
+    const res = await new DictTypeApi().get({ id: row.id }, { loading: true }).catch(() => {
       proxy.$modal.closeLoading()
     })
 
     if (res?.success) {
-      state.form = res.data as DictionaryTypeAddInput & DictionaryTypeUpdateInput
+      state.form = res.data as DictTypeAddInput & DictTypeUpdateInput
     }
   } else {
-    state.form = { enabled: true } as DictionaryTypeAddInput & DictionaryTypeUpdateInput
+    state.form = { enabled: true } as DictTypeAddInput & DictTypeUpdateInput
   }
   state.showDialog = true
 }
@@ -87,11 +92,11 @@ const onSure = () => {
     state.sureLoading = true
     let res = {} as any
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new DictionaryTypeApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+      res = await new DictTypeApi().update(state.form, { showSuccessMessage: true }).catch(() => {
         state.sureLoading = false
       })
     } else {
-      res = await new DictionaryTypeApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+      res = await new DictTypeApi().add(state.form, { showSuccessMessage: true }).catch(() => {
         state.sureLoading = false
       })
     }

+ 26 - 29
src/views/admin/dictionary/dictionary-type.vue → src/views/admin/dict/dict-type.vue

@@ -7,7 +7,7 @@
         </el-form-item>
         <el-form-item>
           <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
-          <el-button v-auth="'api:admin:dictionary:add'" type="primary" icon="ele-Plus" @click="onAdd"> 新增 </el-button>
+          <el-button v-auth="'api:admin:dict:add'" type="primary" icon="ele-Plus" @click="onAdd"> 新增 </el-button>
         </el-form-item>
       </el-form>
     </el-card>
@@ -16,7 +16,7 @@
       <el-table
         ref="tableRef"
         v-loading="state.loading"
-        :data="state.dictionaryTypeListData"
+        :data="state.dictTypeListData"
         row-key="id"
         highlight-current-row
         style="width: 100%"
@@ -24,6 +24,7 @@
       >
         <el-table-column prop="name" label="名称" min-width="120" show-overflow-tooltip />
         <el-table-column prop="code" label="编码" min-width="120" show-overflow-tooltip />
+        <el-table-column prop="sort" label="排序" width="60" align="center" show-overflow-tooltip />
         <el-table-column label="状态" width="80" align="center" show-overflow-tooltip>
           <template #default="{ row }">
             <el-tag type="success" v-if="row.enabled">启用</el-tag>
@@ -32,12 +33,8 @@
         </el-table-column>
         <el-table-column label="操作" width="140" fixed="right" header-align="center" align="center">
           <template #default="{ row }">
-            <el-button v-auth="'api:admin:dictionary:update'" icon="ele-EditPen" size="small" text type="primary" @click="onEdit(row)"
-              >编辑</el-button
-            >
-            <el-button v-auth="'api:admin:dictionary:delete'" icon="ele-Delete" size="small" text type="danger" @click="onDelete(row)"
-              >删除</el-button
-            >
+            <el-button v-auth="'api:admin:dict:update'" icon="ele-EditPen" size="small" text type="primary" @click="onEdit(row)">编辑</el-button>
+            <el-button v-auth="'api:admin:dict:delete'" icon="ele-Delete" size="small" text type="danger" @click="onDelete(row)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -56,29 +53,29 @@
       </div>
     </el-card>
 
-    <dictionary-type-form ref="dictionaryTypeFormRef" :title="state.dictionaryTypeFormTitle"></dictionary-type-form>
+    <dict-type-form ref="dictTypeFormRef" :title="state.dictTypeFormTitle"></dict-type-form>
   </div>
 </template>
 
 <script lang="ts" setup name="'admin/dictType'">
 import { ref, reactive, onMounted, getCurrentInstance, onBeforeMount, nextTick, defineAsyncComponent } from 'vue'
-import { DictionaryTypeListOutput, PageInputDictionaryTypeGetPageDto } from '/@/api/admin/data-contracts'
-import { DictionaryTypeApi } from '/@/api/admin/DictionaryType'
+import { DictTypeGetPageOutput, PageInputDictTypeGetPageDto } from '/@/api/admin/data-contracts'
+import { DictTypeApi } from '/@/api/admin/DictType'
 import eventBus from '/@/utils/mitt'
 
 // 引入组件
-const DictionaryTypeForm = defineAsyncComponent(() => import('./components/dictionary-type-form.vue'))
+const DictTypeForm = defineAsyncComponent(() => import('./components/dict-type-form.vue'))
 
 const { proxy } = getCurrentInstance() as any
 
 const tableRef = ref()
-const dictionaryTypeFormRef = ref()
+const dictTypeFormRef = ref()
 
 const emits = defineEmits(['change'])
 
 const state = reactive({
   loading: false,
-  dictionaryTypeFormTitle: '',
+  dictTypeFormTitle: '',
   filterModel: {
     name: '',
   },
@@ -86,9 +83,9 @@ const state = reactive({
   pageInput: {
     currentPage: 1,
     pageSize: 20,
-  } as PageInputDictionaryTypeGetPageDto,
-  dictionaryTypeListData: [] as Array<DictionaryTypeListOutput>,
-  lastCurrentRow: {} as DictionaryTypeListOutput,
+  } as PageInputDictTypeGetPageDto,
+  dictTypeListData: [] as Array<DictTypeGetPageOutput>,
+  lastCurrentRow: {} as DictTypeGetPageOutput,
 })
 
 onMounted(() => {
@@ -106,34 +103,34 @@ onBeforeMount(() => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new DictionaryTypeApi().getPage(state.pageInput).catch(() => {
+  const res = await new DictTypeApi().getPage(state.pageInput).catch(() => {
     state.loading = false
   })
-  state.dictionaryTypeListData = res?.data?.list ?? []
+  state.dictTypeListData = res?.data?.list ?? []
   state.total = res?.data?.total ?? 0
-  if (state.dictionaryTypeListData.length > 0) {
+  if (state.dictTypeListData.length > 0) {
     nextTick(() => {
-      tableRef.value!.setCurrentRow(state.dictionaryTypeListData[0])
+      tableRef.value!.setCurrentRow(state.dictTypeListData[0])
     })
   }
   state.loading = false
 }
 
 const onAdd = () => {
-  state.dictionaryTypeFormTitle = '新增字典分类'
-  dictionaryTypeFormRef.value.open()
+  state.dictTypeFormTitle = '新增字典分类'
+  dictTypeFormRef.value.open()
 }
 
-const onEdit = (row: DictionaryTypeListOutput) => {
-  state.dictionaryTypeFormTitle = '编辑字典分类'
-  dictionaryTypeFormRef.value.open(row)
+const onEdit = (row: DictTypeGetPageOutput) => {
+  state.dictTypeFormTitle = '编辑字典分类'
+  dictTypeFormRef.value.open(row)
 }
 
-const onDelete = (row: DictionaryTypeListOutput) => {
+const onDelete = (row: DictTypeGetPageOutput) => {
   proxy.$modal
     .confirmDelete(`确定要删除【${row.name}】?`)
     .then(async () => {
-      await new DictionaryTypeApi().delete({ id: row.id }, { loading: true, showSuccessMessage: true })
+      await new DictTypeApi().delete({ id: row.id }, { loading: true, showSuccessMessage: true })
       onQuery()
     })
     .catch(() => {})
@@ -149,7 +146,7 @@ const onCurrentChange = (val: number) => {
   onQuery()
 }
 
-const onTableCurrentChange = (currentRow: DictionaryTypeListOutput) => {
+const onTableCurrentChange = (currentRow: DictTypeGetPageOutput) => {
   if (state.lastCurrentRow?.id != currentRow?.id) {
     state.lastCurrentRow = currentRow
     emits('change', currentRow)

+ 30 - 33
src/views/admin/dictionary/dictionary.vue → src/views/admin/dict/dict.vue

@@ -7,16 +7,17 @@
         </el-form-item>
         <el-form-item>
           <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
-          <el-button v-auth="'api:admin:dictionary:add'" type="primary" icon="ele-Plus" @click="onAdd"> 新增 </el-button>
+          <el-button v-auth="'api:admin:dict:add'" type="primary" icon="ele-Plus" @click="onAdd"> 新增 </el-button>
         </el-form-item>
       </el-form>
     </el-card>
 
     <el-card class="my-fill mt8" shadow="never">
-      <el-table v-loading="state.loading" :data="state.dictionaryListData" row-key="id" style="width: 100%">
+      <el-table v-loading="state.loading" :data="state.dictListData" row-key="id" style="width: 100%">
         <el-table-column prop="name" label="名称" min-width="120" show-overflow-tooltip />
         <el-table-column prop="code" label="编码" min-width="120" show-overflow-tooltip />
-        <el-table-column prop="value" label="值" min-width="120" show-overflow-tooltip />
+        <el-table-column prop="value" label="值" width="80" show-overflow-tooltip />
+        <el-table-column prop="sort" label="排序" width="60" align="center" show-overflow-tooltip />
         <el-table-column label="状态" width="70" align="center" show-overflow-tooltip>
           <template #default="{ row }">
             <el-tag type="success" v-if="row.enabled">启用</el-tag>
@@ -25,12 +26,8 @@
         </el-table-column>
         <el-table-column label="操作" width="140" fixed="right" header-align="center" align="center">
           <template #default="{ row }">
-            <el-button v-auth="'api:admin:dictionary:update'" icon="ele-EditPen" size="small" text type="primary" @click="onEdit(row)"
-              >编辑</el-button
-            >
-            <el-button v-auth="'api:admin:dictionary:delete'" icon="ele-Delete" size="small" text type="danger" @click="onDelete(row)"
-              >删除</el-button
-            >
+            <el-button v-auth="'api:admin:dict:update'" icon="ele-EditPen" size="small" text type="primary" @click="onEdit(row)">编辑</el-button>
+            <el-button v-auth="'api:admin:dict:delete'" icon="ele-Delete" size="small" text type="danger" @click="onDelete(row)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -49,40 +46,40 @@
       </div>
     </el-card>
 
-    <dictionary-form ref="dictionaryFormRef" :title="state.dictionaryFormTitle"></dictionary-form>
+    <dict-form ref="dictFormRef" :title="state.dictFormTitle"></dict-form>
   </div>
 </template>
 
 <script lang="ts" setup name="admin/dictData">
 import { ref, reactive, onMounted, getCurrentInstance, onBeforeMount, defineAsyncComponent } from 'vue'
-import { DictionaryListOutput, PageInputDictionaryGetPageDto, DictionaryTypeListOutput } from '/@/api/admin/data-contracts'
-import { DictionaryApi } from '/@/api/admin/Dictionary'
+import { DictGetPageOutput, PageInputDictGetPageDto, DictTypeGetPageOutput } from '/@/api/admin/data-contracts'
+import { DictApi } from '/@/api/admin/Dict'
 import eventBus from '/@/utils/mitt'
 
 // 引入组件
-const DictionaryForm = defineAsyncComponent(() => import('./components/dictionary-form.vue'))
+const DictForm = defineAsyncComponent(() => import('./components/dict-form.vue'))
 
 const { proxy } = getCurrentInstance() as any
 
-const dictionaryFormRef = ref()
+const dictFormRef = ref()
 
 const state = reactive({
   loading: false,
-  dictionaryFormTitle: '',
+  dictFormTitle: '',
   filterModel: {
     name: '',
-    dictionaryTypeId: 0,
+    dictTypeId: 0,
   },
   total: 0,
   pageInput: {
     currentPage: 1,
     pageSize: 20,
-  } as PageInputDictionaryGetPageDto,
-  dictionaryListData: [] as Array<DictionaryListOutput>,
-  dictionaryTypeName: '',
+  } as PageInputDictGetPageDto,
+  dictListData: [] as Array<DictGetPageOutput>,
+  dictTypeName: '',
 })
 
-onMounted(() => {
+onMounted(async () => {
   eventBus.off('refreshDict')
   eventBus.on('refreshDict', () => {
     onQuery()
@@ -96,33 +93,33 @@ onBeforeMount(() => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new DictionaryApi().getPage(state.pageInput).catch(() => {
+  const res = await new DictApi().getPage(state.pageInput).catch(() => {
     state.loading = false
   })
-  state.dictionaryListData = res?.data?.list ?? []
+  state.dictListData = res?.data?.list ?? []
   state.total = res?.data?.total ?? 0
   state.loading = false
 }
 
 const onAdd = () => {
-  if (!(state.filterModel.dictionaryTypeId > 0)) {
+  if (!(state.filterModel.dictTypeId > 0)) {
     proxy.$modal.msgWarning('请选择字典类型')
     return
   }
-  state.dictionaryFormTitle = `新增【${state.dictionaryTypeName}】字典`
-  dictionaryFormRef.value.open({ dictionaryTypeId: state.filterModel.dictionaryTypeId })
+  state.dictFormTitle = `新增【${state.dictTypeName}】字典`
+  dictFormRef.value.open({ dictTypeId: state.filterModel.dictTypeId })
 }
 
-const onEdit = (row: DictionaryListOutput) => {
-  state.dictionaryFormTitle = `编辑【${state.dictionaryTypeName}】字典`
-  dictionaryFormRef.value.open(row)
+const onEdit = (row: DictGetPageOutput) => {
+  state.dictFormTitle = `编辑【${state.dictTypeName}】字典`
+  dictFormRef.value.open(row)
 }
 
-const onDelete = (row: DictionaryListOutput) => {
+const onDelete = (row: DictGetPageOutput) => {
   proxy.$modal
     .confirmDelete(`确定要删除【${row.name}】?`)
     .then(async () => {
-      await new DictionaryApi().delete({ id: row.id }, { loading: true, showSuccessMessage: true })
+      await new DictApi().delete({ id: row.id }, { loading: true, showSuccessMessage: true })
       onQuery()
     })
     .catch(() => {})
@@ -138,10 +135,10 @@ const onCurrentChange = (val: number) => {
   onQuery()
 }
 
-const refresh = (data: DictionaryTypeListOutput) => {
+const refresh = (data: DictTypeGetPageOutput) => {
   if ((data?.id as number) > 0) {
-    state.filterModel.dictionaryTypeId = data.id as number
-    state.dictionaryTypeName = data.name as string
+    state.filterModel.dictTypeId = data.id as number
+    state.dictTypeName = data.name as string
     onQuery()
   }
 }

+ 29 - 0
src/views/admin/dict/index.vue

@@ -0,0 +1,29 @@
+<template>
+  <my-layout>
+    <pane size="50" min-size="30" max-size="70">
+      <dict-type @change="onChange"></dict-type>
+    </pane>
+    <pane>
+      <dict ref="dictRef"></dict>
+    </pane>
+  </my-layout>
+</template>
+
+<script lang="ts" setup name="admin/dict">
+import { defineAsyncComponent, ref } from 'vue'
+import { Pane } from 'splitpanes'
+import { DictTypeGetPageOutput } from '/@/api/admin/data-contracts'
+
+// 引入组件
+const DictType = defineAsyncComponent(() => import('./dict-type.vue'))
+const Dict = defineAsyncComponent(() => import('./dict.vue'))
+const MyLayout = defineAsyncComponent(() => import('/@/components/my-layout/index.vue'))
+
+const dictRef = ref()
+
+const onChange = (data: DictTypeGetPageOutput) => {
+  dictRef.value?.refresh(data)
+}
+</script>
+
+<style scoped lang="scss"></style>

+ 0 - 29
src/views/admin/dictionary/index.vue

@@ -1,29 +0,0 @@
-<template>
-  <my-layout>
-    <pane size="50" min-size="30" max-size="70">
-      <dictionary-type @change="onChange"></dictionary-type>
-    </pane>
-    <pane>
-      <dictionary ref="dictionaryRef"></dictionary>
-    </pane>
-  </my-layout>
-</template>
-
-<script lang="ts" setup name="admin/dict">
-import { defineAsyncComponent, ref } from 'vue'
-import { Pane } from 'splitpanes'
-import { DictionaryTypeListOutput } from '/@/api/admin/data-contracts'
-
-// 引入组件
-const DictionaryType = defineAsyncComponent(() => import('./dictionary-type.vue'))
-const Dictionary = defineAsyncComponent(() => import('./dictionary.vue'))
-const MyLayout = defineAsyncComponent(() => import('/@/components/my-layout/index.vue'))
-
-const dictionaryRef = ref()
-
-const onChange = (data: DictionaryTypeListOutput) => {
-  dictionaryRef.value?.refresh(data)
-}
-</script>
-
-<style scoped lang="scss"></style>