• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
jhpark / cms_frontend star
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB 1
  • Files
  • Commit
  • Branches
cms_frontendclientviewscomponentuserInfoUserInfoView.vue
Download as .zip file
File name
Commit message
Commit date
client
Merge branch 'master' of http://210.180.118.83/jhpark/cms_frontend
04-01
server/modules
250108 박정하 서브디렉토리 수정
01-08
.gitignore
250108 박정하 서브디렉토리 수정
01-08
Global.js
250108 박정하 서브디렉토리 수정
01-08
package-lock.json
250326 류윤주 1차 커밋
03-26
package.json
250326 류윤주 1차 커밋
03-26
vetur.config.js
250108 박정하 최초 커밋
01-08
webpack.config.js
250326 류윤주 1차 커밋
03-26
File name
Commit message
Commit date
ckeditor
250108 박정하 서브디렉토리 수정
01-08
resources
250401 류윤주 input date 공통화
04-01
theme
250326 류윤주 1차 커밋
03-26
views
Merge branch 'master' of http://210.180.118.83/jhpark/cms_frontend
04-01
favicon.ico
250108 박정하 서브디렉토리 수정
01-08
File name
Commit message
Commit date
common
250108 박정하 서브디렉토리 수정
01-08
component
1차 커밋
04-01
layout
250331 김혜민 세션로그인방식 수정
03-31
pages
Merge branch 'master' of http://210.180.118.83/jhpark/cms_frontend
04-01
index.html
250326 류윤주 1차 커밋
03-26
index.js
250331 김혜민 세션로그인방식 수정
03-31
robots.txt
250322 방선주 company, government 를 portal로 변경 및 db에 맞게 메뉴아이디 수정
03-22
File name
Commit message
Commit date
Breadcrumb
250328 김혜민 관리자및사용자 페이지 breadcrumb 공통 수정
03-28
autoSearch
250318 방선주 영주 포탈 페이지 제거
03-18
chart
250108 박정하 서브디렉토리 수정
01-08
ckeditor5
250108 박정하 서브디렉토리 수정
01-08
comment
250322 방선주 company, government 를 portal로 변경 및 db에 맞게 메뉴아이디 수정
03-22
hierachy
250326 류윤주 1차 커밋
03-26
modal
250328 류윤주 수정
03-28
pagination
250328 류윤주 수정
03-28
satisfaction
250108 박정하 서브디렉토리 수정
01-08
table
250326 류윤주 1차 커밋
03-26
userInfo
1차 커밋
04-01
File name
Commit message
Commit date
UserAuthorList.vue
250331 류윤주 css 화면 수정
03-31
UserInfoInsert.vue
1차 커밋
04-01
UserInfoView.vue
1차 커밋
04-01
yjryu 04-01 4c12306 1차 커밋 UNIX
Raw Open in browser Change history
<template> <div class="content-zone"> <div class="content"> <div class="scroll"> <div class="title-zone"> <div class="page-title"> <p>{{pageTit}}</p> </div> </div> <div class="form-box"> <div class="form-box-title"> <p>기본정보</p> </div> <div class="form-content"> <div> <p class="form-title">아이디</p> <p>{{ mbrVO.lgnId }}</p> <!-- <input type="text" class="form-control sm" v-model="mbrVO.lgnId" disabled /> --> </div> <div> <p class="form-title">이름</p> <p>{{ mbrVO.mbrNm }}</p> <!-- <input type="text" class="form-control sm" v-model="mbrVO.mbrNm" disabled /> --> </div> <template v-if="showOpt.isMblNo || showOpt.isTelNo"> <div v-if="showOpt.isMblNo"> <p class="form-title"> 휴대폰번호 </p> <p>{{ mbrVO.mblTelno }}</p> <!-- <input type="text" class="form-control sm" v-model="mbrVO.mblTelno" disabled /> --> </div> <div v-if="showOpt.isTelNo"> <p class="form-title">전화번호</p> <p>{{ mbrVO.telno }}</p> <!-- <input type="text" class="form-control sm" v-model="mbrVO.telno" disabled /> --> </div> </template> <template v-if="showOpt.isEml || showOpt.isSmsAgree || showOpt.isEmlAgree"> <div v-if="showOpt.isEml"> <p class="form-title">이메일</p> <div class="check-area"> <p>{{ email.address ? email.id + '@' + email.address : email.id + '@' + email.select }}</p> <!-- <input type="text" class="form-control sm" v-model="email.id" disabled /> <div>@</div> <div v-show="email.select == 'self'"> <input type="text" class="form-control sm" v-model="email.address" disabled /> </div> <select class="form-select sm" v-model="email.select" disabled> <option value="">선택하세요</option> <option value="self">직접입력</option> <option value="naver.com">naver.com</option> <option value="google.com">google.com</option> <option value="hanmail.net">hanmail.net</option> <option value="nate.com">nate.com</option> <option value="kakao.com">kakao.com</option> </select> --> </div> </div> <div v-if="showOpt.isSmsAgree"> <p class="form-title"> 문자수신 </p> <p>{{ mbrVO.smsRcptnAgreYn }}</p> <!-- <div class="check-area"> <div class="form-check"> <input type="radio" name="smsRcptnAgreYn" id="smsY" class="mr5" v-model="mbrVO.smsRcptnAgreYn" value="Y" disabled /> <label for="smsY">수신</label> </div> <div class="form-check"> <input type="radio" name="smsRcptnAgreYn" id="smsN" class="mr5" v-model="mbrVO.smsRcptnAgreYn" value="N" disabled /> <label for="smsN">미수신</label> </div> </div> --> </div> <div v-if="showOpt.isEmlAgree"> <p class="form-title"> 이메일수신 </p> <p>{{ mbrVO.emlRcptnAgreYn }}</p> <!-- <div class="check-area"> <div class="form-check"> <input type="radio" name="emlRcptnAgreYn" id="y" class="mr5" v-model="mbrVO.emlRcptnAgreYn" value="Y" disabled /> <label for="y">수신</label> </div> <div class="form-check"> <input type="radio" name="emlRcptnAgreYn" id="n" class="mr5" v-model="mbrVO.emlRcptnAgreYn" value="N" disabled /> <label for="n">미수신</label> </div> </div> --> </div> </template> <template v-if="showOpt.isAddr"> <div> <p class="form-title"> 우편번호 </p> <p>{{ '(' + mbrVO.zip + ')'+ mbrVO.addr + mbrVO.daddr}}</p> <!-- <input type="text" class="full-input" v-model="mbrVO.zip" disabled /> --> </div> <!-- <div> <label class="form-title">주소</label> <input type="text" class="full-input" v-model="mbrVO.addr" disabled /> </div> --> <!-- <div> <label for="" class="form-title"> 상세주소 </label> <input type="text" class="full-input" v-model="mbrVO.daddr" disabled /> </div> --> </template> <template v-if="showOpt.isStts && pageRole == 'adm'"> <div> <p class="form-title"> 회원상태 </p> <p>{{mbrVO.mbrStts}}</p> <!-- <select class="full-select" v-model="mbrVO.mbrStts" disabled> <option value="1">승인</option> <option value="2">승인대기</option> <option value="0">탈퇴</option> <option value="3">차단</option> </select> --> <div> <p class="form-title">차단일</p> <p>{{ mbrVO.cntrlDt }}</p> <!-- <input type="date" class="full-input" v-model="mbrVO.cntrlDt" disabled /> --> </div> </div> <div> <p class="form-title">차단 사유</p> <p>{{ mbrVO.cntrlRsn }}</p> <!-- <input type="text" class="full-input" v-model="mbrVO.cntrlRsn" disabled /> --> </div> </template> <template v-if="showOpt.isAuthor && pageRole == 'adm'"> <UserAuthorList :mbrVO="mbrVO" editMode="view" /> </template> </div> </div> </div> </div> </div> <div class="btn-wrap"> <template v-if="pageRole == 'adm'" class="gd-1 mr10"> <button class="btn sm tertiary" @click="fnList">목록</button> </template> <button v-if="pageAuth.mdfcnAuthrt == 'Y'" :class="{ 'btn sm primary': true, }" @click="fnUpdate" > 수정 </button> <template v-if="pageRole == 'adm' && pageAuth.delAuthrt == 'Y'" class="gd-1"> <button class="btn sm red" @click="fnDelete">삭제</button> </template> </div> </template> <script> // RESOURCES import { defaultAdminInfoParams, defaultUserInfoParams, } from "../../../resources/js/defaultUserInfoParams"; // COMPONENT import UserAuthorList from "./UserAuthorList.vue"; // API import { mbrDetailProc } from "../../../resources/api/mbrInfo"; import { mbrDeleteProc } from "../../../resources/api/mbrInfo"; export default { components: { UserAuthorList }, props: { pageId: { type: String, }, pageNm: { type: String, default: "user", }, pageTit: { type: String, required: true, }, }, data() { return { pageRole: this.$store.state.userType, // 유저 권한 pageAuth: JSON.parse(localStorage.getItem("vuex")).pageAuth, // 페이지 권한 mbrVO: {}, showOpt: { ...defaultUserInfoParams }, // 유저정보 표시 여부 객체 email: { id: null, select: "", address: null, }, }; }, created() { this.fnMbrViewDetail(); if (this.pageNm == "adm" && this.pageRole == "adm") { this.showOpt = defaultAdminInfoParams; } }, computed: { routerPaths() { return { list: this.$store.state.path + "/list.page", view: this.$store.state.path + "/view.page", insert: this.$store.state.path + "/insert.page", }; }, }, methods: { // axios: 조회(상세) async fnMbrViewDetail() { // 데이터 세팅 const data = { mbrId: this.pageId }; // 실행 try { const response = await mbrDetailProc(data); if (this.pageRole == "portal") { for (let author of response.data.data.authorList) { if (author.authrtCd == "ROLE_ADMIN") { this.showOpt = defaultAdminInfoParams; } } } this.mbrVO = response.data.data; this.changeFormat(); // 휴대폰번호, 전화번호, 이메일 표기변경 } catch (error) { alert("에러가 발생했습니다.\n관리자에게 문의해주세요."); } }, // 표기변경 changeFormat() { // 휴대폰 번호 if (this.mbrVO.mblTelno != null) { this.mbrVO["mblTelno"] = this.telnoReplace(this.mbrVO.mblTelno); } // 전화번호 if (this.mbrVO.telno != null) { this.mbrVO["telno"] = this.telnoReplace(this.mbrVO.telno); } // 이메일 if (this.mbrVO.eml != null) { const email = this.mbrVO.eml.split("@"); this.email.id = email[0]; switch (email[1]) { case "naver.com": case "google.com": case "hanmail.net": case "nate.com": case "kakao.com": this.email.select = email[1]; break; default: this.email.select = "self"; this.email.address = email[1]; break; } } }, // 번호 표기변경(2,3-3,4-4) telnoReplace(data) { const number = data.replace(/[^0-9]/g, ""); return number.replace(/^(\d{2,3})(\d{3,4})(\d{4})$/, `$1-$2-$3`); }, // 목록 fnList() { this.$router.push({ path: this.routerPaths.list, }); }, // 수정 fnUpdate() { this.$router.push({ path: this.routerPaths.insert, query: { pageId: this.pageId }, }); }, // 삭제 async fnDelete() { var isDelete = confirm("해당 회원 정보를 삭제하시겠습니까?"); if (!isDelete) { return; } // 데이터 세팅 let data = this.mbrVO; // 실행 try { const response = await mbrDeleteProc(data); alert(response.data["message"]); this.fnList(); } catch (error) { alert("에러가 발생했습니다.\n관리자에게 문의해주세요."); } }, }, }; </script>

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up