Changeset View
Changeset View
Standalone View
Standalone View
src/resources/vue/Admin/Dashboard.vue
Show All 9 Lines | <div v-if="!$root.isLoading" class="container" dusk="dashboard-component"> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</form> | </form> | ||||
<table v-if="users.length" class="table table-sm table-hover mt-4"> | <table v-if="users.length" class="table table-sm table-hover mt-4"> | ||||
<thead class="thead-light"> | <thead class="thead-light"> | ||||
<tr> | <tr> | ||||
<th scope="col">Primary Email</th> | <th scope="col">Primary Email</th> | ||||
<th scope="col">ID</th> | <th scope="col">ID</th> | ||||
<th scope="col" class="d-none d-md-table-cell">Created</th> | |||||
<th scope="col" class="d-none d-md-table-cell">Deleted</th> | |||||
</tr> | </tr> | ||||
</thead> | </thead> | ||||
<tbody> | <tbody> | ||||
<tr v-for="user in users" :id="'user' + user.id" :key="user.id"> | <tr v-for="user in users" :id="'user' + user.id" :key="user.id" :class="user.isDeleted ? 'text-secondary' : ''"> | ||||
<td> | <td class="text-nowrap"> | ||||
<svg-icon icon="user" :class="$root.userStatusClass(user)" :title="$root.userStatusText(user)"></svg-icon> | <svg-icon icon="user" :class="$root.userStatusClass(user)" :title="$root.userStatusText(user)"></svg-icon> | ||||
<router-link :to="{ path: 'user/' + user.id }">{{ user.email }}</router-link> | <router-link v-if="!user.isDeleted" :to="{ path: 'user/' + user.id }">{{ user.email }}</router-link> | ||||
<span v-if="user.isDeleted">{{ user.email }}</span> | |||||
</td> | </td> | ||||
<td> | <td> | ||||
<router-link :to="{ path: 'user/' + user.id }">{{ user.id }}</router-link> | <router-link v-if="!user.isDeleted" :to="{ path: 'user/' + user.id }">{{ user.id }}</router-link> | ||||
<span v-if="user.isDeleted">{{ user.id }}</span> | |||||
</td> | </td> | ||||
<td class="d-none d-md-table-cell">{{ toDate(user.created_at) }}</td> | |||||
<td class="d-none d-md-table-cell">{{ toDate(user.deleted_at) }}</td> | |||||
</tr> | </tr> | ||||
</tbody> | </tbody> | ||||
</table> | </table> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="dashboard-nav"></div> | <div id="dashboard-nav"></div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
Show All 23 Lines | export default { | ||||
} | } | ||||
}, | }, | ||||
methods: { | methods: { | ||||
searchUser() { | searchUser() { | ||||
this.users = [] | this.users = [] | ||||
axios.get('/api/v4/users', { params: { search: this.search } }) | axios.get('/api/v4/users', { params: { search: this.search } }) | ||||
.then(response => { | .then(response => { | ||||
if (response.data.count == 1) { | if (response.data.count == 1 && !response.data.list[0].isDeleted) { | ||||
this.$router.push({ name: 'user', params: { user: response.data.list[0].id } }) | this.$router.push({ name: 'user', params: { user: response.data.list[0].id } }) | ||||
return | return | ||||
} | } | ||||
if (response.data.message) { | if (response.data.message) { | ||||
this.$toast.info(response.data.message) | this.$toast.info(response.data.message) | ||||
} | } | ||||
this.users = response.data.list | this.users = response.data.list | ||||
}) | }) | ||||
.catch(this.$root.errorHandler) | .catch(this.$root.errorHandler) | ||||
}, | |||||
toDate(datetime) { | |||||
if (datetime) { | |||||
return datetime.split(' ')[0] | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } | ||||
</script> | </script> |