
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<template>
<div class="mat-main">
<section class="main-sec sec1">
<!-- <div class="main-content"> -->
<div class="flex">
<!-- 매칭비주얼 -->
<div class="matching-box-wrap">
<div class="w1400">
<div class="matching-wrap">
<div class="matching-img">
<img src="../../../../resources/jpg/mat-img.png" alt="">
</div>
<!-- 매칭 텍스트 -->
<div class="matching-text">
<i class="fa-regular fa-handshake fa-lg" style="color: #ffffff;"></i>
<p>기업 홍보관</p>
</div>
<div class="matching-img">
<img src="../../../../resources/jpg/mat-img1.png" alt="">
</div>
</div>
</div>
</div>
</div>
</section>
<!-- best기업 -->
<section class="matching-box-main">
<div class="matching-box-wrap-one">
<div class="w1400">
<div class="matching-box-grid">
<!-- best 기업 -->
<h3>BEST 기업</h3>
<div class="matching-box-bos">
<div v-for="(item, idx) in companyTop6List" :key="idx" class="matching-box matchingbox"
@click="companySelectOnePage(item)">
<h3>{{ item.company_nm }}</h3>
<div class="matchingbox-img">
<img :src="'http://localhost:8080' + item.file_path + '/' + item.file_nm + '.' + item.file_extn_nm"
width="100%" alt="">
</div>
<p class="content-detail">{{ company_simple_info }}</p>
<div class="matchingbox-1">
<p v-if="!item.pick_yn" @click.stop="pickModal(item)"><i
class="fa-regular fa-heart fa-lg" style="color: #3f87f7;"></i> {{
item.company_pick_cnt }} </p>
<p v-else @click.stop="pickCancelModal(item)"><i class="fa fa-heart fa-lg"
style="color: #d41515;"></i> {{ item.company_pick_cnt }} </p>
<p class="matchingbox-text">조회수 <span>{{ item.view_cnt }}</span></p>
</div>
<div class="matching-span">
<span v-for="(item, idx1) in keywordList[idx]" :key="idx1">#{{ item }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- 일반기업 -->
<section class="matching-box-main">
<div class="matching-box-main-two">
<div class="w1400">
<div class="matching-box-grid-two">
<div class="matching-box-2" v-for="(item, idx) in companyList" :key="idx"
@click="companySelectOnePage(item)">
<div>
<h5>{{ item.company_nm }}</h5>
<div class="matching-span">
<span v-for="(item, idx1) in keywordList[idx]" :key="idx1"> #{{ item }}</span>
</div>
<div class="matchingbox-2">
<p v-if="!item.pick_yn" @click.stop="pickModal(item)"><i
class="fa-regular fa-heart fa-lg" style="color: #3f87f7;"></i> {{
item.company_pick_cnt }} </p>
<p v-else @click.stop="pickCancelModal(item)"><i class="fa fa-heart fa-lg"
style="color: #d41515;"></i> {{ item.company_pick_cnt }} </p>
<p>조회수 <span>{{ item.view_cnt }}</span> </p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</template>
<script>
import axios from 'axios';
import COMMON_UTIL from '../../../../resources/js/commonUtil.js';
export default {
data() {
return {
companyListSearch: {
currentPage: 1,
perPage: 10,
searchType: null,
searchText: null,
},
userCompanyId: null,
bestList: [],
companyList: [],
keyword: [],
keywordList: [],
companyTop6List: [],
companyListCount: 0,
companyIdx: 0,
pickModalOpen: false
}
},
methods: {
companySelectList: function () {
const vm = this;
axios({
url: '/matching/companySelectList.json',
method: 'post',
hearder: {
'Content-Type': "application/json; charset=UTF-8",
},
data: vm.companyListSearch
}).then(function (response) {
vm.companyList = response.data.companySelectList;
vm.companyListCount = response.data.companySelectListCount;
vm.companyIdx = vm.companyListCount - (vm.companyListSearch.currentPage - 1) * vm.companyListSearch.perPage;
vm.companyTop6List = response.data.companyTop6;
vm.userCompanyId = response.data.userCompanyId;
for (let i = 0; i < vm.companyList.length; i++) {
vm.keyword = vm.companyList[i].keyword.split('#', 4);
vm.keyword.splice(0, 1)
vm.keywordList[i] = vm.keyword
console.log("keyword", vm.keywordList);
}
}).catch(function (error) {
console.log('error - ', error)
alert('기업 목록 조회 오류, 관리자에게 문의하세요.');
})
},
pickModal: function (item) {
if (this.userCompanyId != item.company_id) {
if (confirm(item.company_nm + "에게 PICK 신청을 하시겠습니까?")) {
this.pick(item)
}
} else {
alert("자신의 기업에는 PICK을 할 수 없습니다.")
}
},
pickCancelModal: function (item) {
if (confirm(item.company_nm + "에게 신청한 PICK을 취소 하시겠습니까?")) {
this.pickCancel(item)
}
},
pick: function (item) {
const vm = this;
axios({
url: '/matching/pick.json',
method: 'post',
hearder: {
'Content-Type': "application/json; charset=UTF-8",
},
data: item
}).then(function (response) {
alert(response.data);
vm.companySelectList();
}).catch(function (error) {
console.log('error - ', error)
alert(' PICK 오류, 관리자에게 문의하세요.');
})
},
pickCancel: function (item) {
const vm = this;
axios({
url: '/matching/pickCancel.json',
method: 'post',
hearder: {
'Content-Type': "application/json; charset=UTF-8",
},
data: item
}).then(function (response) {
alert(response.data);
vm.companySelectList();
}).catch(function (error) {
console.log('error - ', error)
alert('PICK 취소 오류, 관리자에게 문의하세요.');
})
},
companySelectOnePage: function (item) {
const vm = this;
axios({
url: '/matching/companyViewCountAdd.json',
method: 'post',
hearder: {
'Content-Type': "application/json; charset=UTF-8",
},
data: { 'company_id': item.company_id }
}).then(function (response) {
vm.$router.push({ path: '/MatchingOne.page', query: { 'company_id': item.company_id } });
}).catch(function (error) {
console.log("기업 상세조회 오류, 관리자에게 문의하세요.");
})
}
},
watch: {
},
computed: {
},
mounted() {
console.log('Matching mounted');
this.companySelectList();
}
}
</script>