From dff055951fb1839d15a25de5d0374a0b15fea1c6 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Mon, 23 Sep 2024 09:30:36 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=A7=9F=E6=88=B7=E5=A5=97=E9=A4=90de?= =?UTF-8?q?mo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/system/tenant-package/index.ts | 47 ++++++ .../src/api/system/tenant-package/model.d.ts | 17 +++ .../src/views/system/tenantPackage/data.ts | 59 ++++++++ .../src/views/system/tenantPackage/index.vue | 103 ++++++++++++- .../tenantPackage/tenant-package-drawer.vue | 136 ++++++++++++++++++ 5 files changed, 358 insertions(+), 4 deletions(-) create mode 100644 apps/web-antd/src/api/system/tenant-package/index.ts create mode 100644 apps/web-antd/src/api/system/tenant-package/model.d.ts create mode 100644 apps/web-antd/src/views/system/tenantPackage/data.ts create mode 100644 apps/web-antd/src/views/system/tenantPackage/tenant-package-drawer.vue diff --git a/apps/web-antd/src/api/system/tenant-package/index.ts b/apps/web-antd/src/api/system/tenant-package/index.ts new file mode 100644 index 00000000..4b74faee --- /dev/null +++ b/apps/web-antd/src/api/system/tenant-package/index.ts @@ -0,0 +1,47 @@ +import type { TenantPackage } from './model'; + +import type { ID, IDS, PageQuery } from '#/api/common'; + +import { commonExport } from '#/api/helper'; +import { requestClient } from '#/api/request'; + +enum Api { + packageChangeStatus = '/system/tenant/package/changeStatus', + packageExport = '/system/tenant/package/export', + packageList = '/system/tenant/package/list', + packageSelectList = '/system/tenant/package/selectList', + root = '/system/tenant/package', +} + +export function packageList(params?: PageQuery) { + return requestClient.get(Api.packageList, { params }); +} + +// 下拉框 +export function packageSelectList() { + return requestClient.get(Api.packageSelectList); +} + +export function packageExport(data: any) { + return commonExport(Api.packageExport, data); +} + +export function packageInfo(id: ID) { + return requestClient.get(`${Api.root}/${id}`); +} + +export function packageAdd(data: any) { + return requestClient.postWithMsg(Api.root, data); +} + +export function packageUpdate(data: any) { + return requestClient.putWithMsg(Api.root, data); +} + +export function packageChangeStatus(data: any) { + return requestClient.putWithMsg(Api.packageChangeStatus, data); +} + +export function packageRemove(ids: IDS) { + return requestClient.deleteWithMsg(`${Api.root}/${ids}`); +} diff --git a/apps/web-antd/src/api/system/tenant-package/model.d.ts b/apps/web-antd/src/api/system/tenant-package/model.d.ts new file mode 100644 index 00000000..eb3af090 --- /dev/null +++ b/apps/web-antd/src/api/system/tenant-package/model.d.ts @@ -0,0 +1,17 @@ +/** + * @description 租户套餐 + * @param packageId id + * @param packageName 名称 + * @param menuIds 菜单id 格式为[1,2,3] 返回为string 提交为数组 + * @param remark 备注 + * @param menuCheckStrictly 是否关联父节点 + * @param status 状态 + */ +export interface TenantPackage { + packageId: string; + packageName: string; + menuIds: number[] | string; + remark: string; + menuCheckStrictly: boolean; + status: string; +} diff --git a/apps/web-antd/src/views/system/tenantPackage/data.ts b/apps/web-antd/src/views/system/tenantPackage/data.ts new file mode 100644 index 00000000..5ef1d561 --- /dev/null +++ b/apps/web-antd/src/views/system/tenantPackage/data.ts @@ -0,0 +1,59 @@ +import type { FormSchemaGetter } from '#/adapter'; + +export const schema: FormSchemaGetter = () => [ + { + component: 'Input', + componentProps: { + placeholder: '请输入', + }, + fieldName: 'packageName', + label: '套餐名称', + }, +]; + +export const drawerSchema: FormSchemaGetter = () => [ + { + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + fieldName: 'packageId', + }, + { + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + fieldName: 'menuCheckStrictly', + }, + { + component: 'Input', + componentProps: { + placeholder: '请输入', + }, + fieldName: 'packageName', + label: '套餐名称', + rules: 'required', + }, + { + component: 'menuIds', + defaultValue: [], + fieldName: 'menuIds', + label: '关联菜单', + }, + { + component: 'Textarea', + componentProps: { + placeholder: '请输入', + }, + fieldName: 'remark', + formItemClass: 'items-baseline', + }, +]; + +// 租户管理 不可分配 只有superadmin有权限操作 分配了也没用 +export const excludeIds = [ + 6, 121, 122, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, +]; diff --git a/apps/web-antd/src/views/system/tenantPackage/index.vue b/apps/web-antd/src/views/system/tenantPackage/index.vue index 06372a15..eac25aac 100644 --- a/apps/web-antd/src/views/system/tenantPackage/index.vue +++ b/apps/web-antd/src/views/system/tenantPackage/index.vue @@ -1,9 +1,104 @@ diff --git a/apps/web-antd/src/views/system/tenantPackage/tenant-package-drawer.vue b/apps/web-antd/src/views/system/tenantPackage/tenant-package-drawer.vue new file mode 100644 index 00000000..3550b7de --- /dev/null +++ b/apps/web-antd/src/views/system/tenantPackage/tenant-package-drawer.vue @@ -0,0 +1,136 @@ + + + + +