yjryu / KERIS star
류윤주 류윤주 2023-11-28
231128 이세현 기업회원조회
@f63e27836fa19be0360e409638d6db396febdb3a
client/views/pages/admin/user/CompanySelectOne.vue
--- client/views/pages/admin/user/CompanySelectOne.vue
+++ client/views/pages/admin/user/CompanySelectOne.vue
@@ -12,46 +12,58 @@
                     <div class="company-zone">
                         <div class="company-grid">
                             <div class="logo-img">
-                                <img src="" alt="">
+                                <img :src="'http://localhost:8088' + logoFile.file_path + '/' + logoFile.file_nm + '.' + logoFile.file_extn_nm"
+                                    width="100%" alt="">
                             </div>
                             <table>
                                 <tbody>
                                     <tr>
                                         <td>
                                             <P class="company-label">업체명</P>
-                                            <P>테이큰소프트</P>
+                                            <P>{{ company.company_nm }}</P>
                                         </td>
                                         <td>
                                             <p class="company-label">사업자등록번호</p>
-                                            <p>1234567890</p>
+                                            <p>{{ company.company_id }}</p>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td colspan="2">
                                             <p class="company-label">주소</p>
-                                            <p>[38541] 경북 경산시 대학로 어쩌고 저쩌고</p>
+                                            <p>[{{ company.company_zip }}] {{ company.company_addr }} {{ company.company_daddr }}</p>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td>
                                             <p class="company-label">홈페이지</p>
-                                            <p>www.naver.com</p>
+                                            <p>{{ company.company_hp_url }}</p>
                                         </td>
                                         <td>
                                             <p class="company-label">대표전화</p>
-                                            <p>0332222222</p>
+                                            <p>{{ company.company_telno }}</p>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td colspan="2">
                                             <p class="company-label">업체 키워드</p>
-                                            <p><span>키워드</span></p>
+                                            <!-- <p><span>키워드</span></p> -->
+                                            <p>
+                                                <span class="keyword" v-for="(keyword, index) in company.keyword.slice(1).split('#')"
+                                                    :key="index">
+                                                    #{{ keyword }}
+                                                </span>
+                                            </p>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td colspan="2">
                                             <p class="company-label">회사소개서 첨부파일</p>
-                                            <p></p>
+                                            <p>
+                                                <a style="font-size: 15px;" class="down-btn-1"
+                                                    :href="'http://localhost:8080' + proFile.file_path + '/' + proFile.file_nm + '.' + proFile.file_extn_nm" target='_blank' download>
+                                                    {{ proFile.real_file_nm }}
+                                                </a>
+                                            </p>
                                         </td>
                                     </tr>
                                 </tbody>
@@ -59,28 +71,35 @@
                         </div>
                         <div class="company-introduce">
                             <details open>
-                                <summary>기업소개</summary>
-                                <div class="introduce-content">어쩌고</div>
+                                <summary @click="getViewer(0)">기업소개</summary>
+                                <div class="introduce-content">
+                                    <span v-html="company.company_info"></span>
+                                </div>
                             </details>
                             <details open>
-                                <summary>대표 기술 소개</summary>
-                                <div class="introduce-content">어쩌고</div>
+                                <summary @click="getViewer(1)">대표 기술 소개</summary>
+                                <div class="introduce-content">
+                                    <span v-html="company.company_technology"></span>
+                                </div>
                             </details>
                             <details open>
-                                <summary>서비스 소개</summary>
-                                <div class="introduce-content">어쩌고</div>
+                                <summary @click="getViewer(2)">서비스 소개</summary>
+                                <div class="introduce-content">
+                                    <span v-html="company.company_service"></span>
+                                </div>
                             </details>
                         </div>
                     </div>
                     <div class="user-zone">
                         <div class="user-grid">
                             <div class="business-card">
-                                <img src="" alt="">
+                                <img :src="'http://localhost:8080' + cardFile.file_path + '/' + cardFile.file_nm + '.' + cardFile.file_extn_nm"
+                                    width="100%" alt="">
                             </div>
                             <div class="user grid">
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-user-group"></i> 아이디</p>
-                                    <input type="text" disabled />
+                                    <input type="text" disabled v-model="user.user_id" />
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-user-group"></i> 비밀번호</p>
@@ -88,23 +107,23 @@
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-check-double"></i> 회원구분</p>
-                                    <input type="text" disabled />
+                                    <input type="text" disabled :value="user.user_auth == 'common' ? '일반회원' : '기업회원'" />
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-heart"></i> 이름</p>
-                                    <input type="text" disabled />
+                                    <input type="text" disabled v-model="user.user_nm"/>
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-envelope"></i> 이메일</p>
-                                    <input type="text"  disabled />
+                                    <input type="text"  disabled v-model="user.user_eml"/>
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-envelope"></i> 가입 날짜</p>
-                                    <input type="text"  disabled />
+                                    <input type="text"  disabled :value="yyyymmdd(user.user_reg_dt)"/>
                                 </div>
                                 <div>
                                     <p class="label-title"><i class="fa-solid fa-envelope"></i> 승인 날짜</p>
-                                    <input type="text"  disabled />
+                                    <input type="text"  disabled :value="yyyymmdd(user.approval_dt)"/>
                                 </div>
                             </div>
                         </div>
@@ -123,21 +142,142 @@
 <script>
 import axios from 'axios';
 import { useRoute } from 'vue-router';
