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 @@
+
+