From 4d38f262e1cc296ef2bb5351eb23977dd9b6f719 Mon Sep 17 00:00:00 2001 From: zhanglp Date: Wed, 20 Jul 2022 17:44:47 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Conflicts: # src/types/user.ts # src/views/form/dialogForm.vue # src/views/form/drawerForm.vue # src/views/form/enableRule.vue --- src/components/QuickCrud/index.vue | 1 + src/types/user.ts | 20 +++-- src/views/changePassword/idnex.ts | 8 +- src/views/form/dialogForm.vue | 132 +++++++++++++++++++++++++++++ src/views/form/drawerForm.vue | 132 +++++++++++++++++++++++++++++ src/views/form/enableRule.vue | 69 +++++++++++++++ src/views/personalInfo/idnex.ts | 9 +- 7 files changed, 358 insertions(+), 13 deletions(-) create mode 100644 src/views/form/dialogForm.vue create mode 100644 src/views/form/drawerForm.vue create mode 100644 src/views/form/enableRule.vue diff --git a/src/components/QuickCrud/index.vue b/src/components/QuickCrud/index.vue index 773ce8d..6dc6f2a 100644 --- a/src/components/QuickCrud/index.vue +++ b/src/components/QuickCrud/index.vue @@ -254,6 +254,7 @@ const handleSubmit = (formRef: FormInstance | undefined) => { dialogFormVisible.value = false load() }) + return true }) } /** diff --git a/src/types/user.ts b/src/types/user.ts index 554478c..e56662c 100644 --- a/src/types/user.ts +++ b/src/types/user.ts @@ -1,15 +1,17 @@ export interface User { - id: string + id: string | number userId: string userName: string - password: string - createTime: string - avatar?: string - fullName?: string - phone?: string - email?: string - address?: string - remark?: string + password?: string + deleted?: number + enabled?: number + createTime?: string | null + avatar?: string | null + fullName?: string | null + phone?: string | null + email?: string | null + address?: string | null + remark?: string | null } export interface SearchUser { userName: string diff --git a/src/views/changePassword/idnex.ts b/src/views/changePassword/idnex.ts index 427aebd..098c82f 100644 --- a/src/views/changePassword/idnex.ts +++ b/src/views/changePassword/idnex.ts @@ -35,5 +35,9 @@ export const formItems = reactive>([ /** * 函数 */ -export const handleSubmit = () => {} -export const handleClear = () => {} +export const handleSubmit = () => { + console.log('handleSubmit') +} +export const handleClear = () => { + console.log('handleClear') +} diff --git a/src/views/form/dialogForm.vue b/src/views/form/dialogForm.vue new file mode 100644 index 0000000..b557aaa --- /dev/null +++ b/src/views/form/dialogForm.vue @@ -0,0 +1,132 @@ + + diff --git a/src/views/form/drawerForm.vue b/src/views/form/drawerForm.vue new file mode 100644 index 0000000..a56096f --- /dev/null +++ b/src/views/form/drawerForm.vue @@ -0,0 +1,132 @@ + + diff --git a/src/views/form/enableRule.vue b/src/views/form/enableRule.vue new file mode 100644 index 0000000..b0f8e12 --- /dev/null +++ b/src/views/form/enableRule.vue @@ -0,0 +1,69 @@ + + diff --git a/src/views/personalInfo/idnex.ts b/src/views/personalInfo/idnex.ts index 8bac737..6557906 100644 --- a/src/views/personalInfo/idnex.ts +++ b/src/views/personalInfo/idnex.ts @@ -29,6 +29,7 @@ const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => { */ export const userStore = useUserStore() export const form = reactive({ + id: '', userId: '', avatar: '', fullName: '', @@ -85,5 +86,9 @@ export const formItems = reactive>([ /** * 函数 */ -export const handleSubmit = () => {} -export const handleClear = () => {} +export const handleSubmit = () => { + console.log('handleSubmit') +} +export const handleClear = () => { + console.log('handleClear') +} -- Gitee From f9a0f61830935b7f606b7843f5b396a2a44b8d56 Mon Sep 17 00:00:00 2001 From: zhanglp Date: Sat, 23 Jul 2022 01:39:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=B9=B6=E5=8A=A8=E6=80=81=E7=94=9F=E6=88=90=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=8F=8A=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/login.ts | 30 +- src/api/menu.ts | 51 + src/api/role.ts | 39 + src/api/user.ts | 29 +- src/components/QuickTable/index.vue | 11 +- src/layout/components/AiniMenu/index.vue | 95 + src/layout/components/AiniMenuItem/index.vue | 64 + .../components/AiniSidebar/index copy.vue | 98 + src/layout/components/AiniSidebar/index.vue | 25 +- src/layout/index.vue | 84 +- src/pages/login/idnex.ts | 46 - src/pages/login/index.vue | 56 +- src/router/index.ts | 12 +- src/store/modules/login.ts | 22 +- src/store/modules/menu.ts | 49 + src/store/modules/tab.ts | 57 + src/store/modules/user.ts | 7 +- src/types/lgoin.ts | 8 + src/types/menu.ts | 19 + src/types/role.ts | 5 + src/types/tab.ts | 5 + src/types/user.ts | 5 - src/utils/index.ts | 43 + src/views/home/index.vue | 256 +- src/views/menu/index.vue | 210 ++ src/views/role/index.vue | 145 + yarn.lock | 2729 +++++++++++++++++ 27 files changed, 4019 insertions(+), 181 deletions(-) create mode 100644 src/api/menu.ts create mode 100644 src/api/role.ts create mode 100644 src/layout/components/AiniMenu/index.vue create mode 100644 src/layout/components/AiniMenuItem/index.vue create mode 100644 src/layout/components/AiniSidebar/index copy.vue create mode 100644 src/store/modules/menu.ts create mode 100644 src/store/modules/tab.ts create mode 100644 src/types/lgoin.ts create mode 100644 src/types/menu.ts create mode 100644 src/types/role.ts create mode 100644 src/types/tab.ts create mode 100644 src/views/menu/index.vue create mode 100644 src/views/role/index.vue create mode 100644 yarn.lock diff --git a/src/api/login.ts b/src/api/login.ts index bc78033..87844d3 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -1,39 +1,23 @@ -import { Login, User } from '../types/user' -import request, { QuickResponseData } from '../utils/request' +import { LoginData, LoginParams } from '@/types/lgoin' +import request, { QuickResponseData } from '@/utils/request' const Api = { login: '/api/login', loginOut: '/api/loginOut', - getUserInfo: '/api/getUserInfo', - changePassword: '/api/changePassword', } -export const userLogin = (data: Login): Promise> => { - return request>({ +export const userLogin = ( + data: LoginParams +): Promise> => { + return request>({ url: Api.login, method: 'POST', data, }) } -export const userLoginOut = (data: Login) => { +export const userLoginOut = (data: LoginParams) => { return request({ url: Api.loginOut, method: 'POST', data, }) } -export const getUserInfo = (userName: string) => { - return request({ - url: Api.getUserInfo, - method: 'GET', - params: { - userName, - }, - }) -} -export const changePassword = (data: Login) => { - return request({ - url: Api.changePassword, - method: 'POST', - data, - }) -} diff --git a/src/api/menu.ts b/src/api/menu.ts new file mode 100644 index 0000000..6a950d9 --- /dev/null +++ b/src/api/menu.ts @@ -0,0 +1,51 @@ +import { Menu } from '../types/menu' +import request, { QuickResponseData } from '../utils/request' + +const Api = { + permissionMenuList: '/api/menu/getPermission', + list: '/api/menu/getList', + add: '/api/menu/add', + update: '/api/menu/update', + delete: '/api/menu/delete', +} + +export const getPermissionMenuList = ( + userId: string +): Promise>> => { + return request>>({ + url: Api.permissionMenuList, + method: 'GET', + params: { + id: userId, + }, + }) +} +export const getMenuList = (): Promise>> => { + return request>>({ + url: Api.list, + method: 'GET', + }) +} +export const addMenu = (data: Menu) => { + return request({ + url: Api.add, + method: 'POST', + data, + }) +} +export const updateMenu = (data: Menu) => { + return request({ + url: Api.update, + method: 'POST', + data, + }) +} +export const deleteMenu = (id: string) => { + return request({ + url: Api.delete, + method: 'POST', + data: { + id, + }, + }) +} diff --git a/src/api/role.ts b/src/api/role.ts new file mode 100644 index 0000000..64b7e7a --- /dev/null +++ b/src/api/role.ts @@ -0,0 +1,39 @@ +import { Role } from '../types/role' +import request, { QuickResponseData } from '../utils/request' + +const Api = { + list: '/api/role/getList', + add: '/api/role/add', + update: '/api/role/update', + delete: '/api/role/delete', +} +export const getRoleList = (): Promise>> => { + return request>>({ + url: Api.list, + method: 'GET', + }) +} + +export const addRole = (data: Role) => { + return request({ + url: Api.add, + method: 'POST', + data, + }) +} +export const updateRole = (data: Role) => { + return request({ + url: Api.update, + method: 'POST', + data, + }) +} +export const deleteRole = (id: string) => { + return request({ + url: Api.delete, + method: 'POST', + data: { + id, + }, + }) +} diff --git a/src/api/user.ts b/src/api/user.ts index 636bbc7..96692d9 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -1,9 +1,11 @@ -import { User } from '../types/user' +import { ChangePassword, User } from '../types/user' import request, { QuickResponseData } from '../utils/request' const Api = { + permission: '/api/user/getPermission', + getUserInfo: '/api/getUserInfo', + changePassword: '/api/changePassword', pageList: '/api/user/getPageList', - list: '/api/user/getList', info: '/api/user/getInfo', add: '/api/user/add', update: '/api/user/update', @@ -13,6 +15,23 @@ const Api = { enabled: '/api/user/enabled', disable: '/api/user/disable', } +export const getPermission = (userId: string) => { + return request({ + url: Api.permission, + method: 'GET', + data: { + userId, + }, + }) +} +export const changePassword = (data: ChangePassword) => { + return request({ + url: Api.changePassword, + method: 'POST', + data, + }) +} + export const getUserPageList = ( params: object ): Promise>> => { @@ -22,12 +41,6 @@ export const getUserPageList = ( params, }) } -export const getUserList = () => { - return request({ - url: Api.list, - method: 'GET', - }) -} export const getUserInfo = ( userName: string ): Promise> => { diff --git a/src/components/QuickTable/index.vue b/src/components/QuickTable/index.vue index 20d89e4..5751caf 100644 --- a/src/components/QuickTable/index.vue +++ b/src/components/QuickTable/index.vue @@ -21,6 +21,10 @@ const props = defineProps({ type: Number, default: 575, }, + rowKey: { + type: String, + default: 'id', + }, tableActionbar: { type: [Boolean, Object], default: false, @@ -57,6 +61,7 @@ const { data, columns, height, + rowKey, tableActionbar, editButtonName, deleteButtonName, @@ -68,6 +73,7 @@ const { data: Ref columns: Ref height: Ref + rowKey: Ref tableActionbar: Ref editButtonName: Ref deleteButtonName: Ref @@ -110,6 +116,7 @@ const handleSelectionChange = (val: any) => { :height="height" stripe border + :row-key="rowKey" @selection-change="handleSelectionChange" > { (item.render ? item.render(scope.row) : true) " :link="!item.link ? true : false || item.link ? item.link : false" - :type="item.type ? item.type : 'text'" + :type="item.type ? item.type : 'primary'" :size="item.size ? item.size : 'small'" @click.prevent=" item.click(scope.row, () => { @@ -183,7 +190,7 @@ const handleSelectionChange = (val: any) => { (item.render ? item.render(scope.row) : true) " :link="!item.link ? true : false || item.link ? item.link : false" - :type="item.type ? item.type : 'text'" + :type="item.type ? item.type : 'primary'" :size="item.size ? item.size : 'small'" @click.prevent=" item.click(scope.row, () => { diff --git a/src/layout/components/AiniMenu/index.vue b/src/layout/components/AiniMenu/index.vue new file mode 100644 index 0000000..e6fb2c4 --- /dev/null +++ b/src/layout/components/AiniMenu/index.vue @@ -0,0 +1,95 @@ + + diff --git a/src/layout/components/AiniMenuItem/index.vue b/src/layout/components/AiniMenuItem/index.vue new file mode 100644 index 0000000..61e3845 --- /dev/null +++ b/src/layout/components/AiniMenuItem/index.vue @@ -0,0 +1,64 @@ + + diff --git a/src/layout/components/AiniSidebar/index copy.vue b/src/layout/components/AiniSidebar/index copy.vue new file mode 100644 index 0000000..d1d4bcc --- /dev/null +++ b/src/layout/components/AiniSidebar/index copy.vue @@ -0,0 +1,98 @@ + + + + + + diff --git a/src/layout/components/AiniSidebar/index.vue b/src/layout/components/AiniSidebar/index.vue index 8c8f006..1352b13 100644 --- a/src/layout/components/AiniSidebar/index.vue +++ b/src/layout/components/AiniSidebar/index.vue @@ -1,5 +1,6 @@ @@ -85,16 +67,16 @@ const handleClick = (activeName: string) => { diff --git a/src/pages/login/idnex.ts b/src/pages/login/idnex.ts index e5948b1..e69de29 100644 --- a/src/pages/login/idnex.ts +++ b/src/pages/login/idnex.ts @@ -1,46 +0,0 @@ -import { reactive } from 'vue' -import { router } from '../../router' -import { FormItem } from '../../types/form' -import { Login } from '../../types/user' -import { useLoginStore } from '../../store/modules/login' -/** - * 属性 - */ -const loginStore = useLoginStore() -export const form = reactive({ - tenant: '', - userName: '', - userPassword: '', -}) -export const formItems = reactive>([ - { - label: '租户', - labelWidth: '80px', - vModel: 'tenant', - type: 'text', - placeholder: '租户', - }, - { - label: '用户名', - labelWidth: '80px', - vModel: 'userName', - type: 'text', - placeholder: '用户名', - }, - { - label: '密码', - labelWidth: '80px', - vModel: 'userPassword', - type: 'password', - placeholder: '密码', - }, -]) -/** - * 函数 - */ -export const handleLogin = (): void => { - loginStore.login(form).then(() => { - console.log('登录成功') - router.push('/') - }) -} diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue index e3b3539..3bc4d8b 100644 --- a/src/pages/login/index.vue +++ b/src/pages/login/index.vue @@ -1,6 +1,60 @@ - + -- Gitee