mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-07 02:16:34 +09:00
TC 수정건
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed modal29" @click="ModalClose();"></div>
|
||||
<div class="popup-wrap modal29">
|
||||
<!-- 테스트 ID 생성 -->
|
||||
<!-- <div class="wrap bg-wrap"> -->
|
||||
<div>
|
||||
<div class="dimmed modal29" @click="ModalClose();"></div>
|
||||
<div class="popup-wrap modal29">
|
||||
<!-- 테스트 ID 생성 -->
|
||||
<div class="popup modal29 popup_form">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">테스트 ID 생성</h3>
|
||||
@@ -11,39 +11,45 @@
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input type="text" placeholder="아이디 입력" v-model.trim="userId" ref="_userId" @keypress="onlyId" @input="onlyId" minlength="6" maxlength="16"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호 확인</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<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="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="100" ref="_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="center">상태</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="popup_radio1" v-model="userStat">
|
||||
<label for="popup_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="popup_radio2" v-model="userStat">
|
||||
<label for="popup_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input type="text" placeholder="아이디 입력" v-model.trim="userId" ref="_userId" @keypress="onlyId"
|
||||
@input="onlyId" minlength="6" maxlength="16"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||
maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호 확인</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||
maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<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="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="100"
|
||||
ref="_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="center">상태</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="popup_radio1" v-model="userStat">
|
||||
<label for="popup_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="popup_radio2" v-model="userStat">
|
||||
<label for="popup_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
@@ -52,216 +58,221 @@
|
||||
<button class="btn-default" @click="ModalClose();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
</div>
|
||||
</div>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
</div>
|
||||
</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 lodash from "lodash";
|
||||
import commonModal from "../components/commonModal";
|
||||
import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirmPop";
|
||||
|
||||
export default {
|
||||
name: "subsRegPop",
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch:{
|
||||
stat(){
|
||||
console.log('watch : ', this.stat)
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
row: {},
|
||||
userId:'',
|
||||
name:'',
|
||||
mdn:'',
|
||||
email:'',
|
||||
userStat: '01',
|
||||
userNm:"",
|
||||
userPwd1:"",
|
||||
userPwd2:"",
|
||||
code:"",
|
||||
name: "subsRegPop",
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch: {
|
||||
stat() {
|
||||
console.log('watch : ', this.stat)
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
props: ['sendData'],
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
userId: '',
|
||||
name: '',
|
||||
mdn: '',
|
||||
email: '',
|
||||
userStat: '01',
|
||||
userNm: "",
|
||||
userPwd1: "",
|
||||
userPwd2: "",
|
||||
code: "",
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
props: ['sendData'],
|
||||
components: {
|
||||
commonModal,
|
||||
},
|
||||
created(){
|
||||
this.formReset();
|
||||
created() {
|
||||
this.formReset();
|
||||
},
|
||||
methods :{
|
||||
doPwdValidate(){
|
||||
if(this.isNull(this.userPwd1)){
|
||||
methods: {
|
||||
doPwdValidate() {
|
||||
if (this.isNull(this.userPwd1)) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.isNull(this.userPwd2)){
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
if (this.isNull(this.userPwd2)) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호 확인을 입력해 주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
if(!lodash.isEqual(this.userPwd1, this.userPwd2)){
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
if (!lodash.isEqual(this.userPwd1, this.userPwd2)) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
const pwdLen = this.bytes(this.userPwd1);
|
||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
const pwdLen = this.bytes(this.userPwd1);
|
||||
if (!(pwdLen >= 8 && pwdLen <= 16)) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
const pEng = /[A-Za-z]/g; // 영문자
|
||||
const pNum = /[0-9]/g; // 숫자
|
||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||
if(!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
const pEng = /[A-Za-z]/g; // 영문자
|
||||
const pNum = /[0-9]/g; // 숫자
|
||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||
if (!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return;
|
||||
}
|
||||
this.row.userPw=this.userPwd1;
|
||||
return true;
|
||||
},
|
||||
doValidate(){
|
||||
if(this.isNull(this.userId)){
|
||||
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.$refs._userNm.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.isNull(this.mdn)){
|
||||
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.$refs._phone.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.isNull(this.email)){
|
||||
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.$refs._email.focus();
|
||||
return false;
|
||||
}
|
||||
if(this.isNull(this.userStat)){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '상태를 선택 해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
// this.$refs._auth.focus();
|
||||
return false;
|
||||
}
|
||||
this.row.userId=this.userId;
|
||||
this.row.userNm=this.userNm;
|
||||
this.row.mdn=hp;
|
||||
this.row.userEmail=email;
|
||||
this.row.userStat=this.userStat;
|
||||
return true;
|
||||
},
|
||||
// 모달 띄우기
|
||||
ModalOpen(){
|
||||
// 모달 오픈
|
||||
var dimmed = document.getElementsByClassName('modal29');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
this.formReset();
|
||||
},
|
||||
// 모달 끄기
|
||||
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.ModalClose();
|
||||
},
|
||||
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.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);
|
||||
}
|
||||
}
|
||||
this.$refs._pwd1.focus();
|
||||
return;
|
||||
}
|
||||
this.row.userPw = this.userPwd1;
|
||||
return true;
|
||||
},
|
||||
formReset(){
|
||||
doValidate() {
|
||||
if (this.isNull(this.userId)) {
|
||||
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.$refs._userNm.focus();
|
||||
return false;
|
||||
}
|
||||
if (this.isNull(this.mdn)) {
|
||||
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.$refs._phone.focus();
|
||||
return false;
|
||||
}
|
||||
if (this.isNull(this.email)) {
|
||||
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.$refs._email.focus();
|
||||
return false;
|
||||
}
|
||||
if (this.isNull(this.userStat)) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '상태를 선택 해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
// this.$refs._auth.focus();
|
||||
return false;
|
||||
}
|
||||
this.row.userId = this.userId;
|
||||
this.row.userNm = this.userNm;
|
||||
this.row.mdn = hp;
|
||||
this.row.userEmail = email;
|
||||
this.row.userStat = this.userStat;
|
||||
return true;
|
||||
},
|
||||
// 모달 띄우기
|
||||
ModalOpen() {
|
||||
// 모달 오픈
|
||||
var dimmed = document.getElementsByClassName('modal29');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
this.formReset();
|
||||
},
|
||||
// 모달 끄기
|
||||
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.ModalClose();
|
||||
},
|
||||
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.toComplete();
|
||||
} else if (result != null && result.retCode == "1009") {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
} else if (result != null && result.retCode == "4018") {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '중복된 아이디 입니다.';
|
||||
this.row.msg2 = '아이디를 다시 확인하여 등록 부탁드립니다.';
|
||||
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();
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,225 +1,249 @@
|
||||
<template>
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">청약고객관리</h3>
|
||||
<p class="breadcrumb">고객관리 > 청약고객관리 > 회원관리</p>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="contents_wrap">
|
||||
<div class="top_wrap">
|
||||
<h3 class="title">청약고객관리</h3>
|
||||
<p class="breadcrumb">고객관리 > 청약고객관리 > 회원관리</p>
|
||||
</div>
|
||||
|
||||
<div class="table table_form">
|
||||
<form action=""
|
||||
target="_blank"
|
||||
method="post"
|
||||
ref="form">
|
||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId"/>
|
||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey"/>
|
||||
<div class="table table_form">
|
||||
<form action="" target="_blank" method="post" ref="form">
|
||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId" />
|
||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey" />
|
||||
</form>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:140px">
|
||||
<col style="width:auto">
|
||||
<col style="width:auto">
|
||||
<col style="width:140px">
|
||||
<col style="width:auto">
|
||||
<col style="width:auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td colspan="2">{{userNm}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등록일</th>
|
||||
<td colspan="2">{{regDt}}</td>
|
||||
<th class="center">구분</th>
|
||||
<td colspan="2">{{userType}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td colspan="2">
|
||||
{{userId}}
|
||||
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||
</td>
|
||||
<th class="center">관리자명</th>
|
||||
<td colspan="2">{{adminId}} / {{adminNm}}</td>
|
||||
</tr>
|
||||
<tr class="tr_input w30">
|
||||
<th>발송한도 설정</th>
|
||||
<td colspan="2" v-if="sendingLimit=='0'">
|
||||
<input type="text" v-model="sendingLimit" ref="_sendingLimit" disabled>
|
||||
</td>
|
||||
<td colspan="2" v-if="sendingLimit!='0'">
|
||||
<input type="text" v-model.trim="sendingLimit" ref="_sendingLimit" @keypress="onlyNum" @input="onlyNum" maxlength="20">
|
||||
</td>
|
||||
<th class="center">라인타입</th>
|
||||
<td colspan="2">
|
||||
<select name="" id="" v-model="lineType">
|
||||
<option value="NORMAL">일반</option>
|
||||
<option value="BATCH">배치</option>
|
||||
<option value="REAL">실시간</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w30">
|
||||
<th>ID 잠금</th>
|
||||
<td colspan="2">
|
||||
<input type="radio" name="userStat" value="01" id="right_radio1" v-model="userStat">
|
||||
<label for="right_radio1">사용</label>
|
||||
<input type="radio" name="userStat" value="02" id="right_radio2" v-model="userStat">
|
||||
<label for="right_radio2">정지</label>
|
||||
</td>
|
||||
<th class="center">마지막 접속일</th>
|
||||
<td colspan="2">{{lastLoginDt}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td colspan="5">
|
||||
<div class="input-memo">
|
||||
<textarea class="memo_text" placeholder="메모 입력란입니다. 작성글은 저장 버튼으로 저장되고 마지막 저장 내용은 남아 있습니다" v-model="memo"></textarea>
|
||||
<!--
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 140px" />
|
||||
<col style="width: auto" />
|
||||
<col style="width: auto" />
|
||||
<col style="width: 140px" />
|
||||
<col style="width: auto" />
|
||||
<col style="width: auto" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td colspan="2">{{ userNm }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등록일</th>
|
||||
<td colspan="2">{{ regDt }}</td>
|
||||
<th class="center">구분</th>
|
||||
<td colspan="2">{{ userType }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td colspan="2">
|
||||
{{ userId }}
|
||||
<button type="button" class="button grey btn-a" @click="homeLogin">로그인</button>
|
||||
</td>
|
||||
<th class="center">관리자명</th>
|
||||
<td colspan="2">{{ adminId }} / {{ adminNm }}</td>
|
||||
</tr>
|
||||
<tr class="tr_input w30">
|
||||
<th>발송한도 설정</th>
|
||||
<td colspan="2" v-if="sendingLimit == '0'">
|
||||
<input type="text" v-model="sendingLimit" ref="_sendingLimit" disabled />
|
||||
</td>
|
||||
<td colspan="2" v-if="sendingLimit != '0'">
|
||||
<input
|
||||
type="text"
|
||||
v-model.trim="sendingLimit"
|
||||
ref="_sendingLimit"
|
||||
@keypress="onlyNum"
|
||||
@input="onlyNum"
|
||||
maxlength="20"
|
||||
/>
|
||||
</td>
|
||||
<th class="center">라인타입</th>
|
||||
<td colspan="2">
|
||||
<select name="" id="" v-model="lineType">
|
||||
<option value="NORMAL">일반</option>
|
||||
<option value="BATCH">배치</option>
|
||||
<option value="REAL">실시간</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="w30">
|
||||
<th>ID 잠금</th>
|
||||
<td colspan="2">
|
||||
<input type="radio" name="userStat" value="01" id="right_radio1" v-model="userStat" />
|
||||
<label for="right_radio1">사용</label>
|
||||
<input type="radio" name="userStat" value="02" id="right_radio2" v-model="userStat" />
|
||||
<label for="right_radio2">정지</label>
|
||||
</td>
|
||||
<th class="center">마지막 접속일</th>
|
||||
<td colspan="2">{{ lastLoginDt }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td colspan="5">
|
||||
<div class="input-memo">
|
||||
<textarea
|
||||
class="memo_text"
|
||||
placeholder="메모 입력란입니다. 작성글은 저장 버튼으로 저장되고 마지막 저장 내용은 남아 있습니다"
|
||||
v-model="memo"
|
||||
></textarea>
|
||||
<!--
|
||||
<textarea class="memo_text" cols="160" rows="10" placeholder="메모 입력란입니다. 작성글은 저장 버튼으로 저장되고 마지막 저장 내용은 남아 있습니다" v-model="memo"></textarea>
|
||||
-->
|
||||
<!--
|
||||
<!--
|
||||
|
||||
textarea 구글 검색하셔서 태그 옵션 더 확인해보면 좋아요
|
||||
<textarea name="" id="" cols="30" rows="10" placeholder="메모 입력란입니다. 작성글은 저장 버튼으로 저장되고 마지막 저장 내용은 남아 있습니다"></textarea>
|
||||
-->
|
||||
<button type="button" class="button grey btn-a" @click="memoTotalPopOpen();">전체 메모보기</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button type="button" class="button grey btn-a" @click="memoTotalPopOpen()">전체 메모보기</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="info">
|
||||
<div class="count">사용자ID 정보
|
||||
<p>( 최대 100개까지 등록 가능 )</p>
|
||||
</div>
|
||||
<div class="button_group" v-show="isActive">
|
||||
<button type="button" class="button blue add" @click="memberInsertPopOpen();">사용자 ID 생성</button>
|
||||
<button type="button" class="button blue add" @click="excelPopOpen();">사용자 ID 대량생성</button>
|
||||
<button type="button" class="button white del" @click="deleteMember();">삭제</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="table">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="10%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<div>
|
||||
<div class="info">
|
||||
<div class="count">
|
||||
사용자ID 정보
|
||||
<p>( 최대 100개까지 등록 가능 )</p>
|
||||
</div>
|
||||
<div class="button_group" v-show="isActive">
|
||||
<button type="button" class="button blue add" @click="memberInsertPopOpen()">사용자 ID 생성</button>
|
||||
<button type="button" class="button blue add" @click="excelPopOpen()">사용자 ID 대량생성</button>
|
||||
<button type="button" class="button white del" @click="deleteMember()">삭제</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="10%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" id="admin_check1" v-model="selectAll"><label for="admin_check1"></label></th>
|
||||
<th>NO</th>
|
||||
<th>ID</th>
|
||||
<th>이름</th>
|
||||
<th>휴대폰번호</th>
|
||||
<th>상태</th>
|
||||
<th>수정</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(option, i) in list" v-bind:key="i">
|
||||
<td><input type="checkbox" :id="'chk'+option.userId" v-model="selected" :value="option.userId"><label :for="'chk'+option.userId"></label></td>
|
||||
<td>{{ option.no }}</td>
|
||||
<td>{{ option.userId }}</td>
|
||||
<td>{{ option.userNm }}</td>
|
||||
<td>{{ option.mdn }}</td>
|
||||
<td>
|
||||
<!-- <input type="checkbox" id="user_id_status01" name="user_id_status" v-model="option.userStat" true-value='정상' false-value='사용중지' :style="{cursor: 'default'}" disabled/> -->
|
||||
<input type="checkbox" id="user_id_status01" name="user_id_status" v-model="option.userStat" true-value='정상' false-value='사용중지' disabled/>
|
||||
<label class="toggle_switch" for="user_id_status01"></label>
|
||||
</td>
|
||||
<td v-if="isActive"><button type="button" class="button white btn-a" @click="memberUpdatePopOpen(option.userId);">수정</button></td>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" id="admin_check1" v-model="selectAll" /><label for="admin_check1"></label>
|
||||
</th>
|
||||
<th>NO</th>
|
||||
<th>ID</th>
|
||||
<th>이름</th>
|
||||
<th>휴대폰번호</th>
|
||||
<th>상태</th>
|
||||
<th>수정</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(option, i) in list" v-bind:key="i">
|
||||
<td>
|
||||
<input type="checkbox" :id="'chk' + option.userId" v-model="selected" :value="option.userId" /><label
|
||||
:for="'chk' + option.userId"
|
||||
></label>
|
||||
</td>
|
||||
<td>{{ option.no }}</td>
|
||||
<td>{{ option.userId }}</td>
|
||||
<td>{{ option.userNm }}</td>
|
||||
<td>{{ option.mdn }}</td>
|
||||
<td>
|
||||
<!-- <input type="checkbox" id="user_id_status01" name="user_id_status" v-model="option.userStat" true-value='정상' false-value='사용중지' :style="{cursor: 'default'}" disabled/> -->
|
||||
<input
|
||||
type="checkbox"
|
||||
id="user_id_status01"
|
||||
name="user_id_status"
|
||||
v-model="option.userStat"
|
||||
true-value="정상"
|
||||
false-value="사용중지"
|
||||
disabled
|
||||
/>
|
||||
<label class="toggle_switch" for="user_id_status01"></label>
|
||||
</td>
|
||||
<td v-if="isActive">
|
||||
<button type="button" class="button white btn-a" @click="memberUpdatePopOpen(option.userId)">
|
||||
수정
|
||||
</button>
|
||||
</td>
|
||||
<td v-else></td>
|
||||
</tr>
|
||||
<tr v-if="list.length === 0">
|
||||
<td colspan="7">등록된 사용자 정보가 없습니다.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pop-btn2">
|
||||
<button class="btn-default" type="button" @click="toComplete();">취소</button>
|
||||
<button class="btn-pcolor" type="button" @click="updateAdminInfoTotal();">저장</button>
|
||||
</div>
|
||||
</tr>
|
||||
<tr v-if="list.length === 0">
|
||||
<td colspan="7">등록된 사용자 정보가 없습니다.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pop-btn2">
|
||||
<button class="btn-default" type="button" @click="toComplete()">취소</button>
|
||||
<button class="btn-pcolor" type="button" @click="updateAdminInfoTotal()">저장</button>
|
||||
</div>
|
||||
|
||||
|
||||
<member-bulk-reg-pop ref="memberBulkRegPop"> </member-bulk-reg-pop>
|
||||
<member-reg-pop ref="memberRegPop"> </member-reg-pop>
|
||||
<member-modify-pop ref="memberModifyPop"> </member-modify-pop>
|
||||
<memo-total-pop ref="memoTatalListPop"> </memo-total-pop>
|
||||
<member-bulk-reg-pop ref="memberBulkRegPop"> </member-bulk-reg-pop>
|
||||
<member-reg-pop ref="memberRegPop"> </member-reg-pop>
|
||||
<member-modify-pop ref="memberModifyPop"> </member-modify-pop>
|
||||
<memo-total-pop ref="memoTatalListPop"> </memo-total-pop>
|
||||
<common-modal ref="commmonModal"></common-modal>
|
||||
<validation-confirm-pop ref="validationConfirmPopModal"> </validation-confirm-pop>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style>
|
||||
.defaultCursor{
|
||||
cursor : default;
|
||||
}
|
||||
.defaultCursor {
|
||||
cursor: default;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import custMgtApi from "../service/custMgtApi.js";
|
||||
import custMgtApi from '../service/custMgtApi.js';
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import MemberBulkRegPop from '../components/MemberBulkRegPop';
|
||||
import MemberRegPop from '../components/MemberRegPop';
|
||||
import MemberModifyPop from '../components/MemberModifyPop';
|
||||
import MemoTotalPop from '../components/MemoTotalPop';
|
||||
import commonModal from "@/components/modal/commonModal";
|
||||
import ValidationConfirmPop from "@/modules/custMgt/components/ValidationConfirmPop";
|
||||
import commonModal from '@/components/modal/commonModal';
|
||||
import ValidationConfirmPop from '@/modules/custMgt/components/ValidationConfirmPop';
|
||||
|
||||
export default {
|
||||
name: 'memberAdminDetail',
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch:{
|
||||
stat(){
|
||||
console.log('watch : ', this.stat)
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
row:{},
|
||||
list:[],
|
||||
totalItems: 0,
|
||||
isView: 1,
|
||||
userNm:'',
|
||||
regDt: '',
|
||||
userType: '',
|
||||
userId: '',
|
||||
adminId:'',
|
||||
adminNm: '',
|
||||
sendingLimit: '',
|
||||
lineType: '',
|
||||
userStat: '',
|
||||
lastLoginDt: '',
|
||||
memo: '',
|
||||
mdn : '',
|
||||
email: '',
|
||||
userTotalCnt:0,
|
||||
selected: [],
|
||||
svcUserId:'',
|
||||
ezSvcUserAuthKey:'',
|
||||
isActive:true,
|
||||
watch: {
|
||||
stat() {
|
||||
console.log('watch : ', this.stat);
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
list: [],
|
||||
totalItems: 0,
|
||||
isView: 1,
|
||||
userNm: '',
|
||||
regDt: '',
|
||||
userType: '',
|
||||
userId: '',
|
||||
adminId: '',
|
||||
adminNm: '',
|
||||
sendingLimit: '',
|
||||
lineType: '',
|
||||
userStat: '',
|
||||
lastLoginDt: '',
|
||||
memo: '',
|
||||
mdn: '',
|
||||
email: '',
|
||||
userTotalCnt: 0,
|
||||
selected: [],
|
||||
svcUserId: '',
|
||||
ezSvcUserAuthKey: '',
|
||||
isActive: true,
|
||||
//applyTbStyle: 'cursor: default;',
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
props: {
|
||||
serviceId: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
serviceId: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
MemberBulkRegPop,
|
||||
MemberRegPop,
|
||||
@@ -228,27 +252,25 @@ export default {
|
||||
commonModal,
|
||||
ValidationConfirmPop,
|
||||
},
|
||||
created(){
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
created() {
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
},
|
||||
destroyed() {
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchText1: ''}
|
||||
});
|
||||
|
||||
this.$store.commit('searchcondition/updateSearchCondition', {
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
params: {
|
||||
searchType1: '',
|
||||
searchType2: '',
|
||||
searchText1: '',
|
||||
},
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
computed:{
|
||||
selectAll: {
|
||||
mounted() {},
|
||||
computed: {
|
||||
selectAll: {
|
||||
get() {
|
||||
return this.list ? (this.selected ? (this.selected.length === this.list.length) : false) : false;
|
||||
return this.list ? (this.selected ? this.selected.length === this.list.length : false) : false;
|
||||
},
|
||||
set(value) {
|
||||
const selected = [];
|
||||
@@ -265,19 +287,19 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
valAlert(props){
|
||||
//alert("호출됨!");
|
||||
this.$refs.commmonModal.alertModalOpen(props);
|
||||
},
|
||||
valConfirm(props){
|
||||
valAlert(props) {
|
||||
//alert("호출됨!");
|
||||
this.$refs.commmonModal.alertModalOpen(props);
|
||||
},
|
||||
valConfirm(props) {
|
||||
this.$refs.commmonModal.confirmModalOpen(props);
|
||||
},
|
||||
async memberDetail(serviceId){
|
||||
async memberDetail(serviceId) {
|
||||
this.row.userId = serviceId;
|
||||
try {
|
||||
const response = await custMgtApi.memberAdminDetail(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
if (result != null && result.retCode == '0000') {
|
||||
this.formReset();
|
||||
this.userNm = result.data.userNm;
|
||||
this.userId = result.data.userId;
|
||||
@@ -289,7 +311,7 @@ export default {
|
||||
this.sendingLimit = result.data.sendingLimit;
|
||||
this.lineType = result.data.lineType;
|
||||
this.userStat = result.data.userStat;
|
||||
if(this.userStat === '02'){
|
||||
if (this.userStat === '02') {
|
||||
this.isActive = false;
|
||||
}
|
||||
this.lastLoginDt = result.data.lastLoginDt;
|
||||
@@ -298,7 +320,7 @@ export default {
|
||||
this.email = result.data.email;
|
||||
this.list = result.data.list;
|
||||
this.userTotalCnt = result.data.list.length;
|
||||
console.log('userTotalCnt:'+result.data.list.length);
|
||||
console.log('userTotalCnt:' + result.data.list.length);
|
||||
this.totalItems = result.data.paging.totalCnt;
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -307,10 +329,9 @@ export default {
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
|
||||
},
|
||||
async updateAdminInfoTotal(){
|
||||
this.row = {}
|
||||
async updateAdminInfoTotal() {
|
||||
this.row = {};
|
||||
this.row.userId = this.adminId;
|
||||
this.row.sendingLimit = this.sendingLimit;
|
||||
this.row.lineType = this.lineType;
|
||||
@@ -321,19 +342,18 @@ export default {
|
||||
|
||||
try {
|
||||
const response = await custMgtApi.updateAdminInfoTotal(this.row);
|
||||
console.log(response)
|
||||
console.log(response);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
|
||||
if (result != null && result.retCode == '0000') {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '저장 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.memberDetail(this.row.userId);
|
||||
}else if(result != null && result.retCode == "4019"){
|
||||
} else if (result != null && result.retCode == '4019') {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '발송한도금액이 정액한도금액보다 작습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}else {
|
||||
} else {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
@@ -344,30 +364,29 @@ export default {
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
|
||||
},
|
||||
// 저장 후 부모창 호출.
|
||||
toComplete(){
|
||||
toComplete() {
|
||||
this.$router.push({ name: 'memberList', params: this.row });
|
||||
},
|
||||
excelPopOpen() {
|
||||
console.log("memberInsertPopOpen >> " + this.userTotalCnt)
|
||||
if(this.userTotalCnt >= 100){
|
||||
console.log('memberInsertPopOpen >> ' + this.userTotalCnt);
|
||||
if (this.userTotalCnt >= 100) {
|
||||
// 사용자등록제한_최대100개까지
|
||||
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
|
||||
return false;
|
||||
}
|
||||
console.log(this.adminId);
|
||||
this.$refs.memberBulkRegPop.excelPopOpen(this.adminId, this.totalItems);
|
||||
},
|
||||
},
|
||||
memberUpdatePopOpen(target) {
|
||||
this.row.userId = target;
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memberModifyPop.memberUpdateModalOpen(this.row);
|
||||
},
|
||||
memberInsertPopOpen() {
|
||||
console.log("memberInsertPopOpen >> " + this.userTotalCnt)
|
||||
if(this.userTotalCnt >= 100){
|
||||
console.log('memberInsertPopOpen >> ' + this.userTotalCnt);
|
||||
if (this.userTotalCnt >= 100) {
|
||||
// 사용자등록제한_최대100개까지
|
||||
this.$refs.validationConfirmPopModal.validationMaxlimitOpen();
|
||||
return false;
|
||||
@@ -376,87 +395,85 @@ export default {
|
||||
this.row.userTotalCnt = this.userTotalCnt;
|
||||
this.$refs.memberRegPop.memberInsertModalOpen(this.row);
|
||||
},
|
||||
memoTotalPopOpen(){
|
||||
memoTotalPopOpen() {
|
||||
this.row.adminId = this.adminId;
|
||||
this.$refs.memoTatalListPop.memoTotalModalOpen(this.row);
|
||||
},
|
||||
deleteMember() {
|
||||
console.log('delete count:'+this.selected.length);
|
||||
if(this.selected.length === 0){
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '삭제대상을 체크해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
this.row.title ='청약고객관리';
|
||||
this.row.msg1 ='삭제 하시겠습니까?'
|
||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||
},
|
||||
async memberDelete(){
|
||||
var serviceId = this.adminId;
|
||||
this.row.list = this.selected.map((row)=>({userId:row}));
|
||||
this.row.adminId = this.adminId;
|
||||
console.log(this.row);
|
||||
try {
|
||||
let response = await custMgtApi.deleteUser(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.memberDetail(serviceId);
|
||||
}else{
|
||||
this.row={}
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row={}
|
||||
deleteMember() {
|
||||
console.log('delete count:' + this.selected.length);
|
||||
if (this.selected.length === 0) {
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '삭제대상을 체크해주세요.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
return false;
|
||||
}
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '삭제 하시겠습니까?';
|
||||
this.$refs.commmonModal.confirmModalOpen2(this.row);
|
||||
},
|
||||
async memberDelete() {
|
||||
var serviceId = this.adminId;
|
||||
this.row.list = this.selected.map((row) => ({ userId: row }));
|
||||
this.row.adminId = this.adminId;
|
||||
console.log(this.row);
|
||||
try {
|
||||
let response = await custMgtApi.deleteUser(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == '0000') {
|
||||
this.memberDetail(serviceId);
|
||||
} else {
|
||||
this.row = {};
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
this.row = {};
|
||||
this.row.title = '청약고객관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
api.commAuth().then((response) => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
formReset(){
|
||||
formReset() {
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
},
|
||||
homeLogin(){
|
||||
console.log(process.env.VUE_APP_HOME_PAGE_URL)
|
||||
console.log(process.env.VUE_APP_AUTHKEY)
|
||||
this.$refs.form.action = process.env.VUE_APP_HOME_PAGE_URL
|
||||
this.svcUserId = this.userId
|
||||
this.ezSvcUserAuthKey = process.env.VUE_APP_AUTHKEY
|
||||
this.$refs.form.submit()
|
||||
homeLogin() {
|
||||
console.log(process.env.VUE_APP_HOME_PAGE_URL);
|
||||
console.log(process.env.VUE_APP_AUTHKEY);
|
||||
this.$refs.form.action = process.env.VUE_APP_HOME_PAGE_URL;
|
||||
this.svcUserId = this.userId;
|
||||
this.ezSvcUserAuthKey = process.env.VUE_APP_AUTHKEY;
|
||||
this.$refs.form.submit();
|
||||
},
|
||||
confirmCalbackFnc(props){
|
||||
console.log(props)
|
||||
if(props.result){
|
||||
confirmCalbackFnc(props) {
|
||||
console.log(props);
|
||||
if (props.result) {
|
||||
this.memberDelete();
|
||||
}
|
||||
},
|
||||
|
||||
// 대량 등록후 확인 처리
|
||||
failFileuploadOk(){
|
||||
failFileuploadOk() {
|
||||
// 대량등록 팝업 닫기
|
||||
this.$refs.memberBulkRegPop.excelPopClose();
|
||||
// reroad
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
}
|
||||
,successFileuploadOk(){
|
||||
},
|
||||
successFileuploadOk() {
|
||||
// 대량등록 팝업 닫기
|
||||
this.$refs.memberBulkRegPop.excelPopClose();
|
||||
// reroad
|
||||
this.memberDetail(this.$route.params.serviceId);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
import '../../../assets/css/checktoggle.css';
|
||||
|
||||
</script>
|
||||
@@ -54,7 +54,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>메모</th>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo"></textarea></td>
|
||||
<td class="sender"><textarea class="memo_text" v-model.trim="memo" ref="memo" maxlength="2000"
|
||||
@input="memoLimitByte()"></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>차단여부</th>
|
||||
@@ -106,6 +107,7 @@ export default {
|
||||
memo: '', // 메모
|
||||
seqNo: '',
|
||||
props: {},
|
||||
maxByte: 2000,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -323,6 +325,9 @@ export default {
|
||||
}
|
||||
return validText
|
||||
},
|
||||
memoLimitByte() {
|
||||
this.memo = this.getLimitedByteText(this.memo, this.maxByte);
|
||||
},
|
||||
msgLimitByte(){
|
||||
this.word = this.getLimitedByteText(this.word, 10);
|
||||
}
|
||||
|
||||
@@ -338,7 +338,11 @@ export default {
|
||||
},
|
||||
todayDate() {
|
||||
this.startDate = new Date(+new Date() + 3240 * 10000).toISOString().split("T")[0];
|
||||
}
|
||||
},
|
||||
changePerPage: function () { // 페이지당 조회할 개수
|
||||
this.grid.pagePerRows = this.perPageCnt;
|
||||
// this.search(true);
|
||||
},
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
|
||||
|
||||
@@ -200,7 +200,6 @@ export default {
|
||||
},
|
||||
changePerPage: function () { // 페이지당 조회할 개수
|
||||
this.grid.pagePerRows = this.perPageCnt;
|
||||
this.search(true);
|
||||
},
|
||||
sendStoreData: function () {
|
||||
const getP = this.$refs.table.getPagination();
|
||||
|
||||
@@ -254,7 +254,6 @@ export default {
|
||||
// 위임-수임
|
||||
readTrustFile(event) {
|
||||
const file = event.target.files[0];
|
||||
console.log(file.name);
|
||||
|
||||
if(this.fileExtCheck(file)) {
|
||||
if (file != null) {
|
||||
@@ -492,9 +491,10 @@ export default {
|
||||
// 사업자
|
||||
const response = await sendNumMgtApi.insertNumber1(this.tenureFile, this.businessFile, this.communicationFile, this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq, this.bRegNo)
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
|
||||
if (result != null && result.retCode == "0000") {
|
||||
if(result.data.list.length > 0){
|
||||
alert(499);
|
||||
if(result.data.list != null && result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
@@ -505,7 +505,7 @@ export default {
|
||||
}
|
||||
this.toComplete()
|
||||
}else if(result != null && result.retCode == "4021") {
|
||||
if(result.data.list.length > 0){
|
||||
if(result.data.list != null && result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
@@ -518,29 +518,33 @@ export default {
|
||||
}
|
||||
|
||||
} else if (this.nmineeDivCd === '02') {
|
||||
const response = await sendNumMgtApi.insertNumber2(this.trustFile, this.warrantFile, this.deputyFile, this.tenureFile, this.otherBusinessFile, this.businessFile, this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq, this.bRegNo)
|
||||
const response = await sendNumMgtApi.insertNumber2(this.trustFile, this.communicationFile, this.warrantFile, this.deputyFile, this.tenureFile, this.otherBusinessFile, this.businessFile, this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq, this.bRegNo)
|
||||
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
if (result != null && result.retCode == "0000") {
|
||||
if(result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
failMsg += "[" + (i+1) + "] " + result.data.list[i].sendNum + "<br>"
|
||||
if(result.data.list != null){
|
||||
if(result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
failMsg += "[" + (i+1) + "] " + result.data.list[i].sendNum + "<br>"
|
||||
}
|
||||
this.row.failMsg = failMsg
|
||||
this.$parent.$refs.commmonModal.sendNumFailMsgOpen(this.row);
|
||||
}
|
||||
this.row.failMsg = failMsg
|
||||
this.$parent.$refs.commmonModal.sendNumFailMsgOpen(this.row);
|
||||
}
|
||||
this.toComplete()
|
||||
}else if(result != null && result.retCode == "4021") {
|
||||
if(result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
failMsg += "[" + (i+1) + "] " + result.data.list[i].sendNum + "<br>"
|
||||
if(result.data.list != null){
|
||||
if(result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
failMsg += "[" + (i+1) + "] " + result.data.list[i].sendNum + "<br>"
|
||||
}
|
||||
this.row.failMsg = failMsg
|
||||
this.$parent.$refs.commmonModal.sendNumFailMsgOpen(this.row);
|
||||
}
|
||||
this.row.failMsg = failMsg
|
||||
this.$parent.$refs.commmonModal.sendNumFailMsgOpen(this.row);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -549,9 +553,9 @@ export default {
|
||||
} else {
|
||||
const response = await sendNumMgtApi.insertNumber(this.adminId, this.custNm, this.bRegNo, this.nmineeDivCd, this.saveSendNums, this.bizrAuthYn, this.custSeq, this.bRegNo)
|
||||
const result = response.data;
|
||||
console.log(result)
|
||||
if (result != null && result.retCode == "0000") {
|
||||
if(result.data.list.length > 0){
|
||||
alert(562);
|
||||
if(result.data.list != null && result.data.list.length > 0){
|
||||
this.row.title = '발신번호 등록';
|
||||
var failMsg = "";
|
||||
for(var i=0; i<result.data.list.length; i++){
|
||||
|
||||
@@ -74,7 +74,7 @@ const insertNumber1 = (tenureFile, businessFile, communicationFile, adminId, cus
|
||||
};
|
||||
|
||||
// 타사업자가 등록 요청.
|
||||
const insertNumber2 = (trustFile, warrantFile, deputyFile, tenureFile, otherBusinessFile, businessFile, adminId, custNm, bRegNo, nmineeDivCd, numberInputs, bizrAuthYn, custSeq) => {
|
||||
const insertNumber2 = (trustFile, warrantFile, communicationFile, deputyFile, tenureFile, otherBusinessFile, businessFile, adminId, custNm, bRegNo, nmineeDivCd, numberInputs, bizrAuthYn, custSeq) => {
|
||||
let formData = new FormData();
|
||||
formData.append("trustFile", trustFile);
|
||||
formData.append("warrantFile", warrantFile);
|
||||
@@ -82,6 +82,7 @@ const insertNumber2 = (trustFile, warrantFile, deputyFile, tenureFile, otherBusi
|
||||
formData.append("tenureFile", tenureFile);
|
||||
formData.append("businessFile", businessFile);
|
||||
formData.append("otherBusinessFile", otherBusinessFile);
|
||||
formData.append("communicationFile", communicationFile);
|
||||
|
||||
const row = {}
|
||||
row.adminId = adminId
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<div class="input_box id">
|
||||
<label for="search" class="label">검색어</label>
|
||||
<input class="search-box" type="text" id="search" placeholder="검색어 입력" v-model.trim="grid.params.searchText1"
|
||||
maxlength="100" @keyup="search"/>
|
||||
maxlength="100" @keyup.enter="search"/>
|
||||
</div>
|
||||
<button type="button" class="button grey" @click="search">조회</button>
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
|
||||
<div>
|
||||
<div class="dimmed modal21" @click="adminDetailModalClose();"></div>
|
||||
<div class="popup-wrap modal21">
|
||||
<!-- 관리자/유치채널 상세정보 -->
|
||||
<div>
|
||||
<div class="dimmed modal21" @click="adminDetailModalClose();"></div>
|
||||
<div class="popup-wrap modal21">
|
||||
<!-- 관리자/유치채널 상세정보 -->
|
||||
<div class="popup modal21 popup_form">
|
||||
<div class="pop-head">
|
||||
<h3 class="pop-tit">관리자 상세정보</h3>
|
||||
@@ -11,56 +11,58 @@
|
||||
<form autocomplete="off">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input type="text" disabled v-model.trim="madangId" ref="_madangId2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호 확인</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8" maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td><input type="text" disabled v-model.trim="userNm" ref="_userNm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>휴대폰번호</th>
|
||||
<td><input type="number" disabled v-model.trim="mdn" ref="_phone"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이메일</th>
|
||||
<td><input type="email" disabled v-model.trim="email" ref="_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>권한</th>
|
||||
<td>
|
||||
<div v:class="select_box">
|
||||
<select name="" id="right" v-model="auth" ref="_auth">
|
||||
<option value="">선택</option>
|
||||
<option
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<td><input type="text" disabled v-model.trim="madangId" ref="_madangId2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||
maxlength="16" ref="_pwd1" v-model.trim="userPwd1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호 확인</th>
|
||||
<td><input type="password" @keypress="onlyPassword" @input="onlyPassword" required minlength="8"
|
||||
maxlength="16" ref="_pwd2" v-model.trim="userPwd2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td><input type="text" disabled v-model.trim="userNm" ref="_userNm"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>휴대폰번호</th>
|
||||
<td><input type="number" disabled v-model.trim="mdn" ref="_phone"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>이메일</th>
|
||||
<td><input type="email" disabled v-model.trim="email" ref="_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>권한</th>
|
||||
<td>
|
||||
<div v:class="select_box">
|
||||
<select name="" id="right" v-model="auth" ref="_auth">
|
||||
<option value="">선택</option>
|
||||
<option
|
||||
v-for="(option, i) in authType"
|
||||
v-bind:value="option.autCd"
|
||||
v-bind:key="i"
|
||||
:selected="auth === option.autCd">
|
||||
{{ option.autNm }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="center">상태</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="detail_popup_radio1" v-model="stat">
|
||||
<label for="detail_popup_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="detail_popup_radio2" v-model="stat">
|
||||
<label for="detail_popup_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
{{ option.autNm }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="center">상태</th>
|
||||
<td>
|
||||
<input type="radio" name="state" value="01" id="detail_popup_radio1" v-model="stat">
|
||||
<label for="detail_popup_radio1">사용</label>
|
||||
<input type="radio" name="state" value="02" id="detail_popup_radio2" v-model="stat">
|
||||
<label for="detail_popup_radio2">정지</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
@@ -69,187 +71,188 @@
|
||||
<button class="btn-default" @click="adminDetailModalClose();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 관리자 상세정보 팝업 끝-->
|
||||
</div>
|
||||
<!-- <common-modal ref="commmonModal"></common-modal>-->
|
||||
</div>
|
||||
<!-- 관리자 상세정보 팝업 끝-->
|
||||
</div>
|
||||
<!-- <common-modal ref="commmonModal"></common-modal>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import api from '@/service/api';
|
||||
import sysMgtApi from "../service/sysMgtApi.js";
|
||||
import { utils_mixin, chkPattern2 } from '../service/mixins';
|
||||
import {utils_mixin, chkPattern2} from '../service/mixins';
|
||||
import lodash from "lodash";
|
||||
// import commonModal from "../components/commonModal";
|
||||
import SearchIdPopup from "@/modules/sysMgt/components/SearchIdPopup";
|
||||
|
||||
export default {
|
||||
name: "adminDetailPop",
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch:{
|
||||
stat(){
|
||||
console.log('watch : ', this.stat)
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
row: {},
|
||||
authType: [],
|
||||
name: "adminDetailPop",
|
||||
mixins: [utils_mixin, chkPattern2],
|
||||
watch: {
|
||||
stat() {
|
||||
console.log('watch : ', this.stat)
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
row: {},
|
||||
authType: [],
|
||||
|
||||
madangId:'',
|
||||
name:'',
|
||||
mdn:'',
|
||||
email:'',
|
||||
auth:'',
|
||||
stat: "",
|
||||
userNm:"",
|
||||
userPwd1:"",
|
||||
userPwd2:"",
|
||||
code:"",
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
props: ['sendData'],
|
||||
created(){
|
||||
//this.formReset();
|
||||
this.setAuthData();
|
||||
this.formReset();
|
||||
},
|
||||
madangId: '',
|
||||
name: '',
|
||||
mdn: '',
|
||||
email: '',
|
||||
auth: '',
|
||||
stat: "",
|
||||
userNm: "",
|
||||
userPwd1: "",
|
||||
userPwd2: "",
|
||||
code: "",
|
||||
}
|
||||
},
|
||||
model: {
|
||||
prop: 'sendData',
|
||||
event: 'event-data'
|
||||
},
|
||||
props: ['sendData'],
|
||||
created() {
|
||||
//this.formReset();
|
||||
this.setAuthData();
|
||||
this.formReset();
|
||||
},
|
||||
components: {
|
||||
// commonModal,
|
||||
},
|
||||
methods :{
|
||||
doPwdValidate(){
|
||||
if(this.isNull(this.userPwd2)){
|
||||
// alert("비밀번호 확인을 입력해 주세요.");
|
||||
methods: {
|
||||
doPwdValidate() {
|
||||
if (this.isNull(this.userPwd2)) {
|
||||
// alert("비밀번호 확인을 입력해 주세요.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '비밀번호를 입력해 주세요.';
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
if(!lodash.isEqual(this.userPwd1, this.userPwd2)){
|
||||
// alert("비밀번호가 일치하지 않습니다.");
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
if (!lodash.isEqual(this.userPwd1, this.userPwd2)) {
|
||||
// alert("비밀번호가 일치하지 않습니다.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '비밀번호가 일치하지 않습니다.';
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
const pwdLen = this.bytes(this.userPwd1);
|
||||
if(!(pwdLen >= 8 && pwdLen <= 16)){
|
||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||
this.$refs._pwd2.focus();
|
||||
return false;
|
||||
}
|
||||
const pwdLen = this.bytes(this.userPwd1);
|
||||
if (!(pwdLen >= 8 && pwdLen <= 16)) {
|
||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
const pEng = /[A-Za-z]/g; // 영문자
|
||||
const pNum = /[0-9]/g; // 숫자
|
||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||
if(!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
const pEng = /[A-Za-z]/g; // 영문자
|
||||
const pNum = /[0-9]/g; // 숫자
|
||||
const pSpc = /[!@$%^&*]/g; // 특수문자
|
||||
if (!(pEng.test(this.userPwd1) && pNum.test(this.userPwd1) && pSpc.test(this.userPwd1))) {
|
||||
// alert("비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '비밀번호는 8~16자의 영문, 숫자, 특수문자(!,@, $, %, ^, &, *) 조합이 필요합니다.';
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
this.row.adminPw=this.userPwd1;
|
||||
return true;
|
||||
},
|
||||
doValidate(){
|
||||
if(!this.isNull(this.userPwd1)){
|
||||
if(!this.doPwdValidate()){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(!this.isNull(this.auth)){
|
||||
if(this.code == ''){
|
||||
this.row.auth = this.auth;
|
||||
}else{
|
||||
this.row.auth=this.auth;
|
||||
}
|
||||
}
|
||||
if(!this.isNull(this.stat)){
|
||||
this.row.stat=this.stat;
|
||||
}
|
||||
this.row.adminId=this.madangId;
|
||||
return true;
|
||||
},
|
||||
// 모달 띄우기
|
||||
async adminDetailModalOpen(props){
|
||||
this.$refs._pwd1.focus();
|
||||
return false;
|
||||
}
|
||||
this.row.adminPw = this.userPwd1;
|
||||
return true;
|
||||
},
|
||||
doValidate() {
|
||||
if (!this.isNull(this.userPwd1)) {
|
||||
if (!this.doPwdValidate()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!this.isNull(this.auth)) {
|
||||
if (this.code == '') {
|
||||
this.row.auth = this.auth;
|
||||
} else {
|
||||
this.row.auth = this.auth;
|
||||
}
|
||||
}
|
||||
if (!this.isNull(this.stat)) {
|
||||
this.row.stat = this.stat;
|
||||
}
|
||||
this.row.adminId = this.madangId;
|
||||
return true;
|
||||
},
|
||||
// 모달 띄우기
|
||||
async adminDetailModalOpen(props) {
|
||||
this.formReset();
|
||||
this.setAuthData();
|
||||
this.row.adminId = props.adminId;
|
||||
try {
|
||||
const response = await sysMgtApi.adminDetail(this.row);
|
||||
const result = response.data;
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.madangId = result.data.adminId;
|
||||
this.auth = result.data.auth;
|
||||
this.userNm = result.data.name;
|
||||
this.email = result.data.email;
|
||||
this.mdn = result.data.mdn;
|
||||
this.stat = result.data.stat;
|
||||
}
|
||||
} catch(err) {
|
||||
// alert("실패 하였습니다.");
|
||||
this.row.adminId = props.adminId;
|
||||
try {
|
||||
const response = await sysMgtApi.adminDetail(this.row);
|
||||
const result = response.data;
|
||||
console.log(result);
|
||||
if (result != null && result.retCode == "0000") {
|
||||
this.madangId = result.data.adminId;
|
||||
this.auth = result.data.auth;
|
||||
this.userNm = result.data.name;
|
||||
this.email = result.data.email;
|
||||
this.mdn = result.data.mdn;
|
||||
this.stat = result.data.stat;
|
||||
}
|
||||
} catch (err) {
|
||||
// alert("실패 하였습니다.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
var dimmed = document.getElementsByClassName('modal21');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
},
|
||||
// 모달 끄기
|
||||
adminDetailModalClose(){
|
||||
//this.formReset();
|
||||
var dimmed = document.getElementsByClassName('modal21');
|
||||
for(var i = 0; i < dimmed.length; i++){
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
toComplete(){
|
||||
this.getParent('adminList').$refs.table.reloadData();
|
||||
this.adminDetailModalClose();
|
||||
},
|
||||
async doInsert(){
|
||||
if(this.doValidate() && window.confirm('등록 하시겠습니까?')){
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
var dimmed = document.getElementsByClassName('modal21');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'block';
|
||||
}
|
||||
},
|
||||
// 모달 끄기
|
||||
adminDetailModalClose() {
|
||||
//this.formReset();
|
||||
var dimmed = document.getElementsByClassName('modal21');
|
||||
for (var i = 0; i < dimmed.length; i++) {
|
||||
dimmed[i].style.display = 'none';
|
||||
}
|
||||
},
|
||||
toComplete() {
|
||||
this.getParent('adminList').$refs.table.reloadData();
|
||||
this.adminDetailModalClose();
|
||||
},
|
||||
async doInsert() {
|
||||
|
||||
if (this.doValidate()) {
|
||||
try {
|
||||
const response = await sysMgtApi.updateAdmin(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
// alert('저장 하였습니다.');
|
||||
this.toComplete();
|
||||
}
|
||||
} catch(err) {
|
||||
const response = await sysMgtApi.updateAdmin(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
// alert('저장 하였습니다.');
|
||||
this.toComplete();
|
||||
}
|
||||
} catch (err) {
|
||||
alert("실패 하였습니다.");
|
||||
this.row.title = '관리자/유치채널 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
this.$parent.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
formReset(){
|
||||
var type= this.insertType;
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
this.insertType = type;
|
||||
},
|
||||
}
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
},
|
||||
formReset() {
|
||||
var type = this.insertType;
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
this.insertType = type;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -813,14 +813,14 @@ public class CustMgtService {
|
||||
logger.debug("[Email Send Request - templeteCode : {}]", mailReqMap.get("templeteCode"));
|
||||
logger.debug("[Email Send Request - homeUrl : {}]", mailReqMap.get("homeUrl"));
|
||||
|
||||
// mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||
//
|
||||
// if (mailResultMap != null) {
|
||||
// logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||
// if ("F".equals(mailResultMap.get("API_RSLT"))) {
|
||||
// logger.debug("[Email Send API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||
// }
|
||||
// }
|
||||
mailResultMap = hubeasyApi.sendTemplateMailApi(mailReqMap);
|
||||
|
||||
if (mailResultMap != null) {
|
||||
logger.debug("[Email Send API RESULT : {}]", mailResultMap.get("API_RSLT"));
|
||||
if ("F".equals(mailResultMap.get("API_RSLT"))) {
|
||||
logger.debug("[Email Send API ERROR : {}]", mailResultMap.get("API_RSLT_MSG"));
|
||||
}
|
||||
}
|
||||
logger.debug("############## [Email Send End] ###############");
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -440,6 +440,10 @@ public class SendNumMgtService {
|
||||
|
||||
SendNumMgtMapper sendNumMgtMapper = sqlSessionMaster.getMapper(SendNumMgtMapper.class);
|
||||
|
||||
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
||||
UserDetails userDetails = (UserDetails) principal;
|
||||
String regId = userDetails.getUsername();
|
||||
|
||||
// 발신번호 메모 업데이트. upddateSndrnoReg
|
||||
int totalCnt = updateApprReqDto.getList().size();
|
||||
int apvCnt = 0;
|
||||
@@ -450,7 +454,7 @@ public class SendNumMgtService {
|
||||
}else if(StringUtils.equals(Const.SNDRNO_STTUS_CD_REJECT, updateApprSendNumber.getSttusCd())){
|
||||
rejtCnt++;
|
||||
}
|
||||
updateApprSendNumber.setAdminId(updateApprReqDto.getAdminId());
|
||||
updateApprSendNumber.setAdminId(regId);
|
||||
sendNumMgtMapper.updateSndrno(updateApprSendNumber);
|
||||
}
|
||||
|
||||
@@ -466,17 +470,6 @@ public class SendNumMgtService {
|
||||
|
||||
int result = sendNumMgtMapper.upddateSndrnoReg(updateApprReqDto);
|
||||
|
||||
if(result > 0){
|
||||
|
||||
}
|
||||
|
||||
// 발신번호 상태 변경. updateSndrno
|
||||
//result = sendNumMgtMapper.updateSndrno(updateApprReqDto);
|
||||
|
||||
if(result > 0){
|
||||
|
||||
}
|
||||
|
||||
// 승인건이 1건이상이면 사업자 인증 'Y'
|
||||
if(apvCnt > 0){
|
||||
sendNumMgtMapper.updateSvcUser(updateApprReqDto);
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
SELECT
|
||||
@ROWNUM := @ROWNUM + 1 AS NO
|
||||
, A.SEQ_NO
|
||||
, A.BLCK_TP_CD
|
||||
,(SELECT ecd.DTL_CD_NM FROM hubez_common.EZ_CD_DTL ecd WHERE ecd.GRP_CD = 'WEBBLCK_TP_CD' AND DTL_CD = A.BLCK_TP_CD) AS BLCK_TP_CD
|
||||
, A.CUST_SEQ
|
||||
, A.USER_SEQ
|
||||
, A.USER_ID
|
||||
|
||||
Reference in New Issue
Block a user