
--- client/views/pages/admin/user/CompanySelectOne.vue
+++ client/views/pages/admin/user/CompanySelectOne.vue
... | ... | @@ -12,46 +12,58 @@ |
12 | 12 |
<div class="company-zone"> |
13 | 13 |
<div class="company-grid"> |
14 | 14 |
<div class="logo-img"> |
15 |
- <img src="" alt=""> |
|
15 |
+ <img :src="'http://localhost:8088' + logoFile.file_path + '/' + logoFile.file_nm + '.' + logoFile.file_extn_nm" |
|
16 |
+ width="100%" alt=""> |
|
16 | 17 |
</div> |
17 | 18 |
<table> |
18 | 19 |
<tbody> |
19 | 20 |
<tr> |
20 | 21 |
<td> |
21 | 22 |
<P class="company-label">업체명</P> |
22 |
- <P>테이큰소프트</P> |
|
23 |
+ <P>{{ company.company_nm }}</P> |
|
23 | 24 |
</td> |
24 | 25 |
<td> |
25 | 26 |
<p class="company-label">사업자등록번호</p> |
26 |
- <p>1234567890</p> |
|
27 |
+ <p>{{ company.company_id }}</p> |
|
27 | 28 |
</td> |
28 | 29 |
</tr> |
29 | 30 |
<tr> |
30 | 31 |
<td colspan="2"> |
31 | 32 |
<p class="company-label">주소</p> |
32 |
- <p>[38541] 경북 경산시 대학로 어쩌고 저쩌고</p> |
|
33 |
+ <p>[{{ company.company_zip }}] {{ company.company_addr }} {{ company.company_daddr }}</p> |
|
33 | 34 |
</td> |
34 | 35 |
</tr> |
35 | 36 |
<tr> |
36 | 37 |
<td> |
37 | 38 |
<p class="company-label">홈페이지</p> |
38 |
- <p>www.naver.com</p> |
|
39 |
+ <p>{{ company.company_hp_url }}</p> |
|
39 | 40 |
</td> |
40 | 41 |
<td> |
41 | 42 |
<p class="company-label">대표전화</p> |
42 |
- <p>0332222222</p> |
|
43 |
+ <p>{{ company.company_telno }}</p> |
|
43 | 44 |
</td> |
44 | 45 |
</tr> |
45 | 46 |
<tr> |
46 | 47 |
<td colspan="2"> |
47 | 48 |
<p class="company-label">업체 키워드</p> |
48 |
- <p><span>키워드</span></p> |
|
49 |
+ <!-- <p><span>키워드</span></p> --> |
|
50 |
+ <p> |
|
51 |
+ <span class="keyword" v-for="(keyword, index) in company.keyword.slice(1).split('#')" |
|
52 |
+ :key="index"> |
|
53 |
+ #{{ keyword }} |
|
54 |
+ </span> |
|
55 |
+ </p> |
|
49 | 56 |
</td> |
50 | 57 |
</tr> |
51 | 58 |
<tr> |
52 | 59 |
<td colspan="2"> |
53 | 60 |
<p class="company-label">회사소개서 첨부파일</p> |
54 |
- <p></p> |
|
61 |
+ <p> |
|
62 |
+ <a style="font-size: 15px;" class="down-btn-1" |
|
63 |
+ :href="'http://localhost:8080' + proFile.file_path + '/' + proFile.file_nm + '.' + proFile.file_extn_nm" target='_blank' download> |
|
64 |
+ {{ proFile.real_file_nm }} |
|
65 |
+ </a> |
|
66 |
+ </p> |
|
55 | 67 |
</td> |
56 | 68 |
</tr> |
57 | 69 |
</tbody> |
... | ... | @@ -59,28 +71,35 @@ |
59 | 71 |
</div> |
60 | 72 |
<div class="company-introduce"> |
61 | 73 |
<details open> |
62 |
- <summary>기업소개</summary> |
|
63 |
- <div class="introduce-content">어쩌고</div> |
|
74 |
+ <summary @click="getViewer(0)">기업소개</summary> |
|
75 |
+ <div class="introduce-content"> |
|
76 |
+ <span v-html="company.company_info"></span> |
|
77 |
+ </div> |
|
64 | 78 |
</details> |
65 | 79 |
<details open> |
66 |
- <summary>대표 기술 소개</summary> |
|
67 |
- <div class="introduce-content">어쩌고</div> |
|
80 |
+ <summary @click="getViewer(1)">대표 기술 소개</summary> |
|
81 |
+ <div class="introduce-content"> |
|
82 |
+ <span v-html="company.company_technology"></span> |
|
83 |
+ </div> |
|
68 | 84 |
</details> |
69 | 85 |
<details open> |
70 |
- <summary>서비스 소개</summary> |
|
71 |
- <div class="introduce-content">어쩌고</div> |
|
86 |
+ <summary @click="getViewer(2)">서비스 소개</summary> |
|
87 |
+ <div class="introduce-content"> |
|
88 |
+ <span v-html="company.company_service"></span> |
|
89 |
+ </div> |
|
72 | 90 |
</details> |
73 | 91 |
</div> |
74 | 92 |
</div> |
75 | 93 |
<div class="user-zone"> |
76 | 94 |
<div class="user-grid"> |
77 | 95 |
<div class="business-card"> |
78 |
- <img src="" alt=""> |
|
96 |
+ <img :src="'http://localhost:8080' + cardFile.file_path + '/' + cardFile.file_nm + '.' + cardFile.file_extn_nm" |
|
97 |
+ width="100%" alt=""> |
|
79 | 98 |
</div> |
80 | 99 |
<div class="user grid"> |
81 | 100 |
<div> |
82 | 101 |
<p class="label-title"><i class="fa-solid fa-user-group"></i> 아이디</p> |
83 |
- <input type="text" disabled /> |
|
102 |
+ <input type="text" disabled v-model="user.user_id" /> |
|
84 | 103 |
</div> |
85 | 104 |
<div> |
86 | 105 |
<p class="label-title"><i class="fa-solid fa-user-group"></i> 비밀번호</p> |
... | ... | @@ -88,23 +107,23 @@ |
88 | 107 |
</div> |
89 | 108 |
<div> |
90 | 109 |
<p class="label-title"><i class="fa-solid fa-check-double"></i> 회원구분</p> |
91 |
- <input type="text" disabled /> |
|
110 |
+ <input type="text" disabled :value="user.user_auth == 'common' ? '일반회원' : '기업회원'" /> |
|
92 | 111 |
</div> |
93 | 112 |
<div> |
94 | 113 |
<p class="label-title"><i class="fa-solid fa-heart"></i> 이름</p> |
95 |
- <input type="text" disabled /> |
|
114 |
+ <input type="text" disabled v-model="user.user_nm"/> |
|
96 | 115 |
</div> |
97 | 116 |
<div> |
98 | 117 |
<p class="label-title"><i class="fa-solid fa-envelope"></i> 이메일</p> |
99 |
- <input type="text" disabled /> |
|
118 |
+ <input type="text" disabled v-model="user.user_eml"/> |
|
100 | 119 |
</div> |
101 | 120 |
<div> |
102 | 121 |
<p class="label-title"><i class="fa-solid fa-envelope"></i> 가입 날짜</p> |
103 |
- <input type="text" disabled /> |
|
122 |
+ <input type="text" disabled :value="yyyymmdd(user.user_reg_dt)"/> |
|
104 | 123 |
</div> |
105 | 124 |
<div> |
106 | 125 |
<p class="label-title"><i class="fa-solid fa-envelope"></i> 승인 날짜</p> |
107 |
- <input type="text" disabled /> |
|
126 |
+ <input type="text" disabled :value="yyyymmdd(user.approval_dt)"/> |
|
108 | 127 |
</div> |
109 | 128 |
</div> |
110 | 129 |
</div> |
... | ... | @@ -123,21 +142,142 @@ |
123 | 142 |
<script> |
124 | 143 |
import axios from 'axios'; |
125 | 144 |
import { useRoute } from 'vue-router'; |
145 |
+import Viewer from '@toast-ui/editor/dist/toastui-editor-viewer'; |
|
146 |
+import '@toast-ui/editor/dist/toastui-editor.css'; |
|
147 |
+import '@toast-ui/editor/dist/i18n/ko-kr'; |
|
148 |
+import COMMON_UTIL from '../../../../resources/js/commonUtil.js'; |
|
126 | 149 |
|
127 | 150 |
export default { |
128 | 151 |
data() { |
129 | 152 |
return { |
130 |
- |
|
153 |
+ fileList: [], |
|
154 |
+ logoFile: {}, |
|
155 |
+ cardFile: {}, |
|
156 |
+ proFile: {}, |
|
157 |
+ company: { |
|
158 |
+ company_id: null, |
|
159 |
+ company_nm: null, |
|
160 |
+ company_info: null, |
|
161 |
+ company_point: null, |
|
162 |
+ company_technology: null, |
|
163 |
+ company_service: null, |
|
164 |
+ company_simple_info: null, |
|
165 |
+ company_zip: null, |
|
166 |
+ company_addr: null, |
|
167 |
+ company_daddr: null, |
|
168 |
+ company_hp_url: null, |
|
169 |
+ company_telno: null, |
|
170 |
+ file_id: null, |
|
171 |
+ user_id: null, |
|
172 |
+ keyword: '', |
|
173 |
+ company_matching_cnt: null, |
|
174 |
+ company_pick_cnt: null, |
|
175 |
+ }, |
|
176 |
+ user: { |
|
177 |
+ user_id: null, |
|
178 |
+ user_pw: null, |
|
179 |
+ user_eml: null, |
|
180 |
+ user_auth: null, |
|
181 |
+ user_nm: null, |
|
182 |
+ subscribe: null, |
|
183 |
+ approval_mngr_id: null, |
|
184 |
+ create_account_approval: null, |
|
185 |
+ approval_dt: null, |
|
186 |
+ user_reg_dt: null, |
|
187 |
+ }, |
|
188 |
+ route: useRoute(), |
|
131 | 189 |
}; |
132 | 190 |
}, |
133 | 191 |
methods: { |
192 |
+ |
|
193 |
+ //날짜 시,분,초 자르기 |
|
194 |
+ yyyymmdd: function (date) { |
|
195 |
+ return COMMON_UTIL.yyyymmdd(date); |
|
196 |
+ }, |
|
197 |
+ |
|
198 |
+ userSelectOne: function () { |
|
199 |
+ const vm = this; |
|
200 |
+ axios({ |
|
201 |
+ url: '/user/myPageUserSelectOne.json', |
|
202 |
+ method: 'post', |
|
203 |
+ headers: { |
|
204 |
+ 'Content-Type': "application/json; charset=UTF-8", |
|
205 |
+ }, |
|
206 |
+ data: { 'user_id': vm.route.query.user_id } |
|
207 |
+ }).then(function (response) { |
|
208 |
+ console.log(response.data) |
|
209 |
+ vm.user.user_id = response.data.user_id; |
|
210 |
+ vm.user.user_eml = response.data.user_eml; |
|
211 |
+ vm.user.user_nm = response.data.user_nm; |
|
212 |
+ vm.user.user_auth = response.data.user_auth; |
|
213 |
+ vm.user.user_reg_dt = response.data.user_reg_dt; |
|
214 |
+ vm.user.user_approval_dt = response.data.user_approval_dt; |
|
215 |
+ vm.user.subscribe = response.data.subscribe |
|
216 |
+ vm.companySelectOne(); |
|
217 |
+ }).catch(function (error) { |
|
218 |
+ console.log("userSelectOne - error : ", error); |
|
219 |
+ }); |
|
220 |
+ }, |
|
221 |
+ |
|
222 |
+ companySelectOne: function () { |
|
223 |
+ const vm = this; |
|
224 |
+ axios({ |
|
225 |
+ url: '/company/selectOneForMypage.json', |
|
226 |
+ method: 'post', |
|
227 |
+ headers: { |
|
228 |
+ 'Content-Type': 'application/json; charset=UTF-8', |
|
229 |
+ }, |
|
230 |
+ data: { 'user_id': vm.user.user_id } |
|
231 |
+ }).then(function (response) { |
|
232 |
+ console.log(response.data) |
|
233 |
+ vm.company = response.data.result |
|
234 |
+ console.log("before for") |
|
235 |
+ if (response.data.selectFileList.length != 0) { |
|
236 |
+ vm.fileList = response.data.selectFileList; |
|
237 |
+ for (let i = 0; i < vm.fileList.length; i++) { |
|
238 |
+ if (vm.fileList[i].file_ty == "logo") { |
|
239 |
+ vm.logoFile = vm.fileList[i]; |
|
240 |
+ } else if (vm.fileList[i].file_ty == "card") { |
|
241 |
+ vm.cardFile = vm.fileList[i] |
|
242 |
+ } else if (vm.fileList[i].file_ty == "profile") { |
|
243 |
+ vm.proFile = vm.fileList[i] |
|
244 |
+ } |
|
245 |
+ |
|
246 |
+ } |
|
247 |
+ } |
|
248 |
+ }).catch(function (error) { |
|
249 |
+ console.log("companySelectOne - error : ", error); |
|
250 |
+ }); |
|
251 |
+ }, |
|
252 |
+ |
|
253 |
+ getViewer(idx) { |
|
254 |
+ const vm = this; |
|
255 |
+ let data = [vm.company.company_info, vm.company.company_technology, vm.company.company_service][idx]; |
|
256 |
+ this.viewer = new Viewer({ |
|
257 |
+ el: this.$refs[`viewer${idx + 1}`], |
|
258 |
+ initialEditType: 'wysiwyg', |
|
259 |
+ previewStyle: 'vertical', |
|
260 |
+ initialValue: data, |
|
261 |
+ customHTMLRenderer: { |
|
262 |
+ htmlBlock: { |
|
263 |
+ iframe(node) { |
|
264 |
+ return [ |
|
265 |
+ { type: 'openTag', tagName: 'iframe', outerNewLine: true, attributes: node.attrs }, |
|
266 |
+ { type: 'html', content: node.childrenHTML }, |
|
267 |
+ { type: 'closeTag', tagName: 'iframe', outerNewLine: true }, |
|
268 |
+ ]; |
|
269 |
+ }, |
|
270 |
+ } |
|
271 |
+ }, |
|
272 |
+ }); |
|
273 |
+ }, |
|
134 | 274 |
|
135 | 275 |
}, |
136 | 276 |
watch: {}, |
137 | 277 |
computed: {}, |
138 | 278 |
components: {}, |
139 | 279 |
mounted() { |
140 |
- |
|
280 |
+ this.userSelectOne() |
|
141 | 281 |
}, |
142 | 282 |
}; |
143 | 283 |
</script> |
--- client/views/pages/admin/user/UserSelectList.vue
+++ client/views/pages/admin/user/UserSelectList.vue
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 |
</tr> |
58 | 58 |
</thead> |
59 | 59 |
<tbody> |
60 |
- <tr v-for="(company, index) in companyList" :key="index"> |
|
60 |
+ <tr v-for="(company, index) in companyList" :key="index" @click="companySelectOnePage(company)"> |
|
61 | 61 |
<td v-show="company.use_yn === 'Y'">{{ companyIdx - index }}</td> |
62 | 62 |
<td v-show="company.use_yn === 'Y'">{{ company.user_id }}</td> |
63 | 63 |
<td v-show="company.use_yn === 'Y'">{{ company.company_nm }}</td> |
... | ... | @@ -468,6 +468,10 @@ |
468 | 468 |
this.$router.push({ path: '/adm/userSelectOne.page', query: { 'user_id': user.user_id } }); |
469 | 469 |
}, |
470 | 470 |
|
471 |
+ companySelectOnePage: function(company){ |
|
472 |
+ this.$router.push({ path: '/adm/companySelectOne.page', query: { 'user_id' : company.user_id } }); |
|
473 |
+ }, |
|
474 |
+ |
|
471 | 475 |
//상세조회 페이지로 이동 |
472 | 476 |
adminSelectOnePage: function (admin) { |
473 | 477 |
this.$router.push({ path: '/adm/userSelectOne.page', query: { 'mngr_id': admin.mngr_id } }); |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?