commit
8fd61ce33d
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=126dc6f3c173336b3c08",
|
"/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=126dc6f3c173336b3c08",
|
||||||
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=79f8aa6edff8ead412ae",
|
"/js/vue/Home/app.js": "/js/vue/Home/app.js?id=a473f236ecf7672e01a4",
|
||||||
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=c02efa86f7529baae7b3",
|
"/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=31b2f14d982aa06c67c2",
|
||||||
"/js/vue/User/app.js": "/js/vue/User/app.js?id=7096cbe1285511bfa614"
|
"/js/vue/User/app.js": "/js/vue/User/app.js?id=1a93781a993e7f6b688c"
|
||||||
}
|
}
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-app>
|
|
||||||
<div id="app">
|
|
||||||
<wm-background></wm-background>
|
|
||||||
<app-menu></app-menu>
|
|
||||||
<v-content>
|
|
||||||
<v-container fluid class="Login">
|
|
||||||
<div class="Tile">
|
|
||||||
<router-view></router-view>
|
|
||||||
<!-- <wm-tiles-layout></wm-tiles-layout> -->
|
|
||||||
</div>
|
|
||||||
</v-container>
|
|
||||||
</v-content>
|
|
||||||
</div>
|
|
||||||
</v-app>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import Background from '@Global/components/Body/Backgrounds/Gradient';
|
|
||||||
import Menu from '@Global/components/Drawer/SideBar';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
'wm-background':Background,
|
|
||||||
appMenu: Menu,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
#app {
|
|
||||||
background-color: transparent;
|
|
||||||
// -webkit-font-smoothing: antialiased;
|
|
||||||
// -moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
||||||
.WM-Container-Fluid {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,82 +0,0 @@
|
|||||||
import Vue from 'vue'
|
|
||||||
import App from './App.vue'
|
|
||||||
import router from './router'
|
|
||||||
import store from './store'
|
|
||||||
import VueScrollReveal from 'vue-scroll-reveal'
|
|
||||||
import Vuetify from 'vuetify'
|
|
||||||
import {global} from '../Global/mixins/global';
|
|
||||||
|
|
||||||
import 'popper.js'
|
|
||||||
import 'bootstrap-v4-rtl'
|
|
||||||
import 'bootstrap-v4-rtl/scss/bootstrap-rtl.scss'
|
|
||||||
import 'bootstrap-select'
|
|
||||||
import 'bootstrap-select/dist/css/bootstrap-select.css'
|
|
||||||
import 'vuetify/dist/vuetify.min.css' // Ensure you are using css-loader
|
|
||||||
import '@Global/assets/Font-Icons/css/fontello.css'
|
|
||||||
import "@Global/scss/style.scss"
|
|
||||||
|
|
||||||
|
|
||||||
// components
|
|
||||||
import PartTitle from "@Global/components/Dividers/PartTitle.vue";
|
|
||||||
import PageTitle from "@Global/components/Dividers/PageTitle.vue";
|
|
||||||
import Checkbox from "@Global/components/Inputs/Checkbox.vue";
|
|
||||||
import InfoBlock from "@Global/components/Misc/InfoBlock.vue";
|
|
||||||
import Breadcrumbs from '@Global/components/Misc/Breadcrumbs';
|
|
||||||
|
|
||||||
|
|
||||||
Vue.component('WM-PartTitle', PartTitle)
|
|
||||||
Vue.component('WM-PageTitle', PageTitle)
|
|
||||||
Vue.component('WM-Checkbox', Checkbox)
|
|
||||||
Vue.component('WM-InfoBlock', InfoBlock)
|
|
||||||
Vue.component('wm-breadcrumbs', Breadcrumbs)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* First we will load all of this project's JavaScript dependencies which
|
|
||||||
* includes Vue and other libraries. It is a great starting point when
|
|
||||||
* building robust, powerful web applications using Vue and Laravel.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
window.Vue = require('vue');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The following block of code may be used to automatically register your
|
|
||||||
* Vue components. It will recursively scan this directory for the Vue
|
|
||||||
* components and automatically register them with their "basename".
|
|
||||||
*
|
|
||||||
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
|
|
||||||
*/
|
|
||||||
|
|
||||||
// const files = require.context('./', true, /\.vue$/i)
|
|
||||||
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Next, we will create a fresh Vue application instance and attach it to
|
|
||||||
* the page. Then, you may begin adding components to this application
|
|
||||||
* or customize the JavaScript scaffolding to fit your unique needs.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
Vue.use(Vuetify, {
|
|
||||||
iconfont: 'fa',
|
|
||||||
rtl: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
// Vue.config.productionTip = false;
|
|
||||||
Vue.use(VueScrollReveal, {
|
|
||||||
class: 'v-scroll-reveal', // A CSS class applied to elements with the v-scroll-reveal directive; useful for animation overrides.
|
|
||||||
duration: 800,
|
|
||||||
scale: 1,
|
|
||||||
distance: '10px',
|
|
||||||
mobile: false
|
|
||||||
});
|
|
||||||
Vue.mixin(global);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const app = new Vue({
|
|
||||||
router,
|
|
||||||
store,
|
|
||||||
render: h => h(App),
|
|
||||||
}).$mount('#app');
|
|
@ -1,31 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-flex lg12 style="position:relative; padding: 0px 15px;">
|
|
||||||
<v-card-text class="Duplicate">
|
|
||||||
<v-layout row wrap pl-2>
|
|
||||||
<v-flex lg6>
|
|
||||||
<v-text-field label=" نام فارسی دپارتمان " color="cyan" prepend-icon="fas fa-bars"></v-text-field>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex lg6>
|
|
||||||
<v-text-field label=" Department English Name " color="cyan" prepend-icon="fas fa-bars"></v-text-field>
|
|
||||||
</v-flex>
|
|
||||||
<v-btn fab color="cyan" fixed bottom left dark style="left:-15px; bottom:-30px; position:absolute"><v-icon dark>fas fa-plus</v-icon></v-btn>
|
|
||||||
<v-btn fab small color="red" fixed bottom left dark style="left:-5px; top:-20px; position:absolute"><v-icon dark>fas fa-times</v-icon></v-btn>
|
|
||||||
</v-layout>
|
|
||||||
<v-flex lg12 style="position:relative; padding: 0px 15px; margin: 0px 20px;">
|
|
||||||
<v-card-text class="Duplicate">
|
|
||||||
<v-layout row wrap pl-2>
|
|
||||||
<v-flex lg6>
|
|
||||||
<v-text-field label=" نام فارسی بخش " color="cyan" prepend-icon="fas fa-align-right"></v-text-field>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex lg6>
|
|
||||||
<v-text-field label=" Section English Name " color="cyan" prepend-icon="fas fa-align-right"></v-text-field>
|
|
||||||
</v-flex>
|
|
||||||
<v-btn fab small color="cyan" fixed bottom left dark style="left:-5px; bottom:-25px; position:absolute"><v-icon dark>fas fa-plus</v-icon></v-btn>
|
|
||||||
<v-btn fab small color="red" fixed bottom left dark style="left:-5px; top:-20px; position:absolute"><v-icon dark>fas fa-times</v-icon></v-btn>
|
|
||||||
</v-layout>
|
|
||||||
</v-card-text>
|
|
||||||
</v-flex>
|
|
||||||
</v-card-text>
|
|
||||||
</v-flex>
|
|
||||||
|
|
||||||
</template>
|
|
@ -1,141 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-container>
|
|
||||||
<v-layout row wrap>
|
|
||||||
<v-flex xs12 lg12 mb-3>
|
|
||||||
<v-expansion-panel popout>
|
|
||||||
<v-expansion-panel-content v-for="(department,i) in departments" :key="i">
|
|
||||||
<template v-slot:header>
|
|
||||||
<v-flex lg4 pt-2 class="text-lg-right FA">
|
|
||||||
<span class="TitleNumber En">{{ parseInt(i+1) }}.</span>
|
|
||||||
{{ department.name_fa }}
|
|
||||||
</v-flex>
|
|
||||||
<v-flex lg4 pt-2 class="LTR EN">{{ department.name_en }}</v-flex>
|
|
||||||
<v-flex xl4 class="Buttons text-lg-center">
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="cyan" dark>
|
|
||||||
<v-icon dark>fas fa-pencil-alt</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<span> ویرایش </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small @click.native="$store.state.ConfigUserDepartmentAdd = true" slot="activator" fab color="orange" dark>
|
|
||||||
<v-icon dark>fas fa-plus</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<span> افزودن زیر مجمموعه </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="red" dark>
|
|
||||||
<v-icon dark>fas fa-trash-alt</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<span> حذف آیتم </span>
|
|
||||||
</v-tooltip>
|
|
||||||
</v-flex>
|
|
||||||
</template>
|
|
||||||
<v-card>
|
|
||||||
<v-card-text style="padding:5px 30px">
|
|
||||||
<div class="WM-Tile" v-for="(section,j) in department.sections" :key="j">
|
|
||||||
<v-layout row wrap class="Content">
|
|
||||||
<div class="Number En">{{ parseInt(j+1)+'-'+parseInt(i+1) }}</div>
|
|
||||||
<v-flex lg4 class="text-lg-right zIndex99" pt-3>{{ section.name_fa }}</v-flex>
|
|
||||||
<v-flex lg4 class="LTR" pt-3>{{ section.name_en }}</v-flex>
|
|
||||||
<v-flex xl4 class="Buttons text-lg-center">
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="cyan" dark>
|
|
||||||
<v-icon dark>fas fa-pencil-alt</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<span>ویرایش</span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="red" dark>
|
|
||||||
<v-icon dark>fas fa-trash-alt</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<span>حذف آیتم</span>
|
|
||||||
</v-tooltip>
|
|
||||||
</v-flex>
|
|
||||||
</v-layout>
|
|
||||||
</div>
|
|
||||||
</v-card-text>
|
|
||||||
</v-card>
|
|
||||||
</v-expansion-panel-content>
|
|
||||||
</v-expansion-panel>
|
|
||||||
</v-flex>
|
|
||||||
</v-layout>
|
|
||||||
<!-- --------------------------------------------------------------------
|
|
||||||
Modals :: BEGIN
|
|
||||||
-------------------------------------------------------------------- -->
|
|
||||||
<template>
|
|
||||||
<div class="text-xs-center">
|
|
||||||
<wm-user-departments-add></wm-user-departments-add>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<!-- --------------------------------------------------------------------
|
|
||||||
Modals :: END
|
|
||||||
-------------------------------------------------------------------- -->
|
|
||||||
</v-container>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import DepartmentAdd from "@User/components/Config/Department/Add.vue";
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
"wm-user-departments-add": DepartmentAdd
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
departments: [
|
|
||||||
{
|
|
||||||
name_fa: " فنی ",
|
|
||||||
name_en: " Technical ",
|
|
||||||
sections: [
|
|
||||||
{ name_fa: " برنامه نویسی ", name_en: " Programming " },
|
|
||||||
{ name_fa: " گرافیک ", name_en: " Graphic " },
|
|
||||||
{ name_fa: " امور اپراتوری ", name_en: " Operating Matters " }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name_fa: " فروش ",
|
|
||||||
name_en: " Sale ",
|
|
||||||
sections: [
|
|
||||||
{ name_fa: " تحقیق و توسعه ", name_en: " Research & Developement " },
|
|
||||||
{ name_fa: " بازرایابی ", name_en: " Marketing " },
|
|
||||||
{ name_fa: " قراردادها ", name_en: " Contracts " }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name_fa: " مدیریت ",
|
|
||||||
name_en: " Management ",
|
|
||||||
sections: [
|
|
||||||
{ name_fa: " مدیریت اجرایی ", name_en: " Operaing Management " },
|
|
||||||
{ name_fa: " مدیریت منابع انسانی ", name_en: " Human Resource " }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style lang="scss">
|
|
||||||
@import "@Global/scss/Tile.scss";
|
|
||||||
.WM-Tile {
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
.Content .Number {
|
|
||||||
width: auto;
|
|
||||||
right: 0px;
|
|
||||||
bottom: -6px;
|
|
||||||
}
|
|
||||||
.v-expansion-panel__container--active .v-expansion-panel__header .FA,
|
|
||||||
.v-expansion-panel__container--active .v-expansion-panel__header .EN {
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
.TitleNumber {
|
|
||||||
line-height: 40px;
|
|
||||||
width: 40px;
|
|
||||||
font-size: 40px;
|
|
||||||
color: rgb(0, 0, 0);
|
|
||||||
}
|
|
||||||
.v-expansion-panel--inset .v-expansion-panel__container--active,
|
|
||||||
.v-expansion-panel--popout .v-expansion-panel__container--active {
|
|
||||||
border: 1px solid #000 !important;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,45 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-layout row wrap class="Filters WM-Padding-10 WM-Border WM-Border-LightGray" style="border-right:2px solid #32c5d2;">
|
|
||||||
<v-flex xs12 sm4 md3>
|
|
||||||
<v-menu :close-on-content-click="false" v-model="DateFilterBefore" :nudge-right="40" lazy transition="slide-y-transition" offset-y full-width min-width="290px">
|
|
||||||
<v-text-field slot="activator" v-model="date" label=" تاریخ ثبت قبل از " prepend-icon="fas fa-calendar-alt" color="red darken-2" readonly></v-text-field>
|
|
||||||
<v-date-picker v-model="date" @input="DateFilterBefore = false" color="red darken-1" locale="fa-ir"></v-date-picker>
|
|
||||||
</v-menu>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex xs12 sm4 md3>
|
|
||||||
<v-menu :close-on-content-click="false" v-model="DateFilterAfter" :nudge-right="40" lazy transition="slide-y-transition" offset-y full-width min-width="290px">
|
|
||||||
<v-text-field slot="activator" v-model="date" label=" تاریخ ثبت بعد از " prepend-icon="fas fa-calendar-alt" color="red darken-2" readonly></v-text-field>
|
|
||||||
<v-date-picker v-model="date" @input="DateFilterAfter = false" color="red darken-1" locale="fa-ir"></v-date-picker>
|
|
||||||
</v-menu>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex xs12 sm4 md3>
|
|
||||||
<v-text-field label=" نام کاربر " color="red darken-2" prepend-icon="fas fa-search"></v-text-field>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex xs12 sm4 md3>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn slot="activator" fab color="cyan" dark><v-icon dark>fas fa-filter</v-icon></v-btn>
|
|
||||||
<span> فیلتر سفارشات </span>
|
|
||||||
</v-tooltip>
|
|
||||||
</v-flex>
|
|
||||||
|
|
||||||
</v-layout>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data: function () {
|
|
||||||
return {
|
|
||||||
date: new Date().toISOString().substr(0, 10),
|
|
||||||
DateFilterAfter: false,
|
|
||||||
DateFilterBefore: false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.Filters {
|
|
||||||
margin: 20px 0px 10px 0px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -1,149 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-flex :class="TileClass" >
|
|
||||||
<div class="WM-Tile">
|
|
||||||
<v-layout row wrap class="Content">
|
|
||||||
<div class="Check">
|
|
||||||
<WM-Checkbox v-model="props.selected" ItemText="" :ItemID="'Check'+props.item.id"></WM-Checkbox>
|
|
||||||
</div>
|
|
||||||
<div class="Number En">12</div>
|
|
||||||
<v-flex xl3 @click="$store.state.ClientDetails = true" slot="activator">
|
|
||||||
<div class="Info">
|
|
||||||
<div class="TitleFa">
|
|
||||||
<v-badge color="red">
|
|
||||||
<span> {{ props.item.TitleFa }} </span>
|
|
||||||
</v-badge>
|
|
||||||
</div>
|
|
||||||
<div class="TitleEn Context"> {{ props.item.TitleEn }} </div>
|
|
||||||
</div>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex xl3 class="Tasks text-lg-center">
|
|
||||||
<v-chip color="grey lighten-3" text-color="black" @click="$store.state.TaskTimeline = true" slot="activator">
|
|
||||||
<v-avatar class="purple WM-Color-White"> 2 </v-avatar>
|
|
||||||
وظیفه انجام نشده
|
|
||||||
</v-chip>
|
|
||||||
<v-btn small outline fab color="purple" @click.native="$store.state.TaskAdd = true" slot="activator">
|
|
||||||
<v-icon>fas fa-plus</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
</v-flex>
|
|
||||||
|
|
||||||
<v-flex xl3 class="text-lg-center">
|
|
||||||
<v-chip color="grey lighten-3" text-color="black" @click="$store.state.UserRoles = true" slot="activator">
|
|
||||||
<v-avatar class="black WM-Color-White"> 2 </v-avatar>
|
|
||||||
دسترسی
|
|
||||||
</v-chip>
|
|
||||||
<v-btn small outline fab color="black" @click.native="$store.state.UserRoles = true" slot="activator">
|
|
||||||
<v-icon>fas fa-pencil-alt</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
</v-flex>
|
|
||||||
<v-flex xl3 class="Buttons text-lg-right">
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="grey lighten-4"><v-icon dark>fas fa-pencil-alt</v-icon></v-btn>
|
|
||||||
<span> ویرایش </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small @click.native="$store.state.UserDetails = true" slot="activator" fab color="cyan" dark><v-icon dark>fas fa-align-right</v-icon></v-btn>
|
|
||||||
<span> جزئیات مشتری </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small @click.native="$store.state.SendEmail = true" slot="activator" fab color="purple" dark><v-icon dark>fas fa-envelope</v-icon></v-btn>
|
|
||||||
<span> ارسال ایمیل </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small @click.native="$store.state.SendSMS = true" slot="activator" fab color="orange" dark><v-icon dark>fas fa-comment-alt</v-icon></v-btn>
|
|
||||||
<span> ارسال پیام کوتاه </span>
|
|
||||||
</v-tooltip>
|
|
||||||
<v-tooltip top color="black">
|
|
||||||
<v-btn small slot="activator" fab color="red" dark><v-icon dark>fas fa-trash-alt</v-icon></v-btn>
|
|
||||||
<span> حذف آیتم </span>
|
|
||||||
</v-tooltip>
|
|
||||||
</v-flex>
|
|
||||||
</v-layout>
|
|
||||||
</div>
|
|
||||||
</v-flex>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
TileClass: { default: "xl12" },
|
|
||||||
props: { default: "" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.WM-Tile {
|
|
||||||
width:100%;
|
|
||||||
padding:10px;
|
|
||||||
border: 1px solid #eeeeee;
|
|
||||||
transition: 0.4s;
|
|
||||||
border-radius: 5px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.WM-Tile:hover {
|
|
||||||
border: 1px solid #000;
|
|
||||||
}
|
|
||||||
.WM-Tile.Shadowed {
|
|
||||||
box-shadow: 0 10px 30px 0 rgba(0,0,0,.5);
|
|
||||||
border-radius:5px;
|
|
||||||
}
|
|
||||||
.WM-Tile .Content {
|
|
||||||
background-color:#fff;
|
|
||||||
height:100%;
|
|
||||||
}
|
|
||||||
.WM-Tile .Image {
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
.Content {
|
|
||||||
padding:10px;
|
|
||||||
margin:0px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.Content .Info {
|
|
||||||
text-align:right;
|
|
||||||
margin-right: 30px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.Content .Check {
|
|
||||||
position: absolute;
|
|
||||||
right: 0px;
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
.Content .Number {
|
|
||||||
position: absolute;
|
|
||||||
right: -14px;
|
|
||||||
bottom: -16px;
|
|
||||||
line-height: 40px;
|
|
||||||
width: 40px;
|
|
||||||
font-size: 40px;
|
|
||||||
color: rgb(224, 224, 224);
|
|
||||||
}
|
|
||||||
.Info .TitleEn {
|
|
||||||
font-size:13px;
|
|
||||||
}
|
|
||||||
//-----------------------------------Price
|
|
||||||
.Content .Price {
|
|
||||||
text-align:left;
|
|
||||||
}
|
|
||||||
.Content .Price .Unit {
|
|
||||||
font-size:12px;
|
|
||||||
}
|
|
||||||
.Price .NewPrice {
|
|
||||||
font-size:24px;
|
|
||||||
}
|
|
||||||
.Price .OldPrice {
|
|
||||||
font-size:14px;
|
|
||||||
margin-left: 20px;
|
|
||||||
text-decoration: line-through;
|
|
||||||
text-decoration-color: #ee3552;
|
|
||||||
color: #ee3552;
|
|
||||||
margin-top: -5px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------Buttons-------------------------------
|
|
||||||
|
|
||||||
.v-btn--floating.v-btn--outline.v-btn:hover {
|
|
||||||
background-color: inherit !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,78 +0,0 @@
|
|||||||
/**
|
|
||||||
* Vue Router
|
|
||||||
*
|
|
||||||
* @library
|
|
||||||
*
|
|
||||||
* https://router.vuejs.org/en/
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Lib imports
|
|
||||||
import Vue from 'vue'
|
|
||||||
// import VueAnalytics from 'vue-analytics'
|
|
||||||
import Router from 'vue-router'
|
|
||||||
import Meta from 'vue-meta'
|
|
||||||
|
|
||||||
// Routes
|
|
||||||
import paths from './paths'
|
|
||||||
|
|
||||||
function route (options) {
|
|
||||||
let path = options.path;
|
|
||||||
let view = options.view;
|
|
||||||
let name = options.name;
|
|
||||||
let meta = (options.meta) ? options.meta : '';
|
|
||||||
return {
|
|
||||||
name: name || view,
|
|
||||||
path,
|
|
||||||
meta,
|
|
||||||
component: (resovle) => import(
|
|
||||||
`@User/views/${view}.vue`
|
|
||||||
).then(resovle)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Vue.use(Router)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Create a new router
|
|
||||||
const router = new Router({
|
|
||||||
mode: 'history',
|
|
||||||
routes: paths.map(path => route(path)).concat([
|
|
||||||
{ path: '*', redirect: '/Home' }
|
|
||||||
]),
|
|
||||||
scrollBehavior (to, from, savedPosition) {
|
|
||||||
if (savedPosition) {
|
|
||||||
return savedPosition
|
|
||||||
}
|
|
||||||
if (to.hash) {
|
|
||||||
return { selector: to.hash }
|
|
||||||
}
|
|
||||||
return { x: 0, y: 0 }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
Vue.use(Meta)
|
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
|
||||||
// const isPublic = to.matched.some(record => record.meta.public);
|
|
||||||
// const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut);
|
|
||||||
// const roles = (to.meta && to.meta.roles) ? to.meta.roles : null;
|
|
||||||
|
|
||||||
// if (!isPublic && !loggedIn) {
|
|
||||||
// return next({
|
|
||||||
// path:'/login',
|
|
||||||
// query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Do not allow user to visit login page or register page if they are logged in
|
|
||||||
// if (loggedIn && onlyWhenLoggedOut && policy) {
|
|
||||||
// return next('/')
|
|
||||||
// }
|
|
||||||
|
|
||||||
next();
|
|
||||||
});
|
|
||||||
|
|
||||||
export default router
|
|
@ -1,11 +0,0 @@
|
|||||||
export default [{
|
|
||||||
path: '/User/List',
|
|
||||||
name: 'UserList',
|
|
||||||
view: 'List'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/User/Add',
|
|
||||||
name: 'AddUser',
|
|
||||||
view: 'Add'
|
|
||||||
},
|
|
||||||
];
|
|
@ -1,18 +0,0 @@
|
|||||||
import Vue from 'vue'
|
|
||||||
import Vuex from 'vuex'
|
|
||||||
|
|
||||||
Vue.use(Vuex)
|
|
||||||
|
|
||||||
export default new Vuex.Store({
|
|
||||||
state: {
|
|
||||||
UserDetails: false,
|
|
||||||
UserRoles: false,
|
|
||||||
AddRole: false,
|
|
||||||
ConfigUserDepartments: false,
|
|
||||||
ConfigUserDepartmentAdd: false,
|
|
||||||
TaskAdd: false,
|
|
||||||
TaskTimeline: false,
|
|
||||||
SendEmail: false,
|
|
||||||
SendSMS: false
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,87 +0,0 @@
|
|||||||
<template>
|
|
||||||
<v-container fluid>
|
|
||||||
<div class="Tile Shadowed Padd-0 WM-Margin-B-10" >
|
|
||||||
<wm-breadcrumbs LinkClass="WM-Link-Cyan" :items="breadcrumbItems"></wm-breadcrumbs>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="Tile Shadowed">
|
|
||||||
<WM-PartTitle class="WM-Margin-T-20" TitleFa=" کاربران مجموعه ی من " TitleEn=" My Users " color="cyan"></WM-PartTitle>
|
|
||||||
<wm-user-filter></wm-user-filter>
|
|
||||||
<wm-user-items></wm-user-items>
|
|
||||||
<router-link :to="{name: 'AddUser'}">
|
|
||||||
<v-btn large fab color="cyan" fixed bottom left dark style="left:5%"><v-icon dark>fas fa-plus</v-icon></v-btn>
|
|
||||||
</router-link>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- --------------------------------------------------------------------
|
|
||||||
Modals :: BEGIN
|
|
||||||
-------------------------------------------------------------------- -->
|
|
||||||
<template>
|
|
||||||
<div class="text-xs-center">
|
|
||||||
<wm-user-details></wm-user-details>
|
|
||||||
<wm-user-roles></wm-user-roles>
|
|
||||||
<wm-add-role></wm-add-role>
|
|
||||||
<wm-task-add></wm-task-add>
|
|
||||||
<wm-task-timeline></wm-task-timeline>
|
|
||||||
<wm-send-email></wm-send-email>
|
|
||||||
<wm-send-sms></wm-send-sms>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<!-- --------------------------------------------------------------------
|
|
||||||
Modals :: END
|
|
||||||
-------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
</v-container>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import UserItems from '@User/components/Items';
|
|
||||||
import UserFilters from '@User/components/Filters';
|
|
||||||
import UserDetails from "@User/components/Details.vue";
|
|
||||||
import UserRoles from "@User/components/Role/List.vue";
|
|
||||||
import AddRole from "@User/components/Role/Add.vue";
|
|
||||||
|
|
||||||
import TaskAdd from "@Common/components/Task/Add.vue";
|
|
||||||
import TaskTimeline from "@Common/components/Task/Timeline/Modal-Layout.vue";
|
|
||||||
import TaskTimelineItem from "@Common/components/Task/Timeline/Item.vue";
|
|
||||||
|
|
||||||
import SendEmailModal from "@Common/components/Contact/Email/Send.vue";
|
|
||||||
import SendSMSModal from "@Common/components/Contact/SMS/Send.vue";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
'wm-user-items' : UserItems,
|
|
||||||
'wm-user-filter' : UserFilters,
|
|
||||||
'wm-user-details' : UserDetails,
|
|
||||||
'wm-user-roles' : UserRoles,
|
|
||||||
'wm-add-role' : AddRole,
|
|
||||||
'wm-task-add' : TaskAdd,
|
|
||||||
'wm-task-timeline' : TaskTimeline,
|
|
||||||
'wm-send-email' : SendEmailModal,
|
|
||||||
'wm-send-sms' : SendSMSModal,
|
|
||||||
},
|
|
||||||
data: function () {
|
|
||||||
return {
|
|
||||||
breadcrumbItems: [
|
|
||||||
// {
|
|
||||||
// text: '',
|
|
||||||
// disabled: false,
|
|
||||||
// href: '/CRM/Home',
|
|
||||||
// icon: 'home'
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
text: ' کاربران من ',
|
|
||||||
disabled: true,
|
|
||||||
routeName: 'UserList'
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
</style>
|
|
@ -1,17 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" rel="stylesheet">
|
|
||||||
|
|
||||||
<title> Welcome </title>
|
|
||||||
|
|
||||||
<!-- Styles -->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
</body>
|
|
||||||
<script src="{{ mix('js/vue/User/app.js') }}"></script>
|
|
||||||
</html>
|
|
Loading…
Reference in new issue