sajjad 3 years ago
parent 6de0e23fd0
commit 0a12de97c7

@ -3,7 +3,6 @@ import url from "@/router/url"
import { getJson } from "../resources/statisticResource";
export default class StatisticRepository {
async indexAdmin() {
console.log('s');
let response = await axios.get(url("indexAdmin"));
if (response.status === 200) {
return getJson(response.data.data)

@ -12,10 +12,10 @@ export const getJson = (data) => ({
video_link: data.video_link,
purchase_link: data.purchase_link,
price_unit: data.price,
price: `${data.price.replace('$', '')}`,
price: `${data.price?.replace('$', '')}`,
weight_unit: data.weight,
weight: `${data.weight.replace('kg', '')}`,
dimensions_unit: `${data.dimensions.replace('cm', '')}`,
weight: `${data.weight?.replace('kg', '')}`,
dimensions_unit: `${data.dimensions?.replace('cm', '')}`,
dimensions: data.dimensions,
product_category: data.product_category,
product_categories_id: data.product_category?.parent?.id,
@ -23,7 +23,6 @@ export const getJson = (data) => ({
});
export const setData = (data) => {
console.log(data);
let formData = {
product_category_id: data.product_category_id,
title: data.title,

@ -22,7 +22,6 @@ export const getJson = (data) => ({
roles: data.roles
});
export const setData = (data, isUpdate = false) => {
console.log(data);
let formData = {
first_name: data.first_name,
last_name: data.last_name,

@ -2,10 +2,10 @@ import { SetPagination, SetQueriesObject } from "@/utils/setQueriesObject";
export const getJson = (data) => {
let role_id = null;
data.roles.map(x => role_id = x.id);
let type = '';
let role = '';
let roles = data.roles.map(x => x.name);
roles.includes('manager') ? type = "admin" : roles.includes("trainer") && !roles.includes('manager') ? type = 'trainer' : "trainee"
!data.roles.length ? type = "trainee" : false;
roles.includes('manager') ? role = "admin" : roles.includes("trainer") && !roles.includes('manager') ? role = 'trainer' : "trainee"
!data.roles.length ? role = "trainee" : false;
return ({
id: data.id,
first_name: data.first_name,
@ -20,8 +20,8 @@ export const getJson = (data) => {
address: data.address,
email: data.email,
cell_number: data.cell_number,
type: type,
role: data.roles,
role: role,
roles: data.roles,
role_id: role_id,
created_courses_count: data.created_courses_count,
joined_courses_count: data.joined_courses_count

@ -2,9 +2,9 @@
<div class="h-100">
<main-back height="100%">
<!-- admin role -->
<div class="px-16 pb-10" v-if="type === 'admin'">
<div class="px-16 pb-10" v-if="role === 'admin'">
<div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div>
<div class="d-flex justify-center"><UserName :role="role" /></div>
</div>
<v-row class="mt-3">
<v-col cols="12">
@ -71,9 +71,9 @@
</div>
<!-- /admin role -->
<!-- trainer role -->
<div class="px-16 pb-10" v-if="type === 'trainer'">
<div class="px-16 pb-10" v-if="role === 'trainer'">
<div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div>
<div class="d-flex justify-center"><UserName :role="role" /></div>
</div>
<v-row class="mt-3">
<v-col cols="12">
@ -133,9 +133,9 @@
</div>
<!-- /trainer role -->
<!-- trainee role -->
<div class="px-16 pb-10" v-if="type === 'trainee'">
<div class="px-16 pb-10" v-if="role === 'trainee'">
<div class="mt-11">
<div class="d-flex justify-center"><UserName :role="type" /></div>
<div class="d-flex justify-center"><UserName :role="role" /></div>
</div>
<v-row class="mt-3">
<v-col cols="12">
@ -211,18 +211,18 @@ export default {
Notification,
},
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.getRole() ? UserStorage.getRole() : null,
statistics: {},
}),
methods: {
async loadStatistic() {
let repository = new StatisticRepository();
this.statistics =
this.type === "admin"
this.role === "admin"
? await repository.indexAdmin()
: this.type === "trainer"
: this.role === "trainer"
? await repository.indexTrainer()
: this.type === "trainee"
: this.role === "trainee"
? await repository.indexTrainee()
: false;
},

@ -3,7 +3,7 @@
<main-back height="100%">
<div class="mt-16">
<ul class="pl-0 ml-0">
<template v-if="type === 'admin'">
<template v-if="role === 'admin'">
<MenuItem
v-for="item in sideBar"
:key="item.id"
@ -12,7 +12,7 @@
:link="item.link"
/>
</template>
<template v-if="type === 'trainee'">
<template v-if="role === 'trainee'">
<MenuItem
v-for="item in sideBar"
:key="item.id"
@ -21,7 +21,7 @@
:link="item.link"
/>
</template>
<template v-if="type === 'trainer'">
<template v-if="role === 'trainer'">
<MenuItem
v-for="item in sideBar"
:key="item.id"
@ -43,12 +43,12 @@ export default {
MenuItem,
},
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.get() ? UserStorage.get().role : null,
}),
computed: {
sideBar() {
var menuItems = [];
this.type === "admin"
this.role === "admin"
? (menuItems = [
{
id: 1,
@ -75,8 +75,8 @@ export default {
active:
this.$route.name === "programs" ||
this.$route.name === "addProgram" ||
this.$route.name === "editProgram" ||
this.$route.name === "programSeries" ||
this.$route.name === "addProgram" ||
this.$route.name === "workoutsSeries",
},
{
@ -90,17 +90,19 @@ export default {
text: "products",
link: "products",
active:
this.$route.name === "products" || this.$route.name === "addProduct",
this.$route.name === "products" ||
this.$route.name === "addProduct" ||
this.$route.name === "editProduct",
},
{
id: 7,
text: "workouts",
link: "workouts",
active:
this.$route.name === "workouts" || this.$route.name === "addWorkout",
this.$route.name === "workouts" || this.$route.name === "addWorkout"|| this.$route.name === "editWorkout"
},
])
: this.type === "trainer"
: this.role === "trainer"
? (menuItems = [
{
id: 1,
@ -118,7 +120,10 @@ export default {
id: 3,
text: "my programs",
link: "programs",
active: this.$route.name === "programs",
active:
this.$route.name === "programs" ||
this.$route.name === "addProgram" ||
this.$route.name === "editProgram",
},
{
id: 4,
@ -159,7 +164,6 @@ export default {
active: this.$route.name === "bookmarks",
},
]);
console.log(this.$route.name);
return menuItems;
},
},

@ -300,7 +300,6 @@ export default {
async load() {
await this.loadProduct(this.productId);
this.form = this.getProduct;
console.log(this.form.tags);
this.form["batch_id"] = RANDOM_TOKEN;
// this.changeProductCategories();
},

@ -20,6 +20,7 @@
label="manager image"
:url.sync="form.thumbnail"
v-model="fileForm"
:stencilProps="{ aspectRatio: 1280 / 720, checkImageOrigin: false }"
/>
</div>
</div>

@ -1,19 +1,19 @@
<template>
<div>
<div class="wa__program__images">
<div
<!-- <div
class="wa__program__image"
:style="{
backgroundImage: `url('${
program.thumbnail ? program.thumbnail : `http://via.placeholder.com/200`
}')`,
}"
></div>
<!-- <img
:src="program.thumbnail ? program.thumbnail : `http://via.placeholder.com/200`"
class="rounded offer__detail--image"
alt=""
/> -->
></div> -->
<img
class="w-100"
:src="program.thumbnail ? program.thumbnail : 'https://via.placeholder.com/1280x720'"
alt="product image"
/>
<div class="wa__program__image__button">
<div class="wa__program__image__button--icon">
<RectangleButton
@ -22,7 +22,7 @@
class="custom-btn ml-1"
height="32"
:icon="program.verified ? 'WMi-cancel' : 'WMi-ok'"
v-if="type === 'admin'"
v-if="role === 'admin'"
/>
<router-link
class="text-decoration-none"
@ -87,7 +87,7 @@ import { UserStorage } from "@/utils/storage";
export default {
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.getRole() ? UserStorage.getRole() : null,
}),
props: {
program: {

@ -66,7 +66,7 @@ export default {
FiltersModal,
},
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.getRole() ? UserStorage.getRole() : null,
}),
computed: {
...mapGetters("programs", ["getPrograms", "getPaginationProgram", "getFilterCount"]),
@ -77,11 +77,11 @@ export default {
changePagination(page) {
if (this.getPaginationProgram.page !== page) {
this.SET_PAGINATION(page);
this.loadPrograms();
this.role === "admin" ? this.loadPrograms() : this.loadMyPrograms();
}
},
async load() {
this.type === "admin" ? await this.loadPrograms() : await this.loadMyPrograms();
this.role === "admin" ? await this.loadPrograms() : await this.loadMyPrograms();
},
},
created() {

@ -7,7 +7,7 @@
<div class="user__name wa__f__m__eb">
{{ user.first_name }} {{ user.last_name }}
</div>
<small class="user__email" v-if="type === 'admin'">{{ user.email }}</small>
<small class="user__email" v-if="role === 'admin'">{{ user.email }}</small>
</div>
</div>
</v-col>
@ -16,20 +16,20 @@
<div class="user__role">
<small>Role:</small>
<div class="wa__f__m__eb text-uppercase">
{{ user.type }}
{{ user.role }}
</div>
</div>
</div>
</v-col>
<v-col cols="3">
<div class="d-flex align-center justify-center h-100">
<div v-if="user.type == 'trainer'" class="d-flex align-center">
<div v-if="user.role == 'trainer'" class="d-flex align-center">
<div class="user__program--quantity wa__f__m__eb mr-2">
{{ user.created_courses_count ? user.created_courses_count : "0" }}
</div>
<div class="user__program__text">program created</div>
</div>
<div v-else-if="user.type == 'trainee'" class="d-flex align-center">
<div v-else-if="user.role == 'trainee'" class="d-flex align-center">
<div class="user__program--quantity wa__f__m__eb mr-2">
{{ user.joined_courses_count ? user.joined_courses_count : "0" }}
</div>
@ -46,6 +46,7 @@
class="ml-1 custom-btn custom-icon"
icon="WMi-gold-medal"
@click.native="chageRole"
v-if="role === 'admin'"
size="large"
/>
<!-- <router-link :to="{ name: 'profile' }"> -->
@ -82,7 +83,7 @@ export default {
},
},
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.getRole() ? UserStorage.getRole() : null,
}),
methods: {
...mapActions("users", ["deleteUser"]),

@ -57,7 +57,7 @@ export default {
FiltersModal,
},
data: () => ({
type: UserStorage.get() ? UserStorage.get().type : null,
role: UserStorage.getRole() ? UserStorage.getRole() : null,
id: null,
}),
computed: {
@ -79,7 +79,7 @@ export default {
}
},
async load() {
this.type === "admin" ? await this.loadUsers() : await this.loadTrainerTrainee();
this.role === "admin" ? await this.loadUsers() : await this.loadTrainerTrainee();
},
userId(id) {
this.id = id;
@ -89,7 +89,7 @@ export default {
if (!this.$route.query.role_name) {
this.load();
}
await this.laodRoles();
this.role === "admin" ? await this.laodRoles() : false;
this.getRoles.push({ id: 0, name: "trainee" });
},
};

@ -31,9 +31,7 @@
class="mb-3"
v-for="(seriesWorkout, i) in getWorkouts"
:key="i"
><WorkoutsSeriesItem
:seriesWorkout="seriesWorkout"
:seriesId="seriesId"
><WorkoutsSeriesItem :seriesWorkout="seriesWorkout" :seriesId="seriesId"
/></v-col>
</v-row>
</div>

@ -184,13 +184,11 @@ export default {
...mapActions("workoutToSeries", ["loadWorkoutsToSeries", "addWorkoutToSeries"]),
...mapMutations("workoutToSeries", ["SET_FILTER_WORKOUTS_TO_SERIES"]),
openModal() {
console.log("s");
},
async joinWorkout(id) {
this.workoutId = id;
let repository = new WorkoutToSeriesRepository();
this.selectedWorkout = await repository.show(this.workoutId);
console.log(this.selectedWorkout);
},
async WorkoutToSeries() {
if (this.workoutId) {

@ -72,7 +72,7 @@ function beforeLoad() {
return next('/');
}
if (loggedIn && roles && Array.isArray(roles)) {
const ownType = UserStorage.get() ? UserStorage.get().type : '';
const ownType = UserStorage.get() ? UserStorage.get().role : '';
if (!roles.includes(ownType)) {
router.push({ name: 'dashboard' });
}

@ -97,8 +97,8 @@ export default [
},
{
path: '/trains-programs',
view: 'TrainsPrograms',
name: 'trainsPrograms',
view: 'TraineePrograms',
name: 'traineePrograms',
},
{

@ -12,7 +12,6 @@ const TokenStorage = {
getToken() {
return localStorage.getItem(TOKEN_KEY);
},
saveToken(accessToken = null) {
localStorage.setItem(TOKEN_KEY, accessToken);
},
@ -33,12 +32,13 @@ const UserStorage = {
}
return null;
},
getRole() {
return this.get().role;
},
save(user = null) {
user = qs.stringify(user);
localStorage.setItem(USER, user);
},
remove() {
localStorage.removeItem(USER);
},

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import AddProductHome from "../components/AddProduct/Main";
import AddProductHome from "../components/Products/Add";
export default {
components: {
AddProductHome,

@ -14,7 +14,7 @@
<SideBar />
</v-col>
<v-col cols="10">
<AddProgram />
<AddProgramHome />
</v-col>
</v-row>
</div>
@ -22,10 +22,10 @@
</v-container>
</template>
<script>
import AddProgram from "../components/AddProgram/Main";
import AddProgramHome from "../components/Programs/Add";
export default {
components: {
AddProgram,
AddProgramHome,
},
};
</script>

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import AddWorkoutHome from "../components/AddWorkout/Main";
import AddWorkoutHome from "../components/Workouts/Add";
export default {
components: {
AddWorkoutHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import BookmarksHome from "../components/Bookmarks/Main";
import BookmarksHome from "../components/Bookmarks/Items";
export default {
components: {
BookmarksHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import ProductsHome from "../components/Products/Main";
import ProductsHome from "../components/Products/Items";
export default {
components: {
ProductsHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import ProfileHome from "../components/Profile/Main";
import ProfileHome from "../components/Profile/Profile";
export default {
components: {
ProfileHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import ProgramSeriesHome from "../components/ProgramSeries/Main";
import ProgramSeriesHome from "../components/ProgramSeries/Items";
export default {
components: {
ProgramSeriesHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import ProgramsHome from "../components/Programs/Main";
import ProgramsHome from "../components/Programs/Items";
export default {
components: {
ProgramsHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import TrainProgramsHome from "../components/TrainPrograms/Main";
import TrainProgramsHome from "../components/TraineePrograms/Items";
export default {
components: {
TrainProgramsHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import ProfileHome from "../components/Profile/Trainer";
import ProfileHome from "../components/Profile/TrainerProfile";
export default {
components: {
ProfileHome,

@ -23,7 +23,7 @@
</template>
<script>
import { mapState } from 'vuex';
import UsersHome from "../components/Users/Main";
import UsersHome from "../components/Users/Items";
export default {
components: {
UsersHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import WorkoutsHome from "../components/Workouts/Main";
import WorkoutsHome from "../components/Workouts/Items";
export default {
components: {
WorkoutsHome,

@ -22,7 +22,7 @@
</v-container>
</template>
<script>
import WorkoutsSeriesHome from "../components/WorkoutsSeries/Main";
import WorkoutsSeriesHome from "../components/WorkoutsSeries/Items";
export default {
components: {
WorkoutsSeriesHome,

Loading…
Cancel
Save