TC 기능 수정 / 디자인 수정 변경

This commit is contained in:
kimre
2022-07-15 14:21:03 +09:00
parent a4e5cde9f6
commit 34e7957081
91 changed files with 9087 additions and 8673 deletions

View File

@@ -21,7 +21,7 @@
<common-modal ref="commmonModal"></common-modal>
</div>
</div>
</template>
<script>
@@ -167,6 +167,14 @@ export default {
this.$parent.channelDetail(this.serviceSeq);
}
}else if(result != null && result.retCode == "1009"){
this.row.title = '관리자명 조회';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs.madangId.focus();
this.formReset();
this.$refs.madangId.focus();
return false;
}else {
//alert('관리자정보 수정에 실패하였습니다.');
this.formReset();

View File

@@ -9,27 +9,27 @@
</div>
<table>
<tbody>
<tr>
<th>관리자 ID</th>
<td>{{ adminId }}</td>
</tr>
<tr>
<th>사용자 ID 업로드</th>
<td>
<div class="popup-btn2 bulk">
<input
<tr>
<th>관리자 ID</th>
<td>{{ adminId }}</td>
</tr>
<tr>
<th>사용자 ID 업로드</th>
<td>
<div class="popup-btn2 bulk">
<input
type="file"
ref="file"
style="display: none"
@change="readFile"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
/>
<button class="btn-default" @click="sampleDown">샘플 다운로드</button>
<button class="button btn-p2color" @click="$refs.file.click()">파일 업로드</button>
</div>
<p class="file" id="uploadFile"></p>
</td>
</tr>
/>
<button class="btn-default" @click="sampleDown">샘플 다운로드</button>
<button class="button btn-p2color" @click="$refs.file.click()">파일 업로드</button>
</div>
<p class="file" id="uploadFile"></p>
</td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
@@ -37,7 +37,7 @@
<button class="btn-default" @click="excelPopClose">취소</button>
</div>
</div>
<common-modal ref="commmonModal"></common-modal>
<validationConfirm-modal ref="validationConfirmPop"></validationConfirm-modal>
</div>
</div>
</template>
@@ -45,11 +45,11 @@
<script>
import api from '@/service/api';
import custMgtApi from '../service/custMgtApi.js';
import { utils_mixin, chkPattern2 } from '../service/mixins';
import {utils_mixin, chkPattern2} from '../service/mixins';
import xlsx from '@/common/excel';
import moment from 'moment';
import XLSX from 'xlsx';
import commonModal from './commonModal';
import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirmPop";
export default {
name: 'memberBulkRegPop',
@@ -68,7 +68,7 @@ export default {
};
},
components: {
commonModal,
ValidationConfirmPop,
},
created() {
this.getExcelHeader();
@@ -98,13 +98,13 @@ export default {
}
},
// 저장 후 부모창 호출.
toComplete() {
toComplete() {
this.row.serviceId = this.adminId;
// 팝업으로 교체 예정
if (confirm('정상 업로드 되었습니다.')){
this.excelPopClose();
this.$parent.memberDetail(this.adminId);
}
// 팝업으로 교체 예정
if (confirm('정상 업로드 되었습니다.')) {
this.excelPopClose();
this.$parent.memberDetail(this.adminId);
}
},
async doInsert() {
if (this.doValidate() && window.confirm('등록 하시겠습니까?')) {
@@ -132,7 +132,8 @@ export default {
header: this.excelHeader,
dataOrder: 'header',
};
xlsx.export([], saveFileName, options).then(() => {});
xlsx.export([], saveFileName, options).then(() => {
});
},
getExcelHeader() {
// 헤더를 mockup으로 관리한다.
@@ -167,13 +168,14 @@ export default {
this.row.msg1 = '파일을 읽는 동안 에러가 발생 했습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
};
reader.onloadend = (e) => {};
reader.onloadend = (e) => {
};
reader.onload = (e) => {
let data = reader.result;
let workbook = XLSX.read(data, { type: 'binary' });
let workbook = XLSX.read(data, {type: 'binary'});
workbook.SheetNames.forEach((sheetName) => {
const rowObj = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], { raw: true });
const rowObj = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {raw: true});
tmpResult = rowObj;
const limitCnt = 100;
@@ -190,7 +192,7 @@ export default {
if (idx > limitCnt - 1) {
break;
}
let { ID, 이름, 휴대폰번호, 이메일, ID잠금 } = r;
let {ID, 이름, 휴대폰번호, 이메일, ID잠금} = r;
ID = '' + (vm.isNull(ID) ? '' : ID);
이름 = '' + (vm.isNull(이름) ? '' : 이름);
휴대폰번호 = '' + (vm.isNull(휴대폰번호) ? '' : 휴대폰번호);
@@ -204,22 +206,22 @@ export default {
}
}
let { retVal, msg } = vm.validXlxs({ ID, 이름, 휴대폰번호, 이메일, ID잠금 });
let {retVal, msg} = vm.validXlxs({ID, 이름, 휴대폰번호, 이메일, ID잠금});
if (retVal) {
const pVal = [
{ name: '이름', val: 이름, len: 20 },
{ name: 'ID잠금', val: ID잠금, len: 4 },
{name: '이름', val: 이름, len: 20},
{name: 'ID잠금', val: ID잠금, len: 4},
];
const rVal = vm.isTitle(pVal);
if (rVal.retVal) {
vm.nData.push({ userId: ID, userNm: 이름, mdn: 휴대폰번호, email: 이메일, stat: ID잠금, msg });
vm.nData.push({userId: ID, userNm: 이름, mdn: 휴대폰번호, email: 이메일, stat: ID잠금, msg});
} else {
vm.oData.push({ ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: rVal.msg });
vm.oData.push({ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: rVal.msg});
}
} else {
vm.oData.push({ ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: msg });
vm.oData.push({ID, 이름, 휴대폰번호, 이메일, ID잠금, 오류내용: msg});
}
}
});
@@ -230,35 +232,35 @@ export default {
};
reader.readAsBinaryString(file);
},
validXlxs({ 이름, 휴대폰번호, 이메일 }) {
validXlxs({이름, 휴대폰번호, 이메일}) {
if (this.isNull(이름)) {
return { retVal: false, msg: '이름 누락' };
return {retVal: false, msg: '이름 누락'};
}
if (this.isNull(휴대폰번호)) {
return { retVal: false, msg: '휴대폰번호 누락' };
return {retVal: false, msg: '휴대폰번호 누락'};
}
if (!this.isMobile(휴대폰번호)) {
if (!this.isMobile2(휴대폰번호)) {
return { retVal: false, msg: '휴대폰번호 형식 오류' };
return {retVal: false, msg: '휴대폰번호 형식 오류'};
}
}
if (!this.emailCheck(이메일)) {
return { retVal: false, msg: '이메일 형식 오류' };
return {retVal: false, msg: '이메일 형식 오류'};
}
return { retVal: true, msg: '정상' };
return {retVal: true, msg: '정상'};
},
isTitle(pVal) {
for (const o of pVal) {
if (this.bytes(o.val) > o.len) {
return { retVal: false, msg: `${o.name} 컬럼: 문자열 길이 오류(${o.len}자)` };
return {retVal: false, msg: `${o.name} 컬럼: 문자열 길이 오류(${o.len}자)`};
}
const strRegExp = '^[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]*$';
const regExp_g = new RegExp(strRegExp, 'g');
if (!regExp_g.test(o.val)) {
return { retVal: false, msg: `${o.name} 컬럼: 특수 문자 오류` };
return {retVal: false, msg: `${o.name} 컬럼: 특수 문자 오류`};
}
}
return { retVal: true, msg: '정상' };
return {retVal: true, msg: '정상'};
},
delFile(event) {
const file = event.target.files[0];
@@ -272,6 +274,7 @@ export default {
// uploadFile
},
async saveExcel() {
this.row = {}
//
this.row.adminId = this.adminId;
this.row.list = this.nData;
@@ -281,36 +284,46 @@ export default {
//console.log(response);
const result = response.data;
console.log(result);
if (result != null && result.retCode == '0000') {
if (result != null && result.retCode == '0000') {
this.totalCnt = result.data.totalCnt;
this.successCnt = result.data.successCnt;
this.failCnt = result.data.failCnt;
if(result.data.failCnt > 0){
// 팝업으로 교체 예정
var resultMsg = '파일 업로드 중 오류가 발생하여 정상건만 업로드 완료하였습니다.\n\n 총 '+result.data.totalCnt+'건, 정상 '+ result.data.successCnt+'건, 오류 '+result.data.failCnt+'건\n\n오류건은 확인 후 재등록 부탁 드립니다.';
alert(resultMsg);
this.excelPopClose();
this.$parent.memberDetail(this.adminId);
}else{
this.toComplete();
}
if (result.data.failCnt > 0) {
this.row.totalCnt = this.totalCnt
this.row.successCnt = this.successCnt
this.row.failCnt = this.failCnt
this.$refs.validationConfirmPop.failFileuploadOpen(this.row);
// 팝업으로 교체 예정
// var resultMsg = '파일 업로드 중 오류가 발생하여 정상건만 업로드 완료하였습니다.\n\n 총 '+result.data.totalCnt+'건, 정상 '+ result.data.successCnt+'건, 오류 '+result.data.failCnt+'건\n\n오류건은 확인 후 재등록 부탁 드립니다.';
// alert(resultMsg);
// this.excelPopClose();
// this.$parent.memberDetail(this.adminId);
} else {
this.toComplete();
}
}
} catch (error) {
console.log(error);
// 팝업으로 교체 예정
var title ='청약고객 관리\n';
var msg1 = '실패 하였습니다.';
alert(title + msg1);
// 팝업으로 교체 예정
var title = '청약고객 관리\n';
var msg1 = '실패 하였습니다.';
alert(title + msg1);
// this.row.title = '청약고객관리';
// this.row.msg1 = '실패 하였습니다.';
// this.$refs.commmonModal.alertModalOpen(this.row);
// this.$refs.validationConfirmPop.failFileuploadOpen(this.row);
}
// 오류건수.
console.log(this.oData.length);
},
failFileuploadOk(result) {
console.log(result)
if (result) {
this.excelPopClose();
this.$parent.memberDetail(this.adminId);
}
},
},
};
</script>

View File

@@ -27,15 +27,18 @@
</tr>
<tr>
<th>이름</th>
<td><input type="text" v-model.trim="userNm" ref="_userNm"></td>
<td><input type="text" v-model.trim="userNm" ref="_userNm" @keypress="onlyRoleNm_Space"
@input="onlyRoleNm_Space" maxlength="100"></td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><input type="text" v-model.trim="mdn" ref="_phone"></td>
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" ref="_phone" @keypress="onlyNum"
@input="onlyNum" minlength="10" maxlength="11"></td>
</tr>
<tr>
<th>이메일</th>
<td><input type="email" v-model.trim="email" ref="_email"></td>
<td><input type="email" v-model.trim="email" ref="_email" @keypress="onlyEmail" @input="onlyEmail"
maxlength="100"></td>
</tr>
<tr>
<th class="center">상태</th>
@@ -181,8 +184,13 @@ export default {
var dimmed = document.getElementsByClassName('memberUpdate');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
}
this.formReset();
},
formReset() {
this.userPwd1 = '';
this.userPwd2 = '';
},
toComplete(){
this.row.serviceId = this.adminId;
this.memberUpdateModalClose();

View File

@@ -1,255 +1,279 @@
<template>
<div>
<div class="dimmed memberInsert" @click="memberInsertModalClose();"></div>
<div class="popup-wrap memberInsert">
<div>
<div class="dimmed memberInsert" @click="memberInsertModalClose();"></div>
<div class="popup-wrap memberInsert">
<div class="popup modal31 popup_form memberInsert">
<div class="pop-head">
<h3 class="pop-tit">사용자 ID 생성</h3>
</div>
<table>
<tbody>
<tr>
<th>관리자 ID</th>
<td>{{adminId}}</td>
</tr>
<tr>
<th>ID</th>
<td><input type="text" v-model.trim="userId" ref="_userId"></td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" v-model.trim="userNm" ref="_userNm"></td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" ref="_phone"></td>
</tr>
<tr>
<th>이메일</th>
<td><input type="email" v-model.trim="email" ref="_email"></td>
</tr>
<tr>
<th class="center">ID 잠금</th>
<td>
<input type="radio" name="userStateInsert" value="01" id="user_popup_insert_radio1" v-model="stat">
<label for="user_popup_insert_radio1">사용</label>
<input type="radio" name="userStateInsert" value="02" id="user_popup_insert_radio2" v-model="stat">
<label for="user_popup_insert_radio2">정지</label>
</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>관리자 ID</th>
<td>{{ adminId }}</td>
</tr>
<tr>
<th>ID</th>
<td><input type="text" v-model.trim="userId" ref="_userId" @keypress="onlyId" @input="onlyId" minlength="6"
maxlength="16"></td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" v-model.trim="userNm" ref="_userNm" @keypress="onlyRoleNm_Space"
@input="onlyRoleNm_Space" maxlength="100"></td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" ref="_phone" @keypress="onlyNum"
@input="onlyNum" minlength="10" maxlength="11"></td>
</tr>
<tr>
<th>이메일</th>
<td><input type="email" v-model.trim="email" ref="_email" @keypress="onlyEmail" @input="onlyEmail"
maxlength="100"></td>
</tr>
<tr>
<th class="center">ID 잠금</th>
<td>
<input type="radio" name="userStateInsert" value="01" id="user_popup_insert_radio1" v-model="stat">
<label for="user_popup_insert_radio1">사용</label>
<input type="radio" name="userStateInsert" value="02" id="user_popup_insert_radio2" v-model="stat">
<label for="user_popup_insert_radio2">정지</label>
</td>
</tr>
</tbody>
</table>
<div class="popup-btn2">
<button class="btn-pcolor" @click="memberInsertConfirm();">저장</button>
<button class="btn-default" @click="memberInsertModalClose();">취소</button>
<button class="btn-pcolor" @click="memberInsertConfirm();">저장</button>
<button class="btn-default" @click="memberInsertModalClose();">취소</button>
</div>
</div>
</div>
<validation-confirm-pop ref="validationConfirmPopModal"> </validation-confirm-pop>
<common-modal ref="commmonModal"></common-modal>
</div>
<validation-confirm-pop ref="validationConfirmPopModal"></validation-confirm-pop>
<common-modal ref="commmonModal"></common-modal>
</div>
</template>
<script>
import api from '@/service/api';
import custMgtApi from "../service/custMgtApi.js";
import { utils_mixin, chkPattern2 } from '../service/mixins';
import {utils_mixin, chkPattern2} from '../service/mixins';
import ValidationConfirmPop from '../components/ValidationConfirmPop.vue';
import lodash from "lodash";
import commonModal from "../components/commonModal";
export default {
name: "memberRegPop",
mixins: [utils_mixin, chkPattern2],
watch:{
stat(){
console.log('watch : ', this.stat)
}
},
components: {
ValidationConfirmPop,
commonModal,
},
model: {
//prop: 'sendData',
//event: 'event-data'
},
//props: ['sendData'],
created(){
// this.setAuthData();
this.formReset();
},
data(){
return{
row:{},
madangId:'',
adminId:'',
name:'',
mdn:'',
email:'',
auth:'',
stat: "01",
userId:"",
userNm:"",
code:"",
userTotalCnt:0,
name: "memberRegPop",
mixins: [utils_mixin, chkPattern2],
watch: {
stat() {
console.log('watch : ', this.stat)
}
},
methods :{
//사용자ID 생성 모달 Open
async memberInsertModalOpen(props){
this.adminId = props.adminId;
this.userTotalCnt = props.userTotalCnt;
components: {
ValidationConfirmPop,
commonModal,
},
model: {
//prop: 'sendData',
//event: 'event-data'
},
//props: ['sendData'],
created() {
// this.setAuthData();
this.formReset();
},
data() {
return {
row: {},
madangId: '',
adminId: '',
name: '',
mdn: '',
email: '',
auth: '',
stat: "01",
userId: "",
userNm: "",
code: "",
userTotalCnt: 0,
}
},
methods: {
//사용자ID 생성 모달 Open
async memberInsertModalOpen(props) {
this.adminId = props.adminId;
this.userTotalCnt = props.userTotalCnt;
// 모달 오픈
var dimmed = document.getElementsByClassName('memberInsert');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
//사용자ID 생성 Confirm
memberInsertConfirm(){
// confirm 팝업 노출
if(this.doValidate()){
this.$refs.validationConfirmPopModal.confirmInsertOpen();
}
},
//사용자ID 수정 처리
async memberInsert(){
this.row.adminId = this.adminId;
this.row.userId = this.userId;
this.row.userNm = this.userNm;
this.row.userEmail = this.email;
this.row.mdn = this.mdn;
this.row.userStat = this.stat;
try {
const response = await custMgtApi.insertUser(this.row);
const result = response.data;
console.log(result);
if (result != null && result.retCode == "0000") {
this.row.title = '청약고객관리';
this.row.msg1 = '사용자 생성 완료하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.toComplete();
} else if(result != null && result.retCode == "4018"){
// 이미 사용중인 ID
this.$refs.validationConfirmPopModal.validationIdDuplicateOpen();
} else {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
} catch(err) {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
},
//사용자ID 생성 모달 Close
memberInsertModalClose(){
var dimmed = document.getElementsByClassName('memberInsert');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.formReset();
},
toComplete(){
this.row.serviceId = this.adminId;
this.memberInsertModalClose();
this.$parent.memberDetail(this.adminId);
},
setAuthData() {
// 권한 옵션.
api.commAuth().then(response => {
this.authType = response.data.data.list;
});
},
formReset(){
var targetAdminId = this.adminId;
Object.assign(this.$data, this.$options.data());
this.adminId = targetAdminId;
},
doValidate(){
console.log(this.userTotalCnt)
if(this.userTotalCnt >= 100){
// 사용자등록제한_최대100개까지
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
return false;
}
// 모달 오픈
var dimmed = document.getElementsByClassName('memberInsert');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
//사용자ID 생성 Confirm
memberInsertConfirm() {
// confirm 팝업 노출
if (this.doValidate()) {
this.$refs.validationConfirmPopModal.confirmInsertOpen();
}
},
//사용자ID 수정 처리
async memberInsert() {
this.row.adminId = this.adminId;
this.row.userId = this.userId;
this.row.userNm = this.userNm;
this.row.userEmail = this.email;
this.row.mdn = this.mdn;
this.row.userStat = this.stat;
try {
const response = await custMgtApi.insertUser(this.row);
const result = response.data;
console.log(result);
if (result != null && result.retCode == "0000") {
this.row.title = '청약고객관리';
this.row.msg1 = '사용자 생성 완료하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.toComplete();
} else if (result != null && result.retCode == "4018") {
// 이미 사용중인 ID
this.$refs.validationConfirmPopModal.validationIdDuplicateOpen();
} else {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
} catch (err) {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
},
//사용자ID 생성 모달 Close
memberInsertModalClose() {
var dimmed = document.getElementsByClassName('memberInsert');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.formReset();
},
toComplete() {
this.row.serviceId = this.adminId;
this.memberInsertModalClose();
this.$parent.memberDetail(this.adminId);
},
setAuthData() {
// 권한 옵션.
api.commAuth().then(response => {
this.authType = response.data.data.list;
});
},
formReset() {
var targetAdminId = this.adminId;
Object.assign(this.$data, this.$options.data());
this.adminId = targetAdminId;
},
doValidate() {
console.log(this.userTotalCnt)
if (this.userTotalCnt >= 100) {
// 사용자등록제한_최대100개까지
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
return false;
}
if(this.isNull(this.userId)){
this.$refs._userId.focus();
this.row.title = '청약고객관리';
this.row.msg1 = 'ID를 입력해 주세요.';
this.row.focusTaget = '1';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if (this.isNull(this.userId)) {
this.$refs._userId.focus();
this.row.title = '청약고객관리';
this.row.msg1 = 'ID를 입력해 주세요.';
this.row.focusTaget = '1';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
// 청약 ID 길이 체크 6~16
var userIdlength = this.userId.length;
if (userIdlength < 6 || userIdlength > 16) {
this.row.title = '청약고객관리';
this.row.msg1 = 'ID 형식에 맞지 않습니다.';
this.row.msg2 = '확인하여 다시 등록 부탁 드립니다.';
this.row.focusTaget = '1';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if(this.isNull(this.userNm)){
this.row.title = '청약고객관리';
this.row.msg1 = '이름을 입력해 주세요.';
this.row.focusTaget = '2';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if (this.isNull(this.userNm)) {
this.row.title = '청약고객관리';
this.row.msg1 = '이름을 입력해 주세요.';
this.row.focusTaget = '2';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if(this.isNull(this.mdn)){
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰번호를 입력해주세요.';
this.row.focusTaget = '3';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
const hp = this.mdn;
if(!this.isNull(hp) && !this.isMobile(hp)){
this.row.focusTaget = '3';
this.$refs.validationConfirmPopModal.validationPhonenumberOpen();
return false;
}
if (this.isNull(this.mdn)) {
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰번호를 입력해주세요.';
this.row.focusTaget = '3';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
const hp = this.mdn;
if (!this.isNull(hp) && !this.isMobile(hp)) {
this.row.focusTaget = '3';
//this.$refs.validationConfirmPopModal.validationPhonenumberOpen();
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰번호 형식에 맞지 않습니다.';
this.row.msg2 = '확인하여 다시 등록 부탁 드립니다.';
this.row.focusTaget = '3';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if(this.isNull(this.email)){
this.row.title = '청약고객관리';
this.row.msg1 = '이메일을 입력해주세요.';
this.row.focusTaget = '4';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
const email = this.email;
if(!this.isNull(email) && !lodash.isEqual(email,'@') && !this.emailCheck(email)){
this.$refs.validationConfirmPopModal.validationEmailOpen();
return false;
}
if (this.isNull(this.email)) {
this.row.title = '청약고객관리';
this.row.msg1 = '이메일을 입력해주세요.';
this.row.focusTaget = '4';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
const email = this.email;
if (!this.isNull(email) && !lodash.isEqual(email, '@') && !this.emailCheck(email)) {
// this.$refs.validationConfirmPopModal.validationEmailOpen();
this.row.title = '청약고객관리';
this.row.msg1 = 'E-mail 형식에 맞지 않습니다.';
this.row.msg2 = '확인하여 다시 등록 부탁 드립니다.';
this.row.focusTaget = '4';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if(this.isNull(this.stat)){
this.row.title = '청약고객관리';
this.row.msg1 = '상태를 선택 해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if (this.isNull(this.stat)) {
this.row.title = '청약고객관리';
this.row.msg1 = '상태를 선택 해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
return true;
},
checkFocus(){
if(this.row.focusTaget === '1'){
this.$refs._userId.focus();
} else if(this.row.focusTaget === '2'){
this.$refs._userNm.focus();
} else if(this.row.focusTaget === '3'){
this.$refs._phone.focus();
} else if(this.row.focusTaget === '4'){
this.$refs._email.focus();
}
},
checkPhoneFocus(){
this.$refs._phone.focus();
},
checkEmailFocus(){
this.$refs._email.focus();
},
checkIdDupFocus(){
this.$refs._userId.focus();
},
}
return true;
},
checkFocus() {
if (this.row.focusTaget === '1') {
this.$refs._userId.focus();
} else if (this.row.focusTaget === '2') {
this.$refs._userNm.focus();
} else if (this.row.focusTaget === '3') {
this.$refs._phone.focus();
} else if (this.row.focusTaget === '4') {
this.$refs._email.focus();
}
},
checkPhoneFocus() {
this.$refs._phone.focus();
},
checkEmailFocus() {
this.$refs._email.focus();
},
checkIdDupFocus() {
this.$refs._userId.focus();
},
}
}
</script>

View File

@@ -7,8 +7,9 @@
<div class="popup memoTotal popup_form b-popup">
<div class="pop-head">
<h3 class="pop-tit">전체 메모보기</h3>
<span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span>
<!-- <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span> -->
</div>
<div class="count"> <span>{{ totalItems.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') }}</span></div>
<table class="table-c">
<custom-grid
ref="table"

View File

@@ -41,7 +41,6 @@
<!-- 시스템관리 팝업 -->
<!-- e: 팝업 -->
</div>
</template>

View File

@@ -1,8 +1,8 @@
<template>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed" @click="ModalClose();"></div>
<div class="popup-wrap">
<div class="dimmed modal29" @click="ModalClose();"></div>
<div class="popup-wrap modal29">
<!-- 테스트 ID 생성 -->
<div class="popup modal29 popup_form">
<div class="pop-head">
@@ -13,7 +13,7 @@
<tbody>
<tr>
<th>ID</th>
<td><input type="text" placeholder="아이디 입력" v-model.trim="userId" ref="_userId" /></td>
<td><input type="text" placeholder="아이디 입력" v-model.trim="userId" ref="_userId" @keypress="onlyId" @input="onlyId" minlength="6" maxlength="16"/></td>
</tr>
<tr>
<th>비밀번호</th>
@@ -25,15 +25,15 @@
</tr>
<tr>
<th>이름</th>
<td><input type="text" @keypress="onlyName" @input="onlyName" v-model.trim="userNm" ref="_userNm" required maxlength="40"></td>
<td><input type="text" @keypress="onlyText" @input="onlyText" v-model.trim="userNm" ref="_userNm" required maxlength="40"></td>
</tr>
<tr>
<th>휴대폰번호</th>
<td><input type="number" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" v-on:keyup="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_phone"></td>
<td><input type="text" placeholder="- 자 제외 숫자만 입력" v-model.trim="mdn" @keypress="onlyNum" @input="onlyNum" minlength="10" maxlength="11" ref="_phone"></td>
</tr>
<tr>
<th>이메일</th>
<td><input type="email" v-model.trim="email" @keypress="onlyEmail" @input="onlyEmail" maxlength="20" ref="_email"></td>
<td><input type="email" v-model.trim="email" @keypress="onlyEmail" @input="onlyEmail" maxlength="100" ref="_email"></td>
</tr>
<tr>
<th class="center">상태</th>
@@ -144,56 +144,67 @@ export default {
},
doValidate(){
if(this.isNull(this.userId)){
this.row.title = '청약고객관리';
this.row.msg1 = '아이디를 입력해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '아이디를 입력해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._userId.focus();
return false;
}
// 청약 ID 길이 체크 6~16
var userIdlength = this.userId.length;
if (userIdlength < 6 || userIdlength > 16) {
this.row.title = '청약고객관리';
this.row.msg1 = 'ID 형식에 맞지 않습니다.';
this.row.msg2 = '확인하여 다시 등록 부탁 드립니다.';
this.row.focusTaget = '1';
this.$refs.commmonModal.alertModalOpen(this.row);
return false;
}
if(!this.doPwdValidate()){
return false;
}
if(this.isNull(this.userNm)){
this.row.title = '청약고객관리';
this.row.msg1 = '이름을 입력해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '이름을 입력해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._userNm.focus();
return false;
}
if(this.isNull(this.mdn)){
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰번호를 입력해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰번호를 입력해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._phone.focus();
return false;
}
const hp = this.mdn;
if(!this.isNull(hp) && !this.isMobile(hp)){
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰 번호 형식이 잘못되었습니다. 확인해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '휴대폰 번호 형식이 잘못되었습니다. 확인해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._phone.focus();
return false;
}
if(this.isNull(this.email)){
this.row.title = '청약고객관리';
this.row.msg1 = '이메일을 입력해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '이메일을 입력해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._email.focus();
return false;
}
const email = this.email;
if(!this.isNull(email) && !lodash.isEqual(email,'@') && !this.emailCheck(email)){
this.row.title = '청약고객관리';
this.row.msg1 = '이메일 형식이 잘못되었습니다. 확인해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '이메일 형식이 잘못되었습니다. 확인해 주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.$refs._email.focus();
return false;
}
if(this.isNull(this.userStat)){
this.row.title = '청약고객관리';
this.row.msg1 = '상태를 선택 해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
this.row.title = '청약고객관리';
this.row.msg1 = '상태를 선택 해주세요.';
this.$refs.commmonModal.alertModalOpen(this.row);
// this.$refs._auth.focus();
return false;
}
@@ -205,50 +216,46 @@ export default {
return true;
},
// 모달 띄우기
ModalOpen(){
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'block';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'block';
var obj = document.getElementsByClassName('modal29');
obj[0].style.display = 'block';
this.formReset();
ModalOpen(){
// 모달 오픈
var dimmed = document.getElementsByClassName('modal29');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.formReset();
},
// 모달 끄기
ModalClose(){
//this.formReset();
var dimmed = document.getElementsByClassName('dimmed');
dimmed[0].style.display = 'none';
var wrap = document.getElementsByClassName('popup-wrap');
wrap[0].style.display = 'none';
var popup = document.getElementsByClassName('modal29');
popup[0].style.display = 'none';
ModalClose(){
var dimmed = document.getElementsByClassName('modal29');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
// 저장 후 부모창 호출.
toComplete(){
this.getParent('memberList').$refs.table.reloadData();
this.getParent('memberList').$refs.table.reloadData();
this.ModalClose();
},
async doInsert(){
if(this.doValidate()){
console.log(this.row)
},
async doInsert(){
if(this.doValidate()){
console.log(this.row)
try {
const response = await custMgtApi.insertTestId(this.row);
const result = response.data;
if (result != null && result.retCode == "0000") {
// this.row.title = '청약고객관리';
// this.row.msg1 = '저장 하였습니다.';
// this.$refs.commmonModal.alertModalOpen(this.row);
this.toComplete();
}
} catch(err) {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
}
try {
const response = await custMgtApi.insertTestId(this.row);
const result = response.data;
if (result != null && result.retCode == "0000") {
this.toComplete();
}else if(result != null && result.retCode == "1009"){
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
} catch(err) {
this.row.title = '청약고객관리';
this.row.msg1 = '실패 하였습니다.';
this.$refs.commmonModal.alertModalOpen(this.row);
}
}
},
formReset(){
// this.$refs.adminRegForm.reset();

View File

@@ -1,144 +1,144 @@
<template>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed confirm" @click="confirmModalCancel();"></div>
<div class="popup-wrap confirm">
<!-- 수정 확인 -->
<div class="popup confirm">
<div class="pop-head">
<h3 class="pop-tit">{{title}}</h3>
</div>
<div class="pop-cont">
<p>{{msg}}</p>
</div>
<div class="pop-btn2">
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
<button class="btn-default" @click="confirmModalCancel();">취소</button>
</div>
</div>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed confirm" @click="confirmModalCancel();"></div>
<div class="popup-wrap confirm">
<!-- 수정 확인 -->
<div class="popup confirm">
<div class="pop-head">
<h3 class="pop-tit">{{ title }}</h3>
</div>
<!-- 사용자 등록 - 최초 등록 -->
<div class="dimmed confirm-insert" @click="confirmInsertClose();"></div>
<div class="popup-wrap confirm-insert">
<div class="popup confirm-insert">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>해당 사용자를 등록하고 인증 메일을</p>
<p>발송하시겠습니까?</p>
<p>사용을 위해서는 등록된 이메일 인증 </p>
<p>서비스 이용이 가능합니다.</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmInsert();">확인</button>
<button class="btn-default" @click="confirmInsertClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 이메일 형식 체크 -->
<div class="dimmed validation-email" @click="validationEmailClose();"></div>
<div class="popup-wrap validation-email">
<div class="popup validation-email">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>E-mail 형식에 맞지 않습니다.</p>
<p>확인하여 다시 등록 부탁 드립니다.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationEmailClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 아이디 중복 체크 -->
<div class="dimmed validation-id-duplicate" @click="validationIdDuplicateClose();"></div>
<div class="popup-wrap validation-id-duplicate">
<div class="popup validation-id-duplicate">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>중복된 아이디가 있습니다.</p>
<p>아이디를 다시 확인하여 등록 부탁드립니다.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationIdDuplicateClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 최대 등록 제한 -->
<div class="dimmed validation-maxlimit" @click="validationMaxlimitClose();"></div>
<div class="popup-wrap validation-maxlimit">
<div class="popup validation-maxlimit">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>사용자는 최대 100개까지 등록 가능합니다.</p>
</div>
<div class="popup-btn1">
<button class="btn-pcolor" @click="validationMaxlimitClose();">확인</button>
</div>
<div class="pop-cont">
<p>{{ msg }}</p>
</div>
</div>
<div class="pop-btn2">
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
<button class="btn-default" @click="confirmModalCancel();">취소</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 휴대폰번호 형식 체크 -->
<div class="dimmed valication-phonenumber" @click="validationPhonenumberClose();"></div>
<div class="popup-wrap valication-phonenumber">
<div class="popup valication-phonenumber">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>휴대폰번호를 확인해 주세요.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationPhonenumberClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 최초 등록 -->
<div class="dimmed confirm-insert" @click="confirmInsertClose();"></div>
<div class="popup-wrap confirm-insert">
<div class="popup confirm-insert">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>해당 사용자를 등록하고 인증 메일을</p>
<p>발송하시겠습니까?</p>
<p>사용을 위해서는 등록된 이메일 인증 </p>
<p>서비스 이용이 가능합니다.</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmInsert();">확인</button>
<button class="btn-default" @click="confirmInsertClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 삭제 -->
<div class="dimmed confirm-delete" @click="confirmDeleteClose();"></div>
<div class="popup-wrap confirm-delete">
<div class="popup confirm-delete">
<div class="pop-head">
<h3 class="pop-tit">사용자 삭제</h3>
</div>
<div class="pop-cont">
<p>선택한 사용자를 삭제하시겠습니까?</p>
</div>
<div class="pop-btn2">
<button class="btn-pcolor" @click="confirmDelete();">확인</button>
<button class="btn-default" @click="confirmDeleteClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 이메일 형식 체크 -->
<div class="dimmed validation-email" @click="validationEmailClose();"></div>
<div class="popup-wrap validation-email">
<div class="popup validation-email">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>E-mail 형식에 맞지 않습니다.</p>
<p>확인하여 다시 등록 부탁 드립니다.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationEmailClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 수정 확인 -->
<div class="dimmed confirm-update" @click="confirmUpdateClose();"></div>
<div class="popup-wrap confirm-update">
<div class="popup confirm-update">
<div class="pop-head">
<h3 class="pop-tit">사용자 수정 확인</h3>
</div>
<div class="pop-cont">
<p>변경 내용을 저장하시겠습니까?</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmUpdate();">확인</button>
<button class="btn-default" @click="confirmUpdateClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 아이디 중복 체크 -->
<div class="dimmed validation-id-duplicate" @click="validationIdDuplicateClose();"></div>
<div class="popup-wrap validation-id-duplicate">
<div class="popup validation-id-duplicate">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>중복 아이디가 있습니다.</p>
<p>아이디를 다시 확인하여 등록 부탁드립니다.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationIdDuplicateClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 수정(청약고객:sub) 확인 -->
<!-- 사용자 등록 - 최대 등록 제한 -->
<div class="dimmed validation-maxlimit" @click="validationMaxlimitClose();"></div>
<div class="popup-wrap validation-maxlimit">
<div class="popup validation-maxlimit">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>사용자는 최대 100개까지 등록 가능합니다.</p>
</div>
<div class="popup-btn1">
<button class="btn-pcolor" @click="validationMaxlimitClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 등록 - 휴대폰번호 형식 체크 -->
<div class="dimmed valication-phonenumber" @click="validationPhonenumberClose();"></div>
<div class="popup-wrap valication-phonenumber">
<div class="popup valication-phonenumber">
<div class="pop-head">
<h3 class="pop-tit">사용자 등록</h3>
</div>
<div class="pop-cont">
<p>휴대폰번호를 확인해 주세요.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="validationPhonenumberClose();">확인</button>
</div>
</div>
</div>
<!-- 사용자 삭제 -->
<div class="dimmed confirm-delete" @click="confirmDeleteClose();"></div>
<div class="popup-wrap confirm-delete">
<div class="popup confirm-delete">
<div class="pop-head">
<h3 class="pop-tit">사용자 삭제</h3>
</div>
<div class="pop-cont">
<p>선택한 사용자를 삭제하시겠습니까?</p>
</div>
<div class="pop-btn2">
<button class="btn-pcolor" @click="confirmDelete();">확인</button>
<button class="btn-default" @click="confirmDeleteClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 수정 확인 -->
<div class="dimmed confirm-update" @click="confirmUpdateClose();"></div>
<div class="popup-wrap confirm-update">
<div class="popup confirm-update">
<div class="pop-head">
<h3 class="pop-tit">사용자 수정 확인</h3>
</div>
<div class="pop-cont">
<p>변경된 내용을 저장하시겠습니까?</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmUpdate();">확인</button>
<button class="btn-default" @click="confirmUpdateClose();">취소</button>
</div>
</div>
</div>
<!-- 사용자 수정(청약고객:sub) 확인 -->
<div class="dimmed confirm-update-sub" @click="confirmUpdateSubClose();"></div>
<div class="popup-wrap confirm-update-sub">
<div class="popup confirm-update-sub">
@@ -155,287 +155,294 @@
</div>
</div>
<!-- 사용자 ID 생성 파일 업로드 - 성공 -->
<div class="dimmed success-fileupload" @click="successFileuploadClose();"></div>
<div class="popup-wrap success-fileupload">
<div class="popup success-fileupload">
<div class="pop-head">
<h3 class="pop-tit">사용자 ID 생성 파일 업로드</h3>
</div>
<div class="pop-cont">
<p>정상 업로드 되었습니다.</p>
</div>
<div class="pop-btn1">
<button class="btn-pcolor" @click="successFileuploadClose();">확인</button>
</div>
</div>
<!-- 사용자 ID 생성 파일 업로드 - 성공 -->
<div class="dimmed success-fileupload" @click="successFileuploadClose();"></div>
<div class="popup-wrap success-fileupload">
<div class="popup success-fileupload">
<div class="pop-head">
<h3 class="pop-tit">사용자 ID 생성 파일 업로드</h3>
</div>
<div class="pop-cont">
<p>정상 업로드 되었습니다.</p>
</div>
<div class="popup-btn1">
<button class="btn-pcolor" @click="successFileuploadClose();">확인</button>
</div>
</div>
</div>
<div class="dimmed fail-fileupload" @click="failFileuploadClose();"></div>
<div class="popup-wrap fail-fileupload">
<!-- 사용자 ID 생성 파일 업로드 -->
<div class="popup fail-fileupload">
<div class="pop-head">
<h3 class="pop-tit">사용자 ID 생성 파일 업로드</h3>
</div>
<div class="pop-cont">
<p>파일 업로드 오류가 발생하여 정상건만</p>
<p>업로드 완료하였습니다.</p>
</div>
<ul class="pop-cont-detail">
<li> <span class="number">{{ totalCnt }}</span> ( 정상 <span class="number blue">{{ successCnt }}</span> 오류
<span class="number red">{{ failCnt }}</span> )
</li>
</ul>
<div class="pop-cont bottom">
<p>오류 건은 확인 재등록 부탁 드립니다.</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="failFileuploadOk();">확인</button>
<!-- <button class="btn-default" @click="failFileuploadClose();">취소</button>-->
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "validationConfirmPop",
data(){
return{
row:{},
title:'',
msg: '',
}
name: "validationConfirmPop",
data() {
return {
row: {},
title: '',
msg: '',
failCnt: 0,
successCnt: 0,
totalCnt: 0,
}
},
methods: {
//사용자등록 - 최초등록 Open
confirmInsertOpen() {
var dimmed = document.getElementsByClassName('confirm-insert');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
methods :{
//사용자등록 - 최초등록 Open
confirmInsertOpen(){
var dimmed = document.getElementsByClassName('confirm-insert');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
//사용자등록 - 최초등록
confirmInsert(){
var dimmed = document.getElementsByClassName('confirm-insert');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.memberInsert();
},
//사용자등록 - 최초등록 Close
confirmInsertClose(){
var dimmed = document.getElementsByClassName('confirm-insert');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 사용자 삭제 Open
confirmDeleteOpen(){
var dimmed = document.getElementsByClassName('confirm-delete');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
//사용자 삭제
confirmDelete(){
var dimmed = document.getElementsByClassName('confirm-delete');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
//사용자 삭제 Close
confirmDeleteClose(){
var dimmed = document.getElementsByClassName('confirm-delete');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
//사용자 수정 확인 Open
confirmUpdateOpen(){
var dimmed = document.getElementsByClassName('confirm-update');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
//사용자 수정 확인
confirmUpdate(){
var dimmed = document.getElementsByClassName('confirm-update');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.memberUpdate();
},
// 사용자 수정 Close
confirmUpdateClose(){
var dimmed = document.getElementsByClassName('confirm-update');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
//사용자 수정(청약고객-sub) 확인 Open
confirmUpdateSubOpen(){
var dimmed = document.getElementsByClassName('confirm-update-sub');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
//사용자 수정(청약고객-sub) 확인
confirmUpdateSub(){
var dimmed = document.getElementsByClassName('confirm-update-sub');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.updateAdminInfo();
},
// 사용자 수정(청약고객-sub) Close
confirmUpdateSubClose(){
var dimmed = document.getElementsByClassName('confirm-update-sub');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 이메일 형식 체크 Open
validationEmailOpen(){
var dimmed = document.getElementsByClassName('validation-email');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
// 이메일 형식 체크 Close
validationEmailClose(){
var dimmed = document.getElementsByClassName('validation-email');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.checkEmailFocus();
},
// 아이디 중복 체크 Open
validationIdDuplicateOpen(){
var dimmed = document.getElementsByClassName('validation-id-duplicate');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
// 아이디 중복 체크 Close
validationIdDuplicateClose(){
var dimmed = document.getElementsByClassName('validation-id-duplicate');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.checkIdDupFocus();
},
// 최대 등록 제한 Open
validationMaxlimitOpen(){
console.log("1231232323")
var dimmed = document.getElementsByClassName('validation-maxlimit');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
// 최대 등록 제한 Close
validationMaxlimitClose(){
var dimmed = document.getElementsByClassName('validation-maxlimit');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
// this.$parent.toComplete();
},
// 휴대폰번호 형식 체크 Open
validationPhonenumberOpen(){
var dimmed = document.getElementsByClassName('valication-phonenumber');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
// 휴대폰번호 형식 체크 Close
validationPhonenumberClose(){
var dimmed = document.getElementsByClassName('valication-phonenumber');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.$parent.checkPhoneFocus();
},
// 사용자 ID 생성 파일 업로드 - 성공 Open
successFileuploadOpen(){
var dimmed = document.getElementsByClassName('success-fileupload');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
// 사용자 ID 생성 파일 업로드 - 성공 Close
successFileuploadClose(){
var dimmed = document.getElementsByClassName('success-fileupload');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
// 목록페이지 이동
this.toComplete();
},
// 정상완료 후 목록페이지 이동
toComplete(){
this.row.searchType1 = '';
this.row.searchType2= '';
this.row.searchType3= '';
this.row.searchText1= '';
this.row.startDt= '';
this.row.endDt= '';
this.row.page = 1;
this.$router.push({ name: 'subsList', params: this.row });
},
// 모달 오픈
confirmModalOpen(props){
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
// var modal41 = document.getElementsByClassName('modal41');
// modal41[0].style.display = 'block';
this.title = props.title;
this.msg = props.msg;
},
// 모달 끄기(ok)
confirmModalClose(){
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancel(){
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.row.result = false;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
}
//사용자등록 - 최초등록
confirmInsert() {
var dimmed = document.getElementsByClassName('confirm-insert');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.memberInsert();
},
//사용자등록 - 최초등록 Close
confirmInsertClose() {
var dimmed = document.getElementsByClassName('confirm-insert');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
// 사용자 삭제 Open
confirmDeleteOpen() {
var dimmed = document.getElementsByClassName('confirm-delete');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
//사용자 삭제
confirmDelete() {
var dimmed = document.getElementsByClassName('confirm-delete');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
//사용자 삭제 Close
confirmDeleteClose() {
var dimmed = document.getElementsByClassName('confirm-delete');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
//사용자 수정 확인 Open
confirmUpdateOpen() {
var dimmed = document.getElementsByClassName('confirm-update');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
//사용자 수정 확인
confirmUpdate() {
var dimmed = document.getElementsByClassName('confirm-update');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.memberUpdate();
},
// 사용자 수정 Close
confirmUpdateClose() {
var dimmed = document.getElementsByClassName('confirm-update');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
//사용자 수정(청약고객-sub) 확인 Open
confirmUpdateSubOpen() {
var dimmed = document.getElementsByClassName('confirm-update-sub');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
//사용자 수정(청약고객-sub) 확인
confirmUpdateSub() {
var dimmed = document.getElementsByClassName('confirm-update-sub');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.updateAdminInfo();
},
// 사용자 수정(청약고객-sub) Close
confirmUpdateSubClose() {
var dimmed = document.getElementsByClassName('confirm-update-sub');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
// 이메일 형식 체크 Open
validationEmailOpen() {
var dimmed = document.getElementsByClassName('validation-email');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
// 이메일 형식 체크 Close
validationEmailClose() {
var dimmed = document.getElementsByClassName('validation-email');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.checkEmailFocus();
},
// 아이디 중복 체크 Open
validationIdDuplicateOpen() {
var dimmed = document.getElementsByClassName('validation-id-duplicate');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
// 아이디 중복 체크 Close
validationIdDuplicateClose() {
var dimmed = document.getElementsByClassName('validation-id-duplicate');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.checkIdDupFocus();
},
// 최대 등록 제한 Open
validationMaxlimitOpen() {
var dimmed = document.getElementsByClassName('validation-maxlimit');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
// 최대 등록 제한 Close
validationMaxlimitClose() {
var dimmed = document.getElementsByClassName('validation-maxlimit');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
// 휴대폰번호 형식 체크 Open
validationPhonenumberOpen() {
var dimmed = document.getElementsByClassName('valication-phonenumber');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
// 휴대폰번호 형식 체크 Close
validationPhonenumberClose() {
var dimmed = document.getElementsByClassName('valication-phonenumber');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.checkPhoneFocus();
},
// 사용자 ID 생성 파일 업로드 - 성공 Open
successFileuploadOpen() {
var dimmed = document.getElementsByClassName('success-fileupload');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
// 사용자 ID 생성 파일 업로드 - 성공 Close
successFileuploadClose() {
var dimmed = document.getElementsByClassName('success-fileupload');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
// 목록페이지 이동
this.toComplete();
},
// 정상완료 후 목록페이지 이동
toComplete() {
this.row.searchType1 = '';
this.row.searchType2 = '';
this.row.searchType3 = '';
this.row.searchText1 = '';
this.row.startDt = '';
this.row.endDt = '';
this.row.page = 1;
this.$router.push({name: 'subsList', params: this.row});
},
// 사용자 ID 생성 파일 업로드 - 성공 Open
failFileuploadOpen(props) {
var dimmed = document.getElementsByClassName('fail-fileupload');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.totalCnt = props.totalCnt
this.successCnt = props.successCnt
this.failCnt = props.failCnt
},
failFileuploadOk() {
var dimmed = document.getElementsByClassName('fail-fileupload');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.failFileuploadOk(this.row);
},
// 사용자 ID 생성 파일 업로드 - 성공 Close
failFileuploadClose() {
var dimmed = document.getElementsByClassName('fail-fileupload');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
},
// 모달 오픈
confirmModalOpen(props) {
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.title = props.title;
this.msg = props.msg;
},
// 모달 끄기(ok)
confirmModalClose() {
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancel() {
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = false;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
}
}
</script>
<!-- <style>
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }
.popup-btn-wrap button:hover {background: #000; color: #fff;}
</style> -->
</script>

View File

@@ -1,13 +1,13 @@
<template>
<!-- <div class="wrap bg-wrap"> -->
<div>
<!-- <div class="wrap bg-wrap"> -->
<div>
<div class="dimmed alertModal" @click="alertModalCancel();"></div>
<div class="popup-wrap alertModal">
<!-- 로그인실패: 확인 -->
<div class="popup alertModal">
<div class="pop-head">
<h3 class="pop-tit">{{title}}</h3>
<h3 class="pop-tit">{{ title }}</h3>
</div>
<div class="pop-cont">
<p>{{ msg1 }}</p>
@@ -21,86 +21,86 @@
</div>
</div>
<div class="dimmed confirm" @click="confirmModalCancel();"></div>
<div class="popup-wrap confirm">
<!-- 수정 확인 -->
<div class="popup confirm">
<div class="pop-head">
<h3 class="pop-tit">{{title}}</h3>
</div>
<div class="pop-cont">
<div class="dimmed confirm" @click="confirmModalCancel();"></div>
<div class="popup-wrap confirm">
<!-- 수정 확인 -->
<div class="popup confirm">
<div class="pop-head">
<h3 class="pop-tit">{{ title }}</h3>
</div>
<div class="pop-cont">
<p>{{ msg1 }}</p>
<p v-if="msg2 !== ''">{{ msg2 }}</p>
<p v-if="msg3 !== ''">{{ msg3 }}</p>
<p v-if="msg4 !== ''">{{ msg4 }}</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
<button class="btn-default" @click="confirmModalCancel();">취소</button>
</div>
</div>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalClose();">확인</button>
<button class="btn-default" @click="confirmModalCancel();">취소</button>
</div>
</div>
</div>
<div class="dimmed confirm2" @click="confirmModalCancel2();"></div>
<div class="popup-wrap confirm2">
<!-- 수정 확인 -->
<div class="popup confirm2">
<div class="pop-head">
<h3 class="popup-tit">{{title}}</h3>
</div>
<div class="pop-cont">
<div class="popup-wrap confirm2">
<!-- 수정 확인 -->
<div class="popup confirm2">
<div class="pop-head">
<h3 class="popup-tit">{{ title }}</h3>
</div>
<div class="pop-cont">
<p>{{ msg1 }}</p>
<p v-if="msg2 !== ''">{{ msg2 }}</p>
<p v-if="msg3 !== ''">{{ msg3 }}</p>
<p v-if="msg4 !== ''">{{ msg4 }}</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalClose2();">확인</button>
<button class="btn-default" @click="confirmModalCancel2();">취소</button>
</div>
</div>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalClose2();">확인</button>
<button class="btn-default" @click="confirmModalCancel2();">취소</button>
</div>
</div>
</div>
<div class="dimmed confirmMemo" @click="confirmModalCancelMemo();"></div>
<div class="popup-wrap confirmMemo">
<!-- 수정 확인 -->
<div class="popup confirmMemo">
<div class="pop-head">
<h3 class="popup-tit">{{title}}</h3>
</div>
<div class="pop-cont">
<div class="popup-wrap confirmMemo">
<!-- 수정 확인 -->
<div class="popup confirmMemo">
<div class="pop-head">
<h3 class="popup-tit">{{ title }}</h3>
</div>
<div class="pop-cont">
<p>{{ msg1 }}</p>
<p v-if="msg2 !== ''">{{ msg2 }}</p>
<p v-if="msg3 !== ''">{{ msg3 }}</p>
<p v-if="msg4 !== ''">{{ msg4 }}</p>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalCloseMemo();">확인</button>
<button class="btn-default" @click="confirmModalCancelMemo();">취소</button>
</div>
</div>
</div>
<div class="popup-btn2">
<button class="btn-pcolor" @click="confirmModalCloseMemo();">확인</button>
<button class="btn-default" @click="confirmModalCancelMemo();">취소</button>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "confirm",
data(){
return{
row:{},
title:'',
msg1: '',
msg2: '',
msg3: '',
msg4: '',
targetFocus: '',
}
},
methods :{
alertModalOpen(props){
name: "confirm",
data() {
return {
row: {},
title: '',
msg1: '',
msg2: '',
msg3: '',
msg4: '',
targetFocus: '',
}
},
methods: {
alertModalOpen(props) {
console.log(props.msg1);
this.title = props.title;
this.msg1 = props.msg1;
@@ -109,136 +109,130 @@ export default {
this.msg4 = props.msg4;
console.log(props)
var dimmed = document.getElementsByClassName('alertModal');
for(var i = 0; i < dimmed.length; i++){
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
},
alertModalClose(){
alertModalClose() {
var dimmed = document.getElementsByClassName('alertModal');
for(var i = 0; i < dimmed.length; i++){
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.checkFocus();
},
alertModalCancel(){
alertModalCancel() {
var dimmed = document.getElementsByClassName('alertModal');
for(var i = 0; i < dimmed.length; i++){
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.$parent.checkFocus();
},
// 모달 오픈
confirmModalOpen(props){
// 모달 오픈
confirmModalOpen(props) {
console.log(props)
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.title = props.title;
this.msg1 = props.msg1;
this.msg2 = props.msg2;
this.msg3 = props.msg3;
this.msg4 = props.msg4;
},
confirmModalOpen2(props){
var dimmed = document.getElementsByClassName('confirm2');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
confirmModalOpen2(props) {
var dimmed = document.getElementsByClassName('confirm2');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.title = props.title;
this.msg1 = props.msg1;
this.msg2 = props.msg2;
this.msg3 = props.msg3;
this.msg4 = props.msg4;
},
confirmModalOpenMemo(props){
var dimmed = document.getElementsByClassName('confirmMemo');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'block';
}
},
confirmModalOpenMemo(props) {
var dimmed = document.getElementsByClassName('confirmMemo');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'block';
}
this.title = props.title;
this.msg1 = props.msg1;
this.msg2 = props.msg2;
this.msg3 = props.msg3;
this.msg4 = props.msg4;
},
// 모달 끄기(ok)
confirmModalClose(){
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(ok)
confirmModalClose2(){
var dimmed = document.getElementsByClassName('confirm2');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 모달 끄기(ok)
confirmModalClose() {
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(ok)
confirmModalCloseMemo(){
var dimmed = document.getElementsByClassName('confirmMemo');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 모달 끄기(ok)
confirmModalClose2() {
var dimmed = document.getElementsByClassName('confirm2');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancel(){
var dimmed = document.getElementsByClassName('confirm');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 모달 끄기(ok)
confirmModalCloseMemo() {
var dimmed = document.getElementsByClassName('confirmMemo');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = true;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancel() {
var dimmed = document.getElementsByClassName('confirm');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = false;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancel2(){
var dimmed = document.getElementsByClassName('confirm2');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 모달 끄기(취소)
confirmModalCancel2() {
var dimmed = document.getElementsByClassName('confirm2');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = false;
// 부모 함수 호출.
this.$parent.confirmCalbackFnc(this.row);
},
// 모달 끄기(취소)
confirmModalCancelMemo(){
var dimmed = document.getElementsByClassName('confirmMemo');
for(var i = 0; i < dimmed.length; i++){
dimmed[i].style.display = 'none';
}
},
// 모달 끄기(취소)
confirmModalCancelMemo() {
var dimmed = document.getElementsByClassName('confirmMemo');
for (var i = 0; i < dimmed.length; i++) {
dimmed[i].style.display = 'none';
}
this.row.result = false;
// 부모 함수 호출.
this.$parent.memberDeleteConfirmCalbackFnc(this.row);
},
}
},
}
}
</script>
<!--
<style>
.popup-btn-wrap {width: 500px; margin: auto; padding: 100px 0;}
.popup-btn-wrap button {width: 100%; margin-bottom: 10px; height: 50px; border-radius: 5px; box-shadow: none; border: 1px solid #000; }
.popup-btn-wrap button:hover {background: #000; color: #fff;}
</style> -->
</script>