diff --git a/src/api/user.js b/src/api/user.js index de69f707..366731e1 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -1,3 +1,4 @@ +import axios from 'axios' import request from '@/utils/request' export function login(data) { @@ -22,3 +23,37 @@ export function logout() { method: 'post' }) } + +export function fetchList(query) { + query.platform = 'OLFDE' + return axios.get('https://users.service.development.therig.onlinefuelslabs.io/user/search', { params: query }) +} + +export function fetchUser(id) { + return axios.get(`https://users.service.development.therig.onlinefuelslabs.io/user/${id}`) +} + +export function createUser(data) { + const dto = __dataToDTO(data) + + return axios.post(`https://users.service.development.therig.onlinefuelslabs.io/user`, dto) +} + +export function updateUser(data) { + const dto = __dataToDTO(data) + return axios.put(`https://users.service.development.therig.onlinefuelslabs.io/user/${data.id}`, dto) +} + +function __dataToDTO(data) { + return { + 'firstName': data.firstName, + 'lastName': data.lastName, + 'type': data.type, + 'email': data.email, + 'username': data.username, + 'phone': data.phone, + 'statusId': parseInt(data.status_id), + 'accountId': data.accountId, + 'typeId': data.type_id + } +} diff --git a/src/router/index.js b/src/router/index.js index d9ae8d20..eb305079 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -137,6 +137,37 @@ export const asyncRoutes = [ } ] }, + { + path: '/users', + component: Layout, + redirect: '/users/list', + name: 'Users', + meta: { + title: 'Users', + icon: 'example' + }, + children: [ + { + path: 'create', + component: () => import('@/views/users/create'), + name: 'CreateUser', + meta: { title: 'Create User', icon: 'edit' } + }, + { + path: 'edit/:id', + component: () => import('@/views/users/edit'), + name: 'EditUser', + meta: { title: 'Edit User', noCache: true, activeMenu: '/users/list' }, + hidden: true + }, + { + path: 'list', + component: () => import('@/views/users/list'), + name: 'UsersList', + meta: { title: 'User List', icon: 'list' } + } + ] + }, { path: '/permission', component: Layout, diff --git a/src/views/example/components/ArticleDetail.vue b/src/views/example/components/ArticleDetail.vue index ef0f1df9..8a249f84 100644 --- a/src/views/example/components/ArticleDetail.vue +++ b/src/views/example/components/ArticleDetail.vue @@ -29,7 +29,7 @@ diff --git a/src/views/users/components/UserDetail.vue b/src/views/users/components/UserDetail.vue new file mode 100644 index 00000000..c66664dd --- /dev/null +++ b/src/views/users/components/UserDetail.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/src/views/users/create.vue b/src/views/users/create.vue new file mode 100644 index 00000000..c0ce832e --- /dev/null +++ b/src/views/users/create.vue @@ -0,0 +1,13 @@ + + + + diff --git a/src/views/users/edit.vue b/src/views/users/edit.vue new file mode 100644 index 00000000..26e9b63e --- /dev/null +++ b/src/views/users/edit.vue @@ -0,0 +1,13 @@ + + + + diff --git a/src/views/users/list.vue b/src/views/users/list.vue new file mode 100644 index 00000000..b2429a1d --- /dev/null +++ b/src/views/users/list.vue @@ -0,0 +1,101 @@ + + + + +