diff --git a/.gitignore b/.gitignore index 0f033cc43..1704b0184 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ pnpm-debug auto-*.d.ts .idea .history +*.iml diff --git a/package.json b/package.json index 74f7959fc..9207e5f0d 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "fast-xml-parser": "^4.2.2", "highlight.js": "^11.8.0", "intro.js": "^7.0.1", + "jsbarcode": "^3.11.5", "jsencrypt": "^3.3.2", "lodash-es": "^4.17.21", "min-dash": "^4.1.1", @@ -68,6 +69,7 @@ "vue-i18n": "9.2.2", "vue-router": "^4.2.1", "vue-types": "^5.0.3", + "vue3-barcode": "^1.0.1", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", "xe-utils": "^3.5.7", diff --git a/src/api/system/group/index.ts b/src/api/system/group/index.ts new file mode 100644 index 000000000..8f1cee836 --- /dev/null +++ b/src/api/system/group/index.ts @@ -0,0 +1,38 @@ +import request from '@/config/axios' + +export interface GroupVO { + id: number + name: string + description: string + status: byte +} + +// 查询用户组列表 +export const getGroupPage = async (params) => { + return await request.get({ url: `/system/group/page`, params }) +} + +// 查询用户组详情 +export const getGroup = async (id: number) => { + return await request.get({ url: `/system/group/get?id=` + id }) +} + +// 新增用户组 +export const createGroup = async (data: GroupVO) => { + return await request.post({ url: `/system/group/create`, data }) +} + +// 修改用户组 +export const updateGroup = async (data: GroupVO) => { + return await request.put({ url: `/system/group/update`, data }) +} + +// 删除用户组 +export const deleteGroup = async (id: number) => { + return await request.delete({ url: `/system/group/delete?id=` + id }) +} + +// 导出用户组 Excel +export const exportGroup = async (params) => { + return await request.download({ url: `/system/group/export-excel`, params }) +} diff --git a/src/components/index.ts b/src/components/index.ts index 4d030c379..57e02776d 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,6 +1,8 @@ import type { App } from 'vue' import { Icon } from './Icon' +import Vue3Barcode from 'vue3-barcode' export const setupGlobCom = (app: App): void => { app.component('Icon', Icon) + app.component('Barcode', Vue3Barcode) } diff --git a/src/utils/dict.ts b/src/utils/dict.ts index c742274f7..2c6f76478 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -109,6 +109,7 @@ export enum DICT_TYPE { SYSTEM_OAUTH2_GRANT_TYPE = 'system_oauth2_grant_type', SYSTEM_MAIL_SEND_STATUS = 'system_mail_send_status', SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type', + SYSTEM_GROUP_STATUS_TYPE = 'system_group_status_type', // ========== INFRA 模块 ========== INFRA_BOOLEAN_STRING = 'infra_boolean_string', diff --git a/src/views/system/group/GroupForm.vue b/src/views/system/group/GroupForm.vue new file mode 100644 index 000000000..dc5bf8ea2 --- /dev/null +++ b/src/views/system/group/GroupForm.vue @@ -0,0 +1,112 @@ + + diff --git a/src/views/system/group/index.vue b/src/views/system/group/index.vue new file mode 100644 index 000000000..f28cb7e11 --- /dev/null +++ b/src/views/system/group/index.vue @@ -0,0 +1,196 @@ + + + diff --git a/yudao-ui-admin-vue3.iml b/yudao-ui-admin-vue3.iml new file mode 100644 index 000000000..8021953ed --- /dev/null +++ b/yudao-ui-admin-vue3.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file