+import Viewer from '@toast-ui/editor/dist/toastui-editor-viewer';
+import '@toast-ui/editor/dist/toastui-editor.css';
+import '@toast-ui/editor/dist/i18n/ko-kr';
+import COMMON_UTIL from '../../../../resources/js/commonUtil.js';
 
 export default {
     data() {
         return {
-
+            fileList: [],
+            logoFile: {},
+            cardFile: {},
+            proFile: {},
+            company: {
+                company_id: null,
+                company_nm: null,
+                company_info: null,
+                company_point: null,
+                company_technology: null,
+                company_service: null,
+                company_simple_info: null,
+                company_zip: null,
+                company_addr: null,
+                company_daddr: null,
+                company_hp_url: null,
+                company_telno: null,
+                file_id: null,
+                user_id: null,
+                keyword: '',
+                company_matching_cnt: null,
+                company_pick_cnt: null,
+            },
+            user: {
+                user_id: null,
+                user_pw: null,
+                user_eml: null,
+                user_auth: null,
+                user_nm: null,
+                subscribe: null,
+                approval_mngr_id: null,
+                create_account_approval: null,
+                approval_dt: null,
+                user_reg_dt: null,
+            },
+            route: useRoute(),
         };
     },
     methods: {
+
+        //날짜 시,분,초 자르기
+        yyyymmdd: function (date) {
+            return COMMON_UTIL.yyyymmdd(date);
+        },
+
+        userSelectOne: function () {
+            const vm = this;
+            axios({
+                url: '/user/myPageUserSelectOne.json',
+                method: 'post',
+                headers: {
+                    'Content-Type': "application/json; charset=UTF-8",
+                },
+                data: { 'user_id': vm.route.query.user_id }
+            }).then(function (response) {
+                console.log(response.data)
+                vm.user.user_id = response.data.user_id;
+                vm.user.user_eml = response.data.user_eml;
+                vm.user.user_nm = response.data.user_nm;
+                vm.user.user_auth = response.data.user_auth;
+                vm.user.user_reg_dt = response.data.user_reg_dt;
+                vm.user.user_approval_dt = response.data.user_approval_dt;
+                vm.user.subscribe = response.data.subscribe
+                vm.companySelectOne();
+            }).catch(function (error) {
+                console.log("userSelectOne - error : ", error);
+            });
+        },
+
+        companySelectOne: function () {
+            const vm = this;
+            axios({
+                url: '/company/selectOneForMypage.json',
+                method: 'post',
+                headers: {
+                    'Content-Type': 'application/json; charset=UTF-8',
+                },
+                data: { 'user_id': vm.user.user_id }
+            }).then(function (response) {
+                console.log(response.data)
+                vm.company = response.data.result
+                console.log("before for")
+                if (response.data.selectFileList.length != 0) {
+                    vm.fileList = response.data.selectFileList;
+                    for (let i = 0; i < vm.fileList.length; i++) {
+                        if (vm.fileList[i].file_ty == "logo") {
+                            vm.logoFile = vm.fileList[i];
+                        } else if (vm.fileList[i].file_ty == "card") {
+                            vm.cardFile = vm.fileList[i]
+                        } else if (vm.fileList[i].file_ty == "profile") {
+                            vm.proFile = vm.fileList[i]
+                        }
+
+                    }
+                }
+            }).catch(function (error) {
+                console.log("companySelectOne - error : ", error);
+            });
+        },
+
+        getViewer(idx) {
+            const vm = this;
+            let data = [vm.company.company_info, vm.company.company_technology, vm.company.company_service][idx];
+            this.viewer = new Viewer({
+                el: this.$refs[`viewer${idx + 1}`],
+                initialEditType: 'wysiwyg',
+                previewStyle: 'vertical',
+                initialValue: data,
+                customHTMLRenderer: {
+                    htmlBlock: {
+                        iframe(node) {
+                            return [
+                                { type: 'openTag', tagName: 'iframe', outerNewLine: true, attributes: node.attrs },
+                                { type: 'html', content: node.childrenHTML },
+                                { type: 'closeTag', tagName: 'iframe', outerNewLine: true },
+                            ];
+                        },
+                    }
+                },
+            });
+        },
 
     },
     watch: {},
     computed: {},
     components: {},
     mounted() {
-
+        this.userSelectOne()
     },
 };
 </script>
client/views/pages/admin/user/UserSelectList.vue
--- client/views/pages/admin/user/UserSelectList.vue
+++ client/views/pages/admin/user/UserSelectList.vue
@@ -57,7 +57,7 @@
                                 </tr>
                             </thead>
                             <tbody>
-                                <tr v-for="(company, index) in companyList" :key="index">
+                                <tr v-for="(company, index) in companyList" :key="index" @click="companySelectOnePage(company)">
                                     <td v-show="company.use_yn === 'Y'">{{ companyIdx - index }}</td>
                                     <td v-show="company.use_yn === 'Y'">{{ company.user_id }}</td>
                                     <td v-show="company.use_yn === 'Y'">{{ company.company_nm }}</td>
@@ -468,6 +468,10 @@
             this.$router.push({ path: '/adm/userSelectOne.page', query: { 'user_id': user.user_id } });
         },
 
+        companySelectOnePage: function(company){
+            this.$router.push({ path: '/adm/companySelectOne.page', query: { 'user_id' : company.user_id } });
+        },
+
         //상세조회 페이지로 이동
         adminSelectOnePage: function (admin) {
             this.$router.push({ path: '/adm/userSelectOne.page', query: { 'mngr_id': admin.mngr_id } });
Add a comment
List