diff --git a/.gitignore b/.gitignore index 0f033cc434eb8b97779bdbf5996ab302e0ff1cca..1704b0184f91552e6d592b0a25b38100af9c2d25 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 74f7959fc69487514efae7baed9dbb85f418fded..9207e5f0dfd4d9aa5bc53c76ca9cc42b94e559ac 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 0000000000000000000000000000000000000000..8f1cee83669104ca4c7b62be27c481ba5f273804 --- /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 4d030c379385344da0388043c75f11d12128c363..57e02776d2d02f8ffedbe6bd4c94397121e416ef 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 c742274f7d7f6260a01d7f6f11b798fe6728cc2d..2c6f76478fde62e529dd2bee2bb7a3cca986044d 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 0000000000000000000000000000000000000000..dc5bf8ea21363cdd2516908928bc3312bd482a8f --- /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 0000000000000000000000000000000000000000..f28cb7e11c3fc3ad5217c41e14ee6b2f508ad651 --- /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 0000000000000000000000000000000000000000..8021953ed9f8cc6cd6d71c79462bad4cd2b5394c --- /dev/null +++ b/yudao-ui-admin-vue3.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file