Commit ce03f845 authored by Kittisak Maneewong's avatar Kittisak Maneewong

Edit employer

parent ac84964b
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Tymon\JWTAuth\Facades\JWTAuth;
use Tymon\JWTAuth\Facades\JWTFactory;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Tymon\JWTAuth\PayloadFactory;
use Tymon\JWTAuth\JWTManager as JWT;
class AuthController extends Controller
{
public function register(Request $request)
{
if ($request->json()->get('role') == 1) {
$validator = Validator::make($request->json()->all() , [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,email_users',
'password' => 'required|string|min:8|confirmed',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'name' => $request->json()->get('first_name')." ".$request->json()->get('last_name'),
'password' => Hash::make($request->json()->get('password')),
'email_users' => $request->json()->get('email'),
]);
} else {
$validator = Validator::make($request->json()->all() , [
'company_name' => 'required|string|max:255',
'username' => 'required|string|max:255|unique:users',
'email' => 'required|string|email|max:255|unique:users,email_employers',
'password' => 'required|string|min:8|confirmed',
'tel' => 'required|string|max:255',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'company_name' => $request->json()->get('company_name'),
'password' => Hash::make($request->json()->get('password')),
'username' => $request->json()->get('username'),
'tel' => $request->json()->get('tel'),
'role' => 2,
'email_employers' => $request->json()->get('email'),
]);
}
$token = JWTAuth::fromUser($user);
return response()->json(compact('user', 'token'), 201);
}
public function login(Request $request)
{
$credentials = $request->json()->all();
try {
if(! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 400);
}
} catch(JWTException $e) {
return response()->json(['error' => 'could_not_create_token', 500]);
}
return response()->json(compact('token'));
}
public function getAuthenticatedUser()
{
try {
if(! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json(['user_not_found'], 404);
}
} catch(Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json(['token_expired'], $e->getStatusCode());
} catch(Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json(['token_invalid', $e->getStatusCode()]);
} catch(Tymon\JWTAuth\Exceptions\JWTException $e) {
return response()->json(['token_absent'], $e->getStatusCode());
}
return response()->json(compact('user'));
}
}
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Tymon\JWTAuth\Facades\JWTAuth;
use Tymon\JWTAuth\Facades\JWTFactory;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Tymon\JWTAuth\PayloadFactory;
use Tymon\JWTAuth\JWTManager as JWT;
class AuthController extends Controller
{
public function register(Request $request)
{
if ($request->json()->get('role') == 1) {
$validator = Validator::make($request->json()->all() , [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,email_users',
'password' => 'required|string|min:8|confirmed',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'name' => $request->json()->get('first_name')." ".$request->json()->get('last_name'),
'password' => Hash::make($request->json()->get('password')),
'email_users' => $request->json()->get('email'),
]);
} else {
$validator = Validator::make($request->json()->all() , [
'company_name' => 'required|string|max:255',
'username' => 'required|string|max:255|unique:users',
'email' => 'required|string|email|max:255|unique:users,email_employers',
'password' => 'required|string|min:8|confirmed',
'tel' => 'required|string|max:255',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'company_name' => $request->json()->get('company_name'),
'password' => Hash::make($request->json()->get('password')),
'username' => $request->json()->get('username'),
'tel' => $request->json()->get('tel'),
'role' => 2,
'email_employers' => $request->json()->get('email'),
]);
}
$token = JWTAuth::fromUser($user);
return response()->json(compact('user', 'token'), 201);
}
public function login(Request $request)
{
$credentials = $request->json()->all();
try {
if(! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 400);
}
} catch(JWTException $e) {
return response()->json(['error' => 'could_not_create_token', 500]);
}
$date = date()
return response()->json(compact('token', 'date'));
}
public function getAuthenticatedUser()
{
try {
if(! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json(['user_not_found'], 404);
}
} catch(Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json(['token_expired'], $e->getStatusCode());
} catch(Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json(['token_invalid', $e->getStatusCode()]);
} catch(Tymon\JWTAuth\Exceptions\JWTException $e) {
return response()->json(['token_absent'], $e->getStatusCode());
}
return response()->json(compact('user'));
}
}
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Tymon\JWTAuth\Facades\JWTAuth;
use Tymon\JWTAuth\Facades\JWTFactory;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Tymon\JWTAuth\PayloadFactory;
use Tymon\JWTAuth\JWTManager as JWT;
class AuthController extends Controller
{
public function register(Request $request)
{
if ($request->json()->get('role') == 1) {
$validator = Validator::make($request->json()->all() , [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,email_users',
'password' => 'required|string|min:8|confirmed',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'name' => $request->json()->get('first_name')." ".$request->json()->get('last_name'),
'password' => Hash::make($request->json()->get('password')),
'email_users' => $request->json()->get('email'),
]);
} else {
$validator = Validator::make($request->json()->all() , [
'company_name' => 'required|string|max:255',
'username' => 'required|string|max:255|unique:users',
'email' => 'required|string|email|max:255|unique:users,email_employers',
'password' => 'required|string|min:8|confirmed',
'tel' => 'required|string|max:255',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'company_name' => $request->json()->get('company_name'),
'password' => Hash::make($request->json()->get('password')),
'username' => $request->json()->get('username'),
'tel' => $request->json()->get('tel'),
'role' => 2,
'email_employers' => $request->json()->get('email'),
]);
}
$token = JWTAuth::fromUser($user);
return response()->json(compact('user', 'token'), 201);
}
public function login(Request $request)
{
$credentials = $request->json()->all();
try {
if(! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 400);
}
} catch(JWTException $e) {
return response()->json(['error' => 'could_not_create_token', 500]);
}
$date = date();
return response()->json(compact('token', 'date'));
}
public function getAuthenticatedUser()
{
try {
if(! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json(['user_not_found'], 404);
}
} catch(Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json(['token_expired'], $e->getStatusCode());
} catch(Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json(['token_invalid', $e->getStatusCode()]);
} catch(Tymon\JWTAuth\Exceptions\JWTException $e) {
return response()->json(['token_absent'], $e->getStatusCode());
}
return response()->json(compact('user'));
}
}
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Tymon\JWTAuth\Facades\JWTAuth;
use Tymon\JWTAuth\Facades\JWTFactory;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Tymon\JWTAuth\PayloadFactory;
use Tymon\JWTAuth\JWTManager as JWT;
class AuthController extends Controller
{
public function register(Request $request)
{
if ($request->json()->get('role') == 1) {
$validator = Validator::make($request->json()->all() , [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,email_users',
'password' => 'required|string|min:8|confirmed',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'name' => $request->json()->get('first_name')." ".$request->json()->get('last_name'),
'password' => Hash::make($request->json()->get('password')),
'email_users' => $request->json()->get('email'),
]);
} else {
$validator = Validator::make($request->json()->all() , [
'company_name' => 'required|string|max:255',
'username' => 'required|string|max:255|unique:users',
'email' => 'required|string|email|max:255|unique:users,email_employers',
'password' => 'required|string|min:8|confirmed',
'tel' => 'required|string|max:255',
]);
if($validator->fails()) {
return response()->json($validator->errors()->toJson(), 400);
}
$user = User::create([
'company_name' => $request->json()->get('company_name'),
'password' => Hash::make($request->json()->get('password')),
'username' => $request->json()->get('username'),
'tel' => $request->json()->get('tel'),
'role' => 2,
'email_employers' => $request->json()->get('email'),
]);
}
$token = JWTAuth::fromUser($user);
return response()->json(compact('user', 'token'), 201);
}
public function login(Request $request)
{
$credentials = $request->json()->all();
try {
if(! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 400);
}
} catch(JWTException $e) {
return response()->json(['error' => 'could_not_create_token', 500]);
}
return response()->json(compact('token'));
}
public function getAuthenticatedUser()
{
try {
if(! $user = JWTAuth::parseToken()->authenticate()) {
return response()->json(['user_not_found'], 404);
}
} catch(Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
return response()->json(['token_expired'], $e->getStatusCode());
} catch(Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {
return response()->json(['token_invalid', $e->getStatusCode()]);
} catch(Tymon\JWTAuth\Exceptions\JWTException $e) {
return response()->json(['token_absent'], $e->getStatusCode());
}
return response()->json(compact('user'));
}
}
window.Vue = require('vue');
window._ = require('lodash');
window.axios = require('axios');
window.axios.defaults.baseUrl = 'http://localhost:8000/';
import Vue from 'vue';
import Vuetify from 'vuetify';
import iView from 'iview';
import App from './App.vue';
import router from './route';
import store from './store';
import 'iview/dist/styles/iview.css';
Vue.use(Vuetify);
Vue.use(iView);
iView.LoadingBar.config({
height: 3
});
const app = new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
window.Vue = require('vue');
window._ = require('lodash');
window.axios = require('axios');
window.axios.defaults.baseUrl = 'http://localhost:8000/';
import Vue from 'vue';
import Vuetify from 'vuetify';
import iView from 'iview';
import App from './App.vue';
import router from './route';
import store from './store';
import 'iview/dist/styles/iview.css';
Vue.use(Vuetify);
Vue.use(iView);
iView.LoadingBar.config({
color: '#006064',
height: 3
});
const app = new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
window.Vue = require('vue');
window._ = require('lodash');
window.axios = require('axios');
window.axios.defaults.baseUrl = 'http://localhost:8000/';
import Vue from 'vue';
import Vuetify from 'vuetify';
import iView from 'iview';
import App from './App.vue';
import router from './route';
import store from './store';
import 'iview/dist/styles/iview.css';
Vue.use(Vuetify);
Vue.use(iView);
iView.LoadingBar.config({
color: '#1B5E20',
height: 3
});
const app = new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
console.log(res)
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
commit('setTime', res.headers.date)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')
console.log(a)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
console.log(a)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
console.log(a)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
console.log(date)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
console.log(a)
const date = a[1] + ' ' + a[2] + ' ' +a[3]
console.log(date)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
const b = res.headers.date.split(',')[1].split(' ')[4].split(':')
console.log(b)
console.log(date)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: ''
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
const b = res.headers.date.split(',')[1].split(' ')[4].split(':')
const time = ((b[0]*1 + 7) % 24) +':'+b[1]+':'+b[2]
console.log(time)
console.log(date)
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
import iView from 'iview';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
message: 'Kittisak Maneewong',
user: {
name: null,
email: null
},
employer: {
username: null,
company_name: null,
email: null
},
jwt: localStorage.getItem('access_token') || null,
jwt_employer: localStorage.getItem('access_token_employer') || null,
dialog: false,
snackbar: {
show: false,
color: null,
text: null
},
loading: false,
error: null,
time: {
date: '',
time: ''
}
},
mutations: {
setJwt (state, payload) {
state.jwt = payload
},
setJwtEmployer (state, payload) {
state.jwt_employer = payload
},
setDialog (state, payload) {
state.dialog = payload
},
setSnackbar (state, payload) {
state.snackbar = payload
},
setUser (state, payload) {
state.user = payload
},
setEmployer (state, payload) {
state.employer = payload
},
setLoading (state, payload) {
state.loading = payload
},
setError (state, payload) {
state.error = payload
},
setTime (state, payload) {
state.time = payload
}
},
actions: {
login ({commit, dispatch}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/login', payload)
.then(res => {
commit('setLoading', false)
if (payload.role == 1) {
iView.LoadingBar.finish()
localStorage.setItem('access_token', res.data.token)
commit('setJwt', res.data.token)
dispatch('checkUser')
} else {
localStorage.setItem('access_token_employer', res.data.token)
commit('setJwtEmployer', res.data.token)
dispatch('checkEmployer')
}
commit('setSnackbar', {
show: true,
color: 'success',
text: 'เข้าสู่ระบบสำเร็จ!'
})
commit('setDialog', false)
resolve(res)
console.log(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
if (err.response.data.error === 'invalid_credentials') {
if (payload.role === 1) {
commit('setError', 'อีเมลหรือรหัสผ่านไม่ถูกต้อง')
} else {
commit('setError', 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง')
}
setTimeout(() => {
commit('setError', null)
}, 4000);
}
console.log(err.response)
reject(err.response)
})
})
},
register ({commit}, payload) {
return new Promise((resolve, reject) => {
commit('setLoading', true)
axios.post('/api/auth/register', payload)
.then(res => {
if (payload.role === 1) {
iView.LoadingBar.finish()
}
commit('setLoading', false)
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ลงทะเบียนสำเร็จ!'
})
commit('setDialog', false)
console.log(res)
resolve(res)
})
.catch(err => {
iView.LoadingBar.error()
commit('setLoading', false)
console.log(err.response)
const error = JSON.parse(err.response.data);
if (error.username && error.email) {
commit('setError', 'ชื่อผู้ใช้เเละอีเมลถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
} else if (error.email) {
commit('setError', 'อีเมลนี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'อีเมลนี้ถูกใช้งานเเล้ว'
} else if (error.username) {
commit('setError', 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว')
setTimeout(() => {
commit('setError', null)
}, 4000);
errorMessage = 'ชื่อผู้ใช้นี้ถูกใช้งานเเล้ว'
}
reject(err.response)
})
})
},
logout ({commit}) {
iView.LoadingBar.finish()
localStorage.removeItem('access_token')
commit('setUser', {
name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
logoutEmployer ({commit}) {
localStorage.removeItem('access_token_employer')
commit('setEmployer', {
username: null,
company_name: null,
email: null
})
commit('setSnackbar', {
show: true,
color: 'success',
text: 'ออกจากระบบสำเร็จ!'
})
},
checkUser ({commit}) {
if (!!localStorage.getItem('access_token')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token')}`
}
})
.then(res => {
commit('setUser', {
name: res.data.user.name,
email: res.data.user.email_users
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
},
checkEmployer ({commit}) {
if (!!localStorage.getItem('access_token_employer')) {
axios.get('/api/auth/current', {
headers: {
Authorization: `Bearer ${localStorage.getItem('access_token_employer')}`
}
})
.then(res => {
commit('setEmployer', {
username: res.data.user.username,
company_name: res.data.user.company_name,
email: res.data.user.email_employers
})
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
const b = res.headers.date.split(',')[1].split(' ')[4].split(':')
const time = ((b[0]*1 + 7) % 24) +':'+b[1]+':'+b[2]
commit('setTime', {
date: date,
time: time
})
console.log(res)
})
.catch(err => {
console.log(err.response)
})
}
}
},
getters: {
welcome (state) {
return state.message
},
getJwt (state) {
return state.jwt
},
getJwtEmployer (state) {
return state.jwt_employer;
},
getDialog (state) {
return state.dialog
},
getSnackbar (state) {
return state.snackbar
},
getUser (state) {
return state.user
},
getEmployer (state) {
return state.employer
},
getLoading (state) {
return state.loading
},
getError (state) {
return state.error
},
getTime (state) {
return state.time
}
}
});
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> แก้ไขข้อมูลผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12>
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold gray--text">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
<v-icon>account_circle</v-icon> Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
<v-icon small>account_circle</v-icon> Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12 class="grey--text">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
Kittipong Maneewong
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text">
<font size="+1">ake8225</font>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
19 เม.ย. 2019
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:11
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:11
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm6 class=" body-2">
เข้าสู่ระบบล่าสุด
</v-flex>
<v-flex xs12 sm6 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
<v-flex xs12 sm6>
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:11
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="grey--text body-2">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="grey--text body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class=" grey--text body-1">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="grey--text body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-1">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="grey--text body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="grey--text body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12>
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="body-1">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
ake8225
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
ake8225
<v-divider inset vertical></v-divider>
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12>
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text body-2">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold grey--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Last Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
19 เม.ย. 2019
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
computed: {
time () {
return this.$store.getters.getTime
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
{{ time }}
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
computed: {
time () {
return this.$store.getters.getTime
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
computed: {
time () {
return this.$store.getters.getTime
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
date: '',
time: ''
}
},
created () {
const dateTime = this.$store.getters.getTime
dateTime.split(',')
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
date: '',
time: ''
}
},
created () {
const dateTime = this.$store.getters.getTime
const a = dateTime.split(',')
console.log(a)
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
date: '',
time: ''
}
},
created () {
const dateTime = this.$store.getters.getTime
const a = dateTime.split(',')
console.log(dataTime)
console.log(a)
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
date: '',
time: ''
}
},
created () {
const dateTime = this.$store.getters.getTime
const a = dateTime.split(',')
console.log(dateTime)
console.log(a)
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
date: '',
time: ''
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
<v-divider inset vertical></v-divider>
21:21
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
computed: {
date () {
return this.$store.getters.getTime.date
},
time () {
return this.$store.getters.getTime.time
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
{{date}}
<v-divider inset vertical></v-divider>
{{time}}
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider>
</v-flex>
<v-layout row wrap class="pa-3">
<v-flex sm2 xs12 class="text-sm-center text-xs-center">
<img src="https://www.jobbkk.com/upload/employer/0A/86A/00786A/images/308262.png" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
</v-flex>
<v-flex xs12 sm12 class="mt-1">
<label class="caption"><v-icon small>email</v-icon> kittipong.ma.59@ubu.ac.th</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red">
<v-icon dark >settings</v-icon> แก้ไขข้อมูล
</v-btn>
</v-flex>
</v-flex>
</v-layout>
</v-layout>
</div>
</template>
<script>
export default {
computed: {
date () {
return this.$store.getters.getTime.date
},
time () {
return this.$store.getters.getTime.time
}
}
}
</script>
<style lang="scss" scoped>
.bodyborder{
border: 1px solid #dcdcdc;
border-radius: 3px;
}
</style>
<template>
<div>
<Dialog>
<v-card>
<v-toolbar dark color="deep-orange darken-4" flat>
<v-toolbar-title>เข้าสู่ระบบ</v-toolbar-title>
<v-spacer></v-spacer>
<v-btn icon @click="$store.commit('setDialog', false)">
<v-icon>close</v-icon>
</v-btn>
</v-toolbar>
<v-layout row wrap justify-center>
<v-card-text>
<v-container grid-list-md text-xs-center>
<v-layout row wrap>
<v-flex>
<v-form @submit.prevent="login()" ref="login">
<v-text-field
label="อีเมล"
color="deep-orange darken-4"
type="email"
v-model="loginData.email_users"
:rules="[rules.required, rules.email]"
required
></v-text-field>
<v-text-field
label="รหัสผ่าน"
color="deep-orange darken-4"
v-model="loginData.password"
:append-icon="showPassword ? 'visibility' : 'visibility_off'"
:type="showPassword ? 'text' : 'password'"
@click:append="showPassword = !showPassword"
:rules="[rules.required]"
required
></v-text-field>
<p class="text-xs-right"><router-link to="/" class="body-2 font-weight-medium">ลืมรหัสผ่าน?</router-link></p>
<p><v-alert
:value="!!error"
color="error"
outline
>
{{ error }}
</v-alert></p>
<v-btn color="deep-orange darken-4" large dark block type="submit">เข้าสู่ระบบ</v-btn>
</v-form>
<div class="my-3"><span class="font-weight-bold">หรือ</span></div>
<v-btn color="primary" block><v-icon>fab fa-facebook</v-icon>&nbsp;เข้าสู่ระบบ Facebook</v-btn>
<v-btn color="deep-orange" class="white--text" block><v-icon>fab fa-google</v-icon>&nbsp;เข้าสู่ระบบ Google</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-card-text>
</v-layout>
</v-card>
</Dialog>
<v-dialog
v-model="loading"
hide-overlay
persistent
width="300"
>
<v-card
color="deep-orange darken-4"
dark
>
<v-card-text>
กำลังเข้าสู่ระบบ
<v-progress-linear
indeterminate
color="white"
class="mb-0"
></v-progress-linear>
</v-card-text>
</v-card>
</v-dialog>
</div>
</template>
<script>
import Dialog from '../components/Dialog.vue';
export default {
components: {
Dialog
},
data () {
return {
loginData: {
email_users: '',
password: '',
role: 1
},
showPassword: false,
rules: {
required: v => !!v || 'จำเป็นต้องกรอก',
email: v => /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v) || 'รูปแบบอีเมลล์ไม่ถูกต้อง'
},
clickLogin: false
}
},
computed: {
loading () {
return this.$store.getters.getLoading
},
error () {
return this.$store.getters.getError
}
},
methods: {
login () {
if(this.$refs.login.validate()) {
this.$store.dispatch('login', this.loginData)
.then(res => {
this.$refs.login.reset()
})
} else {
this.$Loading.error()
}
}
}
}
</script>
<style lang="scss" scoped>
a {
text-decoration: none;
color: #000;
}
</style>
<template>
<div>
<Dialog>
<v-card>
<v-toolbar dark color="deep-orange darken-4" flat>
<v-toolbar-title>เข้าสู่ระบบ</v-toolbar-title>
<v-spacer></v-spacer>
<v-btn icon @click="$store.commit('setDialog', false)">
<v-icon>close</v-icon>
</v-btn>
</v-toolbar>
<v-layout row wrap justify-center>
<v-card-text>
<v-container grid-list-md text-xs-center>
<v-layout row wrap>
<v-flex>
<v-form @submit.prevent="login()" ref="login">
<v-text-field
label="อีเมล"
color="deep-orange darken-4"
type="email"
v-model="loginData.email_users"
:rules="[rules.required, rules.email]"
required
></v-text-field>
<v-text-field
label="รหัสผ่าน"
color="deep-orange darken-4"
v-model="loginData.password"
:append-icon="showPassword ? 'visibility' : 'visibility_off'"
:type="showPassword ? 'text' : 'password'"
@click:append="showPassword = !showPassword"
:rules="[rules.required]"
required
></v-text-field>
<p class="text-xs-right"><router-link to="/" class="body-2 font-weight-medium">ลืมรหัสผ่าน?</router-link></p>
<p><v-alert
:value="!!error"
color="error"
outline
>
{{ error }}
</v-alert></p>
<v-btn color="deep-orange darken-4" large dark block type="submit">เข้าสู่ระบบ</v-btn>
</v-form>
<div class="my-3"><span class="font-weight-bold">หรือ</span></div>
<v-btn color="primary" block><v-icon>fab fa-facebook</v-icon>&nbsp;เข้าสู่ระบบด้วยบัญชี Facebook</v-btn>
<v-btn color="deep-orange" class="white--text" block><v-icon>fab fa-google</v-icon>&nbsp;เข้าสู่ระบบด้วยบัญชี Google</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-card-text>
</v-layout>
</v-card>
</Dialog>
<v-dialog
v-model="loading"
hide-overlay
persistent
width="300"
>
<v-card
color="deep-orange darken-4"
dark
>
<v-card-text>
กำลังเข้าสู่ระบบ
<v-progress-linear
indeterminate
color="white"
class="mb-0"
></v-progress-linear>
</v-card-text>
</v-card>
</v-dialog>
</div>
</template>
<script>
import Dialog from '../components/Dialog.vue';
export default {
components: {
Dialog
},
data () {
return {
loginData: {
email_users: '',
password: '',
role: 1
},
showPassword: false,
rules: {
required: v => !!v || 'จำเป็นต้องกรอก',
email: v => /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v) || 'รูปแบบอีเมลล์ไม่ถูกต้อง'
},
clickLogin: false
}
},
computed: {
loading () {
return this.$store.getters.getLoading
},
error () {
return this.$store.getters.getError
}
},
methods: {
login () {
if(this.$refs.login.validate()) {
this.$store.dispatch('login', this.loginData)
.then(res => {
this.$refs.login.reset()
})
} else {
this.$Loading.error()
}
}
}
}
</script>
<style lang="scss" scoped>
a {
text-decoration: none;
color: #000;
}
</style>
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -20,6 +20,7 @@ Vue.use(Vuetify); ...@@ -20,6 +20,7 @@ Vue.use(Vuetify);
Vue.use(iView); Vue.use(iView);
iView.LoadingBar.config({ iView.LoadingBar.config({
color: '#1B5E20',
height: 3 height: 3
}); });
......
...@@ -25,7 +25,11 @@ export default new Vuex.Store({ ...@@ -25,7 +25,11 @@ export default new Vuex.Store({
text: null text: null
}, },
loading: false, loading: false,
error: null error: null,
time: {
date: '',
time: ''
}
}, },
mutations: { mutations: {
setJwt (state, payload) { setJwt (state, payload) {
...@@ -51,6 +55,9 @@ export default new Vuex.Store({ ...@@ -51,6 +55,9 @@ export default new Vuex.Store({
}, },
setError (state, payload) { setError (state, payload) {
state.error = payload state.error = payload
},
setTime (state, payload) {
state.time = payload
} }
}, },
actions: { actions: {
...@@ -200,6 +207,15 @@ export default new Vuex.Store({ ...@@ -200,6 +207,15 @@ export default new Vuex.Store({
company_name: res.data.user.company_name, company_name: res.data.user.company_name,
email: res.data.user.email_employers email: res.data.user.email_employers
}) })
// commit('setTime', res.headers.date)
const a = res.headers.date.split(',')[1].split(' ')
const date = a[1] + ' ' + a[2] + ' ' +a[3]
const b = res.headers.date.split(',')[1].split(' ')[4].split(':')
const time = ((b[0]*1 + 7) % 24) +':'+b[1]+':'+b[2]
commit('setTime', {
date: date,
time: time
})
console.log(res) console.log(res)
}) })
.catch(err => { .catch(err => {
...@@ -235,6 +251,9 @@ export default new Vuex.Store({ ...@@ -235,6 +251,9 @@ export default new Vuex.Store({
}, },
getError (state) { getError (state) {
return state.error return state.error
},
getTime (state) {
return state.time
} }
} }
}); });
<template> <template>
<div> <div>
<v-layout row wrap class="bodyborder pa-3 mb-2">
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="subheading">
ยินดีต้อนรับ
</v-flex>
<v-flex xs12 sm12 class="font-weight-bold black--text subheading">
ake8225
</v-flex>
</v-flex>
<v-flex xs12 sm6>
<v-flex xs12 sm12 class="grey--text body-1 text-xs-left text-sm-right">
Lasted Login
</v-flex>
<v-flex xs12 sm12 class="body-1 text-xs-left text-sm-right">
{{date}}
<v-divider inset vertical></v-divider>
{{time}}
</v-flex>
</v-flex>
</v-layout>
<v-layout row wrap class="bodyborder pa-3"> <v-layout row wrap class="bodyborder pa-3">
<v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">person_pin</v-icon> การตั้งค่าบัญชีผู้ใช้</span>
<v-divider ></v-divider>
</v-flex>
<v-flex xs12 sm12 > <v-flex xs12 sm12 >
<span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span> <span class=" subheading font-weight-bold teal--text"><v-icon color="teal">business</v-icon> ข้อมูลบริษัท</span>
<v-divider ></v-divider> <v-divider ></v-divider>
...@@ -35,10 +59,25 @@ ...@@ -35,10 +59,25 @@
</v-flex> </v-flex>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
</div> </div>
</template> </template>
<script>
export default {
computed: {
date () {
return this.$store.getters.getTime.date
},
time () {
return this.$store.getters.getTime.time
}
}
}
</script>
<style lang="scss" scoped> <style lang="scss" scoped>
.bodyborder{ .bodyborder{
......
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
<v-btn color="deep-orange darken-4" large dark block type="submit">เข้าสู่ระบบ</v-btn> <v-btn color="deep-orange darken-4" large dark block type="submit">เข้าสู่ระบบ</v-btn>
</v-form> </v-form>
<div class="my-3"><span class="font-weight-bold">หรือ</span></div> <div class="my-3"><span class="font-weight-bold">หรือ</span></div>
<v-btn color="primary" block><v-icon>fab fa-facebook</v-icon>&nbsp;เข้าสู่ระบบ Facebook</v-btn> <v-btn color="primary" block><v-icon>fab fa-facebook</v-icon>&nbsp;เข้าสู่ระบบด้วยบัญชี Facebook</v-btn>
<v-btn color="deep-orange" class="white--text" block><v-icon>fab fa-google</v-icon>&nbsp;เข้าสู่ระบบ Google</v-btn> <v-btn color="deep-orange" class="white--text" block><v-icon>fab fa-google</v-icon>&nbsp;เข้าสู่ระบบด้วยบัญชี Google</v-btn>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-container> </v-container>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment