Commit eed7fd8e authored by Kittisak Maneewong's avatar Kittisak Maneewong

Add Job

parents d14deb36 d018635d
<template>
<div class="">
<v-layout row wrap justify-center >
<v-flex xs12 sm10 offset-sm-1 class=" body-2 font-weight-bold"><span>หน้าหลัก / ประกาศงาน</span></v-flex>
<v-flex xs12 sm10 offset-sm-1 class="ma-2">
<v-flex class="bg-title pa-2">
<v-layout row wrap align-center>
<div class="mx-3">
<v-icon x-large dark>fas fa-briefcase</v-icon>
</div>
<div class="pa-0">
<v-flex xs12 sm12>
<span class="font-title font-weight-bold">ข้อมูลรายละเอียดของงาน</span>
</v-flex>
<v-flex xs12 sm12>
<span class="font-subtitle ">(Job description information)</span>
</v-flex>
</div>
</v-layout>
</v-flex>
<v-flex class="bg-body pa-4">
<v-layout row wrap>
<v-flex xs12 sm6 class="px-3">
<v-text-field
label="หัวข้องาน"
placeholder=" "
></v-text-field>
<v-select
label="ประเภทงาน"
placeholder=" "
item-value="text"
></v-select>
<v-text-field
label="ตำแหน่งงาน "
placeholder=" "
></v-text-field>
<v-text-field
label="ค่าตอบแทน/เงินเดือน "
placeholder=" "
></v-text-field>
</v-flex>
<v-flex xs12 sm6 class="px-3">
<v-text-field
label="สาขาวิชาที่เปิดรับ "
placeholder=" "
></v-text-field>
<v-text-field
label="วันทำงาน "
placeholder=" "
></v-text-field>
<v-text-field
label="เวลาทำงาน "
placeholder=" "
></v-text-field>
<v-text-field
label="จำนวนที่รับ "
placeholder=" "
type="number"
></v-text-field>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
<v-flex xs12 sm10 offset-sm-1 class="ma-2">
<v-flex class="bg-title-1 pa-2">
<v-layout row wrap align-center>
<div class="mx-3">
<v-icon x-large dark>fas fa-user-circle</v-icon>
</div>
<div class="pa-0">
<v-flex xs12 sm12>
<span class="font-title font-weight-bold">คุณสมบัติของผู้สมัครงาน</span>
</v-flex>
<v-flex xs12 sm12>
<span class="font-subtitle ">(Job applicant qualifications)</span>
</v-flex>
</div>
</v-layout>
</v-flex>
<v-flex class="bg-body pa-4">
<v-layout row wrap>
<v-flex xs12 sm6 class="px-3">
<v-combobox
v-model="gender"
:items="items"
label="เพศ"
placeholder=" "
multiple
>
<template v-slot:selection="data">
<v-chip
:key="JSON.stringify(data.item)"
:selected="data.selected"
:disabled="data.disabled"
class="v-chip--select-multi"
@input="data.parent.selectItem(data.item)"
>
<v-avatar
class="accent white--text"
v-text="data.item.slice(0, 1).toUpperCase()"
></v-avatar>
{{ data.item }}
</v-chip>
</template>
</v-combobox>
<v-select
label="ระดับการศึกษา"
placeholder=" "
item-value="text"
></v-select>
<v-text-field
label="เกรดเฉลี่ย "
placeholder=" "
></v-text-field>
<v-text-field
label="ระยะเวลาในการทำงาน "
placeholder=" "
></v-text-field>
<v-textarea
label="คุณสมบัติเพิ่มเติม"
rows="3"
outline
placeholder=" "
></v-textarea>
</v-flex>
<v-flex xs12 sm6 class="px-3">
<v-textarea
outline
label="หน้าที่รับผิดชอบ"
placeholder=" "
rows="7"
></v-textarea>
<v-textarea
outline
label="สวัสดิการ"
placeholder=" "
rows="7"
></v-textarea>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
<v-flex xs12 sm10 offset-sm-1 class="my-1 text-xs-center text-sm-center."><v-btn round dark color="blue accent-3" class="px-3 white--text">เพิ่มข้อมูลงาน</v-btn></v-flex>
</v-layout>
</div>
</template>
<script>
export default {
data () {
return {
gender: [],
items: [
'ชาย',
'หญิง'
]
}
}
}
</script>
<style lang="scss" scoped>
.bg-title{
background-color: #00AAFF;
border-radius: 8px 8px 0 0;
display: block;
}
.bg-body{
background-color: #fff;
border-radius:0 0 8px 8px;
border-bottom:1px solid #dcdcdc ;
border-left:1px solid #dcdcdc ;
border-right:1px solid #dcdcdc ;
}
.bg-title-1{
background-color: #89969f;
border-radius: 8px 8px 0 0;
}
.font-title {
font-size: 20px;
color: #fff;
display: block;
font-family: "Prompt", sans-serif;
}
.font-subtitle {
font-size: 16px;
color: #2d3f4b;
display: block;
font-family: "Prompt", sans-serif;
}
</style>
......@@ -20,12 +20,6 @@ class CompanyController extends Controller
return response()->json(['exists' => $exists]);
}
public function config($id)
{
$company = User::where('id', $id)->get();
return response()->json(['company' => $company]);
}
public function index()
{
}
......@@ -53,14 +47,14 @@ class CompanyController extends Controller
if ($request->get('imageCompany') !== 'https://asianinteriorservices.com/wp-content/uploads/2018/04/noImg.png') {
$image = $request->get('imageCompany');
$name = 'Company'.time().'.'.explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
\Image::make($request->get('imageCompany'))->save(storage_path('uploads/').$name);
$imageCompany = $name;
\Image::make($request->get('imageCompany'))->save(public_path('uploads/').$name);
$imageCompany = '/uploads/'.$name;
}
if ($request->get('imageMap')) {
$image = $request->get('imageMap');
$name = 'Map'.time().'.'.explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
\Image::make($request->get('imageMap'))->save(storage_path('uploads/').$name);
$imageMap = $name;
\Image::make($request->get('imageMap'))->save(public_path('uploads/').$name);
$imageMap = '/uploads/'.$name;
}
$company = new Company();
$company->imageCompany = $imageCompany;
......@@ -96,6 +90,8 @@ class CompanyController extends Controller
*/
public function show($id)
{
$company = Company::where('user_id', $id)->first();
return response()->json(['company' => $company]);
}
/**
......@@ -106,13 +102,8 @@ class CompanyController extends Controller
*/
public function edit($id)
{
$exists = Company::where('user_id', $id)->exists();
if ($exists) {
$data = Company::where('user_id', $id)->get();
} else {
$data = User::where('id', $id)->get();
}
return response()->json(['check' => $exists, 'data' => $data]);
$company = Company::where('user_id', $id)->first();
return response()->json(['company' => $company]);
}
/**
......@@ -124,7 +115,7 @@ class CompanyController extends Controller
*/
public function update(Request $request, $id)
{
//
return response()->json(['data' => $request->all()]);
}
/**
......
......@@ -39,4 +39,14 @@ class DistrictController extends Controller
->get();
return response()->json($districts);
}
public function detailCheck($province, $amphoe, $district, $zipcode)
{
$addr = District::where('province', $province)
->where('amphoe', $amphoe)
->where('district', $district)
->where('zipcode', $zipcode)
->first();
return response()->json(['addr' => $addr]);
}
}
This diff is collapsed.
......@@ -76,7 +76,10 @@ const router = new VueRouter({
{
path: 'configcompany',
name: 'configcompany',
component: ConfigCompany
component: ConfigCompany,
meta: {
loginEmployer: true
}
},
{
path: '*',
......
......@@ -220,7 +220,6 @@ export default new Vuex.Store({
date: date,
time: time
})
console.log(res)
})
.catch(err => {
console.log(err.response)
......
......@@ -142,7 +142,7 @@
</v-layout>
</v-flex>
</v-flex>
<v-flex xs12 sm10 offset-sm-1 class="my-1 text-xs-center text-sm-center"><v-btn round dark color="blue accent-3" class="px-3 white--text">เพิ่มข้อมูลงาน</v-btn></v-flex>
<v-flex xs12 sm10 offset-sm-1 class="my-1 text-xs-center text-sm-center."><v-btn round dark color="blue accent-3" class="px-3 white--text">เพิ่มข้อมูลงาน</v-btn></v-flex>
</v-layout>
</div>
</template>
......@@ -162,8 +162,6 @@
</script>
<style lang="scss" scoped>
.border {
}
.bg-title{
background-color: #00AAFF;
border-radius: 8px 8px 0 0;
......
......@@ -416,8 +416,8 @@ export default {
this.company_data.tumbon = this.tumbon.tumbon
axios.post('/api/companys', this.company_data)
.then(res => {
this.loading = false
this.$router.push('/employer')
this.loading = false
console.log(res)
})
.catch(err => {
......
This diff is collapsed.
......@@ -83,27 +83,27 @@
<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 sm3 xs12 class="text-sm-center text-xs-center">
<img :src="companies.imageCompany" alt="" height="160">
</v-flex>
<v-flex xs12 sm10 class="px-3">
<v-flex xs12 sm9 class="px-3">
<v-flex xs12 sm12>
<label class="font-weight-bold subheading green--text">บริษัท พีพี ออนไทม์ จำกัด</label>
<label class="font-weight-bold subheading green--text">{{ companies.company_name }}</label>
</v-flex>
<v-flex xs12 sm12>
<label class="body-2">1011 อาคารศุภาลัย แกรนด์ ทาวเวอร์ ชั้น 16 ถนนพระราม 3 แขวงช่องนนทรี เขตยานนาวา จังหวัดกรุงเทพมหานคร 10120</label>
<label class="body-2">{{ companies.addr }} {{ companies.tambon }} {{ companies.amphoe }} {{ companies.province }} {{ companies.zipcode }}</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>
<label class="caption"><v-icon small>email</v-icon> {{ companies.email }}</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>desktop_mac</v-icon> http://www.pp-ontime.co.th/</label>
<label class="caption"><v-icon small>desktop_mac</v-icon> {{ companies.website ? companies.website : ' - ' }}</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>phone</v-icon> โทร. 02-056-2099</label>
<label class="caption"><v-icon small>phone</v-icon> โทร. {{ companies.phone_no ? companies.phone_no : ' - ' }}</label>
</v-flex>
<v-flex xs12 sm12>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : 02-056-2088</label>
<label class="caption"><v-icon small>print</v-icon> แฟกซ์. : {{ companies.fax ? companies.fax : ' - ' }}</label>
</v-flex>
<v-flex xs12 sm12>
<v-btn small depressed dark color="red" @click="$router.push('/employer/editcompany')">
......@@ -119,6 +119,37 @@
<script>
export default {
data () {
return {
companies: {
about: null,
addr: null,
amphoe: null,
another: null,
arl: null,
bts: null,
bus: null,
company_name: null,
company_owner: null,
created_at: null,
email: null,
fax: null,
id: null,
imageCompany: null,
imageMap: null,
lat: null,
long: null,
mrt: null,
phone_no: null,
province: null,
tambon: null,
updated_at: null,
user_id: null,
website: null,
zipcode: null
}
}
},
computed: {
date () {
return this.$store.getters.getTime.date
......@@ -126,6 +157,21 @@ export default {
time () {
return this.$store.getters.getTime.time
}
},
beforeMount() {
this.$store.dispatch('checkEmployer')
.then(res => {
axios.get(`/api/companys/${res.id}`)
.then(res => {
this.companies = res.data.company
if (!this.companies.imageCompany) {
this.companies.imageCompany = 'https://asianinteriorservices.com/wp-content/uploads/2018/04/noImg.png'
}
})
.catch(err => {
console.log(err.response)
})
})
}
}
</script>
......
......@@ -21,9 +21,9 @@ Route::group(['prefix' => 'auth'], function ($router) {
Route::resource('/companys', 'CompanyController');
Route::get('/companys/{company}/check', 'CompanyController@check')->name('companys.check');
Route::get('/companys/{company}/config', 'CompanyController@config')->name('companys.config');
Route::get('/province','DistrictController@provinces');
Route::get('/province/{province_code}/amphoe','DistrictController@amphoes');
Route::get('/province/{province_code}/amphoe/{amphoe_code}/district','DistrictController@districts');
Route::get('/province/{province_code}/amphoe/{amphoe_code}/district/{district_code}','DistrictController@detail');
Route::get('/{province}/{amphoe}/{district}/{zipcode}','DistrictController@detailCheck');
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