From 60bbfde0167508d62cd1231bf83a3447be5e2afb Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 12 Mar 2025 16:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=AD=97=E5=85=B8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dictType/DictTypeItem.api.ts | 72 +++ src/views/dictType/DictTypeItem.data.ts | 48 ++ src/views/dictType/DictTypeItemList.vue | 249 +++++++++++ src/views/dictType/DictTypeList.vue | 409 +++++++++--------- .../dictType/components/DictTypeForm.vue | 2 +- .../dictType/components/DictTypeItemForm.vue | 197 +++++++++ .../dictType/components/DictTypeItemModal.vue | 80 ++++ 7 files changed, 863 insertions(+), 194 deletions(-) create mode 100644 src/views/dictType/DictTypeItem.api.ts create mode 100644 src/views/dictType/DictTypeItem.data.ts create mode 100644 src/views/dictType/DictTypeItemList.vue create mode 100644 src/views/dictType/components/DictTypeItemForm.vue create mode 100644 src/views/dictType/components/DictTypeItemModal.vue diff --git a/src/views/dictType/DictTypeItem.api.ts b/src/views/dictType/DictTypeItem.api.ts new file mode 100644 index 0000000..52346fa --- /dev/null +++ b/src/views/dictType/DictTypeItem.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/dictType/dictTypeItem/list', + save='/dictType/dictTypeItem/add', + edit='/dictType/dictTypeItem/edit', + deleteOne = '/dictType/dictTypeItem/delete', + deleteBatch = '/dictType/dictTypeItem/deleteBatch', + importExcel = '/dictType/dictTypeItem/importExcel', + exportXls = '/dictType/dictTypeItem/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/dictType/DictTypeItem.data.ts b/src/views/dictType/DictTypeItem.data.ts new file mode 100644 index 0000000..680cd70 --- /dev/null +++ b/src/views/dictType/DictTypeItem.data.ts @@ -0,0 +1,48 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '字典项名称', + align: "center", + dataIndex: 'itemText' + }, + { + title: '字典项值', + align: "center", + dataIndex: 'itemValue' + }, + { + title: '描述', + align: "center", + dataIndex: 'description' + }, + { + title: '排序', + align: "center", + dataIndex: 'sortOrder' + }, + { + title: '状态', + align: "center", + dataIndex: 'status', + format(text, record, index) { + return text == 1 ? '启用' : '未启用' + }, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + dictId: {title: '字典id',order: 0,view: 'text', type: 'string',}, + itemText: {title: '字典项文本',order: 1,view: 'text', type: 'string',}, + itemValue: {title: '字典项值',order: 2,view: 'text', type: 'string',}, + description: {title: '描述',order: 3,view: 'text', type: 'string',}, + sortOrder: {title: '排序',order: 4,view: 'number', type: 'number',}, + status: {title: '状态(1启用 0不启用)',order: 5,view: 'number', type: 'number',}, + createTime: {title: '创建时间',order: 6,view: 'datetime', type: 'string',}, + updateTime: {title: '更新时间',order: 7,view: 'datetime', type: 'string',}, +}; diff --git a/src/views/dictType/DictTypeItemList.vue b/src/views/dictType/DictTypeItemList.vue new file mode 100644 index 0000000..954e0df --- /dev/null +++ b/src/views/dictType/DictTypeItemList.vue @@ -0,0 +1,249 @@ + + + + + diff --git a/src/views/dictType/DictTypeList.vue b/src/views/dictType/DictTypeList.vue index 3e2f63b..450bd2a 100644 --- a/src/views/dictType/DictTypeList.vue +++ b/src/views/dictType/DictTypeList.vue @@ -2,25 +2,27 @@
- + - - - - - - - - - - - - + + + + + + + + + + + + 查询 - 重置 + 重置 {{ toggleSearchStatus ? '收起' : '展开' }} @@ -35,9 +37,12 @@ diff --git a/src/views/dictType/components/DictTypeForm.vue b/src/views/dictType/components/DictTypeForm.vue index d3c961f..6da2cb8 100644 --- a/src/views/dictType/components/DictTypeForm.vue +++ b/src/views/dictType/components/DictTypeForm.vue @@ -11,7 +11,7 @@ - + diff --git a/src/views/dictType/components/DictTypeItemForm.vue b/src/views/dictType/components/DictTypeItemForm.vue new file mode 100644 index 0000000..57a396f --- /dev/null +++ b/src/views/dictType/components/DictTypeItemForm.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/src/views/dictType/components/DictTypeItemModal.vue b/src/views/dictType/components/DictTypeItemModal.vue new file mode 100644 index 0000000..2e4bca7 --- /dev/null +++ b/src/views/dictType/components/DictTypeItemModal.vue @@ -0,0 +1,80 @@ + + + + + +