Newer
Older
<template>
<div id="page-content-wrapper" class="main">
<fetch-profile v-if="userData !== null">
<template slot-scope="{response, loading}">
<slot :response="response" :loading="loading">
<div v-if="loading || response === null"></div>
<div v-else>
<!-- {{response}}-->
<h4 class="round">User Profile</h4>
<div class="panel panel-default">
<div class="panel-body">
<div class="container-fluid col-md-12">
<div class="row">
<div class="text col-sm-3">User Name</div>
<div class="col-sm-9">
<b>{{response.username}}</b>
</div>
</div>
<div class="row">
<div class="text col-sm-3">Email</div>
<div class="col-sm-9">
{{response.email}}
</div>
</div>
<div class="row">
<div class="text col-sm-3">Role</div>
<div class="col-sm-9">
</div>
</div>
<div class="row">
<div class="text col-sm-3">Affiliation</div>
<div class="col-sm-9">
{{response.Affiliation}}
</div>
</div>
<div class="row">
<div class="text col-sm-3">Link</div>
<div class="col-sm-9">
{{response.ProfileLink}}
</div>
</div>
<div class="row">
<div class="text col-sm-3">Joined</div>
<div class="col-sm-9">
{{response.createdAt}}
</div>
</div>
<div class="row">
<div class="text col-sm-3">Updated</div>
<div class="col-sm-9">
{{response.updatedAt}}
</div>
</div>
</div>
</div>
</div>
<button class="btn btn-primary" @click="$router.push('/updateitem/new')">
Create new Update Item
</button>
</div>
</slot>
</template>
</fetch-profile>
<h4 class="round">Update Items</h4>
<fetch-update-items v-if="userData !== null">
<template slot-scope="{response, loading}">
<slot :response="response" :loading="loading">
<div v-if="loading || response === null"></div>
<div v-else>
<update-item-table id="update-item-table" :data="response.data">
</update-item-table>
</div>
</slot>
</template>
</fetch-update-items>
<fetch-users v-if="getRole ==='Administrator'">
<template slot-scope="{response, loading}">
<slot :response="response" :loading="loading">
<div v-if="loading || response === null"></div>
<div v-else>
<h4 class="round">User List</h4>
<user-table id="usersTable" :data="response" />
</div>
</slot>
</template>
</fetch-users>
</div>
</template>
<script>
import FetchProfile from "@/components/CMS/fetchProfile";
import FetchUpdateItems from "@/components/CMS/fetchUpdateItems";
import UpdateItemTable from "@/components/UpdateItemTable";
import FetchUsers from "@/components/CMS/fetchUsers"
import UserTable from '../components/UserTable.vue';
const _ = require('lodash')
export default {
name: 'ProfilePage',
components: {
FetchProfile, FetchUpdateItems, UpdateItemTable,
UserTable, FetchUsers
},
props: {
msg: String
},
data() {
return {
isDev: process.env.NODE_ENV === 'development'
}
},
computed: {
userData: function () {
return this.$store.getters['User/userData']
},
getRole: function(){
}
//console.log("role name is,", roleName);
const vm = this
window.localStorage.setItem('roleName', roleName)
vm.$store.dispatch('User/setUserRole', roleName)
return roleName
},
},
mounted: function () {
const vm = this
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
if(vm.userData === null) {
this.$router.push('/login')
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
@import url('~@/assets/bootstrap.css');
.main {
margin: 1.5rem;
}
h3 {
margin: 40px 0 0;
}
a {
color: #42b983;
}
.panel {
font-size: 1.2rem;
}
ul.a {
list-style-type: disc;
list-style-position: inside;
}
</style>