somewhere
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<client-only>
|
||||
<div class="c-app flex-row align-items-center">
|
||||
<CContainer>
|
||||
<nuxt />
|
||||
</CContainer>
|
||||
</div>
|
||||
</client-only>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '~/sass/admin/style.scss';
|
||||
</style>
|
||||
@@ -0,0 +1,98 @@
|
||||
<template>
|
||||
<client-only>
|
||||
<div class="c-app">
|
||||
<TheSidebar />
|
||||
<CWrapper>
|
||||
<TheHeader />
|
||||
<div class="c-body">
|
||||
<main class="c-main">
|
||||
<CContainer fluid class="pt-5">
|
||||
<transition name="fade" mode="out-in">
|
||||
<nuxt :key="$route.path" />
|
||||
</transition>
|
||||
</CContainer>
|
||||
</main>
|
||||
</div>
|
||||
<TheFooter />
|
||||
</CWrapper>
|
||||
</div>
|
||||
</client-only>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import WS_Admin from '@/mixins/WS_Admin'
|
||||
|
||||
export default {
|
||||
name: 'AdminLayout',
|
||||
mixins: [WS_Admin],
|
||||
middleware: ['auth-admin', 'permissions'],
|
||||
data() {
|
||||
return {
|
||||
subHeaderContent: null
|
||||
}
|
||||
},
|
||||
head() {
|
||||
return {
|
||||
htmlAttrs: {
|
||||
lang: 'fa',
|
||||
dir: 'rtl'
|
||||
},
|
||||
title: 'آسان سرویس | مدیریت سایت'
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
/// /////////////////////////////////////////////////// get products list | provinces | cities
|
||||
try {
|
||||
// verity request info
|
||||
const verityData = {
|
||||
url: `/api/GetItem?UserGroupID=${this.$config.VerityUserGroupId}`,
|
||||
db: 'verity'
|
||||
}
|
||||
// panatech request info
|
||||
const panatechData = {
|
||||
url: `/api/GetItem?UserGroupID=${this.$config.PanatechUserGroupId}`,
|
||||
db: 'panatech'
|
||||
}
|
||||
|
||||
const allData = await Promise.all([
|
||||
// fetch verity products
|
||||
this.$axios.post('/api/cross/getRouteManager', verityData),
|
||||
// fetch panatech products
|
||||
this.$axios.post('/api/cross/getRouteManager', panatechData),
|
||||
// fetch iranProvinces
|
||||
this.$axios.post('/api/cross/getRouteManager', { url: '/api/GetProvince', db: 'verity' }),
|
||||
// fetch iranCities
|
||||
this.$axios.post('/api/cross/getRouteManager', { url: '/api/GetCity', db: 'verity' })
|
||||
])
|
||||
|
||||
const verityProducts = allData[0]
|
||||
const panatechProducts = allData[1]
|
||||
const iranProvinces = allData[2]
|
||||
const iranCities = allData[3]
|
||||
|
||||
this.$store.commit('admin/set', ['verityProducts', verityProducts.data.data])
|
||||
this.$store.commit('admin/set', ['panatechProducts', panatechProducts.data.data])
|
||||
this.$store.commit('admin/set', ['iranProvinces', iranProvinces.data.data])
|
||||
this.$store.commit('admin/set', ['iranCities', iranCities.data.data])
|
||||
} catch (e) {
|
||||
this.$arpaError()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '~/sass/admin/style.scss';
|
||||
</style>
|
||||
|
||||
<style scoped>
|
||||
.fade-enter-active,
|
||||
.fade-leave-active {
|
||||
transition: opacity 0.3s;
|
||||
}
|
||||
|
||||
.fade-enter,
|
||||
.fade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<nuxt />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'BlankLayout'
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div>
|
||||
<SiteHeader />
|
||||
<nuxt class="default" />
|
||||
<SiteFooter v-if="$route.name !== 'index'" />
|
||||
<MobileMenu />
|
||||
<LotteryPopUp />
|
||||
<AppInstallDialog />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'DefaultLayout',
|
||||
head() {
|
||||
return {
|
||||
htmlAttrs: {
|
||||
lang: 'fa'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,26 @@
|
||||
<template>
|
||||
<div v-if="error.statusCode === 404" class="error--page">
|
||||
<h1>{{ error.statusCode }}</h1>
|
||||
<p>{{ error.message }}</p>
|
||||
<nuxt-link :to="{ name: 'index' }">Home</nuxt-link>
|
||||
</div>
|
||||
<div v-else class="error--page">
|
||||
<h1>{{ error.statusCode }}</h1>
|
||||
<p>{{ error.message }}</p>
|
||||
<nuxt-link :to="{ name: 'index' }">Home</nuxt-link>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ErrorPage',
|
||||
layout: 'blank',
|
||||
props: {
|
||||
error: {
|
||||
required: true,
|
||||
type: Object,
|
||||
default: null
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<div>
|
||||
<SiteHeader />
|
||||
<nuxt />
|
||||
<MobileMenu />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'UserAuthLayout',
|
||||
head() {
|
||||
return {
|
||||
htmlAttrs: {
|
||||
lang: 'fa'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,102 @@
|
||||
<template>
|
||||
<client-only>
|
||||
<div class="user-dashboard-layout">
|
||||
<site-header />
|
||||
<div class="topBG">
|
||||
<div class="user-name">
|
||||
<nuxt-link :to="{ name: 'account' }" exact>
|
||||
<i class="fas fa-user"></i>
|
||||
<span class="singleLineTxt" :title="fullName">{{ fullName }}</span>
|
||||
</nuxt-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<user-aside-menu class="col-12 col-lg-3 col-xxl-2" />
|
||||
<nuxt class="col-12 col-lg-9 col-xxl-10" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- <site-footer /> -->
|
||||
<mobile-menu />
|
||||
<AppInstallDialog />
|
||||
</div>
|
||||
</client-only>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'UserLayout',
|
||||
middleware: 'auth-user',
|
||||
head() {
|
||||
return {
|
||||
title: 'آسان سرویس | حساب کاربری',
|
||||
htmlAttrs: {
|
||||
lang: 'fa'
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
user() {
|
||||
return this.$auth.user
|
||||
},
|
||||
fullName() {
|
||||
return this.user.first_name + ' ' + this.user.last_name
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
if (this.user.confirmed) {
|
||||
if (!this.user.email_confirmed) {
|
||||
this.$notify({
|
||||
type: 'warning',
|
||||
title: 'توجه',
|
||||
message:
|
||||
'کاربر گرامی آدرس ایمیل خود را تایید نکرده اید، لطفا هرچه سریع تر نسبت به تایید آدرس ایمیل خود از "منوی تایید اطلاعات" اقدام نمایید.',
|
||||
position: 'top-left',
|
||||
offset: 60,
|
||||
duration: 0
|
||||
})
|
||||
}
|
||||
if (!this.user.mobile_confirmed) {
|
||||
this.$notify({
|
||||
type: 'warning',
|
||||
title: 'توجه',
|
||||
message:
|
||||
'کاربر گرامی شماره تلفن همراه خود را تایید نکرده اید، لطفا هرچه سریع تر نسبت به تایید شماره تلفن همراه خود از منوی "تایید اطلاعات" اقدام نمایید.',
|
||||
position: 'top-left',
|
||||
offset: 60,
|
||||
duration: 0
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/// /// get products list
|
||||
try {
|
||||
// verity request info
|
||||
const verityData = {
|
||||
url: `/api/GetItem?UserGroupID=${this.$config.VerityUserGroupId}`,
|
||||
db: 'verity'
|
||||
}
|
||||
// panatech request info
|
||||
const panatechData = {
|
||||
url: `/api/GetItem?UserGroupID=${this.$config.PanatechUserGroupId}`,
|
||||
db: 'panatech'
|
||||
}
|
||||
|
||||
const allData = await Promise.all([
|
||||
// fetch verity products
|
||||
this.$axios.post('/api/cross/getRouteManager', verityData),
|
||||
// fetch panatech products
|
||||
this.$axios.post('/api/cross/getRouteManager', panatechData)
|
||||
])
|
||||
|
||||
const verityProducts = allData[0]
|
||||
const panatechProducts = allData[1]
|
||||
|
||||
this.$store.commit('front/set', ['verityProducts', verityProducts.data.data])
|
||||
this.$store.commit('front/set', ['panatechProducts', panatechProducts.data.data])
|
||||
} catch (e) {
|
||||
this.$arpaError()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user