1+ <template >
2+ <Header />
3+ <div id =" app" >
4+ <main >
5+ <div class =" content" >
6+ <div class =" content" >
7+ <div class =" capa" >
8+ <div class =" capaProfile" >
9+ <img v-if =" empresa.banner == 'default'" src =" ../../assets/imgs/defaultBanner.png"
10+ alt =" Capa" />
11+ <img v-else :src =" empresa.banner" alt =" Capa" />
12+ </div >
13+ <div class =" infoProfile" >
14+ <img v-if =" empresa.imagem == 'default'" src =" ../../assets/icons/artwork.png" />
15+ <img v-else :src =" empresa.imagem" />
16+ <div class =" info" >
17+ <div class =" box1" >
18+ <h1 v-text =" empresa.nome" ></h1 >
19+ </div >
20+ </div >
21+ </div >
22+ </div >
23+
24+ <section class =" sobreMim" >
25+ <h2 >
26+ Sobre a Empresa
27+ </h2 >
28+ <div >
29+ CNPJ: {{empresa.cnpj}}
30+ Email: {{empresa.email}}
31+ <p v-show =" mode === 'view'" >Site: <a :href =" empresa.site" target =" _blanck" >{{empresa.site}}</a ></p >
32+ <textarea v-show =" mode === 'edit'" name =" " cols =" 30" rows =" 10" id =" edit"
33+ v-model =" empresa.siteSubmit" ref =" edit" ></textarea >
34+ </div >
35+ </section >
36+ </div >
37+ </div >
38+ </main >
39+ </div >
40+ </template >
41+
42+ <script >
43+ import Header from ' ../../components/Header.vue' ;
44+ import Footer from ' ../../components/Footer.vue' ;
45+ import AsideDashboard from ' ../../components/empresa/AsideDashboard.vue' ;
46+ import router from ' ../../router/index.js'
47+ import { mixinEmpresa } from ' ../../util/authMixins.js' ;
48+
49+ import imgLapis from " ../../assets/icons/lapis.png" ;
50+ import imgVerificar from " ../../assets/icons/verificar.png" ;
51+ import imgCruz from " ../../assets/icons/cruz.png" ;
52+
53+ import { getEmpresa } from ' ../../services/api/shared.js' ;
54+
55+ import Cookies from ' js-cookie' ;
56+ import { updateBanner , updateImage , updateSite } from ' ../../services/api/empresa.js' ;
57+
58+ export default {
59+ name: ' PublicPerfilEmpresa' ,
60+ components: {
61+ Header,
62+ },
63+ data () {
64+ return {
65+ empresa: {
66+ email: ' ' ,
67+ telefone: ' ' ,
68+ endereco: ' ' ,
69+ imagem: ' ' ,
70+ banner: ' ' ,
71+ patrocinada: ' ' ,
72+ cnpj: ' ' ,
73+ site: ' ' ,
74+ siteSubmit: ' ' ,
75+ token: ' ' ,
76+ },
77+ file: " " ,
78+ fileSelected: false ,
79+ linkstatus: 0 ,
80+ mode: " view" ,
81+ modeImage: " view" ,
82+ modeBanner: " view" ,
83+ imgLapis,
84+ imgVerificar,
85+ imgCruz,
86+ extracurriculares: [],
87+ showAddForm: false ,
88+ }
89+ },
90+ methods: {
91+ async GetEmpresa (){
92+ try {
93+ const response = await getEmpresa (this .empresa .email );
94+ if (response .status >= 200 && response .status < 300 ) {
95+ this .empresa = response .data ;
96+
97+ this .empresa .siteSubmit = response .data .site ;
98+
99+ } else {
100+ console .error (
101+ " Erro ao carregar dados da empresa" ,
102+ response .message ,
103+ );
104+ }
105+ } catch (error) {
106+ console .error (
107+ " Erro ao carregar dados da empresa" ,
108+ error .message ,
109+ );
110+ }
111+ },
112+ previewProfileImage (event ) {
113+ const file = event .target .files [0 ];
114+ if (! file) return ;
115+
116+ const reader = new FileReader ();
117+ reader .onload = (e ) => {
118+ this .empresa .imagem = e .target .result ;
119+ };
120+ reader .readAsDataURL (file);
121+ },
122+ previewBannerImage (event ) {
123+ const file = event .target .files [0 ];
124+ if (! file) return ;
125+
126+ const reader = new FileReader ();
127+ reader .onload = (e ) => {
128+ this .empresa .banner = e .target .result ;
129+ };
130+ reader .readAsDataURL (file);
131+ },
132+ },
133+ async created () {
134+ this .empresa .email = this .$route .params .email ;
135+ await this .GetEmpresa (this .empresa .email );
136+ }
137+ }
138+ </script >
139+
140+ <style lang="scss" scoped>
141+ @import " ../../scss/pages/empresa/_dashboard.scss" ;
142+
143+ #app {
144+ display : flex ;
145+ flex-direction : column ;
146+ min-height : calc (100vh - 80px );
147+
148+ main {
149+ display : flex ;
150+ flex : 1 ;
151+ overflow : hidden ;
152+
153+ .content {
154+ flex : 1 ;
155+ padding : 20px ;
156+ overflow-y : auto ;
157+ height : 100% ;
158+
159+ @media (max-width : 1000px ) {
160+ width : calc (100% - 100px );
161+ }
162+ }
163+ }
164+ }
165+ </style >
0 commit comments